Declarative, Parallel Programming For End-User Development

Alexander Asp Bock

Publikation: Bog / Antologi / Rapport / Ph.D.-afhandlingPh.d.-afhandling


Spreadsheets are popular tools in many areas such as science,
finance and engineering for large, complex models that inform critical
decisions. Spreadsheet end-users are usually domain experts
but may not be trained IT professionals.
Shared-memory multicore processors have become commonplace
commodities, but how can spreadsheet end-users leverage
this powerful hardware to accelerate spreadsheet computation? They
may need to collaborate with an IT department or consult professionals.
Existing solutions usually require some level of user interaction
or the availability of a compute cluster. This thesis investigates the
development of tools and algorithms that automatically accelerate
spreadsheet recalculation in a completely transparent manner, targeting
the shared-memory multicore processors of today’s computers.
The declarative and functional nature of spreadsheets makes
them a prime candidate for automatic parallelism.
We explore two approaches to automatic parallelism. The first
dynamically attempts to discover local parallelism on-the-fly during
cell evaluation. The second approach statically analyses the spreadsheet
and globally partitions cells into load-balanced groups that
can be executed in parallel on shared-memory multicore processors.
The work is implemented in Funcalc, a research spreadsheet
application featuring higher-order functions. They can be defined
directly inside the spreadsheet using the formula language endusers
are already familiar with. We believe this additional expressive
power combined with automatic tools for levering the underlying
hardware is a powerful framework for end-user development.
ForlagIT-Universitetet i København
Antal sider230
ISBN (Trykt)978-87-7949-025-3
StatusUdgivet - 2019


Dyk ned i forskningsemnerne om 'Declarative, Parallel Programming For End-User Development'. Sammen danner de et unikt fingeraftryk.