Thu 18 Jul 2019 16:00 - 16:20 at Track 1 - Concurrency and Parallelism

Building reliable applications for the cloud is challenging because of unpredictable failures during a program’s execution. This paper presents a programming framework called Reliable State Machines (RSMs), that offers fault-tolerance by construction. Using our framework, a programmer can built an application as several (possibly distributed) RSMs that communicate with each other via messages, much in the style of actor-based programming. Each RSM is additionally fault-tolerant by design and offers the illusion of being ``always-alive''. An RSM is guaranteed to process each input request exactly once, as one would expect in a failure-free environment. The RSM runtime automatically takes care of persisting state and rehydrating it on a failover. We present the core syntax and semantics of RSMs, along with a formal proof of failure-transparency. We provide an implementation of the RSM framework and runtime on the .NET platform for deploying services to Microsoft Azure. We carried out an extensive performance evaluation on micro-benchmarks to show that one can build high-throughput applications with RSMs. We also present a case study where we rewrote a significant part of a production cloud service using RSMs. The resulting service has simpler code and exhibits production-grade performance.

Thu 18 Jul

ecoop-2019-papers
15:40 - 17:00: ECOOP Research Papers - Concurrency and Parallelism at Track 1
ecoop-2019-papers15:40 - 16:00
Research paper
Matthias SpringerTokyo Institute of Technology, Hidehiko MasuharaTokyo Institute of Technology
Pre-print
ecoop-2019-papers16:00 - 16:20
Research paper
Suvam MukherjeeMicrosoft Research India, Nitin John RajInternational Institute of Information Technology, Hyderabad, Krishnan GovindrajMicrosoft Research, Pantazis DeligiannisMicrosoft Research, Chandramouleswaran RavichandranMicrosoft Azure, Akash LalMicrosoft Research India, Aseem RastogiMicrosoft Research, Raja KrishnaswamyMicrosoft Azure
ecoop-2019-papers16:20 - 16:40
Research paper
Jafar Haminimec-DistriNet, Depatrmant of Computer Science, KU Leuven, Belgium, Bart JacobsKU Leuven
ecoop-2019-papers16:40 - 17:00
Research paper
Rupak MajumdarMPI-SWS, Germany, Marcus PirronMPI-SWS, Nobuko YoshidaImperial College London, Damien ZuffereyMPI-SWS