WARNING: ForestGOMP is not maintained anymore, it is obsolete.
Download
ForestGOMP sources are available from here
ForestGOMP depends on the Marcel threading library. v2.91 of Marcel is specially tailored to support ForestGOMP and is available for download here.
ForestGOMP Overview
ForestGOMP is an OpenMP runtime compatible with GCC 4.2, offering a structured way to efficiently execute OpenMP applications onto hierarchical (NUMA) architectures.
Highlights
- 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 asAffinity ) and Memory. - NUMA-aware combined scheduling of threads and data; the
Memory bubble scheduler is able to migrate threads and accessed memory across NUMA nodes, in which theCache bubble scheduler operates.
Implementation details
ForestGOMP 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 (GOMP_1.0
and OMP_1.0
symbol versions);
Related Publications
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.
IWOMP'09
Scheduling Dynamic OpenMP Applications over Multicore Architectures. [WWW]
François Broquedis, François Diakhaté, Samuel Thibault, Olivier Aumage, Raymond Namyst, and Pierre-André Wacrenier.
IWOMP'08
An Efficient OpenMP Runtime System for Hierarchical Architectures. [WWW]
Samuel Thibault, François Broquedis, Brice Goglin, Raymond Namyst, and Pierre-André Wacrenier.
IWOMP'07
French publications can be found here.
Credits
The main contributors of this project are François Broquedis and Ludovic Courtès.
Documentation and Related Links
More information about BubbleSched
Papers related to ForestGOMP/Marcel
Contact
For any questions regarding ForestGOMP, please contact François Broquedis.