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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
ACM Digital Library. http://dl.acm.org/. Visited Nov 2016
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
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
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
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
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
An architectural blueprint for autonomic computing. Technical report, IBM (2005)
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
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
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
Baker HG (1994) Thermodynamics and garbage collection. SIGPLAN Not 29:58–63. doi: http://doi.acm.org/10.1145/181761.181770
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
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
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
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
Blake C, Rodrigues R (2003) High availability, scalable storage, dynamic peer networks: pick two. In: Jones MB (ed) HotOS, Lihue. USENIX, pp 1–6
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
Brewer EA (2010) A certain freedom: thoughts on the CAP theorem. In: Richa AW, Guerraoui R (eds) PODC. ACM, p 335
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Goldberg RP (1974) Survey of virtual machine research. Computer 7(9):34–45
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
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
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
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
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
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
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
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
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
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
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
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
http://kubernetes.io. Visited Nov 2016
https://www.docker.com/. Visited Nov 2016
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
Jones R, Hosking A, Moss E (2011) The garbage collection handbook: the art of automatic memory management, 1st edn. Chapman & Hall/CRC, Boca Raton
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
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
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
Lublin U, Kamay Y, Laor D, Liguori A (2007) KVM: the Linux virtual machine monitor. In: Ottawa Linux Symposium, Ottawa
Lxc. https://linuxcontainers.org/. Visited Nov 2016
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
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
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
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
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
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
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
Oracle (2016) Java management extensions (JMX) technology, visited 28-11-2016
Ousterhout JK (1982) Scheduling techniques for concurrent systems. In: ICDCS, Miami. IEEE Computer Society, pp 22–30
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
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
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
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
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
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
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
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
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
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
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
Simão J, Singer J, Veiga L (2013) A comparative look at adaptive memory management in virtual machines. In: IEEE CloudCom 2013, Bristol. IEEE
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
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
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
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
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
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
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
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
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
Smith J, Nair R (2005) Virtual machines: versatile platforms for systems and processes. Morgan Kaufmann, San Francisco
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
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
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
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
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
Tanenbaum AS (2007) Modern operating systems, 3rd edn. Prentice Hall Press, Upper Saddle River
Tay YC, Zong X, He X (2013) An equation-based heap sizing rule. Perform Eval 70(11): 948–964
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
Tene G, Iyengar B, Wolf M (2011) C4: the continuously concurrent compacting collector. SIGPLAN Not 46(11):79–88
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
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
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
VMware (2009) VMware vSpher 4: the CPU scheduler in VMware ESX 4
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
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
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
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
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
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
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
Windows server containers. https://msdn.microsoft.com/en-us/virtualization/windowscontainers/about/index. Visited Nov 2016
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
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
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
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
Corresponding author
Editor information
Editors and Affiliations
Rights 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)