DocumentCode :
2047513
Title :
Iterators in Chapel
Author :
Joyner, Mackale ; Chamberlain, Bradford L. ; Deitz, Steven J.
Author_Institution :
Dept. of Comput. Sci., Rice Univ., Houston, TX
fYear :
2006
fDate :
25-29 April 2006
Abstract :
A long-held tenet of software engineering is that algorithms and data structures should be specified orthogonally in order to minimize the impact that changes to one will have on the other. Unfortunately, this principle is often not well-supported in scientific and parallel codes due to the lack of abstractions for factoring iteration away from computation in traditional scientific languages. The result is a fragile situation in which complex loop nests are used to express parallelism and maximize performance, yet must be maintained individually as the algorithm and data structures evolve. In this paper, we introduce the iterator concept in the Chapel parallel programming language, designed to address this problem and provide a means for factoring iteration away from computation. The paper illustrates iterators using several examples, compares our approach with those taken in other languages, and describes our implementation in the Chapel compiler
Keywords :
data structures; parallel algorithms; parallel languages; parallel programming; program compilers; software engineering; Chapel compiler; Chapel iterator; Chapel parallel programming language; complex loop nests; data structures; parallel codes; scientific languages; software engineering; Computer science; Concurrent computing; Data structures; Multidimensional systems; Parallel processing; Parallel programming; Programming profession; Robustness; Software algorithms; Software engineering;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Parallel and Distributed Processing Symposium, 2006. IPDPS 2006. 20th International
Conference_Location :
Rhodes Island
Print_ISBN :
1-4244-0054-6
Type :
conf
DOI :
10.1109/IPDPS.2006.1639499
Filename :
1639499
Link To Document :
بازگشت