Research Supervisor Connect

Reusable Concurrent Data Types


The goal of this project is to propose a programming paradigm to make concurrent libraries reusable by other programmers.


Dr Vincent Gramoli.

Research location

Computer Science

Program type



The devices we use on a daily basis do not compute faster than the desktop computers we used 10 years ago. Manufacturers have just started multiplying the CPU cores in handheld phones, adding multi-cores and concurrent capabilities to almost all computing devices. Writing concurrent software is the way to improve performance: making graphics of video games more fluid, internet browsers faster, or smartphone applications more responsive.
Yet, leveraging these so called multi-cores is hard because concurrent programs are not reusable. When a programmer, say Alice, writes a library she synchronises the methods to prevent their concurrent execution from producing inconsistencies. Bob cannot reuse Alice's library without knowing how it was implemented; he must first ensure that Alice's methods synchronize with his own methods by at least understanding and possibly modifying her code.
This lack of reusability affects most concurrent libraries (e.g., C++ Intel thread building block, C# System.Collections.Concurrent, java.util.concurrent).

This research topic investigates the reusability of abstractions in a monitor-based concurrent environment. The goal is to make highly concurrent programs reusable by defining and implementing a new programming paradigm to write reusable methods. A reusable method is a sequential method that Alice synchronizes using the most appropriate synchronization semantics chosen among a set of pre-existing ones. This technique should make the development of highly concurrent multicore applications modular by offering application-level concurrency and by letting Bob write methods that invoke Alice's and whose semantics will prevail over Alice's at runtime.

Want to find out more?

Opportunity ID

The opportunity ID for this research opportunity is 1790

Other opportunities with Dr Vincent Gramoli