The compute continuum is a model of deployment and computation that envelopes the Cloud and the Edge into a seamless runtime infrastructure. Vast heterogeneity at the Edge is one of the main challenges of the continuum. A lightweight uniform runtime, such as the one offered by WebAssembly (Wasm) may be an apt response to that. The other main challenge is the occasional need for computations to relocate. This happens when local resources are insufficient or inadequate to meet the application requirements or when location changes in the physical world require the computation to move with them. The notion of live migration applied to Wasm computations is not new. Yet, state-of-the-art solutions focus on either non-standard Wasm runtimes or interpreted modules. Supporting live migration for compiled modules across heterogeneous nodes is still an open challenge. This paper presents a mechanism to meet that need. By injecting checkpoint and restore procedures into a function bytecode within a Wasm module, we enable it to save its execution state and resume from it after a migration event. This paper presents two strategies for that, one of which with notably small run-time overhead. To assess the quality of the proposed strategies, we performed an empirical evaluation based on an open-source benchmark. The tools developed in this work are entirely open-source.
Live migration of compiled Wasm modules across the Compute Continuum
Edoardo Tinto
;Tullio Vardanega
2025
Abstract
The compute continuum is a model of deployment and computation that envelopes the Cloud and the Edge into a seamless runtime infrastructure. Vast heterogeneity at the Edge is one of the main challenges of the continuum. A lightweight uniform runtime, such as the one offered by WebAssembly (Wasm) may be an apt response to that. The other main challenge is the occasional need for computations to relocate. This happens when local resources are insufficient or inadequate to meet the application requirements or when location changes in the physical world require the computation to move with them. The notion of live migration applied to Wasm computations is not new. Yet, state-of-the-art solutions focus on either non-standard Wasm runtimes or interpreted modules. Supporting live migration for compiled modules across heterogeneous nodes is still an open challenge. This paper presents a mechanism to meet that need. By injecting checkpoint and restore procedures into a function bytecode within a Wasm module, we enable it to save its execution state and resume from it after a migration event. This paper presents two strategies for that, one of which with notably small run-time overhead. To assess the quality of the proposed strategies, we performed an empirical evaluation based on an open-source benchmark. The tools developed in this work are entirely open-source.Pubblicazioni consigliate
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.