Algorithms for High-Performance Computing Platforms (2020-2021)

Cours 1 : Algorithmique du Parallélisme -- Overview [Slides]

Cours 2 : La tâche, l'unité de base du calcul (cours : Laercio Pilla) [Slides]

Cours 3 : Introduction à l'ordonnancement [Slides]

Cours 4 : Ordonnancement avancé [Part 1,Part 2,Part 3]

Cours 5 (TP) : Équilibrage de charge et batch scheduling (cours : Laercio Pilla)

Cours 6 : Data Locality (cours : Laercio Pilla) [Slides]

Cours 7 : Applications de l'ordonnancement [Part 1,Part 2]

Examen Final

L'examen final de ce cours sera une série d'études bibliographique d'articles de recherche à choisir dans la liste ci-dessous. Chaque étudiant doit choisir un article et me prévenir par email. Il faudra ensuite écriure un rapport commentant l'article (4 à 8 pages), et présenter celui-ci devant la classe (présentation de 10 minutes suivie de 5 minutes de questions). Les rapports doivent être envoyés avant le Lundi 30 novembre (17h).

Les étudiants sont autorisés à travailler en équipes de deux (c'est même encouragé). Dans ce cas, chaque binome doit écrire un seul rapport et faire une présentation commune. La présentation commune durera alors 15 minutes pendant laquelle chaque étudiant devra parler.



Article Étudiant(s)
Algorithm-Based Fault Tolerance for Matrix Operations Alexandre D 
UBIS: Utilization-aware cluster scheduling Mehdi H, Ahmed G 
Dynamic memory-aware task-tree scheduling Pierre C., Thomas F. 
Stitch It Up: Using Progressive Data Storage to Scale Science Mael K., Anthony F. 
Performance-effective and low-complexity task scheduling for heterogeneous computing Jérôme F., Pierre J. 
On the role of burst buffers in leadership-class storage systems L. Bourroux 
“Cool” Load Balancing for High Performance Computing Data Centers Alexis B., Valentin G.  
Robust Dynamic Resource Allocation via Probabilistic Task Pruning in Heterogeneous Computing Systems Amaury J., Mathieu F. 
Adapting Batch Scheduling to Workload Characteristics: What can we expect From Online Learning?  
Analysis of a List Scheduling Algorithm for Task Graphs on Two Types of Resources  
DAG-Aware Joint Task Scheduling and Cache Management in Spark Clusters Zineb B., Achref B. 
Load-balancing Parallel Relational Algebra Antoine D, Lucas N. 
Slack Squeeze Coded Computing for Adaptive Straggler Mitigation  
A Probabilistic Machine Learning Approach to Scheduling Parallel Loops with Bayesian Optimization Mohamed B, L'kotbi EM. 
A Constraint-Based Approach to Automatic Data Partitioning for Distributed Memory Execution Aissam C., Raphael F. 
A Simple Load Balancing Scheme for Task Allocation in Parallel Machines Rémi L., Louis LL. 

Sujets de stages

Analyse du comportement d'Entrées-Sorties (IO) en cas de congestion. (G. Pallez, F. Zanon-Boito)

Les applications haute-performance transfèrent de large volumes de données (Entrées/Sorties) vers le système parallèle de stockage de fichier (PFS). Ce système est partagé par les multiples applications tournant sur la plateforme de calcul, ainsi leurs envois de données sont régulièrement ralentis du aux interférences entre les différentes applications (congestion).

Aujourd'hui on ne sait pas modéliser correctement cette interférence et les ralentissements liés. L'idée de ce stage est d'étudier l'interférence de transferts d'IO et de modéliser ce comportement statistiquement. On s'intéressera à trouver les paramètres principaux qui influent sur ce comportement statistique (écriture/lecture). Enfin on cherchera à voir si il est possible de prédire les comportements statistiques de congestion.

Mail de contact : guillaume (point) pallez (at) inria (point) fr