Discerning the dominant out-of-order performance advantage: Is it speculation or dynamism?

Daniel S. McFarlin, Charles Tucker, Craig Zilles

Research output: Contribution to journalArticlepeer-review


In this paper, we set out to study the performance advantages of an Out-of-Order (OOO) processor relative to in-order processors with similar execution resources. In particular, we try to tease apart the performance contributions from two sources: the improved schedules enabled by OOO hardware speculation support and its ability to generate different schedules on different occurrences of the same instructions based on operand and functional unit availability. We find that the ability to express good static schedules achieves the bulk of the speedup resulting from OOO. Specifically, of the 53% speedup achieved by OOO relative to a similarly provisioned inorder machine, we find that 88% of that speedup can be achieved by using a single "best" static schedule as suggested by observing an OOO schedule of the code. We discuss the ISA mechanisms that would be required to express these static schedules. Furthermore, we find that the benefits of dynamism largely come from two kinds of events that influence the application's critical path: load instructions that miss in the cache only part of the time and branch mispredictions. We find that much of the benefit of OOO dynamism can be achieved by the potentially simpler task of addressing these two behaviors directly.

Original languageEnglish (US)
Pages (from-to)241-251
Number of pages11
JournalACM SIGPLAN Notices
Issue number4
StatePublished - Apr 2013


  • Dynamic Scheduling
  • Optimization
  • Speculation

ASJC Scopus subject areas

  • Computer Science(all)


Dive into the research topics of 'Discerning the dominant out-of-order performance advantage: Is it speculation or dynamism?'. Together they form a unique fingerprint.

Cite this