• DocumentCode
    1973180
  • Title

    The Good Block: Hardware/Software Design for Composable, Block-Atomic Processors

  • Author

    Maher, Bertrand A. ; Coons, Katherine E. ; McKinley, Kathryn S. ; Burger, Doug

  • fYear
    2011
  • fDate
    12-12 Feb. 2011
  • Firstpage
    9
  • Lastpage
    16
  • Abstract
    Power consumption, complexity, and on-chip latency are forcing computer systems to exploit more parallelism efficiently. Explicit Dataflow Graph Execution (EDGE) architectures seek to expose parallelism by dividing programs into blocks of efficient dataflow operations, exposing inter and intra-block concurrency. This paper studies the balance of complexity and capability between EDGE architectures and compilers. We address three main questions. (1) What are the appropriate block granularities for achieving high performance efficiently? (2) What are good block instruction selection policies? (3) What architecture and compiler support do these designs require? Our results show that the compiler requires multiple block sizes to adapt applications to block-atomic hardware and achieve high performance. Although the architecture for a single size is simpler, the additions for variable sizes are modest and ease hardware configuration. We propose hand-crafted and learned compiler policies for block formation. We find the best policies provide significant advantages of up to a factor of 3 in some configurations. Policies vary based on (1) the amount of parallelism inherent in the application, e.g., for integer and numerical applications, and (2) the available parallel resources. The resulting configurable architecture and compiler efficiently expose and exploit software and hardware parallelism.
  • Keywords
    data flow graphs; hardware-software codesign; integer programming; power consumption; program compilers; reconfigurable architectures; EDGE architecture; EDGE compiler; block atomic processor; compiler policy; compiler support; configurable architecture; explicit dataflow graph execution; good block; hardware configuration; hardware parallelism; hardware-software design; instruction selection policy; intrablock concurrency; on chip latency; parallel resource; power consumption; Benchmark testing; Computer architecture; Hardware; Instruction sets; Parallel processing; Registers; atomicity; compilers; computer architecture;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Interaction between Compilers and Computer Architectures (INTERACT), 2011 15th Workshop on
  • Conference_Location
    San Antonio, TX
  • ISSN
    1550-6207
  • Print_ISBN
    978-1-4577-0834-3
  • Electronic_ISBN
    1550-6207
  • Type

    conf

  • DOI
    10.1109/INTERACT.2011.17
  • Filename
    5936712