Kumseok Jung, Julien Gascon-Samson, and Karthik Pattabiraman, ACM/IEEE Symposium on Edge Computing (SEC), 2021 (Acceptance Rate: 27%) [ PDF | Talk ] (code, demo video). Best Demo Award (one award given)
Abstract: Edge computing application developers often need to employ a combination of software tools in order to deal with the challenges of heterogeneity and network dynamism. As a result, developers write extra code irrelevant to the core application logic, to provide interoperability between interacting tools. Existing software frameworks offer programming models and cloud-hosted services to ease the overall development process. However, the framework-specific APIs exacerbate technology fragmentation problem, requiring developers to write more glue code between competing frameworks.
In this paper, we present a middleware called OneOS, which provides a distributed computing environment through the standard POSIX API. OneOS maintains a global view of the computer network, presenting the same file system and process space to any user application running in the network. OneOS intercepts POSIX API calls and transparently handles the interaction with the corresponding I/O resource in the network. Using the OneOS Domain-Specific Language (DSL), users can distribute a legacy POSIX pipeline over the network. We evaluate the performance of OneOS against an open-source IoT Platform, ThingsJS, using an IoT stream processing benchmark suite, and a distributed video processing application. OneOS executes the programs about 3x faster than ThingsJS, and reduces the code size by about 25%.