Programming Models for Heterogeneous Multicore Systems
Final rept. 2 May 2009-2 May 2011
BARCELONA SUPERCOMPUTING CENTER BARCELONA (SPAIN)
Pagination or Media Count:
This report results from a contract tasking BSC as follows. The objective of this grant was to study a programming model and performance analysis tools to productively exploit the parallelism in multicore systems. The work is based on the StarSs programming model proposal by BSC and the performance analysis tools also developed at BSC, The focus was on three areas 1 Intelligent analysis techniques in performance data analysis, 2 Locality aware scheduling, and 3 Applications. The StarSs programming models is a general node level parallel programming model based on pragmas annotating otherwise standard C programs. The annotations encapsulate certain computations as tasks and specify the directionality of their arguments inputoutputinout in such a way that dependences between different tasks can be computed at run time and the algorithm executed in a dataflow manner. Different runtime components have been developed implementing such functionalities on different platforms. CellSs is the runtime implementation of StarSs for the CellB.E. processor. It was the first one available and has been followed by SMPSs for general purpose homogeneous multicores and SMPs and GPUSs for NVIDIA GPUs. During the span of this project, significant progress has taken place in the development and use of the StarSs programming model and BSC performance tools. We are involved in an important effort to integrate into the OmpSs implementation of all the features that have been identified as relevant, but the evidences seem to be that the StarSs model supports an appropriate programming methodology for the heterogeneous multicore systems to come. The improvements taking place in the performance tools area, by using more intelligent data processing techniques show very promising results in terms of delivering real insight on the application behaviour and will help focus the optimizationparallelization efforts in the most productive direction.
- Computer Systems Management and Standards