HTCaaS

, Page d'accueil

Le High-Throughput computing (HTC) consiste à exécuter des taches faiblement interdépendantes (qui ne nécessitent pas de communication entre elles), mais qui ont besoin d’une grande puissance de calcul sur une période relativement longue. Les systèmes Middleware tel que Condor ou BOINC sont parvenus à atteindre des puissances de calcul énormes en mobilisant un grand nombre de ressources informatiques. Cependant, le nombre de tâches et la complexité des applications scientifiques augmentent. C’est alors un défi pour l’actuel middleware utilisant habituellement un seul type de ressources (E.g. cluster de stations de travail et d’ordinateurs de bureau reliés par Internet), de résoudre un problème scientifique donné en un temps raisonnable. En outre l’émergence récente des applications qui requièrent l’exécution de millions, voir milliards de tâches en un temps relativement limité, a conduit le calcul à haut débit traditionnel à devenir du Many-Tasks Computing (MTC).

Par conséquent, pour prendre en charge efficacement ces applications scientifiques complexes et exigeantes, il est impératif de tirer parti d’autant de ressources de calcul que possible, superordinateurs, grids et clouds. Néanmoins, c’est un challenge pour les chercheurs d’utiliser efficacement des ressources controlees par des fournisseurs indépendants, étant donné que le nombre de travaux (devant être soumis en même temps) augmente de façon spectaculaire (comme dans les balayages de paramètres, ou les calculs à N-Corps).

Nous avons conçu et implémenté le système HTCaaS (High-Throughput computing as à Service), qui est capable de masquer aux utilisateurs la complexité et l’hétérogénéité de l’exploitation de ressources de calcul variées, et d’envoyer de nombreuses commandes à la fois en gérant et en exploitant efficacement toutes les ressources disponibles.


Principes de conception:

  • facilité d’utilisation: les couts de traitement d’une grande quantité d’applications et de ressources informatiques sont minimisés.
  • Sélection de ressources intelligentes: L’HTCaaS est capable de sélectionner automatiquement des ressources plus efficaces et plus réactives, et de s’adapter à la charge actuelle en ajustant dynamiquement les ressources acquises.
  • Interface pluggable aux ressources: Nous utilisons le mécanisme du pluggin GANGA afin d’accéder aux ressources informatiques hétérogènes sans hardcoding.
  • Support pour de nombreuses interfaces client: Un large eventail d’interfaces client sont supportées, y compris une interface native WS, Java API, et des outils client (CLI, GUI).

Architecture et composants systeme

L’HTCaaS est constitué de 5 modules côté serveur (Gestionnaire de compte, Gestionnaire de données utilisateur, Gestionnaire de commandes informatiques, Gestionnaire d’agent, et Gestionnaire de surveillance) et de deux outils côté client (Interface ligne de commande et Interface utilisateur graphique).



Dans notre système, une commande informatique correspond aux données et au profil associé qui décrit le traitement à effectuer. Comme certains utilisateurs peuvent vouloir exécuter un grand nombre de commandes en utilisant les paramètres sweep ou des calculs à N corps, HTCaaS offre le concept de Meta-Job, qui spécifie la description d’une tache de plus haut niveau en se basant sur le standard OGF JSDL. Une fois qu’un Meta-Job est soumis, HTCaaS le divise automatiquement en sous-jobs et les insert dans la file de Jobs (implémentée en active MQ) gerée par le Job Manager. Toutes les données saisies ainsi que les résultats produis sont stockés dans le gestionnaire de données utilisateur. Une fois qu’un job est envoyé dans notre système, des agents (implémentés en Java) sont dispatchés par le gestionnaire d’agents et exécutent les jobs dans les superordinateurs, les grids et les clouds. HTCaaS utilise le multi-level scheduling & streamlined job dispatching basé sur les agents, de façon à ce que les requêtes de premier niveau faites a un ordonnanceur batch (E.g. …) reserve les ressources en soumettant des agents comme batch jobs, qui tirent chacun de facon proactive les jobs du gestionnaire de job qui met en oeuvre le mécanisme léger et rapide du dispatchement de jobs.

Par conséquent, les utilisateurs du HTCaaS sont capables de soumettre et d’exécuter des centaines de milliers de jobs (qui peuvent être exprimés par un simple script JSDL) a l’intérieur d’un processus automatisé, de les surveiller efficacement et de traiter les résultats finaux. Pour ceux qui ne sont pas familiers avec le style de script XML, nous proposons également un outil GUI easy-to-use qui peut générer le script JSDL automatiquement en se basant sur les données saisies par l’utilisateur afin de l’envoyer au système. Le déroulement global d’un job et de son exécution dans un système HTCaaS est le suivant:



1. L’utilisateur identifie HTCaaS et envoie les données entrées via le gestionnaire de données utilisateur.
2. L’utilisateur soumet un Meta-Job (écrit en JSDL) pouvant être compose de taches multiples.
3. HTCaaS divise automatiquement le Meta-Job en taches multiples en suivant les spécifications et les inserts dans la file de jobs.
4. Le gestionnaire d’agents dispatche les agents selon les besoins des jobs et les ressources disponibles.

Publications et presentations techniques


Publications

  1. Jik-Soo Kim, Sangwan Kim, Seokkyoo Kim, Seoyoung Kim, Seungwoo Rho, Ok-Hwan Byeon, and Soonwook Hwang, Towards a Next Generation Distributed Middleware System for Many-Task Computing, To appear at International Journal of Software Engineering and Its Applications, 2013.
  2. Jik-Soo Kim, Sangwan Kim, Seokkyoo Kim, Seoyoung Kim, Seungwoo Rho, Ok-Hwan Byeon, and Soonwook Hwang, From High-Throughput Computing to Many-Task Computing: Challenges, Systems and Applications, To appear at The 2nd International Conference on Software Technology (SoftTech 2013), April 2013.
  3. Sehoon Lee, Seokkyoo Kim, Seungwoo Rho and Soonwook Hwang, HTCaaS (HTC as a Service): A Large-scale HTC Problem Solving Environment Using Distributed and Heterogeneous Infrastructures, 2012 International Symposium on Grids and Clouds (ISGC), Feb 2012 (PDF)


Presentations techniques

  1. Sangwan Kim, Seoyoung Kim, Seungwoo Rho, Seokkyoo Kim, Jik-Soo Kim and Soonwook Hwang, HTCaaS, a Viable Choice for Efficient and Simplified Large-Scale Scientific Computing, Research Poster at YongPyong International Winter Conference on Particle Physics (YongPyong-2013), February 2013.
  2. Seungwoo Rho, Seoyoung Kim, Sangwan Kim, Seokkyoo Kim, Jik-Soo Kim and Soonwook Hwang, HTCaaS: A Large-Scale High-Throughput Computing by Leveraging Grids, Supercomputers and Cloud, Research Poster at IEEE/ACM International Conference for High Performance Computing, Networking, Storage and Analysis (SC12), November 2012 (PDF).
  3. Jik-Soo Kim, Efficient and Simplified Large-Scale High-Throughput Computing over Grids and Supercomputers, at The First KIISE-KOCSEA HPC SIG Joint Workshop on High Performance and Throughput Computing, November 2012
  4. Seokkyoo Kim, HTCaaS on PLSI, Korea Supercomputing Conference (KSC) 2012, Oct 2012.
  5. Jik-Soo Kim, HTCaaS: A Large-Scale High-Throughput Computing by Leveraging Grids, Supercomputers and Cloud, at 2012 Korean Institute of Information Scientists and Engineers (KIISE) HPC Special Interest Group Workshop, August 2012.