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
Link To Document