Improving QuasiDynamic Schedules through Region Slip Ilie Savga










- Slides: 10
Improving Quasi-Dynamic Schedules through Region Slip Ilie Savga PELAB, IDA Linkoping University
Dynamic vs. Static Scheduling z Dynamic: schedule instructions continuously, based on dynamically variant conditions + efficient utilization of execution resources - extra hardware complexity z 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 z Aims to achieve the performance of a fully-dynamic approach, while preserving the relative simplicity of supporting hardware z Adapts to phases in run-time behaviour by occasionally (not continuously) regenerating and rescheduling of regions z 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 z Region boundaries Intiutively, they form barriers across which instructions cannot be moved from one region to another z The decrease of instruction-level parallelism towards the end of regions Intiutively, the non-dynamic scheduler “knows” less potentially parallel instructions comparing to the fulldynamic 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 z softening the region boundaries ready instructions can fill a previous region’s empty issue slots z increasing the instruction level parallelism there 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. z In the presented case, the issue buffer is FIFO and is as wide as the number of functional units z The restriction that all new instructions are written only to the tail pointer of the buffer is removed by region slip. z 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
Issue Buffer with Region Slip LOM
Evaluation results The concept of region slip was applied to a low-level dynamic optimization framework re. PLay. 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 z Quasi-dynamic scheduling allows for the performance closed to a fully-dynamic approach, while maintaining hardware remains significantly simplier. z Its two main problems are region boundaries and the decrease of the available ILP towards the end of the regions z By allowing regions to overlap, region slip alleviates these problems and drastically improves the performance in the most unconstrained scenario










