September 4, 2020
Programming distributed systems precludes the use of global synchronization due to its cost. To work around this limitation, one paradigm focusses on using data types which have a well-defined merge function defined between different versions. This allows conflict-free local modification to program state which can be synchronized later, thus resulting in highly-available systems. This talk will focus on existing techniques providing such conflict-free data types, identify problems with current approaches and propose ideas from programming languages theory that can help mitigate these problems. The crux of the talk will revolve around Mergeable Replicated Data Types (MRDT’s) proposed by Kaki et al with discussions about the current state and future directions.