Inhalt des Dokuments
Nexus++: a Hardware Task Management System for Multicore Systems
Since the trend of improving processor’s performance has shifted toward in- tegrating more cores on the same chip, several parallel programming models have been proposed that aim at relieving parallel programming. Examples include Google’s MapReduce, Intel’s TBB, and OmpSs.
OmpSs is a promising approach, as it requires minimal effort of the pro- grammer to program in parallel since he or she can annotate the sequential application. The current software OmpSs runtime system, however, can be a bottleneck that limits the scalability of applications for large number of cores. Roughly speaking, the runtime system cannot compute task depen- dencies and attend to finished tasks fast enough to keep all cores busy. In this project we therefore develop Nexus++, a hardware system that provides architectural support for task-based parallel programming models such as OmpSs. The main goal of Nexus++ is to accelerate the task management responsibilities of the OmpSs runtime system.
To develop a hardware task management system that
- Accelerates task dependency resolution by a factor of 10
- Improves the performance of application with fine-grained tasks by 500
- Works for arbitrary task dependency graphs
- Requires no or minimal support from the programmer.
- Can be integrated in any type of multicore system.
This research is funded by the European Community’s Seventh Framework Programme [FP7/2007-2013] under the ENCORE Project, grant agreement n◦ 248647. It is also funded by the German-Jordanian university.
MSc project Design of a hardware task management unit for multicore systems, Mauricio Fayula Gonzalez.