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

云计算环境下负载自适应的虚拟机操作系统定制化

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. 1、

    提出一种自动化负载特征选择方法, 根据互信息和皮尔森相关系数从监控指标中选择有效的特征;

  2. 2、

    提出一种适用于负载分类的监督学习方法, 综合考虑已正确分类数据和将要分类数据之间的相似性, 提升分类准确率;

  3. 3、

    提出基于负载分类的虚拟机操作系统定制化模型并实现参考原型系统, 对分类后的四种资源密集型应用采用对应的定制化方法优化应用所在的虚拟机的操作系统, 提升其运行性能。

This is a preview of subscription content, access via your institution.

References

  1. 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. 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. 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

    Article  Google Scholar 

  4. 4

    Zhang Y, Bhargava B. Self-learning disk scheduling. IEEE Trans Knowl Data Eng, 2009, 21: 50–65

    Article  Google Scholar 

  5. 5

    Anderson T E. The case for application-specific operating systems. In: Proceedings of the 3rdWorkshop onWorkstation Operating Systems, Key Biscayne, 1992. 92–94

    Google Scholar 

  6. 6

    Butrico M, Da Silva D, Krieger O, et al. Specialized execution environments. ACM SIGOPS Operat Syst Rev, 2008, 42: 106–107

    Article  Google Scholar 

  7. 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. 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. 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

    Article  Google Scholar 

  10. 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

    Article  Google Scholar 

  11. 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. 12

    Karagiannis T, Papagiannaki K, Faloutsos M. BLINC: multilevel traffic classification in the dark. ACM SIGCOMM Comput Commun Rev, 2005, 35: 229–240

    Article  Google Scholar 

  13. 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. 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. 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. 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. 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. 18

    Consel C, Hornof L, Marlet R, et al. Tempo: specializing systems applications and beyond. ACM Comput Surv (CSUR), 1998, 30: 19

    Article  Google Scholar 

  19. 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

    Article  Google Scholar 

  20. 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

    Article  Google Scholar 

  21. 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. 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. 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. 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. 25

    Panneerselvam S, Swift M M. Chameleon: operating system support for dynamic processors. ACM SIGPLAN Notices, 2012, 47: 99–110

    Google Scholar 

  26. 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. 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. 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. 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. 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. 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

    Article  Google Scholar 

  32. 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. 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. 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

    Article  Google Scholar 

  35. 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

    Article  Google Scholar 

  36. 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. 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. 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. 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

    Google Scholar 

  40. 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

    Google Scholar 

  41. 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. 42

    Ciliendo E, Kunimasa T. Linux Performance and Tuning Guidelines. San Jose: IBM International Technical Support Organization, 2007. 77–135

    Google Scholar 

  43. 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. 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 

Download references

Author information

Affiliations

Authors

Corresponding author

Correspondence to Jianwei Yin.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

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

Download citation

Keywords

  • workload classification
  • operating system specialization
  • workload-aware
  • cloud computing
  • vSpec
  • system performance

关键词

  • 负载分类
  • 操作系统定制化
  • 负载自适应
  • 云计算
  • 系统性能