Run-Time Scheduling with the C2muTC/SL Parallelizing Compiler

Konferenz: ARCS 2011 - 24th International Conference on Architecture of Computing Systems
22.02.2011 - 23.02.2011 in Como, Italy

Tagungsband: ARCS 2011

Seiten: 7Sprache: EnglischTyp: PDF

Persönliche VDE-Mitglieder erhalten auf diesen Artikel 10% Rabatt

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

Inhalt:
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.