Chalmers Multicore Initiative 

Software development productivity is a first-class citizen. Unfortunately, writing software to take advantage of multicore computers is a difficult, time-consuming, and error­-prone process that is bound to significantly slow down software innovation. While there is an educational gap to fill,  this alone does not solve the problem in the long-term. What is needed is to encapsulate multicore computers to expose a clean abstraction consistent with what a software developer is used to. The key questions are what abstractions are worthwhile and how should they be implemented. These are the key research questions that we at Chalmers are committed to address.

The Chalmers Multicore Initiative is committed to do research on productive software abstractions that enable software developers to focus on delivering functionality and delegates how to exploit the performance of multicores to underlying libraries and architectural abstractions. Our approach to do this builds upon our competences in

At the core abstraction exposed to the software developer, we are researching domain-specific language implementations and associated program testing methodologies that abstract away architectural details to developers. Core values directly addressed are enhanced software development productivity. To implement such abstractions, it is important to leverage libraries and system software components that can be proven to execute correctly in a multicore environment. Our long-term research on lock-free (synchronization-free) data structures is leveraged here. Finally, the basic architecture of a multicore must expose a more productive interface to the software. Our current focus on transactional memory is key to such a direction.