Title :
Predicated switching - optimizing speculation on EPIC machines
Author :
Pillai, Satish ; Jacome, Margarida F.
Author_Institution :
Cadence Design Syst. Inc., San Jose, CA, USA
fDate :
3/1/2005 12:00:00 AM
Abstract :
Explicitly parallel instruction computing (EPIC) processors are a very attractive platform for many of today\´s multimedia and communications applications. In particular, clustered EPIC machines can take aggressive advantage of the available instruction-level parallelism, while maintaining high energy-delay efficiency. However, multicluster machines are more challenging to compile to than centralized machines. In this paper, we propose a novel compiler-directed speculation technique called predicated switching (PS) that can be applied to both centralized and multicluster EPIC machines. The two novel contributions in PS are: 1) a compiler transformation, denoted static single assignment-predicated switching, that leverages required data transfers between clusters for performance gains and 2) a static speculation algorithm to decide which specific kernel operations should actually be speculated in the final code, so as to maximize execution performance on the target processor. Experimental results performed on a representative set of time critical kernels compiled for a number of target machines show that, when compared to "resource-unaware" speculation techniques, PS improves performance with respect to at least one of the baselines in 80% of the cases by up to 38%. Moreover, we show that code size and register pressure are not adversely affected by our technique.
Keywords :
embedded systems; multiprocessing systems; operating system kernels; optimising compilers; parallel processing; clustered EPIC machines; clustered architectures; code generation; communications applications; compiler transformation; compiler-directed speculation; data transfers; embedded processors; energy-delay efficiency; explicitly parallel instruction computing processors; instruction-level parallelism; kernel operations; multicluster machines; multimedia applications; optimizing speculation; predicated switching; resource-unaware speculation; static speculation algorithm; time critical kernels; very large instruction word; Clustering algorithms; Communication switching; Computer aided instruction; Concurrent computing; Delay; Kernel; Multimedia communication; Parallel processing; Registers; VLIW; Clustered architectures; code generation; embedded processors; explicitly parallel instruction computing (EPIC); instruction-level parallelism; predication; speculation; very large instruction word (VLIW);
Journal_Title :
Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on
DOI :
10.1109/TCAD.2004.842804