• DocumentCode
    228676
  • Title

    Compiler Techniques for Massively Scalable Implicit Task Parallelism

  • Author

    Armstrong, Timothy G. ; Wozniak, Justin M. ; Wilde, Mark ; Foster, Ian T.

  • Author_Institution
    Dept. of Comput. Sci., Univ. of Chicago, Chicago, IL, USA
  • fYear
    2014
  • fDate
    16-21 Nov. 2014
  • Firstpage
    299
  • Lastpage
    310
  • Abstract
    Swift/T is a high-level language for writing concise, deterministic scripts that compose serial or parallel codes implemented in lower-level programming models into large-scale parallel applications. It executes using a data-driven task parallel execution model that is capable of orchestrating millions of concurrently executing asynchronous tasks on homogeneous or heterogeneous resources. Producing code that executes efficiently at this scale requires sophisticated compiler transformations: poorly optimized code inhibits scaling with excessive synchronization and communication. We present a comprehensive set of compiler techniques for data-driven task parallelism, including novel compiler optimizations and intermediate representations. We report application benchmark studies, including unbalanced tree search and simulated annealing, and demonstrate that our techniques greatly reduce communication overhead and enable extreme scalability, distributing up to 612 million dynamically load balanced tasks per second at scales of up to 262,144 cores without explicit parallelism, synchronization, or load balancing in application code.
  • Keywords
    concurrency control; optimising compilers; parallel programming; simulated annealing; tree searching; Swift/T; application benchmark; application code; asynchronous tasks; code optimization; communication overhead reduction; compiler optimizations; compiler transformations; data-driven task parallel execution model; data-driven task parallelism; deterministic scripts; heterogeneous resource; high-level language; homogeneous resource; intermediate representations; load balancing; lower-level programming models; parallel applications; parallel codes; scalable implicit task parallelism; serial codes; simulated annealing; unbalanced tree search; Data models; Load modeling; Optimization; Parallel processing; Runtime; Servers; Synchronization;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    High Performance Computing, Networking, Storage and Analysis, SC14: International Conference for
  • Conference_Location
    New Orleans, LA
  • Print_ISBN
    978-1-4799-5499-5
  • Type

    conf

  • DOI
    10.1109/SC.2014.30
  • Filename
    7013012