DocumentCode
1960347
Title
Concurrent Collections on Distributed Memory Theory Put into Practice
Author
Schlimbach, F. ; Brodman, J.C. ; Knobe, K.
Author_Institution
Intel Corp., Feldkirchen, Germany
fYear
2013
fDate
Feb. 27 2013-March 1 2013
Firstpage
225
Lastpage
232
Abstract
Finding and expressing scalable parallelism is a non-trivial task, in fact it is one of the most difficult parts of software development. Concurrent Collections (CnC) is a novel programming model which aims to make this easy. Its higher level abstractions expose available parallelism implicitly through specifying the semantically required dependencies between individual computation kernels. It has been shown conceptually to be deterministic, independent of the target platform and to separate program semantics from tuning. While abstractly evident, there have been no concrete implementations yet which show that these concepts are actually generally exploitable in practice. We developed an implementation of CnC which exposes these benefits in a single model for both shared and distributed memory. Additionally, we provide a tuning interface which allows defining and optimizing distribution plans easily and flexibly. Unlike most approaches, our implementation allows changing the distribution without altering the computation code itself. This makes the development very productive because it separates the concerns of program semantics and tuning. Last but not least, we show that the new mechanisms not only preserve CnC´s deterministic model but are also capable of providing competitive performance. We ported several applications and ran them on a cluster of multi-cores. Our results show that CnC performance matches and often outperforms that of existing state-of-the-art models.
Keywords
concurrency control; distributed shared memory systems; parallel processing; parallel programming; software engineering; CnC deterministic model; CnC performance; CnC programming model; computation code; concurrent collection programming model; distributed memory theory; high level abstractions; multicore cluster; parallelism implicitly; program semantics; program tuning; scalable parallelism; shared memory; software development; tuning interface; Arrays; Computational modeling; Parallel processing; Runtime; Semantics; Tuners; distributed computing; parallel algorithms; parallel programming;
fLanguage
English
Publisher
ieee
Conference_Titel
Parallel, Distributed and Network-Based Processing (PDP), 2013 21st Euromicro International Conference on
Conference_Location
Belfast
ISSN
1066-6192
Print_ISBN
978-1-4673-5321-2
Electronic_ISBN
1066-6192
Type
conf
DOI
10.1109/PDP.2013.40
Filename
6498557
Link To Document