FLASH INFORMATIQUE FI



Portable Batch System

un standard pour l’Ecole




Jean-Michel CHENAIS

Trach-Minh TRAN


Genèse des systèmes de gestion batch

Tout serveur de calcul, centralisé ou pas, se doit de disposer d’un logiciel permettant d’organiser l’exécution de tous les travaux soumis en machine par tous ses utilisateurs.

Lorsqu’un utilisateur demande au serveur d’effectuer une certaine tâche, il le fait en soumettant un travail (job) sous forme d’une requête quantitativement exprimée en termes de ressources : mémoire, temps de calcul, nombre de processeurs, espace de stockage. Certaines ressources peuvent également s’exprimer aussi en termes de services : possibilités d’archivage, logiciels spécifiques, calculs en temps réél ou dédié, conservation des données, etc.

La palette de services qu’un serveur de calcul met à disposition des usagers est donc théoriquement vaste et variée ; toutefois, l’essentiel de sa fonction est de permettre d’accepter des travaux dont les 3 ressources principales (mémoire, nombre de processeurs, temps de calcul) sont bien définies, et d’organiser l’exécution de ces travaux selon des critères tels que : rapidité d’exécution, attente minimale de retour de service, optimisation de la machine, partage équitable des ressources entre tous les usagers.

Les fabricants de gros serveurs (tels que les ordinateurs de Cray Research) ont vite compris qu’il leur fallait mettre à disposition de leurs clients un logiciel répondant à ces besoins. C’est ainsi que dès les années 1970-1980, sont apparues les premières versions du logiciel bien connu NQS (pour Network Queueing System), censé rendre accessible aux usagers de façon commode des ressources caractérisées par leur énormité et leur cherté, et dont il était important d’en rentabiliser l’usage, eu égard aux investissements importants consentis.

Ce logiciel, écrit par la compagnie Sterling Software Corporation en collaboration avec la NASA aux Etats-Unis, a tourné pendant des années sur les plus grands ordinateurs de la planète. A l’EPFL, le système NQS a rendu d’éminents services sur toute la gamme des serveurs Cray Reseach dont elle a disposé, et ceci, de façon relativement simple, tant que ceux-ci pouvaient être gérés selon la méthode traditionnelle dite time-sharing.

L’apparition pendant les années 1990 sur le marché de nouvelles architectures d’ordinateurs (machines multi-processeurs, hétérogènes ou non, à mémoires distribuées, ) ont montré les limites des possibilités de gestion de NQS, prévu à l’origine pour des ordinateurs comprenant peu de processeurs et une mémoire commune unique.

Tel a été notamment le cas avec l’installation à l’EPFL du premier gros ordinateur parallèle à 256 processeurs T3D de la compagnie Cray Research. L’installation avait ceci de particulier que le gestionnaire de travaux NQS ne tournait par sur cet ordinateur lui-même, mais sur une frontale traditionnelle de la même compagnie. Les problèmes nouveaux de gestion sont vite apparus, mais leur résolution par des méthodes de substitution a été longue et compliquée à mettre en oeuvre en raison de l’incapacité de NQS à traiter nativement les problèmes spécifiques à ce nouveau type de serveurs space-sharing (en raison des phénomènes de fragmentation des ressources notamment).

Nécessité d’adapter les systèmes de gestion batch aux nouvelles architectures.

En raison de la nécessité d’obtenir des ressources en HPC de plus en plus importantes et à des prix abordables, l’architecture parallèle s’est développée en force, pour aboutir à des systèmes composés à partir d’éléments indépendants standardisés interconnectés par un réseau traditionnel. Ainsi sont apparues les premières machines de type Beowulf et autres serveurs assemblés à partir d’éléments simples, directement disponibles sur le marché, et ayant abouti à des configuration telles que les grappes de PCs. Parallèlement sont apparus dès le début des années 90 les nouveaux systèmes de gestion de travaux censés pouvoir traiter correctement les problèmes spécifiques à ces nouvelles architectures parallèles et distribuées.

Premières expériences

Un pas important pour l’EPFL a été franchi lors des premières années du projet Swiss-TX, qui a vu la mise en place au SIC d’un premier cluster, dénommé T1, composé de 32 noeuds bi-processeurs de chacun 1 Gbyte de mémoire commune, et les premières tentatives d’exploitation d’une telle machine avec des logiciels appropriés, ayant des facilités équivalentes à celles de NQS, mais mieux adaptés à ce nouveau type d’architecture. Parmi plusieurs possibilités, le logiciel Codine développé par la société Gridware a été sélectionné, installé puis exploité avec un succès relatif sur le T1, mais ce qui a néanmoins permis d’administrer les travaux des usagers selon certains critères d’assignation des ressources et de priorités (après avoir tenté de passer par LSF dans une 1ère phase).

Les possibilités de ce système se sont à l’usage révélées insuffisantes comparativement à celles de NQS, qui, même s’il est inadapté à tourner sur les machines « clusters », offrait un répertoire de commandes et de fonctionnalités beaucoup plus étoffé. Le choix s’est donc tourné vers d’autres solutions mieux adaptées, parmi lesquelles PBS. Et ce, d’autant plus que NQS, même avec une administration complémentaire quelque peu pénible et compliquée, pouvait encore être utilisé sur l’ordinateur parallèle Eridan d’une manière relativement efficace, SGI ayant repris le produit NQS pour ses propres systèmes, mais ne le supportant plus depuis plusieurs années.

Mise en place de PBS sur Eridan

Parmi les solutions possibles, PBS (http://www.openpbs.org ) apparaissait comme la plus naturelle possible, et ce pour différentes raisons, parmi lesquelles les suivantes peuvent être citées :
• PBS a été développé par la même équipe de concepteurs que NQS (ou plutôt leurs successeurs) issus d’un groupe de développeurs prestigieux issus de la NASA Ames Research Center et de Lawrence Livermore National Laboratory. En fait, les contributions des différentes institutions de la recherche américaine sont multiples, mais sont toutes issues des grands centres disposant de très gros serveurs parallèles, donc les mieux placées pour la définition des spécifications d’un nouveau gestionnaire universel de travaux batch ;
• PBS dispose d’une syntaxe et d’une philosophie d’utilisation très proche, sinon identique à celle de NQS, minimisant ainsi l’impact sur les usagers en cas de migration ;
• PBS, comme sont nom l’indique (Portable Batch System), est un produit écrit pour satisfaire les critères de portabilité : suivi au plus près des normes reconnues (normes Posix), favorisant donc son installation sur une gamme étendue de machines et de systèmes, pour autant que ces machines suivent elles-mêmes ces normes). De par ce fait, ce logiciel est par définition auto-contenu, ce qui signifie qu’il est conçu de façon à réduire au strict minimum ses interférence avec le kernel de l’OS qui le supporte, avec lequel PBS ne dialogue qu’avec un nombre restreint de system calls. C’est ainsi que parmi la liste des systèmes officiellement supportés, on peut citer : SUN/Solaris, SGI/IRIX, DEC Alpha/Tru64 ;
• PBS existe en 2 versions :
 • OpenPBS, disponible gratuitement sur le Web, permettant son installation et son exploitation sur des configurations couramment constituées par exemple de grappes de stations ou de PCs (cluster Beowulf tournant sous Linux). Cette version est ouverte à un forum de discussions public, regroupant dans le monde l’ensemble de ses usagers.
 • PBSPro. Cette version professionnelle requiert l’obtention d’une licence, payante dans les milieux industriels, mais qui peut être gratuite pour les sites académiques. Pour cette version, un contrat de support peut être conclu avec le distributeur, pour un prix modique (moins de 2000.- par année).
 • Pour ces 2 versions, les sources du code sont disponibles.

Dans le cas d’Eridan, la version PBSPro est bien intégrée à l’OS IRIX de Silicon Graphics, dont il utilise plusieurs features internes (comme ULDB), et permet de résoudre certains problèmes induits par la spécificité de son architecture SMP-NUMA : c’est ainsi que l’exploitation des cpusets devrait éviter le phénomène de dispersion des performances (non reproductibilité des temps de calcul), parfois gênants et mal ressentis par les usagers. Par ailleurs, et de façon générale, la version PBSPro incorpore tout un ensemble de facilités modernes et requises pour l’exploitation efficace de gros systèmes, quel que soit leur mode d’exploitation (au niveau du scheduling des jobs en particulier).

La mise en place de PBS sur Eridan s’est déroulée en plusieurs étapes :
• négociation dès décembre 2001 avec le distributeur Veridian System (reconnaissance de l’EPFL comme site académique, ce qui a pris tout de même quelques semaines) en vue de l’obtention d’une licence gratuite pour PBSPro, conjointement à la conclusion d’un contrat de support (incluant le droit aux révisions notamment) ;
• premiers tests d’installation et de fonctionnalité sur Eridan avec plusieurs releases de PBSPro 5 pendant la première moitié de 2002 ; ces tests ont pu se faire directement sur Eridan, sans difficulté particulière, et tout en assurant la production normale des jobs avec NQS, car les 2 produits NQS et PBS peuvent coexister simultanément sur une même machine ;
• dès octobre 2002, premiers tests semi-publics de la version PBSPro5.2.2, avec possibilité laissée aux utilisateurs de choisir le serveur batch (NQS ou PBS, sans nécessité pour les usagers de convertir leurs scripts) au moment de la soumission de leurs travaux. Au moment d’écrire ces lignes, la quasi-totalité des usagers d’Eridan est passée au nouveau système ;
• à court terme, finalisation de la migration des usagers, devant conduire à l’abandon de NQS, conjointement à la redéfinition des environnements utilisateur et la mise en place des procédures automatiques d’exploitation, révisées pour la circonstance ;
• à plus long terme (début décembre), mise en place des cpusets ;
• ré-actualisation de la documentation. Une information plus spécifique de l’utilisation de PBS sur Eridan est prévue pour un prochain article du FI.

Conclusions

En conclusion, PBS se révèle être un produit tout à fait intéressant, stable, fiable et solide, parfaitement adapté aux nouvelles architectures récentes (cluster), et de plus, ce qui ne gâte rien, quasiment gratuit pour l’Ecole. La version OpenPBS a été installée avec succès sur plusieurs configurations dans différentes parties de l’Ecole : citons la grappe des quelques 24 PCs qui a été installée avec l’aide du SIC au Laboratoire d’Ingénierie Numérique (LIN/ISE/STI) en très peu de temps (cf. http://dit-archives.epfl.ch/FI02/fi-6-2/6-2-page1.html ), et qui tourne à satisfaction depuis plusieurs mois. Grâce à la facilité de l’installation et la souplesse d’administration de ces configurations, PBS a toutes les raisons de constituer une plate-forme standard à l’Ecole pour la gestion de ses serveurs de toute nature à l’EPFL. De plus, PBS peut fonctionner en réseau et peut servir de base à la mise en place d’un service type GRID à l’Ecole regroupant l’ensemble des clusters qui s’y trouvent configurés. La porte est donc ouverte pour une palette de développements informatiques possibles, l’avenir dira s’ils se concrétiseront.



Cherchez ...

- dans tous les Flash informatique
(entre 1986 et 2001: seulement sur les titres et auteurs)
- par mot-clé

Avertissement

Cette page est un article d'une publication de l'EPFL.
Le contenu et certains liens ne sont peut-être plus d'actualité.

Responsabilité

Les articles n'engagent que leurs auteurs, sauf ceux qui concernent de façon évidente des prestations officielles (sous la responsabilité du DIT ou d'autres entités). Toute reproduction, même partielle, n'est autorisée qu'avec l'accord de la rédaction et des auteurs.


Archives sur clé USB

Le Flash informatique ne paraîtra plus. Le dernier numéro est daté de décembre 2013.

Taguage des articles

Depuis 2010, pour aider le lecteur, les articles sont taggués:
  •   tout public
    que vous soyiez utilisateur occasionnel du PC familial, ou bien simplement propriétaire d'un iPhone, lisez l'article marqué tout public, vous y apprendrez plein de choses qui vous permettront de mieux appréhender ces technologies qui envahissent votre quotidien
  •   public averti
    l'article parle de concepts techniques, mais à la portée de toute personne intéressée par les dessous des nouvelles technologies
  •   expert
    le sujet abordé n'intéresse que peu de lecteurs, mais ceux-là seront ravis d'approfondir un thème, d'en savoir plus sur un nouveau langage.