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

Improving Quasi-Dynamic Schedules through Region Slip

  • 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

Page 1: Improving Quasi-Dynamic Schedules through Region Slip

Improving Quasi-Dynamic Schedules through Region Slip

Ilie Savga

PELAB, IDALinkoping University

Page 2: Improving Quasi-Dynamic Schedules through Region Slip

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

Page 3: Improving Quasi-Dynamic Schedules through Region Slip

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

Page 4: Improving Quasi-Dynamic Schedules through Region Slip

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

Page 5: Improving Quasi-Dynamic Schedules through Region Slip

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

Page 6: Improving Quasi-Dynamic Schedules through Region Slip

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)

Page 7: Improving Quasi-Dynamic Schedules through Region Slip

Issue Buffer without Region Slip

22

23

21 17 16 14 12 9

18 15 13 10

19 11

20

Page 8: Improving Quasi-Dynamic Schedules through Region Slip

Issue Buffer with Region Slip

22

23

19 16 14 12

20 15 13 10

21 17 11

18 9

LOM

Page 9: Improving Quasi-Dynamic Schedules through Region Slip

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%

Page 10: Improving Quasi-Dynamic Schedules through Region Slip

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