• DocumentCode
    900564
  • Title

    Exploiting Operand Availability for Efficient Simultaneous Multithreading

  • Author

    Sharkey, Joseph J. ; Ponomarev, Dmitry V.

  • Author_Institution
    Dept. of Comput. Sci., State Univ. of New York, Binghamton, NY
  • Volume
    56
  • Issue
    2
  • fYear
    2007
  • Firstpage
    208
  • Lastpage
    223
  • Abstract
    We propose several schemes to improve the scalability, reduce the complexity and delays, and increase the throughput of dynamic scheduling in SMT processors. Our first design is an adaptation of the proposed instruction packing to SMT. Instruction packing opportunistically packs two instructions (possibly from different threads), each with at most one nonready source operand at the time of dispatch, into the same issue queue entry. Our second design, termed 2OP_BLOCK, takes these ideas one step further and completely avoids the dispatching of the instructions with two nonready source operands. This technique has several advantages. First, it reduces the scheduling complexity (and the associated delays) as the logic needed to support the instructions with two nonready source operands is eliminated. More surprisingly, 2OP_BLOCK simultaneously improves the performance as the same issue queue entry may be reallocated multiple times to the instructions with at most one nonready source (which usually spends fewer cycles in the queue) as opposed to hogging the entry with an instruction which enters the queue with two nonready sources. For, schedulers with the capacity to hold 64 instructions on a 4-way SMT, the 2OP_BLOCK design outperforms the traditional queue by 14 percent, on average, and at the same time results in a 10 percent reduction in the overall scheduling delay. We also present mechanisms to support speculative scheduling with 2OP_BLOCK and introduce the hybrid scheme that dynamically switches between 2OP_BLOCK and instruction packing modes depending on the workload characteristics, to achieve further performance gains
  • Keywords
    dynamic scheduling; multi-threading; processor scheduling; queueing theory; SMT processors; dynamic scheduling; instruction packing; issue queue; operand availability; scheduling complexity reduction; simultaneous multithreading; Delay; Dispatching; Dynamic scheduling; Logic; Multithreading; Process design; Scalability; Surface-mount technology; Throughput; Yarn; Issue queue; simultaneous multithreading.;
  • fLanguage
    English
  • Journal_Title
    Computers, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0018-9340
  • Type

    jour

  • DOI
    10.1109/TC.2007.28
  • Filename
    4042681