WARNING: ForestGOMP is not maintained anymore, it is obsolete.
ForestGOMP sources are available from here
ForestGOMP is an OpenMP runtime compatible with GCC 4.2, offering a structured way to efficiently execute OpenMP applications onto hierarchical (NUMA) architectures.
- Topology-aware OpenMP thread scheduling, thanks to the Marcel library topology discovery feature.
- Local scheduling of groups of OpenMP related threads, to take advantage of hierarchical cache memory reuse and data locality.
- Scalable, topology-aware barrier construct.
Based on BubbleSched
- Automatic bubble (BubbleSched schedulable groups of threads) generation out of OpenMP parallel regions to preserve OpenMP teammates relations at execution time.
- A combination of bubble schedulers, currently
Cache(formerly known as Affinity) and Memory.
- NUMA-aware combined scheduling of threads and data; the
Memorybubble scheduler is able to migrate threads and accessed memory across NUMA nodes, in which the Cachebubble scheduler operates.
Implementation detailsForestGOMP extends the GNU OpenMP run-time support, aka.
libgomp, that leverages Marcel's lightweight threads; it currently implements
libgomp's ABI as found in GCC 4.2 (
Structuring the execution of OpenMP applications for multicore architectures [WWW]
Proceedings of 24th IEEE International Parallel and Distributed Processing Symposium (IPDPS'10)
ForestGOMP: an efficient OpenMP environment for NUMA architectures [WWW]
International Journal on Parallel Programming, Special Issue on OpenMP, 2010
Dynamic Task and Data Placement over NUMA Architectures: an OpenMP Runtime Perspective. [WWW]
François Broquedis, Nathalie Furmento, Brice Goglin, Raymond Namyst, and Pierre-André Wacrenier.
Scheduling Dynamic OpenMP Applications over Multicore Architectures. [WWW]
François Broquedis, François Diakhaté, Samuel Thibault, Olivier Aumage, Raymond Namyst, and Pierre-André Wacrenier.
An Efficient OpenMP Runtime System for Hierarchical Architectures. [WWW]
Samuel Thibault, François Broquedis, Brice Goglin, Raymond Namyst, and Pierre-André Wacrenier.
French publications can be found here.
The main contributors of this project are François Broquedis and Ludovic Courtès.