AutoInc | Asymptotic Speedups for Free through Automatic Incremental Computing

Summary
The energy consumption of data centers and ICT devices grows at an alarming rate and will be responsible for up to 20% of the global energy consumption by 2030. To sustain the ongoing digital transformation, we must find ways to run software dramatically more efficiently. A promising direction is incremental computing. Incremental computations react to input changes rather than recomputing their result from scratch, which is known to deliver asymptotic speedups in theory and order-of-magnitude speedups in practice. However, current approaches to incrementality have limited applicability: They either require expert knowledge, or only support specialized domains (e.g., database queries), or only yield modest speedups. The goal of this project is to develop a methodology for automatically incrementalizing computations and significantly improving their time and energy efficiency.

The AutoInc project achieves this ambitious goal by establishing a novel foundation for incremental computing in three complementary parts. First, the project develops a library of incremental operators for atomic and other essential data types as part of a novel framework of differential theories, which ensure the correctness and composability of the operators. Second, the project designs a low-level intermediate representation (IR) for describing compositional incremental computations as computation networks and provides a novel differential recomputing semantics for the IR. Third, the project develops an optimizing compiler that translates existing code to the low-level incremental IR and uses operators from differential theories where possible. Each part is useful in its own right, but together AutoInc enables developers to automatically incrementalize the reactive parts of existing programs. Besides improving the efficiency of programs, this project will produce fundamental insights about the nature and limits of automatic incremental computing.
Results, demos, etc. Show all and search (0)
Unfold all
/
Fold all
More information & hyperlinks
Web resources: https://cordis.europa.eu/project/id/101125325
Start date: 01-06-2024
End date: 31-05-2029
Total budget - Public funding: 1 999 720,00 Euro - 1 999 720,00 Euro
Cordis data

Original description

The energy consumption of data centers and ICT devices grows at an alarming rate and will be responsible for up to 20% of the global energy consumption by 2030. To sustain the ongoing digital transformation, we must find ways to run software dramatically more efficiently. A promising direction is incremental computing. Incremental computations react to input changes rather than recomputing their result from scratch, which is known to deliver asymptotic speedups in theory and order-of-magnitude speedups in practice. However, current approaches to incrementality have limited applicability: They either require expert knowledge, or only support specialized domains (e.g., database queries), or only yield modest speedups. The goal of this project is to develop a methodology for automatically incrementalizing computations and significantly improving their time and energy efficiency.

The AutoInc project achieves this ambitious goal by establishing a novel foundation for incremental computing in three complementary parts. First, the project develops a library of incremental operators for atomic and other essential data types as part of a novel framework of differential theories, which ensure the correctness and composability of the operators. Second, the project designs a low-level intermediate representation (IR) for describing compositional incremental computations as computation networks and provides a novel differential recomputing semantics for the IR. Third, the project develops an optimizing compiler that translates existing code to the low-level incremental IR and uses operators from differential theories where possible. Each part is useful in its own right, but together AutoInc enables developers to automatically incrementalize the reactive parts of existing programs. Besides improving the efficiency of programs, this project will produce fundamental insights about the nature and limits of automatic incremental computing.

Status

SIGNED

Call topic

ERC-2023-COG

Update Date

12-03-2024
Images
No images available.
Geographical location(s)