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 decoupling the messaging guarantees from the transport protocol, we present a redesigned network stack in the C++ Actor Framework (CAF) that allows to combine a 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.
|Slides (A Configurable Transport Layer for CAF.pdf)||134KiB|
Conference DayMon 5 NovDisplayed time zone: Guadalajara, Mexico City, Monterrey change
10:30 - 12:00
|A Configurable Transport Layer for CAF|
AGERELink to publication DOI File Attached
|Distributed Functional Reactive Programming on Actor-Based Runtime|
AGERELink to publication DOI
|Observable atomic consistency for CvRDTs|