Abstract
The past decades witnessed the fast and wide deployment of Internet. The Internet has bred the ubiquitous computing environment that is spanning the cloud, edge, mobile devices, and IoT. Software running over such a ubiquitous computing environment environment is eating the world. A recently emerging trend of Internet-based software systems is “resource adaptive,” i.e., software systems should be robust and intelligent enough to the changes of heterogeneous resources, both physical and logical, provided by their running environment. To keep pace of such a trend, we argue that some considerations should be taken into account for the future operating system design and implementation. From the structural perspective, rather than the “monolithic OS” that manages the aggregated resources on the single machine, the OS should be dynamically composed over the distributed resources and flexibly adapt to the resource and environment changes. Meanwhile, the OS should leverage advanced machine/deep learning techniques to derive configurations and policies and automatically learn to tune itself and schedule resources. This article envisions our recent thinking of the new OS abstraction, namely, ServiceOS, for future resource-adaptive intelligent software systems. The idea of ServiceOS is inspired by the delivery model of “Software-as-a-Service” that is supported by the Service-Oriented Architecture (SOA). The key principle of ServiceOS is based on resource disaggregation, resource provisioning as a service, and learning-based resource scheduling and allocation. The major goal of this article is not providing an immediately deployable OS. Instead, we aim to summarize the challenges and potentially promising opportunities and try to provide some practical implications for researchers and practitioners.
- European Union. 2018. GDPR: The European Union’s General Data Protection Regulation. Retrieved from https://gdpr-info.eu/.Google Scholar
- Martín Abadi, Andy Chu, Ian J. Goodfellow, H. Brendan McMahan, Ilya Mironov, Kunal Talwar, and Li Zhang. 2016. Deep learning with differential privacy. In Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. 308–318. Google Scholar
Digital Library
- Alexandru Agache, Marc Brooker, Alexandra Iordache, Anthony Liguori, Rolf Neugebauer, Phil Piwonka, and Diana-Maria Popa. 2020. Firecracker: Lightweight virtualization for serverless applications. In Proceedings of the 17th USENIX Symposium on Networked Systems Design and Implementation (NSDI’20). USENIX Association, 419–434. Retrieved from https://www.usenix.org/conference/nsdi20/presentation/agache.Google Scholar
- Jeremy Andrus, Christoffer Dall, Alexander Van’t Hof, Oren Laadan, and Jason Nieh. 2011. Cells: A virtual mobile smartphone architecture. In Proceedings of the 23rd ACM Symposium on Operating Systems Principles, Ted Wobber and Peter Druschel (Eds.). ACM, 173–187. Google Scholar
Digital Library
- Tanzirul Azim, Oriana Riva, and Suman Nath. 2016. uLink: Enabling user-defined deep linking to app content. In Proceedings of the 14th International Conference on Mobile Systems, Applications, and Services, Rajesh Krishna Balan, Archan Misra, Sharad Agarwal, and Cecilia Mascolo (Eds.). ACM, 305–318. Google Scholar
Digital Library
- Johannes Bader, Andrew Scott, Michael Pradel, and Satish Chandra. 2019. Getafix: Learning to fix bugs automatically. Proc. ACM Program. Lang. 3, OOPSLA (2019), 159:1–159:27. Google Scholar
Digital Library
- Rudiger Birkner, Dana Drachsler-Cohen, Laurent Vanbever, and Martin Vechev. 2020. Config2Spec: Mining network specifications from network configurations. In Proceedings of the 17th USENIX Symposium on Networked Systems Design and Implementation (NSDI’20). USENIX Association, 969–984. Retrieved from https://www.usenix.org/conference/nsdi20/presentation/birkner.Google Scholar
- Keith Bonawitz, Hubert Eichner, Wolfgang Grieskamp, Dzmitry Huba, Alex Ingerman, Vladimir Ivanov, Chloé Kiddon, Jakub Konecný, Stefano Mazzocchi, H. Brendan McMahan, Timon Van Overveldt, David Petrou, Daniel Ramage, and Jason Roselander. 2019. Towards federated learning at scale: System design. CoRR abs/1902.01046 (2019).Google Scholar
- Kevin Boos, Emilio Del Vecchio, and Lin Zhong. 2017. A characterization of state spill in modern operating systems. In Proceedings of the 12th European Conference on Computer Systems. 389–404. Google Scholar
Digital Library
- Kevin Boos and Lin Zhong. 2017. Theseus: A state spill-free operating system. In Proceedings of the 9th Workshop on Programming Languages and Operating Systems. 29–35. Google Scholar
Digital Library
- Facebook. 2013. Facebook Disaggregated Rack. Retrieved from http://goo.gl/6h2Ut.Google Scholar
- Earlence Fernandes, Oriana Riva, and Suman Nath. 2015. My OS ought to know me better: In-app behavioural analytics as an OS service. In Proceedings of the 15th Workshop on Hot Topics in Operating Systems, George Candea (Ed.). USENIX Association. Google Scholar
Digital Library
- Daniel Firestone, Andrew Putnam, Sambrama Mundkur, Derek Chiou, Alireza Dabagh, Mike Andrewartha, Hari Angepat, Vivek Bhanu, Adrian M. Caulfield, Eric S. Chung, Harish Kumar Chandrappa, Somesh Chaturmohta, Matt Humphrey, Jack Lavier, Norman Lam, Fengfen Liu, Kalin Ovtcharov, Jitu Padhye, Gautham Popuri, Shachar Raindel, Tejas Sapre, Mark Shaw, Gabriel Silva, Madhan Sivakumar, Nisheeth Srivastava, Anshuman Verma, Qasim Zuhair, Deepak Bansal, Doug Burger, Kushagra Vaid, David A. Maltz, and Albert G. Greenberg. 2018. Azure accelerated networking: SmartNICs in the public cloud. In Proceedings of the 15th USENIX Symposium on Networked Systems Design and Implementation, Sujata Banerjee and Srinivasan Seshan (Eds.). USENIX Association, 51–66. Google Scholar
Digital Library
- Peter Xiang Gao, Akshay Narayan, Sagar Karandikar, Joao Carreira, Sangjin Han, Rachit Agarwal, Sylvia Ratnasamy, and Scott Shenker. 2016. Network requirements for resource disaggregation. In Proceedings of the 12th USENIX Symposium on Operating Systems Design and Implementation, Kimberly Keeton and Timothy Roscoe (Eds.). USENIX Association, 249–264. Google Scholar
Digital Library
- Joseph M. Hellerstein, Jose M. Faleiro, Joseph Gonzalez, Johann Schleier-Smith, Vikram Sreekanti, Alexey Tumanov, and Chenggang Wu. 2019. Serverless computing: One step forward, two steps back. In Proceedings of the 9th Biennial Conference on Innovative Data Systems Research.Google Scholar
- Jon Howell, Bryan Parno, and John R. Douceur. 2013. Embassies: Radically refactoring the web. In Proceedings of the 10th USENIX Symposium on Networked Systems Design and Implementation, Nick Feamster and Jeffrey C. Mogul (Eds.). USENIX Association, 529–545. Google Scholar
Digital Library
- Gang Huang, Mengwei Xu, Felix Xiaozhu Lin, Yunxin Liu, Yun Ma, Saumay Pushp, and Xuanzhe Liu. 2017. ShuffleDog: Characterizing and adapting user-perceived latency of Android apps. IEEE Trans. Mob. Comput. 16, 10 (2017), 2913–2926.Google Scholar
Cross Ref
- Jaehyun Hwang, Qizhe Cai, Ao Tang, and Rachit Agarwal. 2020. TCP \(\) RDMA: CPU-efficient remote storage access with i10. In Proceedings of the 17th USENIX Symposium on Networked Systems Design and Implementation (NSDI’20). USENIX Association, 127–140.Google Scholar
- Eric Jonas, Johann Schleier-Smith, Vikram Sreekanti, Chia-che Tsai, Anurag Khandelwal, Qifan Pu, Vaishaal Shankar, Joao Carreira, Karl Krauth, Neeraja Jayant Yadwadkar, Joseph E. Gonzalez, Raluca Ada Popa, Ion Stoica, and David A. Patterson. 2019. Cloud programming simplified: A Berkeley view on serverless computing. CoRR abs/1902.03383 (2019).Google Scholar
- kernel.org. 2018. KConfig. Retrieved from https://www.kernel.org/doc/Documentation/kbuild/kcong-language.txt.Google Scholar
- Ana Klimovic, Yawen Wang, Patrick Stuedi, Animesh Trivedi, Jonas Pfefferle, and Christos Kozyrakis. 2018. Pocket: Elastic ephemeral storage for serverless analytics. In Proceedings of the 13th USENIX Symposium on Operating Systems Design and Implementation, Andrea C. Arpaci-Dusseau and Geoff Voelker (Eds.). USENIX Association, 427–444. Google Scholar
Digital Library
- Hsuan-Chi Kuo, Jianyan Chen, Sibin Mohan, and Tianyin Xu. 2020. Set the configuration for the heart of the OS: On the practicality of operating system kernel debloating. In Proceedings of the ACM on Measurement and Analysis of Computing Systems (SIGMETRICS’20) 4, X (2020), 4:1–4:25. Google Scholar
Digital Library
- Arezki Laga, Jalil Boukhobza, Michel Koskas, and Frank Singhoff. 2016. Lynx: A learning Linux prefetching mechanism for SSD performance model. In Proceedings of the 5th Non-Volatile Memory Systems and Applications Symposium. IEEE, 1–6.Google Scholar
Cross Ref
- Angel Lagares Lemos, Florian Daniel, and Boualem Benatallah. 2016. Web service composition: A survey of techniques and tools. ACM Comput. Surv. 48, 3 (2016), 33:1–33:41. Google Scholar
Digital Library
- Ling Liu, Wenqi Cao, Semih Sahin, Qi Zhang, Juhyun Bae, and Yanzhao Wu. 2019. Memory disaggregation: Research problems and opportunities. In Proceedings of the 39th IEEE International Conference on Distributed Computing Systems. IEEE, 1664–1673.Google Scholar
Cross Ref
- Xuanzhe Liu, Wei Ai, Huoran Li, Jian Tang, Gang Huang, Feng Feng, and Qiaozhu Mei. 2017. Deriving user preferences of mobile apps from their management activities. ACM Trans. Inf. Syst. 35, 4 (2017), 39:1–39:32. Google Scholar
Digital Library
- Xuanzhe Liu, Gang Huang, Qi Zhao, Hong Mei, and M. Brian Blake. 2014. iMashup: A mashup-based framework for service composition. Sci. China Inf. Sci. 57, 1 (2014), 1–20.Google Scholar
- Xuanzhe Liu, Huoran Li, Xuan Lu, Tao Xie, Qiaozhu Mei, Feng Feng, and Hong Mei. 2018. Understanding diverse usage patterns from large-scale appstore-service profiles. IEEE Trans. Softw. Eng. 44, 4 (2018), 384–411.Google Scholar
Cross Ref
- Xuanzhe Liu, Yun Ma, Shuailiang Dong, Yunxin Liu, Tao Xie, and Gang Huang. 2017. ReWAP: Reducing redundant transfers for mobile web browsing via app-specific resource packaging. IEEE Trans. Mob. Comput. 16, 9 (2017), 2625–2638.Google Scholar
Cross Ref
- Xuan Lu, Zhenpeng Chen, Xuanzhe Liu, Huoran Li, Tao Xie, and Qiaozhu Mei. 2017. PRADO: Predicting app adoption by learning the correlation between developer-controllable properties and user behaviors. Proc. ACM Interact., Mob., Wear. Ubiq. Technol. 1, 3 (2017), 79:1–79:30. Google Scholar
Digital Library
- Yun Ma, Ziniu Hu, Yunxin Liu, Tao Xie, and Xuanzhe Liu. 2018. Aladdin: Automating release of deep-link APIs on Android. In Proceedings of the World Wide Web Conference on World Wide Web. 1469–1478. Google Scholar
Digital Library
- Yun Ma, Xuanzhe Liu, Shuhui Zhang, Ruirui Xiang, Yunxin Liu, and Tao Xie. 2015. Measurement and analysis of mobile web cache performance. In Proceedings of the 24th International Conference on World Wide Web, Aldo Gangemi, Stefano Leonardi, and Alessandro Panconesi (Eds.). ACM, 691–701. Google Scholar
Digital Library
- Hong Mei and Yao Guo. 2018. Toward ubiquitous operating systems: A software-defined perspective. IEEE Comput. 51, 1 (2018), 50–56.Google Scholar
Cross Ref
- Sandeep Neema, Rinku Parikh, and Suresh Jagannathan. 2019. Building resource adaptive software systems. IEEE Softw. 36, 2 (2019), 103–109. Google Scholar
Digital Library
- Simon Peter, Jialin Li, Irene Zhang, Dan R. K. Ports, Doug Woos, Arvind Krishnamurthy, Thomas E. Anderson, and Timothy Roscoe. 2016. Arrakis: The operating system is the control plane. ACM Trans. Comput. Syst. 33, 4 (2016), 11:1–11:30. Google Scholar
Digital Library
- Ardalan Amiri Sani and Thomas Anderson. 2019. The case for I/O-device-as-a-service. In Proceedings of the Workshop on Hot Topics in Operating Systems. ACM, 66–72. Google Scholar
Digital Library
- Yizhou Shan, Yutong Huang, Yilun Chen, and Yiying Zhang. 2018. LegoOS: A disseminated, distributed OS for hardware resource disaggregation. In Proceedings of the 13th USENIX Symposium on Operating Systems Design and Implementation, Andrea C. Arpaci-Dusseau and Geoff Voelker (Eds.). USENIX Association, 69–87. Google Scholar
Digital Library
- Vikram Sreekanti, Chenggang Wu, Xiayue Charles Lin, Johann Schleier-Smith, Jose M. Faleiro, Joseph E. Gonzalez, Joseph M. Hellerstein, and Alexey Tumanov. 2020. Cloudburst: Stateful functions-as-a-service. CoRR abs/2001.04592 (2020). Google Scholar
Digital Library
- Ion Stoica, Dawn Song, Raluca Ada Popa, David A. Patterson, Michael W. Mahoney, Randy H. Katz, Anthony D. Joseph, Michael I. Jordan, Joseph M. Hellerstein, Joseph E. Gonzalez, Ken Goldberg, Ali Ghodsi, David Culler, and Pieter Abbeel. 2017. A Berkeley view of systems challenges for AI. CoRR abs/1712.05855 (2017).Google Scholar
- Yusuke Suzuki, Shinpei Kato, Hiroshi Yamada, and Kenji Kono. 2014. GPUvm: Why not virtualizing GPUs at the hypervisor? In Proceedings of the USENIX Annual Technical Conference, Garth Gibson and Nickolai Zeldovich (Eds.). USENIX Association, 109–120. Google Scholar
Digital Library
- Shuo Tang, Haohui Mai, and Samuel T. King. 2010. Trust and protection in the Illinois browser operating system. In Proceedings of the 9th USENIX Symposium on Operating Systems Design and Implementation. 17–32. Google Scholar
Digital Library
- Helen J. Wang, Xiaofeng Fan, Jon Howell, and Collin Jackson. 2007. Protection and communication abstractions for web browsers in MashupOS. In Proceedings of the 21st ACM Symposium on Operating Systems Principles. 1–16. Google Scholar
Digital Library
- Liang Wang, Mengyuan Li, Yinqian Zhang, Thomas Ristenpart, and Michael M. Swift. 2018. Peeking behind the curtains of serverless platforms. In Proceedings of the USENIX Annual Technical Conference, Haryadi S. Gunawi and Benjamin Reed (Eds.). USENIX Association, 133–146. Google Scholar
Digital Library
- Marilyn Wolf. 2019. Machine Learning + Distributed IoT = Edge Intelligence. In Proceedings of the 39th IEEE International Conference on Distributed Computing Systems. 1715–1719.Google Scholar
Cross Ref
- Mengwei Xu, Feng Qian, Qiaozhu Mei, Kang Huang, and Xuanzhe Liu. 2018. DeepType: On-device deep learning for input personalization service with minimal privacy concern. Proc. ACM Interact., Mob., Wear. Ubiq. Technol. 2, 4 (2018), 197:1–197:26. Google Scholar
Digital Library
- Mengwei Xu, Feng Qian, Mengze Zhu, Feifan Huang, Saumay Pushp, and Xuanzhe Liu. 2020. DeepWear: Adaptive local offloading for on-wearable deep learning. IEEE Trans. Mob. Comput. 19, 2 (2020), 314–330.Google Scholar
Cross Ref
- Mengwei Xu, Mengze Zhu, Yunxin Liu, Felix Xiaozhu Lin, and Xuanzhe Liu. 2018. DeepCache: Principled cache for mobile deep vision. In Proceedings of the 24th International Conference on Mobile Computing and Networking, Rajeev Shorey, Rohan Murty, Yingying Jennifer Chen, and Kyle Jamieson (Eds.). ACM, 129–144. Google Scholar
Digital Library
- Neeraja J. Yadwadkar, Francisco Romero, Qian Li, and Christos Kozyrakis. 2019. A case for managed and model-less inference serving. In Proceedings of the Workshop on Hot Topics in Operating Systems. ACM, 184–191. Google Scholar
Digital Library
- Jiaqi Zhang, Lakshminarayanan Renganarayana, Xiaolan Zhang, Niyu Ge, Vasanth Bala, Tianyin Xu, and Yuanyuan Zhou. 2014. EnCore: Exploiting system environment and correlation information for misconfiguration detection. In Proceedings of the Conference on Architectural Support for Programming Languages and Operating Systems. 687–700. Google Scholar
Digital Library
- Kai Zhang, Bingsheng He, Jiayu Hu, Ze-ke Wang, Bei Hua, Jiayi Meng, and Lishan Yang. 2018. G-NET: Effective GPU sharing in NFV systems. In Proceedings of the 15th USENIX Symposium on Networked Systems Design and Implementation, Sujata Banerjee and Srinivasan Seshan (Eds.). USENIX Association, 187–200. Google Scholar
Digital Library
- Yiying Zhang and Yutong Huang. 2019. “Learned”: Operating systems. Oper. Syst. Rev. 53, 1 (2019), 40–45. Google Scholar
Digital Library
- Danyang Zhuo, Kaiyuan Zhang, Yibo Zhu, Hongqiang Harry Liu, Matthew Rockett, Arvind Krishnamurthy, and Thomas E. Anderson. 2019. Slim: OS kernel support for a low-overhead container overlay network. In Proceedings of the 16th USENIX Symposium on Networked Systems Design and Implementation, Jay R. Lorch and Minlan Yu (Eds.). USENIX Association, 331–344. Google Scholar
Digital Library
Index Terms
Operating Systems for Resource-adaptive Intelligent Software: Challenges and Opportunities
Recommendations
A cognitive/intelligent resource provisioning for cloud computing services: opportunities and challenges
AbstractIn cloud computing, resources could be provisioned in a dynamic way on demand for cloud services. Cloud providers seek to realize effective SLA execution mechanisms for avoiding SLA violations by provisioning the resources or applications and ...
Thoth, a portable real-time operating system
Thoth is a real-time operating system which is designed to be portable over a large set of machines. It is currently running on two minicomputers with quite different architectures. Both the system and application programs which use it are written in a ...
Modeling the evolution of operating systems: An empirical study
In this paper, we report on an empirical experiment where we observe, record and analyze the evolution of selected operating systems over the past decades, and derive a statistical model that captures relevant evolutionary laws. This model is derived by ...






Comments