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

Displayed time zone: Guadalajara, Mexico City, Monterrey change

15:30 - 17:00
PerformanceOOPSLA at Studio 1
Chair(s): Adam Welc Uber Technologies
15:30
22m
Talk
Cross-Component Garbage Collection
OOPSLA
DOI Media Attached
15:52
22m
Talk
Reactive Caching for Composed Services
OOPSLA
Sebastian Burckhardt Microsoft Research, Tim Coppieters Vrije Universiteit Brussel, Belgium
16:15
22m
Talk
Object-Oriented Recovery for Non-Volatile Memory
OOPSLA
Nachshon Cohen EPFL, Switzerland, David T. Aksun EPFL, James Larus EPFL
16:37
22m
Talk
Software Multiplexing: Share Your Libraries and Statically Link Them Too
OOPSLA
Will Dietz University of Illinois at Urbana-Champaign, Vikram S. Adve University of Illinois at Urbana-Champaign
Link to publication DOI Pre-print