Upload
vidor
View
28
Download
1
Embed Size (px)
DESCRIPTION
Improving Quasi-Dynamic Schedules through Region Slip. Ilie Savga PELAB, IDA Linkoping University. Dynamic vs. Static Scheduling. Dynamic: schedule instructions continuously, based on dynamically variant conditions + efficient utilization of execution resources - extra hardware complexity - PowerPoint PPT Presentation
Citation preview
Improving Quasi-Dynamic Schedules through Region Slip
Ilie Savga
PELAB, IDALinkoping University
Dynamic vs. Static Scheduling
Dynamic: schedule instructions continuously, based on dynamically variant conditions+ efficient utilization of execution resources- extra hardware complexity
Static: rely on the compiler, the scheduling function being incorporated into code generation+ requires relatively little hardware support- susceptible to degradation in performance
A possible trade-off: quasy-dynamic approach
Quasy-dynamic Scheduling
Aims to achieve the performance of a fully-dynamic approach, while preserving the relative simplicity of supporting hardware
Adapts to phases in run-time behaviour by occasionally (not continuously) regenerating and rescheduling of regions
Basically is a non-dynamic mechanism; hence, have the same impediments as the static scheduling in achieving efficient schedules
Fundamental Impediments to Effective Static Scheduling
Region boundariesIntiutively, they form barriers across which instructions cannot be moved from one region to another
The decrease of instruction-level parallelism towards the end of regionsIntiutively, the non-dynamic scheduler “knows” less potentially parallel instructions comparing to the full-dynamic one
Together contribute up to 63% of the total number of empty slots in the issue buffer
Region Slip - a concept for improving non-dynamic scheduling
Possible solution: allow for overlapping of regions, thus softening the region boundaries
ready instructions can fill a previous region’s empty issue slots
increasing the instruction level parallelismthere are more available instructions in the combined region
As the main consequence, there are fewer empty issue slots in the buffer
Region slip is a concept of allowing one static region schedule to overlap with another one
Region Slip - implementation
In implementation region slip is a microarchitectural enhancement, with the most complex additional hardware in inserting instructions into the issue queue.
In the presented case, the issue buffer is FIFO and is as wide as the number of functional units
The restriction that all new instructions are written only to the tail pointer of the buffer is removed by region slip.
An instruction earliest possible issue slot is determined by the later of- its intra-region predecessor (maintain program order)- its parents (maintain corectness across regions)
Issue Buffer without Region Slip
22
23
21 17 16 14 12 9
18 15 13 10
19 11
20
Issue Buffer with Region Slip
22
23
19 16 14 12
20 15 13 10
21 17 11
18 9
LOM
Evaluation results
The concept of region slip was applied to a low-level dynamic optimization framework rePLay.
No significant constraints on resources were assumed to exist to emphasize the relative benefits quiasi-dynamic scheduling over a static one
The relative performance of quasi-dynamic scheduling vs. unscheduled and fully-dynamic scheduled code without and with region slip was assessed using benchmarks
Region slip was found to be capable of filling 24% of the empty issue slots previously not filled by quasi-dynamic scheduled machine, and increasing performance by 26%
Conclusions
Quasi-dynamic scheduling allows for the performance closed to a fully-dynamic approach, while maintaining hardware remains significantly simplier.
Its two main problems are region boundaries and the decrease of the available ILP towards the end of the regions
By allowing regions to overlap, region slip alleviates these problems and drastically improves the performance in the most unconstrained scenario