Title :
Combining Compile and Run-Time Dependency Resolution in Data-Driven Multithreading
Author :
Arandi, Samer ; Michael, George ; Evripidou, Paraskevas ; Kyriacou, Costas
Author_Institution :
Dept. of Comput. Sci., Univ. of Cyprus, Nicosia, Cyprus
Abstract :
Threaded Data-Flow systems schedule threads based on data-availability i.e. a thread can be scheduled for execution only after all its inputs have been generated by its producer threads. This requires that all data dependencies are resolved. Two approaches are typically utilized for resolving the dependencies:- Compile-time: which is efficient but cannot handle programs with run-time determined dependencies- Run-time: which can handle run-time determined dependencies but incurs run-time overheads even when part of the dependencies can be determined at compile-timeIn this work, we combine the two approaches. The compiler (or the programmer) attempts to resolve all the dependencies and encodes them into the Data-Flow dependency graph. For any unresolved dependency, it generates a helper thread that resolves the dependency at run-time and updates the graph accordingly with the help of I-Structures. Thus, it gains the benefits of both compile-time and run-time dependency resolution. This can be also utilized to improve the programmability, in the case where the programmer has to manually resolve data-dependencies, by deferring part of the dependency resolution to run-time.In this paper we describe our approach and present the implementation and evaluation on the Data-Driven Multithreading Virtual Machine (DDM-VM). The evaluation demonstrates that the overhead of the run-time dependency resolution can increase the execution time for small thread granularities, but it can be mostly eliminated when the thread granularity increases.
Keywords :
multi-threading; program compilers; scheduling; virtual machines; I-Structures; compile-time dependency resolution; compiler; data availability; data-driven multithreading virtual machine; programmability; run-time dependency resolution; run-time overheads; thread granularities; thread scheduling; threaded data flow systems; Arrays; Instruction sets; Message systems; Microprocessors; Multithreading;
Conference_Titel :
Data-Flow Execution Models for Extreme Scale Computing (DFM), 2011 First Workshop on
Conference_Location :
Galveston Island, TX
Print_ISBN :
978-1-4673-0709-3
DOI :
10.1109/DFM.2011.16