Run-Time Scheduling with the C2muTC/SL Parallelizing Compiler

Conference: ARCS 2011 - 24th International Conference on Architecture of Computing Systems
02/22/2011 - 02/23/2011 at Como, Italy

Proceedings: ARCS 2011

Pages: 7Language: englishTyp: PDF

Personal VDE Members are entitled to a 10% discount on this title

Authors:
Saougkos, Dimitris; Manis, George (University of Ioannina, Dept. of Computer Science, Greece)

Abstract:
Most parallelizing compilers extract dependencies and apply loop transformations during the compilation phase. C2muTC/SL is a C parallelizing compiler targeting the SVP parallel processing model. C2muTC/SL moves crucial decisions from compile time to run-time like the extraction of parallelism and the scheduling of the work Detection of dependencies remains at compile-time. Scheduling tasks at run time is more flexible than doing it during compilation, since the information available in compilation phase is a subset of that available at run-time. When the application is running, a thread executing in parallel with the application, decides which tasks can be scheduled after all currently running tasks complete. The main drawback of this approach is the overhead introduced by the scheduler and the consumption of resources, since the scheduler shares resources and execution time with the application. In this paper we will study this overhead, presenting experimental results using the C2muTC/SL compiler and the SVP parallel programming model.