FLASH INFORMATIQUE FI



PBS (Portable Batch System) sur Eridan




Jean-Michel CHENAIS


Dans un article du FI 9/02 ont été présentées les raisons qui ont amené le remplacement de NQS par PBS sur Eridan.

Parmi celles-ci, rappelons les principales qui ont déterminé le choix du produit et de sa version :

• gratuité de la version OpenPBS, déjà utilisée à l’EPFL ;
• quasi gratuité pour l’EPFL de la version PBSPro, en raison des conditions particulières consenties au bénéfice des sites académiques par son fournisseur Veridian Systems, au seul prix d’un contrat de support (1150 US$) (par départment et indépendamment du nombre de processeurs).
• adaptabilité de PBS et du logiciel d’exploitation à une grande variété de configurations matérielles : PBS, conçu et écrit pour être portable, peut être exploité autant sur des machines de type SMP que sur des clusters de machines, ces machines pouvant être également de type SMP ou simplement un ensemble de stations et autres serveurs : il peut donc constituer un standard en la matière ;
• pour Eridan, solution apportée par PBS à la résolution du problème lié à la non reproductibilité des performances.

Ces 2 versions sont déjà exploitées à l’EPFL, citons encore un fois le Laboratoire d’Ingénierie Numérique (LIN/ISE/STI) pour la version OpenPBS, et présentement donc, sur Eridan, au SIC.

Cet article a pour but de présenter l’implantation de PBS sur Eridan et quelques unes des caractéristiques de sa configuration à l’adresse des utilisateurs.

• Afin de réduire, autant que faire se peut, les effets sur les usagers des tracas d’une migration, la configuration d’exploitation de PBS sur Eridan est pratiquement identique à celle qui prévalait avec l’ancien système NQS. Les usagers retrouvent donc la même structure de classes, les mêmes noms, avec les mêmes limites, et ne devront donc pas changer de méthode ou d’habitude de travail. Les anciens utilitaires locaux sont en cours de conversion et seront disponibles d’ici peu. C’est ainsi que la commande queues bien connue donnant la structure des classes NQS a été récemment convertie et reflète dès maintenant la configuration courante des queues PBS. La commande locale traditionnelle ts sera également convertie, et regroupera génériquement toutes les informations jugées utiles pour le suivi des travaux des usagers.
• La documentation sur le Web relative à l’usage d’Eridan sera mise à jour prochainement. Il est clair que l’information concernant la soumission de jobs par NQS doit être réadaptée au nouveau système. En attendant, les utilisateurs peuvent consulter sur Eridan, avec l’utilitaire <info>, tous les articles traitant des questions courantes relatives à PBS.

Principales caractéristiques de PBS et différences avec NQS sur Eridan

Comme tout système batch un tant soit peu évolué, PBS doit permettre à l’administrateur de configurer le serveur de façon qu’il puisse gérer facilement les ressources de la machine, en veillant que leur attribution à l’ensemble des travaux soit équilibrée et efficace, et tout en ayant les moyens de vérifier qu’elles soient utilisées correctement dans le cadre de leurs limites imparties. En ce sens, dans son principe, PBS ne diffère que peu par rapport à NQS : tous deux disposent d’un langage relativement riche en possibilités de configuration et de mise en place de ces contrôles. PBS bénéficie toutefois d’apports plus modernes et indispensables dans les configurations courantes actuelles.

Ce qui diffère essentiellement, est la faculté de PBS à gérer les ressources sur un ensemble de machines rassemblées en réseau. Chacune de ces machines constitue un noeud, pas nécessairement tous homogènes entre eux par leur architecture (nombre de processeurs et mémoire variables), mais tournant souvent des OS identiques (Linux est une possibilité très attrayante actuellement). Chaque noeud est décrit en terme de ressources, et son nom est enregistré au niveau du serveur maître. Au moment de lancer un job, PBS alloue les ressources requises, si elles sont disponibles, selon différents critères définis par l’administrateur (priorités, nombre de processeurs par noeud, et selon différentes stratégies configurables du scheduler). En ce sens, Eridan est un cluster à un seul noeud, disposant de 128 processeurs et 64Gb de mémoire.

On pourrait ainsi par extension imaginer que tous les serveurs SGI de type SMP de l’Ecole soient rassemblés pour former un cluster, et soient gérés comme une entité unique.

Le scheduler de PBS agit quelque peu différemment par rapport à NQS :

• le principe de la priorité entre classes est le même entre les 2 systèmes : l’ordre dans lequel les queues sont successivement examinées pour sélectionner le prochain job à lancer est défini de façon modulable, et peut être par exemple changé selon l’horaire nuit/jour/week-end ;
• le principe de la variation de priorité individuelle d’un job qui le positionnait par rapport aux autres jobs d’une même classe donnée (aging) n’existe plus. Cette priorité, qui augmentait régulièrement avec NQS, et qui servait seulement à assurer l’ordre de prise en charge des jobs dans une classe, est simplement remplacée par le fait que PBS s’arrange pour assurer cette prise en charge tout seul. Toutefois, à l’intérieur d’une classe donnée (donc pour un nombre de processeurs bien défini), PBS privilégiera les jobs selon des critères configurables de taille mémoire et de temps calcul.
• PBS introduit les possibilités de traitement automatique de jobs (starving jobs), qui, pour une raison quelconque (indisponibilité de ressources par exemple), n’arriveraient pas autrement à être sélectionnés par le système dans un temps donné : dès qu’un job reste en machine (input queue) plus longtemps qu’une période prédéfinie, PBS entreprend une opération de libération de ressources (draining) jusqu’à ce que ce job réussisse aussitôt à rentrer en exécution.
• parallèlement, PBS repère tous les (petits) jobs qui disposeraient, pendant cette opération de drainage, de ressources suffisantes pour s’exécuter (back-fill) ; PBS peut en effet déterminer le temps nécessaire à l’opération de drainage (sur la base des ressources spécifiées par l’usager pour ses jobs), et prendre la décision de lancer les jobs qui auront juste le temps de se terminer avant la fin de l’opération de drainage : l’usager aura donc toujours intérêt à ne pas (trop) surestimer les ressources nécessaires à l’exécution de ses travaux, afin de tirer le meilleur parti du scheduling du server.

Actuellement, le système batch d’Eridan est configuré avec le scheduler natif FIFO de PBS. D’autres choix, faisant partie de la distribution intégrante de PBS, pourront à l’avenir être mis en production, selon les expériences qui seront faites. D’autres possibilités existent : ainsi la version Maui, souvent citée en référence et bien connue dans la communauté PBS.

Entre autres nouveautés par rapport à NQS, PBS offre de façon standard la possibilité de lancer des sessions interactives, avec la commande qsub I. Cela peut être utile pour entreprendre de courts tests, ou sortir directement à l’écran des graphiques en cours de calcul. Pour le moment, l’usage de cette possibilité n’est soumise à aucune restriction : elle n’est limitée que par la seule disponibilité des ressources nécessaires à cet usage (nombre de processeurs, mémoire). En cas d’usage, ne pas oublier de sortir de la session aussitôt que possible, car les ressources restent allouées tant que la session n’est pas terminée !

Conséquences pour les usagers quelques règles d’usage et recommandations

Par rapport à NQS, les règles suivantes prévalent toujours :

• en principe, un seul job par usager au maximum pour l’ensemble des classes, des exceptions peuvent être prévues, après accord avec les usagers intéressés ;
• pour les plus gros travaux, possibilité, voire nécessité de tronçonner les calculs par chaînage des jobs entrepris par les usagers ;

Nouveau avec PBS sur Eridan :

• pour les usagers lançant à la rafale toute une série de jobs identiques quasi simultanément, possibilité, voire nécessité de séquencer ces travaux par l’introduction d’une dépendance entre chaque job. Cela facilite le travail du scheduler, qui ne sera plus obligé de considérer simultanément tous ces jobs comme autant de travaux distincts candidats. Cela évite par ailleurs l’apparente monopolisation des ressources pendant de longues périodes par un même usager. Le séquençage des jobs peut se faire automatiquement à l’aide d’un utilitaire ad hoc confectionné pour la circonstance ;
• possibilité de suivre la performance instantanée des travaux, par l’examen d’un indice, égal à la performance moyennée de tous les processeurs utilisés. Cet indice permet aux usagers (et à l’administrateur !) de détecter rapidement si l’application est bien adaptée à l’architecture de la machine ;
• mise à disposition d’une classe à haute priorité, en cours de configuration. Avec NQS, ces petits jobs tournaient en overbooking, méthode en principe à éviter (car dégradant les performances du serveur) et que PBS ne permet en principe pas ; une autre méthode doit être imaginée ; le recours aux possibilités de préemption de PBS pourrait être utilisé ;
• instauration de limites quant au nombre de jobs qui pourraient être soumis en machine, par classe et/ou au niveau global, ceci afin de garantir une période raisonnable d’attente de retour des jobs. Ce contrôle, implémenté localement sous NQS dans le wrapper de la commande qsub, existe de façon native dans PBS, mais reste encore à configurer complétement.

Toutes ces nouveautés sont ou seront documentées de façon plus précise par le biais d’articles accessibles à l’aide de l’utilitaire <info>.

Conclusions

Ont donc été présentées brièvement quelques unes des caractéristiques du nouveau système batch sur Eridan. La configuration actuelle doit être encore peaufinée afin qu’elle serve au mieux les usagers. Gageons que cela sera fait au mieux dans les plus brefs délais.



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.