Abstract
Virtualization is growing in different areas: from powerful servers in data centers to students’ laptops and even cell phones. It can provide a more efficient use of hardware resources. Virtualization enables multiple virtual machines to run side-by-side in an isolated environment on a physical hardware. Modern processors are enhanced with technologies like Intel-VT and AMD-V that speed up virtual machines. However, there is still room for improving support of hardware for virtualization workloads. Gem5 is an open-source full system simulator capable of simulating a Chip-Multiprocessor with its caches, interconnection network, memory controllers among others. In its current state, gem5 does not support virtualized workloads. In this paper, we present a modified version of gem5, named gem5v, that simulates the behavior of a virtualization layer and can simulate virtual machines. We test this simulator in different scenarios using Parsec, Splash, MapReduce (Phoenix), SPEC and EEMBC benchmarks and compare its measured runtime with real systems. Results show 1–9 % difference between the simulated system and two virtualization softwares on a real hardware, namely KVM and VMware ESX. The comparison of vCPU overhead in VMware ESX and gem5v shows between 0.1 and 9 % difference.
Similar content being viewed by others
Notes
POSIX threads.
We would like to submit it to the review board of gem5 so it could be part of the mainline.
Located in configs/example.
As we do not have a license for Simics, we are unable to do tests for comparison of Virtual-GEMS and gem5v.
That is why we have used the \(@\) notation.
According to Table 4, d in ffd means dedup.
References
AMD-V. http://www.amd.com/virtualization. Accessed on Nov 2012. Accessed 5 May 2014
Gartner: estimate of virtualized workloads. http://gartner.com/it/page.jsp?id=1211813. Accessed 1 May 2014
Gem5. http://gem5.org. Accessed 5 May 2014
[gem5-users] Running Xen in gem5. http://www.mail-archive.com/gem5-users@gem5.org/msg00367.html. Accessed 1 Jan 2014
How does it take to make context switch. http://blog.tsunanet.net/2010/11/how-long-does-it-take-to-make-context.html. Accessed 1 May 2014
Intel Xeon. http://www.intel.com/content/www/us/en/servers/server-products.html. Accessed on Nov 2012. Accessed 1 May 2014
Parsec 2.1 for m5. http://www.cs.utexas.edu/cart/parsec_m5. Accessed 5 May 2014
Splash 2. http://www-flash.stanford.edu/apps/SPLASH. Accessed 1 Jan 2014
VMware. http://vmware.com. Accessed 5 May 2014
Apparao P, Iyer R, Newell D (2008) Implications of cache asymmetry on server consolidation performance. In: IEEE international symposium on workload characterization, pp 24–32
Bhadauria M, Weaver VM, McKee SA (2009) Understanding PARSEC performance on contemporary CMPs. In: IEEE international symposium on workload characterization, pp 98–107
Bienia C, Li K (2009) Parsec 2.0: a new benchmark suite for chip-multiprocessors. In: Workshop on modeling, benchmarking and simulation
Binkert N, Beckmann BM, Black G, Reinhardt S, Saidi A, Basu A, Hestness J, Hower D, Krishna T, Sardashti S, Sen R, Sewell K, Shoaib M, Vaish N, Hill M, Wood D (2011) The gem5 simulator. SIGARCH Comput Archit News 39(2):1–7
Calheiros RN, Ranjan R, Beloglazov A, De Rose CAF, Buyya R (2010) CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms. Softw Pract Exp 41(1):23–50
Dall C, Andrus J, Hof AV, Laadan O, Nieh J (2012) The design, implementation, and evaluation of cells: a virtual smartphone architecture. ACM Trans Comput Syst 30(3):1–31
Gal-On S, Levy M Exploring CoreMark—a benchmark maximizing simplicity and efficacy. EEMBC Whitepaper. http://www.eembc.org/techlit/coremark-whitepaper.pdf
Garcia-Guirado A, Fernandez-Pascual R, Garcia J (2010) Analyzing cache coherence protocols for server consolidation. In: International symposium on computer architecture and high performance computing, pp 191–198
Garcia-Guirado A, Fernandez-Pascual R, Garcia JM (2009) Virtual-GEMS: an infrastructure to simulate virtual machines. In: International workshop on modeling, benchmarking and simulation
Garcia-Guirado A, Fernandez-Pascual R, Ros A, Garcia J (2011) Energy-efficient cache coherence protocols in chip-multiprocessors for server consolidation. In: International conference on parallel processing, pp 51–62
Henning JL (2006) SPEC CPU2006 benchmark descriptions. ACM SIGARCH Comput Archit News 34(4):1–17
Iyer R, Zhao L, Guo F, Illikkal R, Makineni S, Newell D, Solihin Y, Hsu L, Reinhardt S (2007) QoS policies and architecture for cache/memory in CMP platforms. In: ACM SIGMETRICS international conference on measurement and modeling of computer systems, pp 1–12. ACM request permissions
Jin X, Chen H, Wang X, Wang Z, Wen X, Luo Y, Li X (2009) A simple cache partitioning Approach in a virtualized environment. In: IEEE international symposium on parallel and distributed processing with applications, pp 519–524
Kim D, Ahn J, Kim J, Huh J (2010) Subspace snooping: filtering snoops with operating system support. In: International conference on parallel architectures and compilation techniques, pp 111–122, ACM
Kim D, Kim H, Huh J (2010) Virtual snooping: filtering snoops in virtualized multi-cores. In: IEEE/ACM international symposium on microarchitecture, pp 459–470
Kivity A, Kamay Y, Laor D, Lublin U, Liguori A (2007) kvm: the Linux virtual machine monitor. In: Linux symposium, pp 225–230
Koller R, Verma A, Rangaswami R (2011) Estimating application cache requirement for provisioning caches in virtualized systems. In: IEEE annual international symposium on modelling, analysis, and simulation of computer and telecommunication systems, pp 55–62. IEEE Computer Society
Magnusson PS, Christensson M, Eskilson J, Forsgren D, Hallberg G, Hogberg J, Larsson F, Moestedt A, Werner B (2002) Simics: a full system simulation platform. Computer 35(2):50–58
Martin MMK, Sorin DJ, Beckmann BM, Marty MR, Xu M, Alameldeen AR, Moore KE, Hill MD, Wood DA (2005) Multifacet’s general execution-driven multiprocessor simulator (GEMS) toolset. SIGARCH Comput Archit News 33(4):92–99
McDougall R, Anderson J (2010) Virtualization performance: perspectives and challenges ahead. SIGOPS Oper Syst Rev 44(4):40–56
Srikantaiah S, Kandemir M, Wang Q (2009) Sharp control: controlled shared cache management in chip multiprocessors. In: IEEE/ACM international symposium on microarchitecture, pp 517–528, IEEE
Talbot J, Yoo RM, Kozyrakis C (2011) Phoenix++: modular MapReduce for shared-memory systems. In: MapReduce ’11: Proceedings of the 2nd international workshop on MapReduce and its applications, pp 9–16. ACM request permissions
Uhlig R, Neiger G, Rodgers D, Santoni A, Martins F, Anderson A, Bennett S, Kagi A, Leung F, Smith L (2005) Intel virtualization technology. Computer 38(5):48–56
Varanasi P, Heiser G (2011) Hardware-supported virtualization on ARM. In: Second Asia-Pacific workshop on systems, pp 1–5, ACM
Woo S, Ohara M, Torrie E, Singh J, Gupta A (1995) The SPLASH-2 programs: characterization and methodological considerations. In: International symposium on computer architecture, pp 24–36
Acknowledgments
This research was in part supported by a Grant from IPM (No. CS1393-4-17).
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Nikounia, S.H., Mohammadi, S. Gem5v: a modified gem5 for simulating virtualized systems. J Supercomput 71, 1484–1504 (2015). https://doi.org/10.1007/s11227-014-1375-7
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-014-1375-7