1 / 10

Improving Quasi-Dynamic Schedules through Region Slip

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

vidor
Download Presentation

Improving Quasi-Dynamic Schedules through Region Slip

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Improving Quasi-Dynamic Schedules through Region Slip Ilie Savga PELAB, IDA Linkoping University

  2. 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

  3. 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

  4. 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

  5. Region Slip - a concept for improving non-dynamic scheduling Possible solution: allow for overlapping of regions, thus • softening the region boundariesready 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

  6. 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)

  7. Issue Buffer without Region Slip

  8. Issue Buffer with Region Slip LOM

  9. Evaluationresults 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%

  10. 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

More Related