DIRAC : cadre et composants pour créer des systèmes de calcul distribués

Fiche PLUME
  • Création ou MAJ importante : 26/03/2013
  • Correction mineure : 05/09/2013
  • Auteur : Luisa Arrabito - LUPM
  • Responsable thématique : Geneviève Romier (Institut des Grilles et du Cloud)
  • Relecteur 1 : Hélène Cordier
  • Relecteur 2 : Andrei Tsaregorodtsev
Mots clés
Description
Fonctionnalités générales

DIRAC, Distributed Infrastructure with Remote Agent Control, est un cadre logiciel pour créer des systèmes de calcul distribués. Il a été développé pour répondre aux besoins de l'expérience LHCb au CERN pour le traitement de ses données sur la grille de calcul. Maintenant le système offre une solution générale pour la gestion des tâches de calcul et des données distribuées. Il est léger, robuste et extensible, adaptable aux évolutions rapides de la grille. Il prend en compte des ressources hétérogènes ce que inclut les grilles de calcul, les clouds ou bien les grappes de processeurs indépendants. L'architecture modulaire de DIRAC permet l'adaptation facile des fonctionnalités aux nouveaux besoins des communautés des utilisateurs.

Les fonctionnalités principales de DIRAC sont :

  • Gestion de productions MC (Monte Carlo), du traitement de données et de tâches d'analyse :
    - Utilisation des jobs pilots - le concept introduit par DIRAC
    - Gestion des politiques de la communauté des utilisateurs
    - Agrégation des ressources hétérogènes de façon transparente pour les utilisateurs
    - Système de récupération des échecs
  • Gestion de données :
    - Opérations sur les fichiers et enregistrement dans les catalogues de répliques et de métadonnées
    - Utilisation des catalogues standards grille (LFC, catalogue des fichiers d’une VO) ou de catalogue DIRAC performant avec la possibilité de définir les métadonnées d'utilisateurs. Plusieurs catalogues peuvent être utilisés simultanément
    - Distribution automatique de données
    - Contrôle d'intégrité de données
    - Monitoring des ressources de stockage
  • Gestion de productions massives :
    - Création et soumission automatiques de jobs pour le traitement de données selon des scénarios prédéfinis

DIRAC est une "solution de grille" générale et complète pour une ou plusieurs communauté d'utilisateurs.

Autres fonctionnalités
  • Service d'accounting de toutes les opérations
  • Portail Web
  • - Soumission et monitorage des jobs, récupération des résultats
    - Monitorage de tous les services de DIRAC
    - Accès aux données d'accounting

  • Journalisation des événements pour tous les composants de DIRAC
  • Service pour la configuration de tous les composants de DIRAC
  • Le cadre logiciel DIRAC respecte les standards de sécurité de la grille (DISET, DIRAC Secure Transport Extension)
Interopérabilité

DIRAC permet l'intégration de ressources hétérogènes ce qui donne une solution au problème d'interopérabilité entre différentes grilles de calcul, clouds et clusters locaux

Contexte d'utilisation dans mon laboratoire/service

Installation actuellement utilisée pour les formations EGI et potentiellement disponible comme instance de test pour d’autres organisations virtuelles.

Depuis mai 2012, un service mutualisé et multidisciplinaire de France Grilles est offert aux utilisateurs France Grilles sur la base de DIRAC. Une dizaine d'organisations virtuelles regroupant des utilisateurs utilisent ce service dont l'organisation virtuelle "nationale" de France Grilles.
L'équipe des administrateurs est distribuée sur plusieurs sites, des agréments entre les différents partenaires sont en cours de mise en place pour formaliser le fonctionnement du service.

Limitations, difficultés, fonctionnalités importantes non couvertes

Dans un contexte d'utilisation hors de l'expérience LHCb :

- documentation incomplète
- absence de liste de diffusion ou de discussion
- support limité

Environnement du logiciel
Plates-formes

UNIX, MAC pour le client DIRAC, UNIX pour le serveur DIRAC

Logiciels connexes

Intergiciel gLite :
nécessaire pour l'utilisation des ressources WLCG.

Autres logiciels aux fonctionnalités équivalentes

PanDA, AliEn, GlideIn WMS, Phedex

Environnement de développement
Type de structure associée au développement

Projet international dans le cadre de LHCb :
10-12 développeurs venant de France, Espagne, Allemagne, Russie et le CERN

Eléments de pérennité
  • Utilisé dans le cadre de LHCb : prévision d'utilisation pendant toute la durée d'exploitation de données du LHC
  • Développement de nouvelles fonctionnalités assez fréquent pour les besoins de LHCb
  • Adopté par d'autres communautés (HEP, astroparticules, biologie, France Grilles, etc.)
Références d'utilisateurs institutionnels

WLCG, GISELA, CERN, KEK, Université de Barcelona, CREATIS (INSA Lyon), Centre de Calcul de l'IN2P3, France Grilles

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums

Les utilisateurs disposent d'un forum et d'un système de tickets.

Il existe également une liste de discussion pour les utilisateurs dans le cadre de LHCb : dirac-grid-l@in2p3DOTfr.

Pour les développeurs, il existe un forum.

Documentation utilisateur
Divers (astuces, actualités, sécurité)
  • Interface utilisateur en ligne de commande ou par un portail web.
  • DIRAC est programmé principalement en Python et les APIs sont fournis dans ce langage.
Contributions

Dans le cadre de LHCb ou dans le cadre d'un autre projet utilisant DIRAC. DIRAC est un projet "open source" ouvert aux contributions des développeurs intéressés.