Title
Latency-tolerant software pipelining in a production compiler
Abstract
In this paper we investigate the benefit of scheduling non-critical loads for a higher latency during software pipelining. "Non-critical" denotes those loads that have sufficient slack in the cyclic data dependence graph so that increasing the scheduling distance to their first use can only increase the number of stages of the software pipeline, but should not increase the lengths of the individual stages, the initiation interval (II). The associated cost is in many cases negligible, but the memory stall reduction due to improved latency coverage and load clustering in the schedule can be considerable. We first analyze benefit and cost in theory and then present how we have implemented latency-tolerant pipelining experimentally in the Intel Itanium® product compiler. A key component of the technique is the preselection of likely long-latency loads that is integrated into prefetching heuristics in the high-level optimizer. Only when applied selectively based on these prefetcher hints, the optimization gives the full benefit also without trip-count information from dynamic profiles. Experimental results show gains of up to 14%, with an average of 2.2%, in a wide range of SPEC® CPU2000 and CPU2006 benchmarks. These gains were realized on top of best-performing compiler options typically used for SPEC submissions.
Year
DOI
Venue
2008
10.1145/1356058.1356073
CGO
Keywords
Field
DocType
product compiler,associated cost,spec submission,full benefit,software pipeline,latency-tolerant software,software pipelining,scheduling distance,higher latency,improved latency coverage,production compiler,best-performing compiler option,compiler,memory latency,epic,memory level parallelism,itanium,code generation
Pipeline (computing),Software pipelining,Scheduling (computing),Computer science,Latency (engineering),Parallel computing,Itanium,Code generation,Real-time computing,Compiler,CAS latency
Conference
ISSN
Citations 
PageRank 
2164-2397
1
0.34
References 
Authors
13
3
Name
Order
Citations
PageRank
Sebastian Winkel11115.63
Rakesh Krishnaiyer217419.65
Robyn Sampson310.34