• 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