Improving QuasiDynamic Schedules through Region Slip Ilie Savga

  • Slides: 10
Download presentation
Improving Quasi-Dynamic Schedules through Region Slip Ilie Savga PELAB, IDA Linkoping University

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

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

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

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

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

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 without Region Slip

Issue Buffer with Region Slip LOM

Issue Buffer with Region Slip LOM

Evaluation results The concept of region slip was applied to a low-level dynamic optimization

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

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