32
2.7.1.c Conclusion
Le but de WISDOM est de prouver la pertinence de
l'utilisation de la grille de calcul dans la recherche de médicaments
pour les maladies négligées, et de produire une grande
quantitéde données dans un temps
limitéavec un faible coût, tout en avoir recours
àl'infrastructure et les ressources de la grille de calcul.
En dépit de son utilisation réussie pour les données de
grand échelle, la plate-forme est confrontée aux certaines
limites :
· Son service d'information est ralenti après un
long temps d'exécution.
· Les agents de pilotes sont tués pour des raisons
inconnues.
· La plate-forme WPE s'arrête lorsque le
gestionnaire des tâches est vide pendant une longue période.
33
2.7.2 DIRAC
DIRAC (Distributed Infrastructure with Remote Agent Control)
est un framework logiciel pour le calcul distribué[19]. Il a
étédéveloppépour l'expérience en Physique
des Hautes Energies LHCb au LHC, CERN. DIRAC fournit une solution
complète pour une ou plusieurs communautés d'utilisateurs, qui
demandent un accès aux ressources distribuées. Il construit une
couche entre les utilisateurs et les ressources de la grille de calcul, tout en
offrant une interface commune à un nombre de fournisseurs
hétérogènes, en les intégrant
de façon homogène, fournissant une
interopérabilité, une transparence et une
fiabilitéd'utilisation de ressources.
FIGURE 14 - Intergiciel
DIRAC (http: // diracgrid. org/
)
2.7.2.a Architecture et composants DIRAC
L'architecture modulaire du DIRAC est conçue pour une
extension aisée en fonction des besoins des applications
spécifiques, et qui suit le paradigme de l'architecture orientée
services (SOA). Les composants de DIRAC peuvent être groupés en 4
catégories : ressources, services, agents et interfaces.
1. Service
Tous les services de DIRAC sont écrits en Python et
implémentés en tant que serveurs XML-RPC. La bibliothèque
standard de Python fournit une implémentation complète du
protocole XML RPC pour le serveur et une partie du client.
2. Élément de calcul »Computing
Element»
L'élément de calcul (CE) dans DIRAC est une API
faisant abstraction à des opérations courantes de manipulation de
job par les systèmes informatiques de traitement par lots (batch). Il
permet également d'accéder à des informations
d'état de ressource de calcul.
3. 34
Système de gestion de la charge de
travail
Le système de gestion de la charge de travail
(Workload Management System) se compose de trois
éléments principaux : service central de gestion de job (JMS),
agents distribués en cours d'exécution près des
éléments de calcul de DIRAC et gestionnaire de job. JMS est
à son tour un ensemble de services qui fournit la réception et le
tri des jobs dans les files d'attente de tâches, servant des jobs aux
demandes de l'agent, l'accumulation et le service d'information de
l'état du job. Les agents vérifient en permanence la
disponibilitédes éléments de calcul (CE), retire les jobs
du JMS et oriente l'exécution du job au ressource informatique locale.
Le gestionnaire des jobs (Job Wrapper) préparent
l'exécution du job sur le noeud de travail (Worker Node),
récupère l'entrée (le sandbox) du job, envoie des
informations d'état des jobs au JMS, et
télécharge la sortie du job. Les jobs sont décrits en
utilisant le Job Description Language (JDL).
4. Système de gestion des
données
Le système de gestion des données »Data
Management System», inclut les services de fichier de catalogue, qui
gardent la trace des ensembles de données disponibles et leurs
répliques, ainsi des outils d'accès aux données et la
réplication.
· Fichier catalogue
Une base de donnée qui assure le suivi des jobs
exécutés et les métadonnées des jeux de
données disponibles, maintient également des informations sur les
répliques physique des fichiers.
· Élément de stockage
L'élément de stockage (SE), est une combinaison
d'un serveur standard, comme GridFTP, et les informations stockées dans
le service de configuration sur la façon d'y accéder. L'API de SE
offre la possibilitéde brancher dynamiquement des modules de protocole
de transport par lequel le SE est accessible.
· Service de transfert de fichier
Le transfert de fichiers est une opération fragile en
raison des échecs ou des erreurs matérielles de réseau et
de stockage potentiels dans les services logiciels associés. Par
conséquent, un service de transfert de fichier fiable (RFTS) permet de
nouvelle tentative des opérations ayant échouéjusqu'au
succès total.
35
5. Service de configuration
Le service de configuration (CS) fournit des
paramètres de configuration nécessaires
à d'autres services, afin d'assurer la collaboration
entre les agents et les jobs.
FIGURE 15 - Architecture DIRAC [20]
La plate-forme DIRAC permet le déploiement des agents
de pilotes sur les Worker Node comme des jobs réguliers
à l'aide de mécanisme de planification de grille [21]. Tout
d'abord, l'utilisateur crée une tâche. Ensuite l'agent pilote est
soumis sur la grille pour exécuter cette tâche.
La soumission des jobs sur la grille de calcul avec
l'intergiciel DIRAC, nécessite un langage spéciale
»JDL». JDL signifie Job Description Language, il
est le moyen standard de description de job dans l'environnement de grille
de calcul. Ci-dessous, un exemple d'un script jdl qui permet de soumettre un
job de docking sur la grille de calcul.
JobName = "testJob-biomed";
Executable = "
dock1.sh";
StdOutput = "std.out";
StdError = "std.err";
InputSandbox = {"
dock1.sh",
"LFN:/biomed/user/l/louacheni/
file.tar.gz"};
OutputSandbox = {"std.out","std.err", "fileDock1.tar.bz2",
"fileDock2Aug.tar.bz2"};
OutputSE = "DIRAC-USER";
36
2.7.2.b Conclusion
Le projet DIRAC est un produit universel largement
utilisépar différents partenaires, dans différents
contexte, et qui permet de construire des systèmes de calcul
distribués en utilisant les différentes ressources de calcul
comme ordinateurs individuel, les clusters ou bien les grilles de calcul. La
structure modulaire de DIRAC permet de l'adapter rapidement aux besoins
particuliers des différentes communautés d'utilisateurs pour
faciliter leur accès aux ressources et services de la grille de calcul.
Les principaux avantages de DI-RAC sont : simplicitéd'installation, de
configuration, fonctionnement des divers services et sa capcacitéde
gérer une grande quantitéde ressources de données. Et son
objectif est à savoir aider les utilisateurs à communiquer
facilement avec l'environnement de la grille, soumettre, contrôler et
surveiller leur job. Pour ces raisons nous avons choisit DIRAC pour en faire
partie dans la réalisation du portail.
Les plate-formes WPE et DIRAC ont le
même objectif, à savoir aider les utilisateurs
àcommuniquer facilement avec l'environnement de la grille de
calcul, soumettre, contrôler
et surveiller les jobs. Cependant, leurs architectures sont
très distinctes. En premier lieu, pour la plate-forme WPE un
agent de pilote est soumis sur la grille. Ensuite, l'utilisateur crée
une tâche dans le gestionnaire des tâches. Et un agent de pilote
WPE exécute de nombreuses tâches. Tandis que pour la
plate-forme DIRAC, l'utilisateur crée une tâche. Ensuite,
un agent de pilote est soumis à la grille pour l'exécution de
cette tâche [8]. Et un agent de pilote DIRAC exécute une
tâche.
37
3 Implémentation
Le but de ce travail est de déveopper un portail web
pour le criblage virtuel, qui permet aux utilisateurs (biologistes, chimistes,
bio-informaticiens...) d'envoyer des jobs de docking sur la grille de calcul et
de récupérer les résultats à travers ce portail,
dont le but accélérer
la recherche de médicaments. Afin de faciliter la
tâche aux utilisateurs nous avons proposéune architecture pour le
portail que nous allons la détailler ci-après. Oùplusieurs
outils et technologies ont étédéployés afin de
mener à bien ce projet.
|