16th International Conference on Parallel Architecture and Compilation Techniques (PACT 2007)
Software-Pipelining on Multi-Core Architectures
Brasov, Romania
September 15-September 19
ISBN: 0-7695-2944-5
DOI Bookmark:
http://doi.ieeecomputersociety.org/10.1109/PACT.2007.64
It is becoming increasingly evident that multi-core chip architecture are emerging as a solution to efficiently amortizing the ever-growing number of transistors on a chip. However the success of such multi-core chips depends on the advances in system software technology, such as compiler and run-time system, in order for the application programs to exploit thread level parallelism out of originally single-threaded applications and to fully utilize the hardware on-chip concurrency.
In this paper, we propose a method which, from a parallel and non-parallel imperfect loop nest written in a standard sequential language such as C or Fortran, automatically generates a multi-threaded software-pipelined schedule for multi-core architectures. The generated schedule already contains all the necessary synchronization instructions and is guaranteed free of deadlocks and buffer overflow. The feasibility of the proposed method within a modern compiler infrastructure has been verified through a pilot implementation in the Open64 compiler and tested on the IBM Cyclops multi-core architecture. Experimental results show that the performance exhibits good scalability even with 100 cores. Our light-weight synchronization mechanism minimizes the dependencies stalls and synchronization overheads without the use of dedicated hardware support.
Citation:
Alban Douillet, Guang R. Gao, "Software-Pipelining on Multi-Core Architectures," pact, pp.39-48, 16th International Conference on Parallel Architecture and Compilation Techniques (PACT 2007), 2007
Usage of this product signifies your acceptance of the
Terms of Use.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||