P3 - Popular Parallel Programming

Popular Parallel Programming (P3) is a research project whose goal is to help spreadsheet users harness the power of their multicore computers.

Motivation and goals:

Around 2005, four decades of exponential growth in single-core computer speed came to a halt. Hence we can no longer make software run faster or solve bigger problems just by buying a new computer; instead software must be parallelized so it can exploit multiple parallel processor cores. The goal of this project is to achieve automatic parallelization of dataflow programs for execution on modern shared-memory multicore computers, in standard laptop, desktop and server hardware.

The core ideas are (1) to view spreadsheets as a dataflow language; (2) to further improve compilation of dataflow languages to shared-memory multicore machines; in part by (3) drawing on recent advances in static execution time estimates.

The research contributions will be (1) an extension of spreadsheets as a programming paradigm with an underlying dataflow computation model; (2) compilation of dataflow to high-performance code for shared-memory multicore computers; and (3) better static execution time estimates.

From an application perspective, the project will obtain a technological platform for “popular parallel programming”, valuable for the millions of very complex computational models built as spreadsheets within finance, science and engineering. A long-term vision is to enable domain experts in there areas to develop and maintain much larger computational models instead of having to rely on cumbersome and costly interaction with professional IT departments.