DocumentCode
2490484
Title
Automatically partitioning threads based on remote paths
Author
Tang, Xinan ; Gao, Guang R.
Author_Institution
Dept. of Electr. & Comput. Eng., Delaware Univ., Newark, DE, USA
fYear
1998
fDate
14-16 Dec 1998
Firstpage
632
Lastpage
639
Abstract
In order to program multithreaded architectures effectively, compiler support to automatically partition programs into threads is essential. This paper proposes a remote-path-based thread partitioning framework, which can generate low-level threads from procedural programs automatically. The framework has been implemented in the EARTH-C compiler, which uses a data dependence graph (DDG) as an intermediate representation for thread partitioning. To make the compiler work fast, a practical O(n2) algorithm is designed to build a non-redundant DDG. To generate correct and efficient threaded code, the remote path heuristic is employed to satisfy thread partitioning constraints and to schedule threads to run quickly. Experimental results show that the DDG building algorithm is fast and the remote-path-based heuristic is very effective in partitioning programs into “optimized” threads
Keywords
computational complexity; graph theory; multi-threading; optimising compilers; parallel architectures; processor scheduling; EARTH-C compiler; automatic program partitioning; intermediate representation; low-level threads; multithreaded architectures; nonredundant data dependence graph; optimized threads; procedural programs; remote paths; thread partitioning constraints; thread scheduling; Algorithm design and analysis; Bandwidth; Buildings; Communication switching; Communication system control; Delay; Parallel processing; Partitioning algorithms; Program processors; Yarn;
fLanguage
English
Publisher
ieee
Conference_Titel
Parallel and Distributed Systems, 1998. Proceedings. 1998 International Conference on
Conference_Location
Tainan
ISSN
1521-9097
Print_ISBN
0-8186-8603-0
Type
conf
DOI
10.1109/ICPADS.1998.741146
Filename
741146
Link To Document