Language-level Support for Distributed Systems

Language-level Support for Distributed Systems

Bachelor Thesis, Master Thesis

Large-scale distributed systems require to embrace the trade-off between consistency and availability, accepting lower levels of consistency to guarantee higher availability. Existing programming languages are, however, agnostic to this compromise, resulting in consistency guarantees being implicitly adopted from the middleware or hardcoded in configuration files.

Recent advances in programming languages propose to integrate consistency levels into the language design, allowing developers to specify different consistency constraints in the same application. We investigate how consistency levels interact with object structure and define a type system that preserves correct program behavior.

The thesis unfolds at the boundary between programming languages and distributed systems. The goal is to investigate a novel programming model that integrates consistency and isolation – which have been traditionally supported at the middleware level – into the programming language.

Publications

  • Brandon Holt, James Bornholt, Irene Zhang, Dan Ports, Mark Oskin, and Luis Ceze. 2016. Disciplined Inconsistency with Consistency Types. In Proceedings of the Seventh ACM Symposium on Cloud Computing (SoCC '16), Marcos K. Aguilera, Brian Cooper, and Yanlei Diao (Eds.). ACM, New York, NY, USA, 279-293.

Comment

Please contact Prof. Salvaneschi for further information.