Loading [MathJax]/extensions/MathMenu.js
OneOS: Distributed Operating System for the Edge-to-Cloud Continuum | IEEE Journals & Magazine | IEEE Xplore

OneOS: Distributed Operating System for the Edge-to-Cloud Continuum


Abstract:

Application developers often need to employ a combination of software such as communication middleware and cloud-based services to deal with the challenges of heterogenei...Show More

Abstract:

Application developers often need to employ a combination of software such as communication middleware and cloud-based services to deal with the challenges of heterogeneity and network dynamism in the edge-to-cloud continuum. Consequently, developers write extra glue code peripheral to the application’s core business logic, to provide interoperability between interacting software frameworks. Each software framework comes with its own framework-specific API, and as technology evolves, the developer must keep up with the changing APIs by updating the glue code in their application. Thus, framework-specific APIs hinder interoperability and cause technology fragmentation. We propose a design of a middleware-based distributed operating system (OS) called OneOS to realize a computing paradigm that alleviates such interoperability challenges. OneOS provides a single system image of the distributed computing platform, and transparently provides interoperability between software components through the standard POSIX API. Using OneOS’s domain-specific language, users can compose complex distributed applications from legacy POSIX programs. OneOS tolerates failures by adopting a distributed checkpoint-restore algorithm. We evaluate the performance of OneOS against an open-source IoT Platform, ThingsJS, using an IoT stream processing benchmark suite, and a video processing application. OneOS executes the programs about 3x faster than ThingsJS, reduces the code size by about 22%, and recovers the state of failed applications within 1 s upon detecting their failure.
Published in: IEEE Transactions on Parallel and Distributed Systems ( Volume: 36, Issue: 6, June 2025)
Page(s): 1175 - 1192
Date of Publication: 03 April 2025

ISSN Information:

Funding Agency:


I. Introduction

Distributing an application across the edge and the cloud (edge-to-cloud continuum [2]) can provide significant advantages in terms of network cost and latency [3]. However, as an application is deployed over the edge-to-cloud continuum, application developers have to deal with the heterogeneity of platforms, and the dynamism of compute and network resources. Existing software frameworks for distributed computing only partially address heterogeneity and dynamism concerns, and developers often need to combine multiple tools to build a distributed application that spans the edge-to-cloud continuum. For example, IoT application frameworks such as Node-RED [4] or AWS IoT Greengrass [5] provide high-level programming models – e.g., “Flow”, “Lambda” – that frees a developer from dealing with platform-specific details, but they do not provide solutions for dealing with node failures or changing network conditions. On the other hand, distributed coordination services such as Zookeeper [6] provide solutions for dealing with dynamism, but do not address any heterogeneity concerns. Applying a combination of solutions incurs a development overhead, as the developer needs to ensure compatibility and interoperability between the interacting technologies by gluing together different framework-specific APIs in the application code. Therefore, we need a unified software framework for the edge-to-cloud continuum that addresses both heterogeneity and dynamism concerns.

Contact IEEE to Subscribe

References

References is not available for this document.