A Generic Parallel Collection Framework

  • Aleksandar Prokopec
  • Phil Bagwell
  • Tiark Rompf
  • Martin Odersky
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6853)

Abstract

Most applications manipulate structured data. Modern languages and platforms provide collection frameworks with basic data structures like lists, hashtables and trees. These data structures have a range of predefined operations which include mapping, filtering or finding elements. Such bulk operations traverse the collection and process the elements sequentially. Their implementation relies on iterators, which are not applicable to parallel operations due to their sequential nature.

We present an approach to parallelizing collection operations in a generic way, used to factor out common parallel operations in collection libraries. Our framework is easy to use and straightforward to extend to new collections. We show how to implement concrete parallel collections such as parallel arrays and parallel hash maps, proposing an efficient solution to parallel hash map construction. Finally, we give benchmarks showing the performance of parallel collection operations.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Aleksandar Prokopec
    • 1
  • Phil Bagwell
    • 1
  • Tiark Rompf
    • 1
  • Martin Odersky
    • 1
  1. 1.École Polytechnique Fédérale de LausanneLausanneSwitzerland

Personalised recommendations