Parallel programming with object assemblies

Lublinerman R, Chaudhuri S, Cerny P. 2009. Parallel programming with object assemblies. ACM SIGPLAN Notices. 44(10), 61–80.

Download
No fulltext has been uploaded. References only!

Journal Article | Published | English

Scopus indexed
Author
Lublinerman, Roberto; Chaudhuri, Swarat; Cerny, PavolISTA
Abstract
We present Chorus, a high-level parallel programming model suitable for irregular, heap-manipulating applications like mesh refinement and epidemic simulations, and JChorus, an implementation of the model on top of Java. One goal of Chorus is to express the dynamic and instance-dependent patterns of memory access that are common in typical irregular applications. Its other focus is locality of effects: the property that in many of the same applications, typical imperative commands only affect small, local regions in the shared heap. Chorus addresses dynamism and locality through the unifying abstraction of an object assembly: a local region in a shared data structure equipped with a short-lived, speculative thread of control. The thread of control in an assembly can only access objects within the assembly. While objects can migrate from assembly to assembly, such migration is local--i.e., objects only move from one assembly to a neighboring one--and does not lead to aliasing. Programming primitives include a merge operation, by which an assembly merges with an adjacent assembly, and a split operation, which splits an assembly into smaller ones. Our abstractions are race and deadlock-free, and inherently data-centric. We demonstrate that Chorus and JChorus allow natural programming of several important applications exhibiting irregular data-parallelism. We also present an implementation of JChorus based on a many-to-one mapping of assemblies to lower-level threads, and report on preliminary performance numbers.
Publishing Year
Date Published
2009-10-25
Journal Title
ACM SIGPLAN Notices
Publisher
ACM
Volume
44
Issue
10
Page
61 - 80
IST-REx-ID

Cite this

Lublinerman R, Chaudhuri S, Cerny P. Parallel programming with object assemblies. ACM SIGPLAN Notices. 2009;44(10):61-80. doi:10.1145/1639949.164009
Lublinerman, R., Chaudhuri, S., & Cerny, P. (2009). Parallel programming with object assemblies. ACM SIGPLAN Notices. ACM. https://doi.org/10.1145/1639949.164009
Lublinerman, Roberto, Swarat Chaudhuri, and Pavol Cerny. “Parallel Programming with Object Assemblies.” ACM SIGPLAN Notices. ACM, 2009. https://doi.org/10.1145/1639949.164009.
R. Lublinerman, S. Chaudhuri, and P. Cerny, “Parallel programming with object assemblies,” ACM SIGPLAN Notices, vol. 44, no. 10. ACM, pp. 61–80, 2009.
Lublinerman R, Chaudhuri S, Cerny P. 2009. Parallel programming with object assemblies. ACM SIGPLAN Notices. 44(10), 61–80.
Lublinerman, Roberto, et al. “Parallel Programming with Object Assemblies.” ACM SIGPLAN Notices, vol. 44, no. 10, ACM, 2009, pp. 61–80, doi:10.1145/1639949.164009.

Export

Marked Publications

Open Data ISTA Research Explorer

Search this title in

Google Scholar