Easy PRAM-based High-performance Parallel Programming with ICE

dc.contributor.authorGhanim, Fady
dc.contributor.authorBarua, Rajeev
dc.contributor.authorVishkin, Uzi
dc.date.accessioned2016-09-01T11:58:26Z
dc.date.available2016-09-01T11:58:26Z
dc.date.issued2016-08-31
dc.descriptionA poster of this paper will be presented at the 25th International Conference on Parallel Architecture and Compilation Technology (PACT ’16), September 11-15, 2016, Haifa, Israel.en_US
dc.description.abstractParallel machines have become more widely used. Unfortunately parallel programming technologies have advanced at a much slower pace except for regular programs. For irregular programs, this advancement is inhibited by high synchronization costs, non-loop parallelism, non-array data structures, recursively expressed parallelism and parallelism that is too fine-grained to be exploitable. We present ICE, a new parallel programming language that is easy-to-program, since: (i) ICE is a synchronous, lock-step language; (ii) for a PRAM algorithm its ICE program amounts to directly transcribing it; and (iii) the PRAM algorithmic theory offers unique wealth of parallel algorithms and techniques. We propose ICE to be a part of an ecosystem consisting of the XMT architecture, the PRAM algorithmic model, and ICE itself, that together deliver on the twin goal of easy programming and efficient parallelization of irregular programs. The XMT architecture, developed at UMD, can exploit fine-grained parallelism in irregular programs. We built the ICE compiler which translates the ICE language into the multithreaded XMTC language; the significance of this is that multi-threading is a feature shared by practically all current scalable parallel programming languages. As one indication of ease of programming, we observed a reduction in code size in 7 out of 11 benchmarks vs. XMTC. For these programs, the average reduction in number of lines of code was when compared to hand optimized XMTC The remaining 4 benchmarks had the same code size. Our main result is perhaps surprising: The run-time was comparable to XMTC with a 0.76% average gain for ICE across all benchmarks.en_US
dc.description.sponsorshipNSF award 1161857en_US
dc.identifierhttps://doi.org/10.13016/M27F6K
dc.identifier.urihttp://hdl.handle.net/1903/18521
dc.language.isoen_USen_US
dc.relation.isAvailableAtA. James Clark School of Engineeringen_us
dc.relation.isAvailableAtElectrical & Computer Engineeringen_us
dc.relation.isAvailableAtDigital Repository at the University of Marylanden_us
dc.relation.isAvailableAtUniversity of Maryland (College Park, MD)en_us
dc.subjectParallel Programming Languagesen_US
dc.subjectEase of Programmingen_US
dc.subjectICEen_US
dc.subjectParallel Algorithmsen_US
dc.subjectPRAMen_US
dc.titleEasy PRAM-based High-performance Parallel Programming with ICEen_US
dc.typeTechnical Reporten_US

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
TR GhanimBaruaVishkinRevised10Nov2016.pdf
Size:
2.55 MB
Format:
Adobe Portable Document Format
Description:
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.57 KB
Format:
Item-specific license agreed upon to submission
Description: