• DocumentCode
    228678
  • Title

    MSL: A Synthesis Enabled Language for Distributed Implementations

  • Author

    Zhilei Xu ; Kamil, Shoaib ; Solar-Lezama, Armando

  • fYear
    2014
  • fDate
    16-21 Nov. 2014
  • Firstpage
    311
  • Lastpage
    322
  • Abstract
    This paper demonstrates how ideas from generative programming and software synthesis can help support the development of bulk-synchronous distributed memory kernels. These ideas are realized in a new language called MSL, a C-like language that combines synthesis features with high level notations for array manipulation and bulk-synchronous parallelism to simplify the semantic analysis required for synthesis. The paper shows that by leveraging these high level notations, it is possible to scale the synthesis and automated bug-finding technologies that underlie MSL to realistic computational kernels. Specifically, we demonstrate the methodology through case studies implementing non-trivial distributed kernels -- both regular and irregular -- from the NAS parallel benchmarks. We show that our approach can automatically infer many challenging details from these benchmarks and can enable high level implementation ideas to be reused between similar kernels. We also demonstrate that these high level notations map easily to low level C code and show that the performance of this generated code matches that of handwritten Fortran.
  • Keywords
    C language; distributed memory systems; operating system kernels; parallel programming; program compilers; program debugging; storage management; C-like language; Fortran; MSL language; NAS parallel benchmark; array manipulation; automated bug-finding technology; bulk-synchronous distributed memory kernels; bulk-synchronous parallelism; code generation; computational kernels; distributed implementation; generative programming; high level notations; low level C code; nontrivial distributed kernels; semantic analysis; software synthesis; synthesis enabled language; synthesis features; Arrays; Benchmark testing; Generators; Kernel; Programming; Semantics; Synthesizers;
  • 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.31
  • Filename
    7013013