XDP - A COMPILER INTERMEDIATE LANGUAGE EXTENSION FOR THE REPRESENTATION AND OPTIMIZATION OF DATA MOVEMENT

Citation
L. Carter et al., XDP - A COMPILER INTERMEDIATE LANGUAGE EXTENSION FOR THE REPRESENTATION AND OPTIMIZATION OF DATA MOVEMENT, International journal of parallel programming, 22(5), 1994, pp. 485-518
Citations number
33
Categorie Soggetti
Computer Sciences","Computer Science Theory & Methods
ISSN journal
08857458
Volume
22
Issue
5
Year of publication
1994
Pages
485 - 518
Database
ISI
SICI code
0885-7458(1994)22:5<485:X-ACIL>2.0.ZU;2-E
Abstract
The ability to represent, manipulate, and optimize data placement and movement between processors in a distributed address space machine is crucial in allowing compilers to generate efficient code. Data placeme nt is embodied in the concept of data ownership. Data movement can inc lude not just the transfer of data values but the transfer of ownershi p as well. However, most existing compilers for distributed address sp ace machines either represent these notions in a language- or machine- dependent manner, or represent data or ownership transfer implicitly. In this paper we describe XDP, a set of intermediate language extensio ns for representing and manipulating data and ownership transfer expli citly in a compiler. XDP is supported by a set of per-processor struct ures that can be used to implement ownership testing and manipulation at run-time. XDP provides a uniform framework for translating and opti mizing sequential, data parallel, and message-passing programs to a di stributed address space machine. We describe analysis and optimization techniques for this explicit representation. Finally, we compare the intermediate languages of some current distributed address space compi lers with XDP.