Efficient Linearizability Checking for Actor-based Systems

10/13/2021
by   Mohammed S. Al-Mahfoudh, et al.
0

Recent demand for distributed software had led to a surge in popularity in actor-based frameworks. However, even with the stylized message passing model of actors, writing correct distributed software is still difficult. We present our work on linearizability checking in DS2, an integrated framework for specifying, synthesizing, and testing distributed actor systems. The key insight of our approach is that often subcomponents of distributed actor systems represent common algorithms or data structures (e.g. a distributed hash table or tree) that can be validated against a simple sequential model of the system. This makes it easy for developers to validate their concurrent actor systems without complex specifications. DS2 automatically explores the concurrent schedules that system could arrive at, and it compares observed output of the system to ensure it is equivalent to what the sequential implementation could have produced. We describe DS2's linearizability checking and test it on several concurrent replication algorithms from the literature. We explore in detail how different algorithms for enumerating the model schedule space fare in finding bugs in actor systems, and we present our own refinements on algorithms for exploring actor system schedules that we show are effective in finding bugs.

READ FULL TEXT

page 1

page 18

page 19

research
06/22/2017

A Study of Concurrency Bugs and Advanced Development Support for Actor-based Programs

The actor model is an attractive foundation for developing concurrent ap...
research
07/21/2020

Scalable Termination Detection for Distributed Actor Systems

Automatic garbage collection (GC) prevents certain kinds of bugs and red...
research
04/11/2021

A Scalable Algorithm for Decentralized Actor Termination Detection

Automatic garbage collection (GC) prevents certain kinds of bugs and red...
research
05/29/2023

Trace models of concurrent valuation algebras

This paper introduces Concurrent Valuation Algebras (CVAs), extending or...
research
06/26/2023

Adopting the Actor Model for Antifragile Serverless Architectures

Antifragility is a novel concept focusing on letting software systems le...
research
07/20/2023

An Exceptional Actor System (Functional Pearl)

The Glasgow Haskell Compiler is known for its feature-laden runtime syst...
research
08/31/2017

Towards Runtime Adaptation of Actor Systems

In this dissertation we focus on providing effective adaptations that ca...

Please sign up or login with your details

Forgot password? Click here to reset