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, networkintensive 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.
摘要
创新点
-
1、
提出一种自动化负载特征选择方法, 根据互信息和皮尔森相关系数从监控指标中选择有效的特征;
-
2、
提出一种适用于负载分类的监督学习方法, 综合考虑已正确分类数据和将要分类数据之间的相似性, 提升分类准确率;
-
3、
提出基于负载分类的虚拟机操作系统定制化模型并实现参考原型系统, 对分类后的四种资源密集型应用采用对应的定制化方法优化应用所在的虚拟机的操作系统, 提升其运行性能。
Similar content being viewed by others
References
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
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
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
Zhang Y, Bhargava B. Self-learning disk scheduling. IEEE Trans Knowl Data Eng, 2009, 21: 50–65
Anderson T E. The case for application-specific operating systems. In: Proceedings of the 3rdWorkshop onWorkstation Operating Systems, Key Biscayne, 1992. 92–94
Butrico M, Da Silva D, Krieger O, et al. Specialized execution environments. ACM SIGOPS Operat Syst Rev, 2008, 42: 106–107
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
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
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
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
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
Karagiannis T, Papagiannaki K, Faloutsos M. BLINC: multilevel traffic classification in the dark. ACM SIGCOMM Comput Commun Rev, 2005, 35: 229–240
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
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
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
Zhang J, Figueiredo R J. Autonomic feature selection for application classification. In: Proceedings of IEEE International Conference on Autonomic Computing, Dublin, 2006. 43–52
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
Consel C, Hornof L, Marlet R, et al. Tempo: specializing systems applications and beyond. ACM Comput Surv (CSUR), 1998, 30: 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
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
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
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
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
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
Panneerselvam S, Swift M M. Chameleon: operating system support for dynamic processors. ACM SIGPLAN Notices, 2012, 47: 99–110
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Domeniconi C, Gunopulos D. Incremental support vector machine construction. In: Proceedings IEEE International Conference on Data Mining, San Jose, 2001. 589–592
Ciliendo E, Kunimasa T. Linux Performance and Tuning Guidelines. San Jose: IBM International Technical Support Organization, 2007. 77–135
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
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
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Zhao, X., Yin, J., Chen, Z. et al. vSpec: workload-adaptive operating system specialization for virtual machines in cloud computing. Sci. China Inf. Sci. 59, 92105 (2016). https://doi.org/10.1007/s11432-015-5387-6
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s11432-015-5387-6
Keywords
- workload classification
- operating system specialization
- workload-aware
- cloud computing
- vSpec
- system performance