Skip to main navigation Skip to search Skip to main content

Declarative, Parallel Programming For End-User Development

  • Alexander Asp Bock

    Research output: ThesesPhD thesis

    Abstract

    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.
    Original languageEnglish
    QualificationPhD
    Supervisor(s)
    • Sestoft, Peter , Principal Supervisor
    Award date7 Jun 2019
    Publisher
    Print ISBNs978-87-7949-025-3
    Publication statusPublished - 2019

    Fingerprint

    Dive into the research topics of 'Declarative, Parallel Programming For End-User Development'. Together they form a unique fingerprint.

    Cite this