logo

SCIENCE CHINA Information Sciences, Volume 59, Issue 9: 092105(2016) https://doi.org/10.1007/s11432-015-5387-6

vSpec: workload-adaptive operating system specialization for virtual machines in cloud computing

More info
  • ReceivedJan 14, 2015
  • AcceptedMar 27, 2015
  • PublishedAug 23, 2016

Abstract

In general, operating systems (OSs) are designed to mediate access to device hardware by applications. They process different kinds of system calls using an indiscriminate kernel with the same configuration. Applications in cloud computing platforms are constructed from service components. Each of the service components is assigned separately to an individual virtual machine (VM), which leads to homogeneous system calls on each VM. In addition, the requirements for kernel function and configuration of system parameters from different VMs are different. Therefore, the suit-to-all design incurs an unnecessary performance overhead and restricts the OS's processing capacity in cloud computing. In this paper, we propose an adaptive model for cloud computing to resolve the conflict between generality and performance. Our model adaptively specializes the OS of a VM according to the resource-consuming characteristics of workloads on the VM. We implement a prototype of the adaptive model, vSpec. There are five classes of VM: CPU-intensive, memory-intensive, I/O-intensive, network-intensive and compound, according to the resource-consuming characteristics of the workloads running on the VMs. vSpec specializes the OS of a VM according to the VM class. We perform comprehensive experiments to evaluate the effectiveness of vSpec on benchmarks and real-world applications.


Funded by

National Natural Science Foundation of China(61272129)

National High-Tech Research Program of China(2013AA01A213)

New Century Excellent Talents Program of the Ministry of Education of China(NCET-12-0491)

Zhejiang Provincial Natural Science Foundation of China(LR13F020002)

Science and Technology Program of Zhejiang Province(2012C01037-1)


Acknowledgment

Acknowledgments

This work was supported by National Natural Science Foundation of China (Grant No. 61272129), National High-Tech Research Program of China (Grant No. 2013AA01A213), New Century Excellent Talents Program of the Ministry of Education of China (Grant No. NCET-12-0491), Zhejiang Provincial Natural Science Foundation of China (Grant No. LR13F020002) and Science and Technology Program of Zhejiang Province (Grant No. 2012C01037-1).


References

[1] Bhatia S, Consel C, Le Meur A, et al. Automatic specialization of protocol stacks in operating system kernels. In: Proceedings of 29th Annual IEEE International Conference on Local Computer Networks, Florida, 2004. 152--159. Google Scholar

[2] Gonina E, Kannan A, Shafer J, et al. Fay: extensible distributed tracing from kernels to clusters. In: Proceedings of ACM 23rd ACM Symposium on Operating Systems Principles, Cascais, 2011. 5--20. Google Scholar

[3] Makris K, Ryu K D. Dynamic and adaptive updates of non-quiescent subsystems in commodity operating system kernels. ACM SIGOPS Operat Syst Rev, 2007, 41: 327-340 Google Scholar

[4] Zhang Y, Bhargava B. Self-learning disk scheduling. IEEE Trans Knowl Data Eng, 2009, 21: 50-65 Google Scholar

[5] Anderson T E. The case for application-specific operating systems. In: Proceedings of the 3rd Workshop on Workstation Operating Systems, Key Biscayne, 1992. 92--94. Google Scholar

[6] Butrico M, Da Silva D, Krieger O, et al. Specialized execution environments. ACM SIGOPS Operat Syst Rev, 2008, 42: 106-107 Google Scholar

[7] Peter S, Li J, Zhang I, et al. Arrakis: the operating system is the control plane. In: Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation, Broomfield, 2014. 1--16. Google Scholar

[8] Hu L, Schwan K, Gulati A, et al. Net-cohort: detecting and managing vm ensembles in virtualized data centers. In: Proceedings of the 9th ACM International Conference on Autonomic Computing, San Jose, 2012. 3--12. Google Scholar

[9] Mishra A K, Hellerstein J L, Cirne W, et al. Towards characterizing cloud backend workloads: insights from google compute clusters. ACM SIGMETRICS Performa Eval Rev, 2010, 37: 34-41 Google Scholar

[10] Lin Y D, Lu C N, Lai Y C, et al. Application classification using packet size distribution and port association. J Netw Comput Appl, 2009, 32: 1023-1030 Google Scholar

[11] Zander S, Nguyen T, Armitage G. Automated traffic classification and application identification using machine learning. In: Proceedings of 30th IEEE Conference on Local Computer Networks, Sydney, 2005. 250--257. Google Scholar

[12] Karagiannis T, Papagiannaki K, Faloutsos M. BLINC: multilevel traffic classification in the dark. ACM SIGCOMM Comput Commun Rev, 2005, 35: 229-240 Google Scholar

[13] Rao J, Bu X, Xu C Z, et al. VCONF: a reinforcement learning approach to virtual machines auto-configuration. In: Proceedings of the 6th ACM international conference on Autonomic computing, Barcelona, 2009. 137--146. Google Scholar

[14] Jiang H, Moore A W, Ge Z, et al. Lightweight application classification for network management. In: Proceedings of the ACM SIGCOMM Workshop on Internet Network Management, Kyoto, 2007. 299--304. Google Scholar

[15] Zhang J, Figueiredo R J. Application classification through monitoring and learning of resource consumption patterns. In: Proceedings of the 20th IEEE International Parallel and Distributed Processing Symposium, Rhodes Island, 2006. 10--19. Google Scholar

[16] Zhang J, Figueiredo R J. Autonomic feature selection for application classification. In: Proceedings of IEEE International Conference on Autonomic Computing, Dublin, 2006. 43--52. Google Scholar

[17] Zhao X, Yin J, Chen Z, et al. Workload classification model for specializing virtual machine operating system. In: Proceedings of 6th IEEE International Conference on Cloud Computing (CLOUD), Santa Clara, 2013. 343--350. Google Scholar

[18] Consel C, Hornof L, Marlet R, et al. Tempo: specializing systems applications and beyond. ACM Comput Surv (CSUR), 1998, 30: 19-240 Google Scholar

[19] Engler D R, Kaashoek M F. Exokernel: an operating system architecture for application-level resource management. ACM SIGOPS Operat Syst Rev, 1995, 29: 251-266 Google Scholar

[20] Bershad B N, Chambers C, Eggers S, et al. SPIN---an extensible microkernel for application-specific operating system services. ACM SIGOPS Operat Syst Rev, 1995, 29: 74-77 Google Scholar

[21] Schatzberg D, Cadden J, Krieger O, et al. A way forward: enabling operating system innovation in the cloud. In: Proceedings of the 6th USENIX conference on Hot Topics in Cloud Computing, Philadelphia, 2014. 4. Google Scholar

[22] Iturbe X, Benkrid K, Erdogan A T, et al. R3TOS: a reliable reconfigurable real-time operating system. In: Proceedings of 2010 NASA/ESA Conference on Adaptive Hardware and Systems (AHS), California, 2010. 99--104. Google Scholar

[23] Hoffmann H, Maggio M, Santambrogio M D, et al. Seec: A General and Extensible Framework for Self-Aware Computing. Technical Report MIT-CSAIL-TR-2011-046. 2011. Google Scholar

[24] Rossbach C J, Currey J, Silberstein M, et al. PTask: operating system abstractions to manage GPUs as compute devices. In: Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles, Cascais, 2011. 233--248. Google Scholar

[25] Panneerselvam S, Swift M M. Chameleon: operating system support for dynamic processors. ACM SIGPLAN Notices, 2012, 47: 99-110 Google Scholar

[26] Madhavapeddy A, Mortier R, Rotsos C, et al. Unikernels: library operating systems for the cloud. In: Proceedings of the Eighteenth International Conference on Architectural Support for Programming Languages and Operating Systems, New York, 2013. 461--472. Google Scholar

[27] Kivity A, Laor D, Costa G, et al. OSv---optimizing the operating system for virtual machines. In: Proceedings of the 2014 USENIX conference on USENIX Annual Technical Conference, Berkeley, 2014. 61--72. Google Scholar

[28] Seltzer M, Small C. Self-monitoring and self-adapting operating systems. In: Proceedings of The Sixth Workshop on Hot Topics in Operating Systems, Cape Cod, 1997. 124--129. Google Scholar

[29] Lee C T, Lin J M, Hong Z W, et al. An application-oriented Linux kernel customization for embedded systems. J Inf Sci Eng, 2004, 20: 1093-1107 Google Scholar

[30] Saez J C, Prieto M, Fedorova A, et al. A comprehensive scheduler for asymmetric multicore systems. In: Proceedings of the 5th European Conference on Computer Systems, New York, 2009. 139--152. Google Scholar

[31] McNamee D, Walpole J, Pu C, et al. Specialization tools and techniques for systematic optimization of system software. ACM Trans Comput Syst, 2001, 19: 217-251 Google Scholar

[32] Soules C A N, Appavoo J, Hui K, et al. System support for online reconfiguration. In: Proceedings of USENIX Annual Technical Conference, General Track, San Antonio, 2003. 141--154. Google Scholar

[33] Oberthür S, Böke C, Griese B. Dynamic online reconfiguration for customizable and self-optimizing operating systems. In: Proceedings of the 5th ACM International Conference on Embedded Software, New Jersey, 2005. 335--338. Google Scholar

[34] Soror A A, Minhas U F, Aboulnaga A, et al. Automatic virtual machine configuration for database workloads. ACM Trans Database Syst (TODS), 2010, 35: 1-47 Google Scholar

[35] Pu C, Autrey T, Black A, et al. Optimistic incremental specialization: Streamlining a commercial operating system. ACM SIGOPS Operat Syst Rev, 1995, 29: 314-321 Google Scholar

[36] Burda R, Seger J. A tool framework for generation of application optimized communication protocols. In: Proceedings of the 3rd Annual Communication Networks and Services Research Conference, Halifax, 2005. 282--286. Google Scholar

[37] Bhatia S, Consel C, Le Meur A, et al. Automatic specialization of protocol stacks in operating system kernels. In: Proceedings of 29th Annual IEEE International Conference on Local Computer Networks, Florida, 2004. 152--159. Google Scholar

[38] Marinos I, Watson R N M, Handley M. Network stack specialization for performance. In: Proceedings of the 2014 ACM Conference on SIGCOMM, Chicago, 2014. 175--186. Google Scholar

[39] Liu L B, Jia W, Yin S Y, et al. ReSSIM: a mixed-level simulator for dynamic coarse-grained reconfigurable processor. Sci China Inf Sci, 2013, 56: 062402-321 Google Scholar

[40] Wang Y S, Liu L B, Yin S Y, et al. Hierarchical representation of on-chip context to reduce reconfiguration time and implementation area for coarse-grained reconfigurable architecture. Sci China Inf Sci, 2013, 56: 112401-321 Google Scholar

[41] Domeniconi C, Gunopulos D. Incremental support vector machine construction. In: Proceedings IEEE International Conference on Data Mining, San Jose, 2001. 589--592. Google Scholar

[42] Ciliendo E, Kunimasa T. Linux Performance and Tuning Guidelines. San Jose: IBM International Technical Support Organization, 2007. 77--135. Google Scholar

[43] Vavilapalli V K, Murthy A C, Douglas C, et al. Apache Hadoop Yarn: yet another resource negotiator. In: Proceedings of the 4th Annual Symposium on Cloud Computing, New York, 2013. 5:1--5:16. Google Scholar

[44] Cao B, Yin J, Deng S, et al. A highly efficient cloud-based architecture for large-scale STB event processing: industry article. In: Proceedings of the 6th ACM International Conference on Distributed Event-Based Systems, New York, 2012. 314--323. Google Scholar

Copyright 2020 Science China Press Co., Ltd. 《中国科学》杂志社有限责任公司 版权所有

京ICP备18024590号-1       京公网安备11010102003388号