Accelererade Exekveringsmiljöer

Tidsperiod: 2021-01-01 till 2024-12-31

Projektledare: Tobias Wrigstad

Finansiär: Vetenskapsrådet

Bidragstyp: Projektbidrag

Budget: 4 000 000 SEK

Managed languages, such as Java, JavaScript and Haskell, enable better software by abstracting the hardware and removing entire classes of bugs from software development, for example through the use of automatic memory management. Relieving programmers from dealing with low-level non-functional considerations is key to enabling a wider class of programmers, for example the recent surge of data scientists programming in the managed languages Python and R.  The price of added abstraction is additional overhead and inability to optimise which hurts performance in managed languages. This greatly inflates hardware requirements which prevents the use of managed languages in performance-sensitive or resource-constrained domains. Dropping to a low-level language entirely or in part leads to issues with portability, safety and security, software quality and inflated development costs. The purpose of this project is to allow the wider use of managed languages by removing the inefficiencies without lowering the abstraction. By combining new developments in hardware on software-controlled metadata and custom micro-accelerators with new memory management techniques, both for reclaiming unused memory and improving the placement of data in memory, we will deliver not only improved managed languages, but new insights in how to balance the characteristics of hardware (efficient-but-inflexible) and software (less-efficient-but-malleable) in execution environments for managed languages.