skip to main content
research-article

Operating Systems for Resource-adaptive Intelligent Software: Challenges and Opportunities

Published:15 March 2021Publication History
Skip Abstract Section

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.

References

  1. European Union. 2018. GDPR: The European Union’s General Data Protection Regulation. Retrieved from https://gdpr-info.eu/.Google ScholarGoogle Scholar
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 ScholarGoogle Scholar
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle Scholar
  8. 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 ScholarGoogle Scholar
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. Facebook. 2013. Facebook Disaggregated Rack. Retrieved from http://goo.gl/6h2Ut.Google ScholarGoogle Scholar
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ScholarGoogle Scholar
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarCross RefCross Ref
  18. 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 ScholarGoogle Scholar
  19. 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 ScholarGoogle Scholar
  20. kernel.org. 2018. KConfig. Retrieved from https://www.kernel.org/doc/Documentation/kbuild/kcong-language.txt.Google ScholarGoogle Scholar
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle ScholarCross RefCross Ref
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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 ScholarGoogle ScholarCross RefCross Ref
  26. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  27. 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 ScholarGoogle Scholar
  28. 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 ScholarGoogle ScholarCross RefCross Ref
  29. 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 ScholarGoogle ScholarCross RefCross Ref
  30. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  31. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  32. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  33. Hong Mei and Yao Guo. 2018. Toward ubiquitous operating systems: A software-defined perspective. IEEE Comput. 51, 1 (2018), 50–56.Google ScholarGoogle ScholarCross RefCross Ref
  34. Sandeep Neema, Rinku Parikh, and Suresh Jagannathan. 2019. Building resource adaptive software systems. IEEE Softw. 36, 2 (2019), 103–109. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  36. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  37. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  38. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  39. 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 ScholarGoogle Scholar
  40. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  41. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  42. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  43. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  44. Marilyn Wolf. 2019. Machine Learning + Distributed IoT = Edge Intelligence. In Proceedings of the 39th IEEE International Conference on Distributed Computing Systems. 1715–1719.Google ScholarGoogle ScholarCross RefCross Ref
  45. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  46. 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 ScholarGoogle ScholarCross RefCross Ref
  47. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  48. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  49. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  50. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  51. Yiying Zhang and Yutong Huang. 2019. “Learned”: Operating systems. Oper. Syst. Rev. 53, 1 (2019), 40–45. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Operating Systems for Resource-adaptive Intelligent Software: Challenges and Opportunities

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM Transactions on Internet Technology
        ACM Transactions on Internet Technology  Volume 21, Issue 2
        June 2021
        599 pages
        ISSN:1533-5399
        EISSN:1557-6051
        DOI:10.1145/3453144
        • Editor:
        • Ling Liu
        Issue’s Table of Contents

        Copyright © 2021 Copyright held by the owner/author(s). Publication rights licensed to ACM.

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 15 March 2021
        • Accepted: 1 September 2020
        • Revised: 1 August 2020
        • Received: 1 May 2020
        Published in toit Volume 21, Issue 2

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Refereed

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      HTML Format

      View this article in HTML Format .

      View HTML Format
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!