Ali
Distribution de Tâches sur un Réseau

Guide Spécifique au CDS

Thomas Bucher

Août 2004

1  Installation complète du package

Pour le moment, la dernière version d'Ali est la version 1.08. Copier donc le package Ali (par exemple ali-1.08.tar.gz) sur chaque machine interagissant avec l'environnement Ali, et effectuer la procédure de compilation / installation (sous l'utilisateur wali).

  % tar xzvf ali-1.08.tar.gz
  % cd ali-1.08
  % ./configure
  % make
  % make install
Par défaut, le package s'installe dans le répertoire $HOME/ali, et crée les deux sous répertoires bin et conf. Le script configure initialise les fichiers de configuration des différentes entités, donc il est préférable de le lancer. Le lancement de make install est aussi utile car il remplit lui-même la liste des items disponibles sur la machine (pour la configuration du worker).

2  Installation rapide du package

Le package ali-bin-1.08.tar.gz ne contient que les binaires (compilés sous Linux) et les fichiers de configuration. Il faut faire attention à mettre à jour les fichiers de configuration qui n'ont donc pas été générés automatiquement pour la machine en question (notemment pour ce qui est du nombre de processeurs).

De plus, dans le cas d'un worker, il faut mettre à jour sa liste d'items en appelant le script conf_items.sh fourni avec les fichiers de configuration.

3  Configuration des serveurs

A priori, il est préférable d'avoir un serveur spécialisé pour Vizier et un autre pour Aladin. Pour l'instant, le serveur de Vizier se trouve sur cocat1, qui est en fait un mirroir de cocat0, mais à la sauce Ali.
Par soucis d'administration, il est cependant aussi possible de ne garder un seul serveur... mais si la montée en charge devient importante, il vaudrait mieux les répartir sur deux machines différentes.

4  Configuration du moniteur

Désormais, il est possibles d'avoir plusieurs moniteurs connectés aux même workers. Deux solutions sont alors possibles : Note : le moniteur possède un fichier statique mali_struc_items qui décrit la structure du cluster en terme d'items. Ce fichier est alimenté automatiquement lors de la notification de workers, mais il n'y a pour l'instant aucun moyen automatique pour supprimer des items de cette structure ; il faudra alors le modifier manuellement dans certains cas (par exemple, si le worker wali2 disparaît pour de bon, alors il faudra supprimer les items wali2 et u-strasbg:wali2 du fichier).

5  Configuration des exécuteurs

Lors de l'installation de l'exécuteur, sa liste d'items disponibles est générée automatiquement par le script conf_items.sh. Ce script décrit tous les items disponibles sur le parc du CDS, et est donc voué à évoluer... ils est important de toujours avoir la dernière version de ce script afin d'être à jour en termes d'items.
Note sur les items : maintenant, chaque item peut avoir une donnée associée (second membre d'une ligne dans le fichier d'items). Si c'est le cas, toutes les balises $mon_item présentes dans la commande à lancer seront remplacées par la donnée associée... ceci permet par exemple de travailler avec des chemins absolus au niveau du worker, sans que l'utilisateur ne s'en soucie.
Pour ce qui est des items composés, le serveur remplace aussi les balises par les items correspondants. Par exemple, dans les commandes des sous-tâches composantes d'une tâche, la balise $u-strasbg sera remplacée (réciproquement dans la commande de chaque tâche) par $u-strasbg:wali1, $u-strasbg:wali2, etc... qui elles vont être remplacées finalement au niveau du worker.
Arbitrairement, les applications ou fichiers correspondants à des items sont présents dans le répertoire wali/bin/, qui est structuré de la manière suivante (pour l'instant) : un dossier vizier qui concerne les applications de vizier, et un dossier aladin qui concerne je vous laisse deviner qui.
Par défaut, quelques serveurs connus du CDS ont déjà accès au worker, mais il vaut mieux jeter un coup d'oeil dans le fichier wali_auth_clients pour être sûr que le serveur ou le moniteur ne sera pas refusé.

6  Installation des services

Afin que les différentes entités d'Ali démarrent toutes seules, il faut installer les scripts de lancement de service correspondant.

Ces scripts sont présents dans les répertoires utils/Suse et utils/Mandrake du package, pour les distributions correspondantes (désolé, je ne me suis pas amusé à le faire pour toutes les plateformes possibles et inimaginables).
Le but est de placer des liens vers ces scripts dans les répertoires d'initialisation (rc3 et rc5). L'arborescence change selon la distribution, mais j'ai fourni une note explicative avec les scripts.
Les scripts ne peuvent à prioris être lancés que par root (sauf si chmodés autrement), mais au final le service tourne sous wali. En effet, dans les scripts de lancement je récupère l'UID de wali, et je demande aux applications de tourner sous cet utilisateur, pour des raisons de sécurité.

Note : Il vaut mieux faire tourner les services sous wali, car sinon l'application aura peut-être du mal à retrouver ses fichiers de configuration.
Pour l'instant, les workers démarrent automatiquement sur wali1-5 et cocat1-2,4-5. Un moniteur et un serveur démarre automatiquent sur cocat1.

7  Archivage des log

Les entités d'Ali ne savent par archiver leurs fichiers de log seules. Pour l'instant, le serveur (réciproquement worker) archive ses requêtes dans le fichier sali_req_log (réciproquement wali_req_log).

Il y a donc nécéssité d'archiver ces fichiers selon une période définie (actuellement 1 jour) ; c'est le rôle du script archivlog.sh, qui arrête le serveur (ou worker), archive le fichier de log (avec la date du jour), et relance le serveur (ou worker). Ce script est lancé automatiquement par cron à 23h55, comme défini dans le fichier archivcron. Les fichiers archivlog.sh et archivcron sont présent dans le répertoire utils/crontab du package.
Rappel : pour activer le lancement automatique d'une application (ici de mon script archivlog.sh), il suffit de faire :

        % crontab archivcron

8  Monitoring HTML

La nouvelle interface HTML de monitoring du cluster donne plus d'informations que la dernière fois. Pour l'instant, elle est disponible à l'addresse http://pclx11/ali/, mais peut facilement être déplacée autre part.

L'interface html propose : Les scripts et pages concernant cette interface HTML de monitoring se trouvent dans le répertoire utils/www/html_monitoring et doivent être placés (à priori) dans /var/www afin de fonctionner.

9  Configuration des workers Aladin

9.1  Configuration pour Aladin : RGB

Ajouter le script ali-rgb et Aladin.jar dans le dossier  wali/bin/aladin. L'items correspondant sera alors pris en compte automatiquement par le scripts conf_items.sh.

Installer Xvfb (émulateur de serveur X), l'installer en service (cf. Installation des services en le lancant avec la commande suivante :


        % Xvfb ":2" -screen 4 1024x768x8
Installer cjpeg (compression en JPEG) sur la machine.

9.2  Configuration pour Aladin : hcomp / hdecomp

Installer les logiciels hcomp et hdecomp sur la machine (installation standard dans /usr/bin, ou alors bien configurer le PATH)

Si les hcomp et hdecomp sont bien installés, ils devraient être reconnus par le script de détection des items. Si ce n'est pas le cas, vérifier que les programmes sont bien dans le PATH, et si oui, vérifier le script conf_items.sh.

9.3  Configuration pour Aladin : denoise / deconvol

Note : les instructions ci-dessous sont les anciennes instructions, il faut voir avec Robin si l'installation des packages a changé, etc.

Installer lam-MPI sur la machine.

Installer Yorick sur la machine.

Installer les packages Yorick de Christophe Pichon.

Installer les scripts denoise (version simple), mp_denoise (version optimisée non fixée), denoise_mpi (verstion MPI).

Ajouter l'item denoise (ou des items plus spécifiques selon le script utilisé).

Lancer l'environnement MPI sur toutes les machines concernées. Le fichier mpihosts contient le nom de toutes les machines qui seront intégrées à l'environnement MPI lancé ; ces machines doivent être joignables par ssh sans interactivité, et doivent bien sûr avoir MPI installé.

La commande pour lancer l'environnement est :

        % lamboot mpihosts

10  Configuration des workers Vizier

Installer les différents catalogues sur les machines.

Pour l'instant, on a opté pour des liens présents dans  wali/bin/vizier, ce qui est plus simple pour la détection automatique des items.


This document was translated from LATEX by HEVEA.