title: SIWA: Wasm Serverless Actors for the Edge-Cloud Continuum
Creators: name: Shahhoud, Jack
Publisher: name: TU Wien
Year: 2024
Subjects: subject: Serverless
subject: Actor
subject: WebAssembly
subject: Wasm
subject: Function-as-a-Service
subject: Rust
subject: Cloud
subject: Distributed-System
subject: Distributed-Middleware
subject: SIWA

description: Serverless Computing ist ein Computerparadigma, das effizientes Infrastrukturmanage- ment und elastische Skalierbarkeit bietet. Serverless Functions werden je nach Bedarf hoch- oder herunterskaliert, was bedeutet, dass Functions nicht direkt adressierbar sind und auf plattformgesteuerte Aufrufe angewiesen sind. Darüber hinaus erfordert seine Serverless Natur, dass Funktionen externe Dienste wie Objektspeicher und Key Value Store (KVS) nutzen, um Daten auszutauschen. Serverless Actors sind entstanden, um diese Probleme zu lösen. Dennoch verlassen sich die aktuellen Serverless Actors auf den hochmodernen Serverless LifeCycles und event-trigger Aufrufe und zwingen die Actors daher, Remotedienste zu nutzen, um ihren Status zu verwalten und Daten auszutauschen. Um diese Probleme zu lösen, stellen wir in diesem Artikel ein neuartiges Serverless LifeCycle Model vor, das die Wiederverwendung von Actors ermöglicht, sodass Actors ihren Status zwischen Ausführungen beibehalten und zugewiesene Ressourcen in anderen Zuständen wiederverwenden können. Darüber hinaus schlagen wir ein neuartiges Serverless Aufrufmodell vor, das es Serverless Actors ermöglicht, das Verhalten zukünftiger Nachrichten zu beeinflussen. Eine dedizierte verteilte Middleware wird verwendet, um die Kommunikation Zwischen Actors zu ermöglichen und neue Anfragen zu verarbeiten. Abschließend präsentieren wir SIWA, ein leicht WebAssembly Serverless Actor Platform, das es Serverless Functions ermöglicht, sich wie Actors zu verhalten. SIWA-Actors haben eine eindeutige Adresse, die eine direkte Kommunikation über die SIWA Distributed Middleware ermöglicht. SIWA nutzt WebAssembly, um Actors im Vergleich zu anderen Virtualisierungsmethoden eine leichtgewichtige Sandbox-Isolierung zu bieten, wodurch sie für das Edge-Cloud-Kontinuum geeignet sind, wo Rechenleistung und Ressourcen begrenzt sind. Viele Sprachen unterstützen WebAssembly als Kompilierungsziel und bieten dem Entwickler so mehr Optionen zur Implementierung gewünschter Funktionen. Versuchsergebnisse zeigen, dass SIWA die Datenaustauschlatenz um bis zu 92% optimiert und den Durchsatz im Vergleich zu OpenFaaS und Spin um das bis zu 10x erhöht.
description: Serverless Computing is a computing paradigm that provides efficient infrastructure management and elastic scalability. Serverless functions scale up or down based on demand, which means that functions are not directly addressable and rely on platform-managed invocation. Moreover, its stateless nature requires functions to leverage external services, such as object storage and Key Value Store (KVS), to exchange data. Serverless actors have emerged to address these issues. Nevertheless, the current Serverless actors rely on the state-of-the-art Serverless Lifecycle and event-trigger invocation, thus forcing actors to leverage remote services to manage their state and exchange data. Functions run in a dedicated container or virual machine to provide isolation. This increases the consumption of resources and raises the configuration complexity.To address these issues, in this paper, we introduce a novel Serverless LifeCycle Model that allows actors to be reused, enabling actors to maintain their state between executions and reuse allocated resources in other states. Additionally, we propose a novel Serverless Invocation Model that enables serverless actors to influence the behaviour of future messages using the state of the actor. A dedicated distributed middleware is used to enable actor communication and for processing new requests.Finally, we present SIWA, a lightweight WebAssembly Serverless Actor platform that enables Serverless functions to behave as actors. SIWA actor has a unique address that enables direct communication via SIWA Distributed Middleware. SIWA leverages WebAssembly to provide the actors with lightweight sandbox isolation compared to other virtualization methods, making them suitable for the Edge-Cloud Continuum, where computational power and resources are limited. Functions are executed in the actor using WebAssembly Virtual Machine. Many languages support WebAssembly as a compilation target, providing the developer with more options to implement desired functions. Experimental results show that SIWA optimises the data exchange latency by up to 92% and increases the throughput by up to 10x compared to OpenFaaS and Spin.