Job offers

Masters’ internship: Correct datatypes for geo-replicated distributed applications

Description of the research Developing a distributed application is far from trivial, because of the trade-offs between consistency and availability. All developers wish that their application is as available as possible. Still, they need to ensure that the application invariants are respected. The CISE [1] logic can check whether an application specification upholds its expected …

Masters’ internship: Developing a geo-replicated document store above AntidoteDB

Background The document-based data model is a popular way of storing data, particularly for applications that handle semi-structured data or unstructured data accompanied by metadata, such as social media posts and multimedia. Document stores, including MongoDB and Apache CouchDB, store data object as JSON-like objects that have varying sets of fields, with different types for …

Masters’ internship: Synchronisation-free mobile gaming

Background In multiplayer online games the inherent challenges of mobile and edge computing are worsened by the requirements of real-time users’ interactions. Thus, developers of such applications face difficult design choices on data storage and distribution that ultimately affect the gaming experience: adopting a weak consistency model across replicas and mobile terminals will expose anomalies …

Masters’ internship: Mining open-source repositories for synchronisation and invariants patterns

Background Despite the increasing popularity of data-centric applications, there remains a significant mismatch between the needs of application developers and the design goals of modern databases. As a result, developers are often forced – or even encouraged by programming frameworks – to move part of the data management logic to the application layer: data integrity …

PhD topic: High-level distributed computing

Keywords Distributed system; distributed programming; distributed database system; reactive programming; programming language and verification. Background Distributed computing has become a crucial technique across many areas of computing. Programming highly-available distributed applications is no longer reserved to expert programmers. Consider for instance, mobile computing, Internet of Things (IoT), high-performance computing, Network Function Virtualisation (NFV), neural networks, …

Post-doc offer: High-level distributed computing

Keywords Distributed system; distributed programming; distributed database system; reactive programming; programming language and verification. Background Distributed computing has become a crucial technique across many areas of computing. Programming highly-available distributed applications is no longer reserved to expert programmers. Consider for instance, mobile computing, Internet of Things (IoT), high-performance computing, Network Function Virtualisation (NFV), neural networks, …

Postdoctoral position: Just-Right Consistency for planet-scale storage

Keywords Distributed file system; replication and consistency; distributed algorithms; distributed database system; verification; protocol design. Background A cloud storage system distributes and replicates data, to ensure availability and persistence despite latency and failures. The CAP theorem shows that there is an unavoidable trade-off between consistency and availability/performance. Strong consistency provides superior guarantees to developers but …

Master’s internship: Generating efficient concurrency control for geo-replicated storage

Background Reasoning about concurrent updates in a replicated database is a difficult task because operations might execute in different orders at different replicas. We have developed a tool, called CISE, that verifies whether a given program will maintain its specific correctness invariants under concurrent execution [Balegas]. If not, the tool provides a counter-example, which the …