Parallel spreadsheet evaluation and dynamic cycle detection
- Alexander Asp Bock
Research Output:
Journal Article or Conference Article in Journal
Journal article
Peer-reviewOpen access
Publication Information
Output type
Research Output:
Journal Article or Conference Article in Journal
Journal article
Peer-reviewOriginal language
EnglishJournal (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-0626Publication 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
PlumX, opens in new tab
Captures
1
Access to documents
Submitted manuscript, 545.3 KB
Accepted author manuscript, 940.23 KB
