Thu 8 Nov 2018 15:52 - 16:15 at Studio 1 - Performance Chair(s): Adam Welc

Sometimes, service clients repeat requests in a polling loop in order to refresh their view. However, such polling may be slow to pick up changes, or may increase the load unacceptably, in particular for composed services that disperse over many components. We present an alternative polling API and \emph{reactive caching} algorithm that combines the conceptual simplicity of polling with the efficiency of push-based change propagation. A reactive cache contains a summary of a distributed read-only operation and maintains a connection to its dependencies so changes can be propagated automatically.

We first formalize the setting using an abstract calculus for composed services. Then we present a fault-tolerant distributed algorithm for reactive caching. Finally, we implement and evaluate our solution by extending the Orleans actor framework, and perform experiments on two benchmarks in a distributed cloud deployment. The results show that our solution provides superior performance compared to polling, at a latency that comes close to hand-written change notifications.

Thu 8 Nov

15:30 - 17:00: OOPSLA - Performance at Studio 1
Chair(s): Adam WelcUber Technologies
splash-2018-OOPSLA15:30 - 15:52
DOI Media Attached
splash-2018-OOPSLA15:52 - 16:15
Sebastian BurckhardtMicrosoft Research, Tim CoppietersVrije Universiteit Brussel, Belgium
splash-2018-OOPSLA16:15 - 16:37
Nachshon CohenEPFL, Switzerland, David T. AksunEPFL, James LarusEPFL
splash-2018-OOPSLA16:37 - 17:00
Will DietzUniversity of Illinois at Urbana-Champaign, Vikram AdveUniversity of Illinois at Urbana-Champaign
Link to publication DOI Pre-print