Évolution d'un langage pour la programmation parallèle multi-contextes: Threaded-C

Le langage Threaded-C, une extension de C, a été conçu pour la programmation de machines parallèles multi-contextes, plus précisément, de machines basées sur l'architecture EARTH. Cette architecture, grâce à une hiérarchie à deux niveaux threads/fibres, vise à supporter de façon efficace le parallélisme de granularité fine.

Au cours d'un séjour au laboratoire CAPSL de l'université du Delaware (congé sabbatique), j'ai travaillé à faire évoluer le langage Threaded-C pour qu'il devienne un langage plus facile à utiliser, tout en assurant qu'il continue de respecter les caractéristiques spéciales des threads et fibres de l'architecture EARTH (fibres non-bloquantes). C'est cette évolution du langage que je décrirai dans le cadre cet exposé, ainsi que certains nouveaux éléments du langage (mécanisme d'exclusion et d'atomicité) introduits dans le but de supporter la programmation de machines parallèles de type SMP. Une autre extension du langage (fibres avec arguments), développée au cours de l'automne dernier et ayant pour but de rendre plus clair et explicite le flux des données, sera aussi présentée.

Pour obtenir les transparents

Transparents (2 par page) de la présentation (format pdf)