Research Overview
Although processors become massively multicore and therefore new programming models mix message passing and multi-threading, the effects of threads on communication libraries remain neglected. Designing an efficient modern communication library requires precautions in order to limit the impact of threads on performance.
Mixing threads and communication
Most communication libraries are implemented efficiently and therefore lead to good performancs as long as the data transfer is done in an "undisturbed environment", i.e. the resources (CPU, memory bus, network interface) are fully available. The massive use of multicore chips as well as the use of paradigms that mix communication and threads tend to disturb the environment and communication library may perform poorly. The communication reactivity during computing phases i.e. the ability to react quickly to the network, is hard to ensure.
I have developped an event detector library that is able to maintain a good reactivity even during computing phases. This library called PIOMan has been developped within the PM2 project.
Taking advantage of multicore processors
The introduction of multicore processors in clusters also leads to other challenges for communication libraries as the number of communication sources increases much faster than the network resources. The NICs thus have to be shared by multiple processing units. The need for multiplexing as well as the increase of communication leads the way to optimization opportunities. Exploiting several cores simultaneously is an efficient solution to submit small messages to the network transparently and thus to overlap communication and computation.
I have developped the multithreading sub-system of the NewMadeleine high performance communication library. This implementation relies on PIOMan to ensure reactivity to communication completion. NewMadeleine is the communication part of the PM2 project.
Publications
Please refer to my up to date publications list on the RUNTIME Bibliography Repository (also available in BibTeX format).
International conferences with selection panels
Kevin Coulomb, Augustin Degomme, Mathieu Faverge, and François Trahay.
An open-source tool-chain for performance analysis.
In the 5th parallel Tools Workshop,
Dresden, Germany, September 2011.
[Bib]
Élisabeth Brunet, François Trahay, Raymond Namyst, and Alexandre
Denis.
A sampling-based approach for communication libraries auto-tuning.
In International Conference on Cluster Computing (IEEE Cluster),
Austin, Texas, September 2011. IEEE Computer Society Press.
[WWW]
[Bib]
François Trahay, François Rue, Mathieu Faverge, Yutaka Ishikawa, Raymond Namyst and Jack Dongarra.
EZTrace: a generic framework for performance analysis.
In Proceedings of the IEEE/ACM International Symposium on Cluster, Cloud and Grid computing (CCGrid 2011),
Newport Beach, CA,
May 2011. Note: Poster session
[WWW]
[WWW (extended version)]
[Bib]
François Trahay and Alexandre Denis.
A scalable and generic task scheduling system for
communication libraries.
In Proceedings of the IEEE International
Conference on Cluster Computing,
New Orleans, LA,
September 2009. IEEE Computer Society Press. Note:
[WWW]
[Bib]
Guillaume Mercier, François Trahay, Darius Buntinas, and Élisabeth
Brunet.
NewMadeleine: An Efficient Support for High-Performance
Networks in MPICH2.
In Proceedings of 23rd IEEE International Parallel
and Distributed Processing Symposium (IPDPS'09),
Rome, Italy, May 2009.
IEEE Computer Society Press.
[WWW]
[Bib]
François Trahay, Élisabeth Brunet, and Alexandre
Denis.
An analysis of the impact of multi-threading
on communication performance.
In CAC 2009: The 9th Workshop on Communication Architecture for Clusters,
held in conjunction with IPDPS 2009, Rome, Italy,
May 2009.
IEEE Computer Society Press.
[WWW]
[Bib]
Élisabeth Brunet, François Trahay, and Alexandre
Denis.
A Multicore-enabled Multirail Communication
Engine.
In Proceedings of the IEEE International
Conference on Cluster Computing,
Tsukuba, Japan,
pages 316-321, September 2008. IEEE Computer Society
Press.
[WWW]
[Bib]
François Trahay, Élisabeth Brunet, Alexandre Denis,
and Raymond Namyst.
A multithreaded communication
engine for multicore architectures.
In CAC 2008: Workshop on Communication
Architecture for Clusters, held in conjunction
with IPDPS 2008,
Miami, FL, April 2008. IEEE Computer Society Press.
[WWW]
[Bib]
François Trahay, Alexandre Denis, Olivier Aumage,
and Raymond Namyst.
Improving Reactivity and Communication Overlap in
MPI using a Generic I/O Manager.
In EuroPVM/MPI, volume Recent Advances in
Parallel Virtual Machine and Message Passing
Interface of Lecture Notes in Computer Science,
pages 170-177, 2007. Springer.
[WWW]
[Bib]
National conferences with selection panels
François Trahay.
Bibliothèque de communication multi-threadée pour
architectures multi-coeurs.
In 19ème Rencontres Francophones du
Parallélisme,
Toulouse / France,
September 2009.
[WWW]
[Bib]
François Trahay.
PIOMan : un gestionnaire d'entrées-sorties
générique.
In 18ème Rencontres Francophones du
Parallélisme,
Fribourg / Suisse,
February 2008. École d'ingénieurs et d'architectes
de Fribourg.
[WWW]
[Bib]
Thesis
François Trahay.
De l'interaction des communications et de l'ordonnancement de threads au sein des grappes de machines multi-coeurs.
PhD Thesis, Université Bordeaux 1,
Nov. 2009.
[WWW]
[Bib]
François Trahay.
Gestion de la réactivité des communications
réseau.
Master Thesis, Université Bordeaux 1,
June 2006.
[WWW]
[Bib]