Skip to search boxSkip to navigationSkip to main content

Parallel spreadsheet evaluation and dynamic cycle detection

  • Alexander Asp Bock
Research Output:
Journal Article or Conference Article in Journal
Journal article
Peer-review

Open access

Publication Information

Output type

Research Output:
Journal Article or Conference Article in Journal
Journal article
Peer-review

Original language

English

Journal (Volume, Issue Number)

Concurrency and Computation: Practice & Experience (Volume 33, Issue 13)

Publication milestones

  • Published - 01/04/2021

Publication status

Published - 01/04/2021

ISSN

1532-0626

Publication IDs

  • Scopus: 85103430043

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.

Publication metrics