• DocumentCode
    465381
  • Title

    Implicitly Parallel Programming Models for Thousand-Core Microprocessors

  • Author

    Hwu, Wen-Mei ; Ryoo, Shane ; Ueng, Sain-Zee ; Kelm, John H. ; Gelado, Isaac ; Stone, Sam S. ; Kidd, Robert E. ; Baghsorkhi, Sara S. ; Mahesri, Aqeel A. ; Tsao, Stephanie C. ; Navarro, Nacho ; Lumetta, Steve S. ; Frank, Matthew I. ; Patel, Sanjay J.

  • Author_Institution
    Univ. of Illinois at Urbana-Champaign, Urbana
  • fYear
    2007
  • fDate
    4-8 June 2007
  • Firstpage
    754
  • Lastpage
    759
  • Abstract
    This paper argues for an implicitly parallel programming model for many-core microprocessors, and provides initial technical approaches towards this goal. In an implicitly parallel programming model, programmers maximize algorithm- level parallelism, express their parallel algorithms by asserting high-level properties on top of a traditional sequential programming language, and rely on parallelizing compilers and hardware support to perform parallel execution under the hood. In such a model, compilers and related tools require much more advanced program analysis capabilities and programmer assertions than what are currently available so that a comprehensive understanding of the input program´s concurrency can be derived. Such an understanding is then used to drive automatic or interactive parallel code generation tools for a diverse set of parallel hardware organizations. The chip-level architecture and hardware should maintain parallel execution state in such a way that a strictly sequential execution state can always be derived for the purpose of verifying and debugging the program. We argue that implicitly parallel programming models are critical for addressing the software development crises and software scalability challenges for many-core microprocessors.
  • Keywords
    concurrency control; microprocessor chips; parallel algorithms; parallel programming; parallelising compilers; program debugging; program diagnostics; program verification; chip-level architecture; many-core microprocessors; parallel algorithms; parallel code generation; parallel execution; parallel programming; parallelizing compilers; program analysis; program concurrency; program debugging; program verification; programmer assertion; sequential programming language; software development; software scalability; thousand-core microprocessors; Computer architecture; Computer languages; Concurrent computing; Debugging; Hardware; Microprocessors; Parallel algorithms; Parallel programming; Program processors; Programming profession; Design; Human Factors; Languages; Parallel Programming;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Design Automation Conference, 2007. DAC '07. 44th ACM/IEEE
  • Conference_Location
    San Diego, CA
  • ISSN
    0738-100X
  • Print_ISBN
    978-1-59593-627-1
  • Type

    conf

  • Filename
    4261284