Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Dominik Charousset is active.

Publication


Featured researches published by Dominik Charousset.


global communications conference | 2010

System-assisted service evolution for a future Internet — The H∀Mcast approach to pervasive multicast

Sebastian Meiling; Dominik Charousset; Thomas C. Schmidt; Matthias Wählisch

The Internet has been successful in providing a uniformly available IPv4 unicast service, accessible via the socket API which eased application deployment. However, this tightly shaped concept failed to promote a heterogeneous network layer (including IPv6) or additional services like multicast. In this paper, we propose methods for diversifying the Internet service capabilities with the help of enhanced end system intelligence and an API abstraction towards the applications. We provide a general architecture for the example of hybrid adaptive mobile multicast (H∀Mcast) which allows for various realizations and pluralistic deployments. The achievement of our contribution is a universal, robust service access that allows group applications to run everywhere, no matter what the status of regional technological deployment will be.


Computer Languages, Systems & Structures | 2016

Revisiting actor programming in C

Dominik Charousset; Raphael Hiesgen; Thomas C. Schmidt

The actor model of computation has gained significant popularity over the last decade. Its high level of abstraction makes it appealing for concurrent applications in parallel and distributed systems. However, designing a real-world actor framework that subsumes full scalability, strong reliability, and high resource efficiency requires many conceptual and algorithmic additives to the original model.In this paper, we report on designing and building CAF, the C++ Actor Framework. CAF targets at providing a concurrent and distributed native environment for scaling up to very large, high-performance applications, and equally well down to small constrained systems. We present the key specifications and design concepts-in particular a message-transparent architecture, type-safe message interfaces, and pattern matching facilities-that make native actors a viable approach for many robust, elastic, and highly distributed developments. We demonstrate the feasibility of CAF in three scenarios: first for elastic, upscaling environments, second for including heterogeneous hardware like GPUs, and third for distributed runtime systems. Extensive performance evaluations indicate ideal runtime at very low memory footprint for up to 64 CPU cores, or when offloading work to a GPU. In these tests, CAF continuously outperforms the competing actor environments Erlang, Charm++, SalsaLite, Scala, ActorFoundry, and even the raw message passing framework OpenMPI. HighlightsWe analyze the problem and design space for actor programming in C++.We find that type-safe message passing interfaces are important for the robustness of actor programs.Pattern Matching as a DSL in C++ eases the definition of message handlers.We introduce an according framework for actor programming in C++ (CAF).Core algorithms and the scalable architecture are thoroughly discussed.Benchmarking CAF against many other frameworks reveals overall performance benefits.


international conference on consumer electronics berlin | 2014

Embedded Actors - Towards distributed programming in the IoT

Raphael Hiesgen; Dominik Charousset; Thomas C. Schmidt

The long-term vision of an Internet of Things (IoT) is approaching reality and leading hardware vendors expect shipment of 50 billion devices in the near future. Emerging Internet standards will enable this huge number of embedded machines to interconnect and cooperate-and raise the challenge of building suitable software environments that provide scalability, reliability, and security at an efficient level. In this paper, we introduce such an approach-a modified actor model and a corresponding runtime environment. In contrast to common tools, it offers a higher level of abstraction to design and program applications for constrained devices, while remaining efficient, reliable, and open to include the security extensions from the agenda of the IETF.


programming based on actors, agents, and decentralized control | 2015

Manyfold actors: extending the C++ actor framework to heterogeneous many-core machines using OpenCL

Raphael Hiesgen; Dominik Charousset; Thomas C. Schmidt

The processing power of modern many core hardware such as graphics processing units (GPUs) or coprocessors is increasingly available for general-purpose computation. The seamless way of actor systems to addresses concurrent and distributed programming makes it an attractive approach to integrate these novel architectures. In this work, we introduce OpenCL-enabled actors to the C++ Actor Framework (CAF). This offers a high level interface for accessing any OpenCL device without leaving the actor paradigm. The new type of actor is integrated into the runtime environment of CAF and gives rise to transparent message passing in distributed systems on heterogeneous hardware. New actors are instantiated by the function spawn_cl, while the runtime environment handles the discovery and setup of OpenCL devices in the background. Our evaluations on a commodity GPU, an Nvidia TESLA, and an Intel PHI reveal the expected linear scaling behavior when offloading larger work items. For sub-second duties, the efficiency of offloading was found to largely differ between devices. Moreover, our findings indicate a negligible overhead over programming the native OpenCL API.


international conference on systems | 2016

Reconsidering reliability in distributed actor systems

Raphael Hiesgen; Dominik Charousset; Thomas C. Schmidt

Frameworks inspired by the actor model have recently attracted much attention. Actor systems promise transparent concurrency and distribution by combining message passing with a strong failure model. In this work, we re-examine distribution transparency and find that reliability breaks the promise in several dimensions. Solutions for regaining awareness of failures are briefly discussed.


programming based on actors agents and decentralized control | 2018

A configurable transport layer for CAF

Raphael Hiesgen; Dominik Charousset; Thomas C. Schmidt

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.


programming based on actors agents and decentralized control | 2017

Locality-guided scheduling in CAF

Sebastian Wölke; Raphael Hiesgen; Dominik Charousset; Thomas C. Schmidt

The C++ Actor Framework (CAF) was designed for using multiple, exchangeable schedulers with a default choice of random work stealing (RWS) for load-balancing. RWS is excellently scalable, and by choosing a random victim scheduling is kept simple with minimal information required. On the downside, it ignores data locality and misses opportunities to improve the application performance. In this paper, we contribute a locality-guided scheduling that exploits knowledge about the host system to adapt runtime deployment and thereby improves the performance of actor based applications. We implement and thoroughly analyze a CAF scheduler which considers the trade-off between communication locality and execution locality. The former describes the locality of communicating actors, while the latter the locality between a worker, which executes an actor, and the location of its data. Extensive performance evaluations show a performance gain for data intensive application of up to 25% on a 64 core NUMA machine.


Programming with Actors | 2017

OpenCL Actors – Adding Data Parallelism to Actor-based Programming with CAF

Raphael Hiesgen; Dominik Charousset; Thomas C. Schmidt

The actor model of computation has been designed for a seamless support of concurrency and distribution. However, it remains unspecific about data parallel program flows, while available processing power of modern many core hardware such as graphics processing units (GPUs) or coprocessors increases the relevance of data parallelism for general-purpose computation. In this work, we introduce OpenCL-enabled actors to the C++ Actor Framework (CAF). This offers a high level interface for accessing any OpenCL device without leaving the actor paradigm. The new type of actor is integrated into the runtime environment of CAF and gives rise to transparent message passing in distributed systems on heterogeneous hardware. Following the actor logic in CAF, OpenCL kernels can be composed while encapsulated in C++ actors, hence operate in a multi-stage fashion on data resident at the GPU. Developers are thus enabled to build complex data parallel programs from primitives without leaving the actor paradigm, nor sacrificing performance. Our evaluations on commodity GPUs, an Nvidia TESLA, and an Intel PHI reveal the expected linear scaling behavior when offloading larger workloads. For sub-second duties, the efficiency of offloading was found to largely differ between devices. Moreover, our findings indicate a negligible overhead over programming with the native OpenCL API.


programming based on actors, agents, and decentralized control | 2014

CAF - the C++ Actor Framework for Scalable and Resource-Efficient Applications

Dominik Charousset; Raphael Hiesgen; Thomas C. Schmidt


Ercim News | 2015

Programming Actors for the Internet of Things.

Raphael Hiesgen; Dominik Charousset; Thomas C. Schmidt; Matthias Wählisch

Collaboration


Dive into the Dominik Charousset's collaboration.

Top Co-Authors

Avatar

Thomas C. Schmidt

Hamburg University of Applied Sciences

View shared research outputs
Top Co-Authors

Avatar

Raphael Hiesgen

Hamburg University of Applied Sciences

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Sebastian Meiling

Hamburg University of Applied Sciences

View shared research outputs
Top Co-Authors

Avatar

Sebastian Wölke

Hamburg University of Applied Sciences

View shared research outputs
Researchain Logo
Decentralizing Knowledge