Title :
Multithreaded code from synchronous programs: Extracting independent threads for OpenMP
Author :
Baudisch, Daniel ; Brandt, Jens ; Schneider, Klaus
Author_Institution :
Dept. of Comput. Sci., Univ. of Kaiserslautern, Kaiserslautern, Germany
Abstract :
Synchronous languages offer a deterministic model of concurrency at the level of actions. However, essentially all compilers for synchronous languages compile these actions into a single thread by sophisticated methods to guarantee dynamic schedules for the sequential execution of these actions. In this paper, we present the compilation of synchronous programs to multi-threaded OpenMP-based C programs. We thereby start at the level of synchronous guarded actions which is a comfortable intermediate language for synchronous languages. In addition to the explicit parallelism given in the source program, our method also exploits the implicit parallelism which is due to the underlying synchronous model of computation and the data dependencies of the guarded actions. We show how viable tasks can be constructed from the actions of a program and show the feasibility of our approach by a small example.
Keywords :
C language; application program interfaces; multiprocessing systems; independent threads; multithreaded OpenMP based C programs; multithreaded code; synchronous languages; synchronous programs compilation; Clocks; Computational modeling; Computer science; Concurrent computing; Dynamic scheduling; Hardware design languages; Parallel processing; Processor scheduling; Synchronous generators;
Conference_Titel :
Design, Automation & Test in Europe Conference & Exhibition (DATE), 2010
Conference_Location :
Dresden
Print_ISBN :
978-1-4244-7054-9
DOI :
10.1109/DATE.2010.5456915