Skip to main content

A Taxonomy of Adaptive Resource Management Mechanisms in Virtual Machines: Recent Progress and Challenges

  • Chapter
  • First Online:
Cloud Computing

Part of the book series: Computer Communications and Networks ((CCN))

Abstract

Cloud infrastructures make extensive use of hypervisors (e.g., Xen, ESX), containers (e.g., LXC), and high-level virtual machines (e.g., CLR, Java), broadly known as virtual machine (VM) technologies, to achieve workload isolation and efficient resource management. Isolation is a static mechanism that relies on hardware or operating system support to be enforced. Resource management is dynamic, and VMs must self-adapt or be instructed to adapt in order to fit their guest’s needs. In this chapter, we review the main approaches for adaptation and monitoring in virtual machines deployments, their tradeoffs, and their main mechanisms for resource management. We frame them into an adaptation loop where sensors are monitored (e.g., page utilization), decisions are made (e.g., if-else rule, proportional-integral-derivative controller), and actions are performed using actuators (e.g., share page, change heap size). As is common in systems research, improvement in one property is accomplished at the expense of some other property. So, we present a taxonomy that, when applied to different solutions that use or augment virtual machines, can help visually in determining their similarities and differences. We analyze adaptability in virtual machines using three seemingly orthogonal characteristics: responsiveness (R), comprehensiveness (C), and intricateness (I). The process of classification and comparing systems is detailed, and several representative state of the art systems are evaluated.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 149.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 199.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 199.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    The adaptive optimization system (AOS) in Jikes RVM [4] produces a log with approximately 700 kB of information regarding call graphs, edge counters and compilation advice when running and JIT compiling ‘bloat’, one of DaCapo’s benchmarks [15].

References

  1. ACM Digital Library. http://dl.acm.org/. Visited Nov 2016

  2. Adams K, Agesen O (2006) A comparison of software and hardware techniques for x86 virtualization. In: Proceedings of the 12th international conference on architectural support for programming languages and operating systems, ASPLOS XII. ACM, New York, pp 2–13

    Google Scholar 

  3. Agmon Ben-Yehuda O, Posener E, Ben-Yehuda M, Schuster A, Mu’alem A (2014) Ginseng: market-driven memory allocation. In: Proceedings of the 10th ACM SIGPLAN/SIGOPS international conference on virtual execution environments, VEE’14. ACM, New York, pp 41–52

    Chapter  Google Scholar 

  4. Alpern B, Augart S, Blackburn SM, Butrico M, Cocchi A, Cheng P, Dolby J, Fink S, Grove D, Hind M, McKinley KS, Mergen M, Moss JEB, Ngo T, Sarkar V (2005) The Jikes research virtual machine project: building an open-source research community. IBM Syst J 44:399–417. doi: http://dx.doi.org/10.1147/sj.442.0399

  5. Amdahl GM, Blaauw GA, Brooks FP (1964) Architecture of the IBM system/360. IBM J Res Dev 8:87–101. doi: http://dx.doi.org/10.1147/rd.82.0087

  6. Amit N, Tsafrir D, Schuster A (2014) Vswapper: a memory swapper for virtualized environments. In: Proceedings of the 19th international conference on architectural support for programming languages and operating systems, ASPLOS’14. ACM, New York, pp 349–366. doi: 10.1145/2541940.2541969

    Chapter  Google Scholar 

  7. An architectural blueprint for autonomic computing. Technical report, IBM (2005)

    Google Scholar 

  8. Andreasson E, Hoffmann F, Lindholm O (2002) To collect or not to collect? Machine learning for memory management. In: Proceedings of the 2nd java virtual machine research and technology symposium. USENIX Association, Berkeley, pp 27–39

    Google Scholar 

  9. Arnold M, Fink SJ, Grove D, Hind M, Sweeney PF (2005) A survey of adaptive optimization in virtual machines. Proc IEEE 93(2):449–466. Special issue on program generation, optimization, ans adaptation

    Google Scholar 

  10. Back G, Hsieh WC (2005) The KaffeOS java runtime system. ACM Trans Prog Lang Syst 27:583–630. doi: http://doi.acm.org/10.1145/1075382.1075383

  11. Baker HG (1994) Thermodynamics and garbage collection. SIGPLAN Not 29:58–63. doi: http://doi.acm.org/10.1145/181761.181770

  12. Barham P, Dragovic B, Fraser K, Hand S, Harris T, Ho A, Neugebauer R, Pratt I, Warfield A (2003) Xen and the art of virtualization. SIGOPS Oper Syst Rev 37:164–177. doi: http://doi.acm.org/10.1145/1165389.945462

  13. Beloglazov A, Buyya R (2010) Energy efficient resource management in virtualized cloud data centers. In: 10th IEEE/ACM international conference on cluster, cloud and grid computing (CCGrid), 2010, Melbourne, pp 826–831

    Google Scholar 

  14. Binder W, Hulaas J, Moret P, Villazón A (2009) Platform-independent profiling in a virtual execution environment. Softw Pract Exper 39:47–79. doi: 10.1002/spe.v39:1. http://portal.acm.org/citation.cfm?id=1464245.1464249

  15. Blackburn SM, Garner R, Hoffmann C, Khang AM, McKinley KS, Bentzur R, Diwan A, Feinberg D, Frampton D, Guyer SZ, Hirzel M, Hosking A, Jump M, Lee H, Moss JEB, Moss B, Phansalkar A, Stefanović D, VanDrunen T, von Dincklage D, Wiedermann B (2006) The DaCapo benchmarks: java benchmarking development and analysis. In: OOPSLA’06: Proceedings of the 21st annual ACM SIGPLAN conference on object-oriented programming systems, languages, and applications. ACM, New York, pp 169–190. doi: http://doi.acm.org/10.1145/1167473.1167488

  16. Blake C, Rodrigues R (2003) High availability, scalable storage, dynamic peer networks: pick two. In: Jones MB (ed) HotOS, Lihue. USENIX, pp 1–6

    Google Scholar 

  17. Bobroff N, Westerink P, Fong L (2014) Active control of memory for java virtual machines and applications. In: 11th international conference on autonomic computing (ICAC 14). USENIX Association, Philadelphia, pp 97–103. https://www.usenix.org/conference/icac14/technical-sessions/presentation/bobroff

    Google Scholar 

  18. Brewer EA (2010) A certain freedom: thoughts on the CAP theorem. In: Richa AW, Guerraoui R (eds) PODC. ACM, p 335

    Google Scholar 

  19. Buyya R, Yeo CS, Venugopal S, Broberg J, Brandic I (2009) Cloud computing and emerging it platforms: vision, hype, and reality for delivering computing as the 5th utility. Future Gener Comput Syst 25(6):599–616

    Article  Google Scholar 

  20. Cheng L, Wang CL (2012) vbalance: using interrupt load balance to improve i/o performance for SMP virtual machines. In: Proceedings of the third ACM symposium on cloud computing, SoCC’12. ACM, New York, pp 2:1–2:14

    Google Scholar 

  21. Cherkasova L, Gupta D, Vahdat A (2007) Comparison of the three cpu schedulers in XEN. SIGMETRICS Perform Eval Rev 35:42–51. doi: http://doi.acm.org/10.1145/1330555.1330556

  22. Chiu DM, Jain R (1989) Analysis of the increase and decrease algorithms for congestion avoidance in computer networks. Comput Netw ISDN Syst 17(1):1–14

    Article  MATH  Google Scholar 

  23. Click C, Tene G, Wolf M (2005) The pauseless gc algorithm. In: Proceedings of the 1st ACM/USENIX international conference on virtual execution environments, VEE’05. ACM, New York, pp 46–56. doi: http://doi.acm.org/10.1145/1064979.1064988

  24. Czajkowski G, von Eicken T (1998) Jres: a resource accounting interface for java. In: Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, OOPSLA’98. ACM, New York, pp 21–35. doi: http://doi.acm.org/10.1145/286936.286944

  25. Czajkowski G, Hahn S, Skinner G, Soper P, Bryce C (2005) A resource management interface for the java platform. Softw Pract Exper 35:123–157. doi: 10.1002/spe.v35:2. http://portal.acm.org/citation.cfm?id=1055953.1055955

  26. Czajkowski G, Wegiel M, Daynes L, Palacz K, Jordan M, Skinner G, Bryce C (2005) Resource management for clusters of virtual machines. In: Proceedings of the fifth IEEE international symposium on cluster computing and the grid – volume 01, CCGRID’05. IEEE Computer Society, Washington, DC, pp 382–389. http://portal.acm.org/citation.cfm?id=1169222.1169492

    Google Scholar 

  27. Dantas B, Fleitas C, Francisco AP, Simão J, Vaz C (2016) Beyond NGS data sharing and toward open science. doi: 10.5281/zenodo.190489

  28. Deutsch LP, Schiffman AM (1984) Efficient implementation of the smalltalk-80 system. In: Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on principles of programming languages, POPL’84. ACM, New York, pp 297–302. doi: http://doi.acm.org/10.1145/800017.800542

  29. Enabling intel virtualization technology features and benefits. http://www.intel.com/content/dam/www/public/us/en/documents/white-papers/virtualization-enabling-intel-virtualization-technology-features-and-benefits-paper.pdf. Visited Nov 2016

  30. Farahnakian F, Pahikkala T, Liljeberg P, Plosila J, Hieu NT, Tenhunen H (2016) Energy-aware VM consolidation in cloud data centers using utilization prediction model. IEEE Trans Cloud Comput 99:1–1. doi: 10.1109/TCC.2016.2617374

    Article  Google Scholar 

  31. Gidra L, Thomas G, Sopena J, Shapiro M (2013) A study of the scalability of stop-the-world garbage collectors on multicores. In: Proceedings of the eighteenth international conference on architectural support for programming languages and operating systems, ASPLOS’13. ACM, New York, pp 229–240

    Chapter  Google Scholar 

  32. Gidra L, Thomas G, Sopena J, Shapiro M, Nguyen N (2015) Numagic: a garbage collector for big data on big NUMA machines. In: Proceedings of the twentieth international conference on architectural support for programming languages and operating systems, ASPLOS’15. ACM, New York, pp 661–673. doi: 10.1145/2694344.2694361

    Google Scholar 

  33. Gog I, Giceva J, Schwarzkopf M, Vaswani K, Vytiniotis D, Ramalingan G, Murray D, Hand S, Isard M (2015) Broom: sweeping out garbage collection from big data systems. In: Proceedings of the 15th USENIX conference on hot topics in operating systems, HOTOS’15. USENIX Association, Berkeley, pp 2–2. http://dl.acm.org/citation.cfm?id=2831090.2831092

    Google Scholar 

  34. Goldberg RP (1974) Survey of virtual machine research. Computer 7(9):34–45

    Article  Google Scholar 

  35. Gong Z, Gu X, Wilkes J (2010) Press: predictive elastic resource scaling for cloud systems. In: International conference on network and service management (CNSM), 2010, Niagara Falls, pp 9–16

    Google Scholar 

  36. Gordon A, Amit N, Har’El N, Ben-Yehuda M, Landau A, Schuster A, Tsafrir D (2012) ELI: bare-metal performance for I/O virtualization. In: Proceedings of the seventeenth international conference on architectural support for programming languages and operating systems, ASPLOS XVII. ACM, New York, pp 411–422

    Google Scholar 

  37. Grzegorczyk C, Soman S, Krintz C, Wolski R (2007) Isla vista heap sizing: using feedback to avoid paging. In: Proceedings of the international symposium on code generation and optimization, CGO’07. IEEE Computer Society, Washington, DC, pp 325–340. doi: http://dx.doi.org/10.1109/CGO.2007.20

  38. Guan X, Srisa-an W, Jia C (2009) Investigating the effects of using different nursery sizing policies on performance. In: Proceedings of the 2009 international symposium on memory management, ISMM’09. ACM, New York, pp 59–68. doi: http://doi.acm.org/10.1145/1542431.1542441

  39. Gupta D, Lee S, Vrable M, Savage S, Snoeren AC, Varghese G, Voelker GM, Vahdat A (2008) Difference engine: harnessing memory redundancy in virtual machines. In: Proceedings of the 8th USENIX conference on operating systems design and implementation, OSDI’08. USENIX Association, Berkeley, pp 309–322. http://dl.acm.org/citation.cfm?id=1855741.1855763

    Google Scholar 

  40. Hagimont D, Mayap Kamga C, Broto L, Tchana A, Palma N (2013) DVFS aware CPU credit enforcement in a virtualized system. In: Middleware 2013. Lecture notes in computer science, vol 8275. Springer, Berlin/Heidelberg, pp 123–142

    Google Scholar 

  41. Hale KC, Dinda PA (2016) Enabling hybrid parallel runtimes through kernel and virtualization support. In: Proceedings of the 12th ACM SIGPLAN/SIGOPS international conference on virtual execution environments, VEE’16. ACM, New York, pp 161–175. doi: 10.1145/2892242.2892255

    Chapter  Google Scholar 

  42. Heo J, Zhu X, Padala P, Wang Z (2009) Memory overbooking and dynamic control of XEN virtual machines in consolidated environments. In: Proceedings of the 11th IFIP/IEEE international conference on symposium on integrated network management, IM’09. IEEE Press, Piscataway, pp 630–637. http://dl.acm.org/citation.cfm?id=1688933.1689025

    Google Scholar 

  43. Hertz M, Bard J, Kane S, Keudel E, Bai T, Kelsey K, Ding C (2009) Waste not, want not: resource-based garbage collection in a shared environment. Technical report TR-2006-908, University of Rochester

    Google Scholar 

  44. Hertz M, Kane S, Keudel E, Bai T, Ding C, Gu X, Bard JE (2011) Waste not, want not resource-based garbage collection in a shared environment. In: Proceedings of the international symposium on Memory management, ISMM’11. ACM, New York, pp 65–76. doi: http://doi.acm.org/10.1145/1993478.1993487

  45. Hinesa M, Gordon A, Silva M, Silva DD, Ryu KD, Ben-Yehuda M (2011) Applications know best: performance-driven memory overcommit with ginkgo. In: CloudCom’11: 3rd IEEE international conference on cloud computing technology and science, Athens, pp 130–137

    Google Scholar 

  46. Hoffmann H, Eastep J, Santambrogio MD, Miller JE, Agarwal A (2010) Application heartbeats: a generic interface for specifying program performance and goals in autonomous computing environments. In: Proceedings of the 7th international conference on autonomic computing, ICAC’10, Washington, DC, pp 79–88

    Google Scholar 

  47. http://kubernetes.io. Visited Nov 2016

  48. https://www.docker.com/. Visited Nov 2016

  49. Hulaas J, Binder W (2008) Program transformations for light-weight cpu accounting and control in the java virtual machine. High. Order Symbol. Comput. 21:119–146. doi: 10.1007/s10990-008-9026-4

    Article  Google Scholar 

  50. Jones R, Hosking A, Moss E (2011) The garbage collection handbook: the art of automatic memory management, 1st edn. Chapman & Hall/CRC, Boca Raton

    Google Scholar 

  51. Kesavan M, Gavrilovska A, Schwan K (2010) On disk i/o scheduling in virtual machines. In: Proceedings of the 2nd conference on I/O virtualization, WIOV’10. USENIX Association, Berkeley, pp 6–6. http://portal.acm.org/citation.cfm?id=1863181.1863187

    Google Scholar 

  52. Kulkarni S, Cavazos J (2012) Mitigating the compiler optimization phase-ordering problem using machine learning. In: Proceedings of the ACM international conference on object oriented programming systems languages and applications, OOPSLA’12. ACM, New York, pp 147–162

    Chapter  Google Scholar 

  53. Liu H, Jin H, Liao X, Deng W, He B, Xu CZ (2015) Hotplug or ballooning: a comparative study on dynamic memory management techniques for virtual machines. IEEE Trans Parallel Distrib Syst 26(5):1350–1363. doi: 10.1109/TPDS.2014.2320915

    Article  Google Scholar 

  54. Lublin U, Kamay Y, Laor D, Liguori A (2007) KVM: the Linux virtual machine monitor. In: Ottawa Linux Symposium, Ottawa

    Google Scholar 

  55. Lxc. https://linuxcontainers.org/. Visited Nov 2016

  56. Maas M, Asanović, K., Harris T, Kubiatowicz J (2016) Taurus: a holistic language runtime system for coordinating distributed managed-language applications. In: Proceedings of the twenty-first international conference on architectural support for programming languages and operating systems, ASPLOS’16, Atlanta, pp 457–471

    Google Scholar 

  57. Maggio M, Hoffmann H, Papadopoulos AV, Panerati J, Santambrogio MD, Agarwal A, Leva A (2012) Comparison of decision-making strategies for self-optimization in autonomic computing systems. ACM Trans Auton Adapt Syst 7(4):36:1–36:32. doi: 10.1145/2382570.2382572

  58. Manson J, Pugh W, Adve SV (2005) The java memory model. SIGPLAN Not. 40:378–391. doi: http://doi.acm.org/10.1145/1047659.1040336

  59. Mao F, Zhang EZ, Shen X (2009) Influence of program inputs on the selection of garbage collectors. In: Proceedings of the 2009 ACM SIGPLAN/SIGOPS international conference on virtual execution environments, VEE’09, pp 91–100. ACM, New York. doi: http://doi.acm.org/10.1145/1508293.1508307

  60. Mian R, Martin P, Zulkernine F, Vazquez-Poletti JL (2012) Estimating resource costs of data-intensive workloads in public clouds. In: Proceedings of the 10th international workshop on middleware for grids, clouds and e-science, MGC’12. ACM, New York, pp 3:1–3:6

    Google Scholar 

  61. Min C, Kim I, Kim T, Eom YI (2012) VMMB: virtual machine memory balancing for unmodified operating systems. J Grid Comput 10(1):69–84. doi: 10.1007/s10723-012-9209-4

    Article  Google Scholar 

  62. Ongaro D, Cox AL, Rixner S (2008) Scheduling I/O in virtual machine monitors. In: Proceedings of the fourth ACM SIGPLAN/SIGOPS international conference on Virtual execution environments, VEE’08. ACM, New York, pp 1–10. doi: http://doi.acm.org/10.1145/1346256.1346258

  63. Oracle (2016) Java management extensions (JMX) technology, visited 28-11-2016

    Google Scholar 

  64. Ousterhout JK (1982) Scheduling techniques for concurrent systems. In: ICDCS, Miami. IEEE Computer Society, pp 22–30

    Google Scholar 

  65. Padala P, Hou KY, Shin KG, Zhu X, Uysal M, Wang Z, Singhal S, Merchant A (2009) Automated control of multiple virtualized resources. In: Proceedings of the 4th ACM European conference on Computer systems, EuroSys’09. ACM, New York, pp 13–26. doi: http://doi.acm.org/10.1145/1519065.1519068

  66. Park SM, Humphrey M (2009) Self-tuning virtual machines for predictable escience. In: Proceedings of the 2009 9th IEEE/ACM international symposium on cluster computing and the grid, CCGRID’09. IEEE Computer Society, Washington, DC, pp 356–363. doi: http://dx.doi.org/10.1109/CCGRID.2009.84

  67. Ram KK, Santos JR, Turner Y (2010) Redesigning Xen’s memory sharing mechanism for safe and efficient I/O virtualization. In: Proceedings of the 2nd conference on I/O virtualization, WIOV’10. USENIX Association, Berkeley

    Google Scholar 

  68. Salehie M, Tahvildari L (2009) Self-adaptive software: landscape and research challenges. ACM Trans Auton Adapt Syst 4:14:1–14:42. doi: http://doi.acm.org/10.1145/1516533.1516538

  69. Salomie TI, Alonso G, Roscoe T, Elphinstone K (2013) Application level ballooning for efficient server consolidation. In: Proceedings of the 8th ACM European conference on computer systems, EuroSys’13. ACM, New York, pp 337–350. doi: 10.1145/2465351.2465384

    Chapter  Google Scholar 

  70. Shao Z, Jin H, Li Y (2009) Virtual machine resource management for high performance computing applications. In: International symposium on parallel and distributed processing with applications, pp 137–144. doi: http://doi.ieeecomputersociety.org/10.1109/ISPA.2009.52

  71. Sharma P, Chaufournier L, Shenoy P, Tay YC (2016) Containers and virtual machines at scale: a comparative study. In: Proceedings of the 17th international Middleware conference, Middleware’16. ACM, New York, pp 1:1–1:13. doi: 10.1145/2988336.2988337

  72. Silva JN, Veiga L, Ferreira P (2011) A2HA – Automatic and adaptive host allocation in utility computing for bag-of-tasks. J Internet Services Appl 2(2):171–185

    Article  Google Scholar 

  73. Simão J, Veiga L (2012) A classification of middleware to support virtual machines adaptability in IAAS. In: Proceedings of the 11th international workshop on adaptive and reflective middleware, ARM’12. ACM, New York, pp 5:1–5:6

    Google Scholar 

  74. Simão J, Lemos J, Veiga L (2011) A2-VM a cooperative java VM with support for resource-awareness and cluster-wide thread scheduling. In: 19th international conference on cooperative information systems (COOPIS 2011), Crete. LNCS. Springer

    Google Scholar 

  75. Simao J, Rameshan N, Veiga L (2013) Resource-aware scaling of multi-threaded java applications in multi-tenancy scenarios. In: IEEE 5th international conference on cloud computing technology and science (CloudCom), 2013, Bristol, vol 1, pp 445–451. IEEE

    Google Scholar 

  76. Simão J, Singer J, Veiga L (2013) A comparative look at adaptive memory management in virtual machines. In: IEEE CloudCom 2013, Bristol. IEEE

    Google Scholar 

  77. Simão J, Veiga L (2012) Qoe-JVM: an adaptive and resource-aware java runtime for cloud computing. In: OTM confederated international conferences “On the Move to Meaningful Internet Systems”. Springer, Berlin/Heidelberg, pp 566–583

    Google Scholar 

  78. Simao J, Veiga L (2012) VM economics for java cloud computing: an adaptive and resource-aware java runtime with quality-of-execution. In: Proceedings of the 2012 12th IEEE/ACM international symposium on cluster, cloud and grid computing (CCGrid 2012), Ottawa. IEEE Computer Society, pp 723–728

    Chapter  Google Scholar 

  79. Simão J, Veiga L (2013) Flexible SLAs in the cloud with a partial utility-driven scheduling architecture. In: IEEE 5th international conference on cloud computing technology and science, CloudCom 2013, Bristol, 2-5 Dec 2013, vol 1, pp 274–281. IEEE Computer Society. doi: 10.1109/CloudCom.2013.43

  80. Simão J, Veiga L (2013) A progress and profile-driven cloud-vm for resource-efficiency and fairness in e-science environments. In: Proceedings of the 28th annual ACM symposium on applied computing, Coimbra. ACM, pp 357–362

    Chapter  Google Scholar 

  81. Simão J, Veiga L (2014) Partial utility-driven scheduling for flexible SLA and pricing arbitration in cloud. IEEE Trans Cloud Comput 99:467–480. https://www.computer.org/csdl/trans/cc/2016/04/06963452-abs.html

    Google Scholar 

  82. Singer J, Brown G, Watson I, Cavazos J (2007) Intelligent selection of application-specific garbage collectors. In: Proceedings of the 6th international symposium on memory management, ISMM’07. ACM, New York, pp 91–102. doi: 10.1145/1296907.1296920

    Chapter  Google Scholar 

  83. Singer J, Jones R (2011) Economic utility theory for memory management optimization. In: Rogers I (ed) Proceedings of the workshop on implementation, compilation, optimization of object-oriented languages and programming systems. ACM, p 4. http://www.cs.kent.ac.uk/pubs/2011/3156. Position paper

  84. Singer J, Jones RE, Brown G, Luján M (2010) The economics of garbage collection. SIGPLAN Not 45:103–112. doi: http://doi.acm.org/10.1145/1837855.1806669

  85. Singer J, Kovoor G, Brown G, Luján M (2011) Garbage collection auto-tuning for java mapreduce on multi-cores. In: Proceedings of the international symposium on memory management, ISMM’11. ACM, New York, pp 109–118

    Google Scholar 

  86. Smith J, Nair R (2005) Virtual machines: versatile platforms for systems and processes. Morgan Kaufmann, San Francisco

    MATH  Google Scholar 

  87. Soltesz S, Pötzl H, Fiuczynski ME, Bavier A, Peterson L (2007) Container-based operating system virtualization: a scalable, high-performance alternative to hypervisors. In: Proceedings of the 2Nd ACM SIGOPS/EuroSys European conference on computer systems 2007, EuroSys’07. ACM, New York, pp 275–287. doi: 10.1145/1272996.1273025

    Google Scholar 

  88. Soman S, Krintz C (2007) Application-specific garbage collection. J Syst Softw 80:1037–1056. doi: http://dx.doi.org/10.1016/j.jss.2006.12.566

  89. Soman S, Krintz C, Bacon DF (2004) Dynamic selection of application-specific garbage collectors. In: Proceedings of the 4th international symposium on Memory management, ISMM’04. ACM, New York, pp 49–60. doi: http://doi.acm.org/10.1145/1029873.1029880

  90. Stoica I, Abdel-Wahab H, Jeffay K (1996) On the duality between resource reservation and proportional share resource allocation. Technical report, Old Dominion University, Norfolk

    Google Scholar 

  91. Suri N, Bradshaw JM, Breedy MR, Groth PT, Hill GA, Saavedra R (2001) State capture and resource control for java: the design and implementation of the aroma virtual machine. In: Proceedings of the symposium on JavaTM virtual machine research and technology symposium, JVM’01. USENIX Association, Berkeley, pp 11–11. http://portal.acm.org/citation.cfm?id=1267847.1267858

    Google Scholar 

  92. Tanenbaum AS (2007) Modern operating systems, 3rd edn. Prentice Hall Press, Upper Saddle River

    MATH  Google Scholar 

  93. Tay YC, Zong X, He X (2013) An equation-based heap sizing rule. Perform Eval 70(11): 948–964

    Article  Google Scholar 

  94. Tchana A, Palma ND, Safieddine I, Hagimont D, Diot B, Vuillerme N (2015) Software consolidation as an efficient energy and cost saving solution for a SaaS/PaaS cloud model. Springer, Berlin/Heidelberg, pp 305–316

    Google Scholar 

  95. Tene G, Iyengar B, Wolf M (2011) C4: the continuously concurrent compacting collector. SIGPLAN Not 46(11):79–88

    Article  Google Scholar 

  96. Vaquero LM, Rodero-Merino L, Caceres J, Lindner M (2008) A break in the clouds: toward a cloud definition. SIGCOMM Comput Commun Rev 39(1):50–55

    Article  Google Scholar 

  97. Veiga L, Ferreira P (2002) Incremental replication for mobility support in obiwan. In: 22nd international conference on distributed computing systems, 2002 proceedings, Vienna. IEEE, pp 249–256

    Chapter  Google Scholar 

  98. Veiga L, Ferreira P (2004) Poliper: policies for mobile and pervasive environments. In: Kon F, Costa FM, Wang N, Cerqueira R (eds) Proceedings of the 3rd workshop on adaptive and reflective middleware, ARM 2003, Toronto, 19 Oct 2004. ACM, pp 238–243. doi: 10.1145/1028613.1028623

  99. VMware (2009) VMware vSpher 4: the CPU scheduler in VMware ESX 4

    Google Scholar 

  100. Waldspurger CA (2002) Memory resource management in VMware ESX server. SIGOPS Oper Syst Rev 36:181–194. doi: http://doi.acm.org/10.1145/844128.844146

  101. Weidner O, Atkinson M, Barker A, Filgueira Vicente R (2016) Rethinking high performance computing platforms: challenges, opportunities and recommendations. In: Proceedings of the ACM international workshop on data-intensive distributed computing, DIDC’16. ACM, New York, pp 19–26. doi: 10.1145/2912152.2912155

  102. Weiming Z, Zhenlin W (2009) Dynamic memory balancing for virtual machines. In: Proceedings of the 2009 ACM SIGPLAN/SIGOPS international conference on virtual execution environments, VEE’09, Washington, DC, pp 21–30

    Google Scholar 

  103. Weng C, Liu Q, Yu L, Li M (2011) Dynamic adaptive scheduling for virtual machines. In: Proceedings of the 20th international symposium on high performance distributed computing, HPDC’11. ACM, New York, pp 239–250

    Google Scholar 

  104. Weng C, Wang Z, Li M, Lu X (2009) The hybrid scheduling framework for virtual machine systems. In: Proceedings of the 2009 ACM SIGPLAN/SIGOPS international conference on virtual execution environments, VEE’09. ACM, New York, pp 111–120. doi: http://doi.acm.org/10.1145/1508293.1508309

  105. White DR, Singer J, Aitken JM, Jones RE (2013) Control theory for principled heap sizing. In: Proceedings of the 2013 international symposium on memory management, ISMM’13. ACM, New York, pp 27–38

    Chapter  Google Scholar 

  106. Wilson PR (1992) Uniprocessor garbage collection techniques. In: Proceedings of the international workshop on memory management, IWMM’92. Springer, London, pp 1–42. http://portal.acm.org/citation.cfm?id=645648.664824

    Chapter  Google Scholar 

  107. Windows server containers. https://msdn.microsoft.com/en-us/virtualization/windowscontainers/about/index. Visited Nov 2016

  108. Xu F, Liu F, Jin H, Vasilakos A (2014) Managing performance overhead of virtual machines in cloud computing: a survey, state of the art, and future directions. Proc IEEE 102(1):11–31

    Article  Google Scholar 

  109. Yang T, Berger ED, Kaplan SF, Moss JEB (2006) Cramm: virtual memory support for garbage-collected applications. In: Proceedings of the 7th symposium on operating systems design and implementation, OSDI’06. USENIX Association, Berkeley, pp 103–116

    Google Scholar 

  110. Zhang Y, Bestavros A, Guirguis M, Matta I, West R (2005) Friendly virtual machines: leveraging a feedback-control model for application adaptation. In: Proceedings of the 1st ACM/USENIX international conference on virtual execution environments, VEE’05. ACM, New York, pp 2–12. doi: http://doi.acm.org/10.1145/1064979.1064983

Download references

Acknowledgements

This work was supported by national funds through Fundação para a Ciência e a Tecnologia with reference PTDC/EEI-SCR/6945/2014, and by the ERDF through COMPETE 2020 Programme, within project POCI-01-0145-FEDER-016883, the Engineering School of the Polytechnic Institute of Lisbon (ISEL/IPL).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to José Simão .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this chapter

Cite this chapter

Simão, J., Veiga, L. (2017). A Taxonomy of Adaptive Resource Management Mechanisms in Virtual Machines: Recent Progress and Challenges. In: Antonopoulos, N., Gillam, L. (eds) Cloud Computing. Computer Communications and Networks. Springer, Cham. https://doi.org/10.1007/978-3-319-54645-2_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-54645-2_3

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-54644-5

  • Online ISBN: 978-3-319-54645-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics