Ambience: an operating system for IoT microservices
-
Published:2024-09-05
Issue:
Volume:
Page:
-
ISSN:2837-181X
-
Container-title:Journal of Edge Computing
-
language:
-
Short-container-title:J. Edge Comp.
Author:
Bakir Fatih, Wang Sierra, Ekaireb Tyler, Pearson Jack, Krintz ChandraORCID, Wolski RichORCID
Abstract
Increasingly, the heterogeneity of devices and software that comprise the Internet of Things (IoT) is impeding innovation. IoT deployments amalgamate compute, storage, networking capabilities provisioned at multiple resource scales, from low-cost, resource constrained microcontrollers to resource rich public cloud servers. To support these different resource scales and capabilities, the operating systems (OSs) that manage them have also diverged significantly. Because the OS is the “API” for the hardware, this proliferation is causing a lack of portability across devices and systems, complicating development, deployment, management, and optimization of IoT applications. To address these impediments, we investigate a new, “clean slate” OS design and implementation that hides this heterogeneity via a new set of abstractions specifically for supporting microservices as a universal application programming model in IoT contexts. The operating system, called Ambience, supports IoT applications structured as microservices and facilitates their portability, isolation, and deployment time optimization. We discuss the design and implementation of Ambience, evaluate its performance, and demonstrate its portability using both microbenchmarks and end-to-end IoT deployments. Our results show that Ambience can scale down to 64MHz microcontrollers and up to modern x86_64 servers, while providing similar or better performance than comparable commodity operating systems on the same range of hardware platforms.
Publisher
Academy of Cognitive and Natural Sciences
Reference88 articles.
1. Abdollahi Vayghan, L., Saied, M.A., Toeroe, M. and Khendek, F., 2018. Deploying Microservice Based Applications with Kubernetes: Experiments and Lessons Learned. 2018 IEEE 11th International Conference on Cloud Computing (CLOUD). pp.970–973. Available from: https://doi.org/10.1109/CLOUD.2018.00148. 2. Agache, A., Brooker, M., Florescu, A., Iordache, A., Liguori, A., Neugebauer, R., Piwonka, P. and Popa, D.M., 2020. Firecracker: lightweight virtualization for serverless applications. Proceedings of the 17th Usenix Conference on Networked Systems Design and Implementation. USA: USENIX Association, NSDI’20, p.419–434. Available from: https://doi.org/10.5555/3388242.3388273. 3. Albertos, P., Crespo, A. and Simó, J., 2006. Control kernel: A key concept in embedded control systems. IFAC Proceedings Volumes, 39(16), pp.330–335. 4th IFAC Symposium on Mechatronic Systems. Available from: https://doi.org/10.3182/20060912-3-DE-2911.00059. 4. Amaral, M., Polo, J., Carrera, D., Mohomed, I., Unuvar, M. and Steinder, M., 2015. Performance Evaluation of Microservices Architectures Using Containers. 2015 IEEE 14th International Symposium on Network Computing and Applications. pp.27–34. Available from: https://doi.org/10.1109/NCA.2015.49. 5. Anderson, D. and Dzatko, D., 2001. Universal Serial Bus System Architecture. 2nd ed. USA: Addison-Wesley Longman Publishing Co., Inc.
|
|