SYSTEM SUPPORT FOR RELIABLE CONCURRENT PROGRAMMING
January 01, 2021
The number of processing units in each computer has been increasing in recent years, with one or more multi-core processors and GPU units per machine. This allows programs to leverage on multiple threads of activity, but also challenges reliability. We have been studying abstractions for simplifying concurrent programming, such as transactional memory (TM), and data-centric concurrency control and skeleton-based programs; designing techniques for optimising concurrency-aware runtimes and to broaden the use of TM in various contexts; and proposing novel static and dynamic analysis techniques to enforce correctness of concurrent programs. Our work includes collaborations with the IBM Haifa Research Lab, the University of Brno, and EU COST actions Euro-TM and ARVI. Recent results were published in key conferences (e.g. ECOOP, Euro-Par, PDP) and journals (e.g. TACO, CCPE). Two of our publications were awarded as best conference papers.