Studente di dottorato (Collaboratori didattici, Sorbonne Université)
Gruppo di ricerca : DELYS
Data di arrivo : 04/02/2018
Localizzazione : Campus Pierre et Marie Curie
Sorbonne Université - LIP6
Boîte courrier 169
Couloir 26-00, Étage 2, Bureau 209
4 place Jussieu
75252 PARIS CEDEX 05
Tel: +33 1 44 27 45 15, Sreeja.Nair (at) null
: Marc SHAPIRO
Optimal concurrency control for distributed applications
Ensuring the safety of highly-available distributed applications is a non-trivial task. Too much concurrency might break the application invariants, and too little will make the application less available. So it is important to find a precise balance to obtain the best possible performance. Gotsman et al. (POPL 2016) propose a proof rule to verify that a given concurrency control mechanism satisfies the invariants for applications that propagate operations. Nair et al. (PaPoC 2019) address the same problem for applications that propagate state. Marcelino et al. (PaPoC 2017); Houshmand and Lesani (POPL 2019) introduced concurrency control generation mechanisms for operation-based applications based on the specification of the application.
An application might use different concurrency control mechanisms to ensure safety. The characteristics of each choice have to be studied along with the associated trade-offs. In order to achieve that we must first understand the parameters affected by different choices. For example, in some applications, a readers/writer lock might yield better performance than acquiring a mutual exclusion lock. But in some other applications, a mutual exclusion lock might have better performance due to the overhead of readers/writer lock. And each application might have different performance requirements; certain applications might require low latency and some other high throughput and yet another freshness. The workload characteristics of each application might also be different. We need to derive metrics which can be tuned for different applications considering the application dynamics.
As the next step, we need to evaluate different consistency choices available with respect to the chosen metrics. Different concurrency control mechanisms might affect different parameters of the metrics and the developer need to be aware of the tradeoffs of given concurrency control.