• DocumentCode
    2946903
  • Title

    HAQu: Hardware-accelerated queueing for fine-grained threading on a chip multiprocessor

  • Author

    Lee, Sanghoon ; Tiwari, Devesh ; Solihin, Yan ; Tuck, James

  • Author_Institution
    Dept. of Electr. & Comput. Eng., North Carolina State Univ., Raleigh, NC, USA
  • fYear
    2011
  • fDate
    12-16 Feb. 2011
  • Firstpage
    99
  • Lastpage
    110
  • Abstract
    Queues are commonly used in multithreaded programs for synchronization and communication. However, because software queues tend to be too expensive to support finegrained parallelism, hardware queues have been proposed to reduce overhead of communication between cores. Hardware queues require modifications to the processor core and need a custom interconnect. They also pose difficulties for the operating system because their state must be preserved across context switches. To solve these problems, we propose a hardware-accelerated queue, or HAQu. HAQu adds hardware to a CMP that accelerates operations on software queues. Our design implements fast queueing through an application´s address space with operations that are compatible with a fully software queue. Our design provides accelerated and OS-transparent performance in three general ways: (1) it provides a single instruction for enqueueing and dequeueing which significantly reduces the overhead when used in fine-grained threading; (2) operations on the queue are designed to leverage low-level details of the coherence protocol; and (3) hardware ensures that the full state of the queue is stored in the application´s address space, thereby ensuring virtualization. We have evaluated our design in the context of application domains: offloading fine-grained checks for improved software reliability, and automatic, fine-grained parallelization using decoupled software pipelining.
  • Keywords
    microprocessor chips; multi-threading; multiprocessing systems; operating systems (computers); HAQu; chip multiprocessor; fine grained threading; hardware accelerated queueing; hardware queues; multithreaded programs; operating system; processor core; software pipelining; software reliability; Acceleration; Computer architecture; Context; Hardware; Instruction sets; Parallel processing;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    High Performance Computer Architecture (HPCA), 2011 IEEE 17th International Symposium on
  • Conference_Location
    San Antonio, TX
  • ISSN
    1530-0897
  • Print_ISBN
    978-1-4244-9432-3
  • Type

    conf

  • DOI
    10.1109/HPCA.2011.5749720
  • Filename
    5749720