Skip to main navigation Skip to search Skip to main content

Quad Ropes: Immutable, Declarative Arrays with Parallelizable Operations

    Research output: Conference Article in Proceeding or Book/Report chapterArticle in proceedingsResearchpeer-review

    Abstract

    We describe the quad rope data structure, a representation of immutable two-dimensional arrays that avoids many of the performance pitfalls of plain C-style two-dimensional arrays. Our motivation is that, for end-user development in high-level declarative programming languages, it is impractical to let users choose between different array-like data structures. Instead, one should use the same, somewhat performance-robust, representation for every programming task. Quad ropes roughly retain array efficiency, as long as programmers express their programs using high-level constructs. Moreover, they allow for fast concatenation and dynamic task-based parallelism and are well suited to represent sparse arrays. We describe their operational semantics and evaluate the performance of individual functions on quad ropes as well as declarative algorithms that use our quad rope implementation.
    Original languageEnglish
    Title of host publicationProceedings of the 4th ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming : ARRAY 2017
    Number of pages8
    PublisherAssociation for Computing Machinery
    Publication date18 Jun 2017
    Pages1-8
    ISBN (Print)978-1-4503-5069-3
    DOIs
    Publication statusPublished - 18 Jun 2017
    EventACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming - Barcelona, Spain
    Duration: 18 Jun 201723 Jun 2017
    Conference number: 4
    http://pldi17.sigplan.org/track/array-2017

    Workshop

    WorkshopACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming
    Number4
    Country/TerritorySpain
    CityBarcelona
    Period18/06/201723/06/2017
    Internet address

    Keywords

    • Quad Rope Data Structure
    • Immutable Arrays
    • High-Level Declarative Programming
    • Sparse Arrays
    • Dynamic Parallelism

    Fingerprint

    Dive into the research topics of 'Quad Ropes: Immutable, Declarative Arrays with Parallelizable Operations'. Together they form a unique fingerprint.

    Cite this