Kali, simplifier l`utilisation des clusters HPC

Transcription

Kali, simplifier l`utilisation des clusters HPC
Kali, simplifier l'utilisation des clusters HPC
Rémi Michelas, Marc Vesin, Laurent Mirtain
Service Informatique de Centre (SIC)
Inria Sophia Antipolis - Méditerranée
David Rey, Jean-Luc Szpyrka
Service d’Expérimentation et de Développement (SED)
Inria Sophia Antipolis - Méditerranée
Résumé
Titre alternatif : Kali, les clusters pour les nuls
Kali propose de simplifier et d'homogénéiser l'accès à des ressources de calcul distantes par le biais d'un
portail web. L'accès aux ressources en SSH au nom de l'utilisateur permet un impact minimal sur
l'administration des clusters et simplifie l’ajout de plateformes hétérogènes. Kali assure entre autres
l'inscription à de nouveaux clusters, la compilation des codes, la synchronisation des données ou encore
la gestion des tâches de calcul.
Kali peut être utile aux utilisateurs novices comme aux plus aguerris.
Mots-clefs
Portail web, Clusters, Mésocentre distribué, Frontal d'accès, Développement agile, Ruby on Rails,
Architecture MVC, Redis, Sidekiq
1 Introduction
De nombreux clusters de calcul existent dans les centres et les équipes de recherche Inria. Ils peuvent être
communs avec des partenaires académiques comme accessibles à des partenaires industriels.
La diversité des parties prenantes, des besoins des scientifiques, des modèles de financement, des cycles de
vie et des modes de gestion technique parmi ces clusters complexifie l’homogénéisation des plateformes
ou l’intégration dans une grille.
Par ailleurs, certaines équipes de recherche n'ont pas encore franchi le pas de l'utilisation des clusters de
calcul. Ces équipes continuent à investir dans de grosses stations de calcul dédiées à un nombre réduit
d'utilisateurs (modèle sous-optimal).
L'argument de la complexité est souvent avancé par les utilisateurs de ces équipes, rebutés par la difficulté
d’apprentissage d’environnements spécifiques : modalités d’obtention des comptes (à commencer par leur
nom de login), configuration des accès aux plateformes, architectures matérielles et logicielles,
compilateurs et outils disponibles, soumission des tâches de calcul, gestion des données, etc.
Notre projet se donne pour objectif de :
̶
développer les usages croisés entre les clusters de calcul Inria en favorisant la découverte des
clusters existants, l'obtention d'accès sur ces clusters et leur utilisation ;
̶
attirer une population de « non-utilisateurs » des clusters, en permettant une utilisation
simplifiée via une interface homogène conçue pour un débutant ;
̶
être non intrusif pour les utilisateurs des clusters : rien ne change pour un utilisateur qui ne
souhaiterait pas utiliser nos outils ;
JRES 2015 - Montpellier
1/11
̶
être non intrusif pour les administrateurs des clusters : l'intégration d'un cluster dans le projet
est peu coûteuse, n'en modifie ni la gestion technique ni la politique d'utilisation (ex. : règles et
processus d'attribution de compte).
2 État de l'art, positionnement
Nous avons identifié de nombreux outils recouvrant partiellement les besoins du projet Kali. Nous
présentons ci-dessous certains d'entre eux en proposant une classification possible.
2.1
Les éditeurs de logiciels
Il existe une offre d'environnements logiciels produits par (ou adossés à) un éditeur logiciel, visant à faciliter
l'utilisation de plateformes de calcul existantes. Ces outils s'articulent souvent autour d'une couche
middleware à installer sur la plateforme (ex. : ProActive, SysFera-DS), ou bien autour d'un serveur et
d'agents sur les ressources de calcul (ex. : EnginFrame (1) de NICE, qui peut être intégré avec Moab HPC
Suite (2) de Adaptative Computing). Parfois il s'agit principalement d'un frontal web à la plateforme (ex. :
eQUEUE (3) de Advanced Clustering ; Compute Manager (4) de Altair/PBS Works). De façon générale,
ces outils assurent une large palette de fonctions (tâches, données, interfaces utilisateur, comptes et droits
d'accès, visualisation des résultats, statistiques, etc.) et prennent en charge des infrastructures variées :
clusters utilisant différents schedulers, grilles et, de plus en plus, les clouds publics et privés.
Par exemple, SysFera-DS (5) (6) est une solution de fédération et de gestion d'environnements HPC
hybrides, commercialisée par la société SysFera. Le portail web de SysFera-DS offre une interface unifiée
à l'utilisateur en s'appuyant sur les accès natifs de l'utilisateur à chaque infrastructure (compte utilisateur
sur le cluster, connexion et relais SSH). Le modèle d'utilisation est basé sur une notion de gestionnaire
mettant des applications à disposition des utilisateurs. SysFera-DS s'installe sur les calculateurs gérés en
utilisant un compte applicatif non privilégié ; il s'interface avec le scheduler déja actif sur l'infrastructure.
Autre exemple, ProActive Parallel Suite (7) (8) est un environnement de gestion de tâches développé par
le consortium OW2 qui met l'accent sur l'orchestration de workflows. Dans Proactive, le middleware est
installé et lancé sur les infrastructures gérées en utilisant un compte applicatif. ProActive utilise de
préférence son propre scheduler ; il gère ses propres comptes d'utilisateurs, qu'il interface optionnellement
avec les comptes natifs des utilisateurs sur les infrastructures lors de l'exécution des tâches (SSH, mot de
passe). ProActive permet l'exécution de codes en java, de scripts et de codes natifs (binaires) dont la
compilation a été par ailleurs assurée par un mécanisme à la charge de l'utilisateur.
2.2
Les clouds publics
L'offre commerciale dans le domaine du cloud est en plein développement, le HPC ne fait pas exception.
L'offre de HPC sur les clouds publics couvre classiquement l'infrastructure HPC, son déploiement et sa
gestion (ex. : MIT StarCluster sur Amazon Elastic Compute Cloud (EC2) (9)).
À côté sont apparues des offres de cloud HPC « clé en main » conçues autour du cycle de travail de
l'utilisateur final du HPC. L'aspect portail web en est donc naturellement un composant central comme dans
POD (10) de Penguin Computing ou Extreme Computing de Bull (11) ou encore HPC Spot. Ces portails
conçus pour une offre de cloud public sont parfois aussi proposés pour du cloud privé.
Par exemple, HPC Spot (12) est une offre de location de « HPC as a service » (matériel, système, logiciels,
outils de gestion) dans un cloud public commercialisée par la société OVH. HPC Spot vise à simplifier au
maximum la mise en œuvre, le dimensionnement et l'utilisation du HPC. Le portail web utilisé dans HPC
Spot est également commercialisé par la société Oxalya sous le nom de HPC Drive (13). Le portail web
permet de lancer des jobs pour des applications HPC pré-installées, de gérer les données et de visualiser les
résultats. Un accès en ligne de commande SSH et une API SOAP sont utilisables simultanément. L'accès
SSH permet à l'utilisateur de compiler ses propres applications via le lancement d'un job de compilation.
OVH propose d'accompagner au cas par cas un utilisateur qui souhaite intégrer une application au portail
web et la mettre à la disposition des autres utilisateurs.
JRES 2015 - Montpellier
2/11
2.3
Les communautés d'utilisateurs scientifiques
Une autre famille d'outils destinés à faciliter l'accès aux ressources de calcul est issue des besoins et des
réalisations de communautés d'utilisateurs du monde de la recherche scientifique. Dans un paysage
largement structuré autour de l'EGI (14) en Europe et de France Grilles (15) en France, les outils frontaux
sont souvent liés à un middleware de grille (ex. : gLITE, ARC, Globus). Aux USA, ces outils (ex. : Apache
Airavata) sont classiquement issus de projets menés dans des universités et adossés à des financements de
la NSF, du DARPA, etc.
Parmi ces outils, un grand nombre sont des portails web de communauté scientifique. Un portail de
communauté est un outil commun aux chercheurs d'un domaine pour fournir, via une interface conviviale,
un accès mutualisé à des applications utilisées dans leur domaine de recherche, à des ressources de calcul
et parfois à des catalogues de données. Citons par exemple VIP/Gate-Lab (16) pour l'organisation virtuelle
(VO), biomed de EGI (17), ou BioHPC de Cornell University pour la biologie computationnelle.
Une autre famille de portails répond à un besoin plus générique d'accès à des ressources de calcul. Par
exemple les portails web CHReME (18) créé par le C-DAC (Inde) pour ses besoins propres, ou SCMS.pro.
Le portail SCMS.pro (19), distribué sous licence Apache 2, simplifie l'utilisation et l'administration de
systèmes HPC utilisant différents schedulers (Torque, SLURM, PBS), middlewares de grille (gLITE, ARC)
et clouds (Amazon EC2). Les fonctionnalités pour l'utilisateur couvrent la gestion des données et des tâches,
la compilation, le suivi, ainsi qu’une messagerie instantanée intégrée. SCMS.pro se base sur un logiciel
agent à installer sur le frontal de chaque cluster géré en utilisant un compte applicatif. L'accès de l'utilisateur
aux clusters se fait avec ses accès natifs (SSH, compte utilisateur).
OpenMOLE (20) est pour sa part un moteur de workflows scientifiques qui s’interface avec différentes
ressources de calcul (serveurs, clusters, grille EGI, etc.). Il propose un autre choix d’architecture en
s’installant entièrement sur le poste client.
Citons enfin DIRAC (solution générale pour l'accès aux ressources distribuées de différents fournisseurs)
et iRODS (stockage) qui intègrent leur propre portail web. Utilisés dans l'offre de France Grilles et dans
EGI, ils peuvent aussi être déployés dans une instance privée.
2.4
Positionnement de Kali
Sans même aborder la question de la licence et du coût de ces solutions, aucune ne s’est avérée répondre
de manière satisfaisante aux besoins d'Inria, notamment :
̶
le cas de l'utilisateur non expert en HPC mais qui compile ses codes (par opposition à un modèle
où les applications sont installées par un tiers) est rarement pris en compte, alors qu'il est
prioritaire chez Inria ;
̶
ces outils s’avèrent pour la plupart intrusifs pour l'administrateur (installation de logiciel sur le
cluster, accès privilégiés depuis le frontal, modification des modalités d'administration), voire
pour l'utilisateur (l'accès usuel par SSH n'est plus possible).
Kali est notre réponse à ces deux exigences. C'est un outil développé en interne, initialement comme une
preuve de concept.
3 Démarche et organisation du projet
Pour mener à bien ce projet nous avons adopté une méthodologie agile pour les raisons suivantes :
-
cahier des charges et expression du besoin trop imprécis au lancement du projet ;
nécessité de présenter des maquettes fonctionnelles et incrémentales afin d’attirer et de fédérer des
utilisateurs et de provoquer des demandes d’évolution.
JRES 2015 - Montpellier
3/11
En effet, les méthodes agiles trouvent de plus en plus souvent leur place dans les projets de développement.
Elles sont à la fois plus pragmatiques et permettent de mieux répondre aux attentes du client en l’impliquant
tout au long du processus de développement.
De nombreuses méthodes agiles (21) existent, décrites et documentées sur Internet, comme Extreme
Programming (22) ou encore Scrum (23). Dans notre contexte, il a été nécessaire d’adapter la méthodologie,
en réutilisant plusieurs éléments issus de différentes méthodes spécifiques, notamment Scrum. Les sections
suivantes précisent plus concrètement notre mise en œuvre pour ce projet.
Les méthodes agiles tendent à privilégier :
L’équipe : le travail en équipe prime sur les « exploits » individuels. Chacun intervient sur les
différents aspects du projet et monte progressivement en compétence grâce aux échanges
permanents.
̶
L’application : elle fonctionne à tout moment du projet, quelles que soient les fonctionnalités
implémentées. On cherche donc à produire de façon incrémentale des prototypes fonctionnels.
̶
La collaboration : le client est impliqué très souvent, il affine ainsi ses besoins et précise ses
demandes en visualisant un produit fonctionnel (et non pas en conceptualisant un produit
fantasmagorique).
̶
L’acceptation du changement : l’équipe accepte les évolutions demandées par le client, quitte à
revenir sur (voire supprimer) les développements déjà réalisés. Ainsi le code jetable est autorisé.
3.1
̶
Les cycles de développement
Concrètement, l’activité de développement est cadencée par des cycles dont nous avons fixé la durée à
environ 1 mois. Nos cycles sont constitués de quatre temps principaux :
̶
La réunion de lancement, d’une durée de 1h30, où sont présents les développeurs et les clients.
Dans notre cas le responsable du Service de Développement (SED) a représenté les chercheurs
à travers les usages qu’il connait et les retours des tests d’utilisateurs. Nous avons également
impliqué le comité de pilotage des clusters d’Inria Sophia Antipolis pour montrer les maquettes
successives et pour des appels à contribution.
̶
Le développement, d’une durée de 3 semaines à 1 mois et demi : l’équipe de développement (1
ingénieur à temps plein et 2 ingénieurs à environ 10% de leur temps) se consacre aux tâches
fixées, en étant particulièrement attentive au respect du timing, quitte à réaliser les objectifs de
façon moins pérenne ou moins aboutie.
̶
La réunion de livraison, d’une durée de 30 minutes : une démonstration de l’application
fonctionnelle permet de présenter aux « clients » l’atteinte des objectifs fixés au début du cycle.
̶
Un temps « off », d’une durée d’une semaine environ : ce temps permet aux développeurs de
sortir du focus intense du projet et aussi de se consacrer à d’autres activités (veille
technologique, formation, mails, etc.). Ce temps de récupération est nécessaire pour éviter les
phénomènes de burn out.
La réunion de lancement est un temps particulièrement important. Dans notre situation, elle se décompose
comme suit :
̶
On fixe le début et la fin du cycle, ainsi que le nombre de jetons utilisables sur le cycle ; un
jeton représente une demi-journée de travail.
̶
Le client expose les fonctionnalités attendues pour ce cycle. Si besoin, les développeurs peuvent
demander aux clients de les classer par ordre de priorité.
̶
Un « poker planning » (24) (25) est effectué pour estimer une durée pour chaque tâche. Dans
notre cas, nous indiquons simultanément un nombre de jetons, représenté par le nombre de
JRES 2015 - Montpellier
4/11
doigts montrés. Cette étape permet de fixer la durée des tâches mais également de s’accorder
sur le niveau d’atteinte attendu. Par exemple, lorsqu'il y a une grande variation du nombre de
jetons alloués entre les votants, on s'aperçoit souvent que la description de la tâche était trop
floue et donc soumise à interprétation.
̶
3.2
Plusieurs scénarios à ce stade :
̶
pas assez de tâches : on indique aux clients de demander plus de fonctionnalités dans ce cycle
(cas rare) ;
̶
le timing estimé colle parfaitement avec le nombre de jetons disponibles (ça arrive) ;
̶
le nombre de jetons prévu initialement est trop petit, on peut : a) supprimer des tâches (les
moins prioritaires), b) faire certaines tâches plus rapidement (et moins bien aussi), c) ajouter
quelques demi-journées en décalant la réunion de fin de cycle.
Coding sprints occasionnels
Il est parfois utile d’organiser des sessions de développement collaboratif (coding sprints) de quelques jours
(typiquement une semaine) pour réaliser des avancées significatives de façon collective et ponctuelle. Dans
notre cas, ceci a été pertinent au démarrage du projet (choix des outils communs, co-écriture des premières
classes Ruby on rails, etc.), au moment de définir l’interface graphique utilisateur initiale ou encore pour
amorcer les développements de la partie administrateur du site. Il est important que lors de ces coding
sprints, tout le monde participe. Cela renforce la cohésion de l'équipe, la collaboration entre développeurs
et permet à chacun de s'exprimer, quel que soit son niveau d'expertise.
4 Kali du point de vue de l'utilisateur
Kali est un portail web HTTPS permettant de simplifier l'accès à un ensemble de clusters. Kali rassemble
en un unique point toutes les informations concernant ses clusters, ses codes sources, ses jobs, ses données
et ses informations de compte. Kali ne nécessite aucune installation sur le poste client, un navigateur web
suffit.
L'interface utilisateur propose cinq fonctionnalités principales accessibles au travers de pages web
distinctes :
̶
Le tableau de bord : permet d'avoir une vision d'ensemble de l'utilisation des clusters, de l’état
de compilation de ses codes et de ses jobs en cours.
JRES 2015 - Montpellier
5/11
Figure 1 - Le tableau de bord de Kali
̶
Les clusters : montre les informations disponibles pour chaque cluster (si l’on dispose d’un
compte, si la connexion est bonne, lien vers la documentation, etc.)
̶
La compilation : permet de lancer et de suivre ses compilations (qmake, cmake) sur le cluster
de son choix ou sur une plateforme d’intégration continue Jenkins.
̶
Les données : permet de charger ses données vers et depuis les différents clusters, ainsi que de
synchroniser ses données entre les clusters (mécanisme point à point avec vérification
d’incohérences). La gestion des données repose sur des notions de « dataset » (correspond à un
répertoire sur chaque cluster) et de « cluster de référence » (plateforme préférentielle d’un
utilisateur).
̶
Les tâches : permet de lancer ses jobs sur le cluster de son choix et de suivre leur état
d'avancement. Les jobs peuvent utiliser des codes séquentiels ou MPI, des scripts (Perl, Ruby,
Python), des applications tierces (MATLAB) ou un environnement Kadeploy (26). Le
paramétrage du job se fait via un formulaire graphique ou une représentation YAML.
Les fonctionnalités annexes comprennent :
̶
Les tickets : permet de soumettre un ticket d’incident qui est aiguillé vers un canal de support
externe (helpdesk, alias mail) spécifique à un cluster, ou par défaut vers le helpdesk de Kali.
̶
Les comptes utilisateur : permet de régler ses options comme l'activation du mode avancé de
l’interface utilisateur, le changement de mot de passe, l’ajout de clés SSH, etc.
̶
Les notifications : donnent accès à l’historique de son activité, qui peut aussi être reçue par mail.
5 Kali du point de vue de l’administrateur
L'administrateur Kali est distinct des administrateurs des clusters, dont le rôle reste inchangé.
JRES 2015 - Montpellier
6/11
L'administrateur Kali gère les utilisateurs Kali : création, paramétrage, régénération des clés SSH Kali, mise
sur liste noire, modification du rôle, etc. Il supervise également leurs tâches : synchronisation de données,
jobs en cours, tâches de fond (thread Sidekiq lancés par Kali).
L'intégration d'un cluster ne nécessite aucune installation logicielle ou création de compte sur le cluster. Le
mécanisme d'accès aux clusters se base sur des connexions SSH utilisant une paire de clés de session Kali
unique par utilisateur et les identifiants de connexion accordés à l’utilisateur par l'administrateur du cluster.
̶
pour l’administrateur de Kali : il faut s'assurer que le scheduler du cluster est supporté par Kali
(OAR, SGE, Torque), puis renseigner un formulaire avec les informations concernant le cluster
(page de documentation, lien vers les outils de supervision, alias mail du support, etc.) ;
̶
pour l’administrateur du cluster : il n’y a aucune opération à réaliser pour l’intégration. La
procédure d’ouverture de compte utilisateur reste inchangée : pas de différence entre un
utilisateur utilisant uniquement SSH ou Kali.
6 Kali du point de vue du développeur
L'application s'appuie sur le framework Ruby on Rails (RoR) (27). Celui-ci permet de développer
rapidement et efficacement une application web. Il utilise l’expressivité de Ruby et un ensemble de
conventions pour rendre le code concis et son écriture agréable. La philosophie du framework se base sur
le paradigme MVC (modèle-vue-contrôleur) et repose sur deux grands principes :
Don't Repeat Yourself : méthode de développement qui vise à minimiser la répétition
d’informations et permet d’obtenir un code plus maintenable, plus extensible et moins buggé.
̶
Convention Over Configuration : les conventions du framework contraignent le développeur
mais lui évitent d’écrire des fichiers de configuration.
6.1
̶
Frontend
La partie frontend de Kali correspond à la partie « Vue » de l'architecture MVC de RoR et utilise :
̶
des fichiers HTML avec de l'embedded Ruby (ERB) pour le contenu des pages web ;
̶
du CoffeeScript, méta-langage permettant d’écrire du JavaScript, notamment pour les
animations côté client ;
̶
du Sass, sucre syntaxique du CSS permettant d'ajouter un style aux différentes pages.
Le pipeline de RoR gère les conversions de langage, la concaténation et l’optimisation de la taille du code
qui sont effectuées à la volée dans l’environnement de développement et pré-compilées dans
l’environnement de production.
Le framework d’interface Bootstrap est utilisé en association avec le thème open source AdminLTE, qui
apporte un ensemble de widgets prédéfinis supplémentaires. Ceci permet de coder rapidement et de
s’assurer de la conformité du site aux normes W3C et Responsive design (adaptation à la taille de l’écran).
6.2
Les modules Rails
Le framework RoR permet l’installation de paquets additionnels, souvent distribués sous licence open
source. Certains sont incontournables et se retrouvent notamment dans des applications reconnues comme
Gitlab, Diaspora ou encore Discourse (28). Parmi ceux-ci, Kali utilise notamment :
̶
Devise : solution d'authentification modulaire compatible avec CAS et LDAP, et permettant
aussi la création de comptes locaux ;
̶
Sidekiq : gestionnaire de tâches de fond simple, efficace et s’intégrant facilement à Rails.
JRES 2015 - Montpellier
7/11
6.3
Backend
Le backend de Kali se décompose en :
―
un serveur Nginx couplé à un module Phusion Passenger pour Ruby ;
―
une base de données PostgreSQL ;
―
un orchestrateur Sidekiq pour les tâches asynchrones ;
―
un gestionnaire de données Redis pour les données temporaires en mémoire.
Sidekiq permet l’exécution de nombreux processus légers en parallèle, et s’appuie sur Redis pour la
gestion des données (accès performant, gestion simplifiée). Kali utilise les processus légers de Sidekiq
pour décorréler l’interface web de l’action à effectuer en tâche de fond.
Le serveur web d’application open source Phusion Passenger embarqué dans Nginx est une solution
robuste et optimisée, adaptée au déploiement d’applications RoR en production. L’ensemble inclut
notamment un cache HTTP, le lancement et l’arrêt de processus applicatifs en fonction du trafic ainsi
que des outils de suivi des processus et de l’activité mémoire.
6.4
Communications
Figure 2 - Les flux de communication de Kali
Kali associe à chaque utilisateur une paire de clés SSH qu’il utilise pour se connecter avec l’identité de
l’utilisateur sur les clusters et y effectuer les actions demandées via l’interface web.
Les interactions avec Jenkins s’appuient sur l'API REST de ce dernier, notamment pour la compilation.
6.5
Authentification
L’authentification s’appuie sur CAS, LDAP ou des comptes locaux.
JRES 2015 - Montpellier
8/11
6.6
Système
Kali est une application web conçue pour être facilement déployée sur un autre site. Il manque encore à ce
jour un outil automatisé de déploiement (ex. : cookbook chef, image docker).
L’instance actuellement déployée est sous Fedora 21, utilise Systemd (lancement initial, tâches récurrentes)
et les outils du backend Kali.
7 Avancement et perspectives
À ce jour, une instance de Kali est déployée en bêta-test chez Inria. Elle permet l’accès à cinq clusters dont
GRID5000 et les clusters des centres Inria de Sophia, Saclay et Grenoble.
La stabilité système et applicative de l'instance Kali est satisfaisante. Les tests du frontal effectués avec
l’outil Tsung (29) ont montré une bonne tenue en charge.
48 personnes ont déjà ouvert un compte sur Kali, mais le nombre d'utilisateurs actifs reste limité. Cette
inertie est liée à la tendance des nouveaux utilisateurs des clusters à démarrer en reproduisant les pratiques
de leurs prédécesseurs (copie et adaptation) puis à faire appel au support technique en cas de blocage.
L’effort porte donc actuellement sur le démarchage individuel (séance de découverte de Kali pour tout
nouvel utilisateur du cluster).
Les utilisateurs actifs actuels ont un profil de débutant. Ils apprécient l’accès via une interface graphique,
le chargement simplifié des données, l’utilisation simple de ressources de calcul intensif. Leur scénario
d’usage est mono-cluster et utilise peu la compilation (plutôt MATLAB, JavaScript, Python).
Parmi les développements de nouvelles fonctionnalités envisagés pour Kali, on peut citer :
̶
le support de la visualisation, par exemple via un job lançant un serveur ;
̶
la gestion de projet et de membres partageant des données ou des codes ;
̶
l’intégration avec des clouds publics (OVH HPCspot, Amazon EC2) et des outils middleware
de type OpenStack, ou Apache Mesos.
Scénarios d’utilisation identifiés
7.1
7.1.1
Mise en production entre centres Inria
Inria est réparti sur huit centres en France, possédant chacun des ressources de calcul, plus facilement
accessibles aux chercheurs locaux. On constate que les scientifiques d’un centre trouvent difficile d’accéder
à des ressources hébergées dans un autre. Que ce soit pour pallier une surcharge du cluster local ou utiliser
un matériel spécifique hébergé dans un autre centre, le déploiement généralisé de Kali à Inria offrira à nos
chercheurs l’accès à l’ensemble des ressources de calcul de l’Institut de façon simple et cohérente.
7.1.2
Mise en production pour les partenaires départementaux du CPER
Dans le cadre du prochain Contrat de Plan État Région (CPER), le centre Inria Sophia Antipolis Méditerranée est impliqué dans le projet d’Observatoire Pluridisciplinaire des Alpes-Maritimes (OPAL).
OPAL créera un mésocentre distribué, basé sur la mise en commun de plusieurs clusters institutionnels
(OCA, Mines Paristech, UNS, Inria). Dans ce contexte, le portail web Kali permettra prochainement aux
chercheurs de ces différents instituts d’accéder aux clusters de chaque partenaire comme à celui de son
établissement d’appartenance.
7.2
Les possibilités de diffusion et de transfert
Plusieurs modèles de diffusion et de maintenance du logiciel sont envisagés à ce jour :
̶
transfert vers une entreprise fournissant une offre sur ce domaine ;
JRES 2015 - Montpellier
9/11
̶
création d’une start-up proposant ce logiciel à des entreprises souhaitant utiliser des ressources
de calcul hétérogènes et /ou géographiquement distantes ;
̶
diffusion open source (éventuellement sous forme de consortium avec des partenaires
académiques et/ou industriels).
Bibliographie
1. [En ligne] http://www.nicesoftware.com/download/distributions/2015.0/documentation/EFAdminGuide2015.0.pdf.
2. [En ligne] http://docs.adaptivecomputing.com/.
3. [En ligne] http://www.advancedclustering.com/products/software/equeue/.
4. [En ligne]
http://resources.altair.com/pbs/documentation/support/Compute%20Manager%20Administrator
%27s%20Guide.pdf.
5. [En ligne] http://www.association-aristote.fr/Fichiers-2011/11-octobre/06-B-Depardon-JMLaymajoux.pdf.
6. Benjamin Depardon, Samuel Kortas, Boris Daix, Renaud Barate. SysFera-DS : Un portail d'acces
unifié aux ressources des centres de calcul. Mise en application à EDF R&D. [En ligne] Octobre 2012.
https://hal.archives-ouvertes.fr/hal-00766073/document. hal-00766073.
7. [En ligne] http://www.ow2.org/bin/view/ActivitiesDashboard/ProActive.
8. [En ligne] http://doc.activeeon.com/ProActiveAdminGuide.html.
9. [En ligne] https://aws.amazon.com/hpc/getting-started/.
10. [En ligne] https://pod.penguincomputing.com/hpc_on_demand.
11. [En ligne] http://www.bull.com/sites/default/files/docs-dl/f-xcs-en3.pdf.
12. [En ligne] https://docs.hpcspot.com/.
13. [En ligne] http://www.oxalya.com/?page_id=1441.
14. [En ligne] http://www.egi.eu/.
15. Geneviève Romier, Gilles Mathieu, Hélène Cordier. France Grilles,des opérations aux
utilisateurs. JRES 2013. [En ligne] https://2013.jres.org/archives/66/paper66_article.pdf.
16. Sorina Camarasu-Pop, Rafael Ferreira da Silva, Tristan Glatard. VIPet GateLab : retour
d'expérience. JRES 2013. [En ligne] https://2013.jres.org/archives/23/paper23_article.pdf.
17. [En ligne] http://biohpc.org.
18. [En ligne] http://cdac.in/index.aspx?id=hpc_hpcs_chreme.
19. [En ligne] http://scms.pro/.
20. [En ligne] http://www.openmole.org.
21. wikipedia. [En ligne] https://fr.wikipedia.org/wiki/Méthode_agile.
22. wikipedia. [En ligne] https://fr.wikipedia.org/wiki/Extreme_programming.
23. wikipedia. [En ligne] https://fr.wikipedia.org/wiki/Scrum_(méthode).
JRES 2015 - Montpellier
10/11
24. [En ligne] http://leblogdumanagementdeprojet.com/2011/03/23/le-planning-poker-dans-lamethode-agile-scrum/.
25. wikipedia. [En ligne] https://fr.wikipedia.org/wiki/Planning_poker.
26. [En ligne] http://kadeploy3.gforge.inria.fr.
27. [En ligne] http://rubyonrails.org.
28. [En ligne] http://www.opensourcerails.com.
29. [En ligne] http://tsung.erlang-projects.org/.
JRES 2015 - Montpellier
11/11

Documents pareils