Parallel spreadsheet evaluation and dynamic cycle detection

Alexander Asp Bock

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


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
Issue number13
Publication statusPublished - 1 Apr 2021


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


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

Cite this