Parallel spreadsheet evaluation and dynamic cycle detection

Alexander Asp Bock

    Research output: Journal Article or Conference Article in JournalJournal articleResearchpeer-review

    Abstract

    It was estimated there would be 72 million users using spreadsheets monthly in 2017 some of which build complex financial, scientific, and mathematical models. Most of these end‐users are not trained IT professionals but domain experts. In the age of multicore computing and ever‐increasing amounts of data, how can end‐users access this powerful, parallel hardware to accelerate spreadsheet computation? Some existing solutions are usually not fully automatic and require a level of interaction from end‐users to facilitate parallel execution. Ideally, an end‐user tool would transparently exploit the underlying hardware and automatically discover available parallelism in the spreadsheet without any required interaction. This article presents an algorithm for automatic parallel evaluation of the cells in a spreadsheet and dynamic, parallel cycle detection. It is implemented in the Funcalc research spreadsheet application which supports higher‐order functions in the spreadsheet paradigm. Altogether, this promises a powerful and expressive platform for end‐user development. Our results on a 48 logical core machine show a maximum 7–14× speed‐up on a set of benchmark spreadsheets and a maximum 21–32× speed‐up on a set of synthetic spreadsheets with predefined topologies.
    Original languageEnglish
    JournalConcurrency and Computation: Practice & Experience
    Volume33
    Issue number13
    ISSN1532-0626
    DOIs
    Publication statusPublished - 1 Apr 2021

    Keywords

    • spreadsheet
    • parallelism
    • cycle detection
    • recalculation
    • declarative
    • Funcalc

    Fingerprint

    Dive into the research topics of 'Parallel spreadsheet evaluation and dynamic cycle detection'. Together they form a unique fingerprint.

    Cite this