A Configurable Transport Layer for CAF

09/30/2018
by   Raphael Hiesgen, et al.
0

The message-driven nature of actors lays a foundation for developing scalable and distributed software. While the actor itself has been thoroughly modeled, the message passing layer lacks a common definition. Properties and guarantees of message exchange often shift with implementations and contexts. This adds complexity to the development process, limits portability, and removes transparency from distributed actor systems. In this work, we examine actor communication, focusing on the implementation and runtime costs of reliable and ordered delivery. Both guarantees are often based on TCP for remote messaging, which mixes network transport with the semantics of messaging. However, the choice of transport may follow different constraints and is often governed by deployment. As a first step towards re-architecting actor-to-actor communication, we decouple the messaging guarantees from the transport protocol. We validate our approach by redesigning the network stack of the C++ Actor Framework (CAF) so that it allows to combine an arbitrary transport protocol with additional functions for remote messaging. An evaluation quantifies the cost of composability and the impact of individual layers on the entire stack.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/24/2022

A partial order view of message-passing communication models

There is a wide variety of message-passing communication models, ranging...
research
04/13/2023

Communicating Actor Automata – Modelling Erlang Processes as Communicating Machines

Brand and Zafiropulo's notion of Communicating Finite-State Machines (CF...
research
07/21/2020

Scalable Termination Detection for Distributed Actor Systems

Automatic garbage collection (GC) prevents certain kinds of bugs and red...
research
01/17/2018

Integrating Remote Attestation with Transport Layer Security

Intel(R) Software Guard Extensions (Intel(R) SGX) is a promising technol...
research
04/11/2021

A Scalable Algorithm for Decentralized Actor Termination Detection

Automatic garbage collection (GC) prevents certain kinds of bugs and red...
research
12/07/2019

Programming Scalable Cloud Services with AEON

Designing low-latency cloud-based applications that are adaptable to unp...
research
05/20/2022

Swim: A Runtime for Distributed Event-Driven Applications

Swim extends the actor model to support applications composed of linked ...

Please sign up or login with your details

Forgot password? Click here to reset