Published
A Survey of Virtualization Technologies: Towards a New Taxonomic Proposal
Una revisión de las tecnologías de virtualización: hacia una nueva propuesta taxonómica
Keywords:
Container, Taxonomy, Virtualization, Virtual Machine, Virtualization Technologies (en)Contenedor, Máquina Virtual, Taxonomía, Tecnologías de virtualización, Virtualización (es)
At present, there is a proliferation of virtualization technologies (VTs), which are part of the basic and underlying infrastructure of popular cloud computing. Those interested in VTs are faced with a non-unified volume of information and various approaches to modes of operation, classification structures, and the performance implications of these technologies. This makes it difficult to decide which type of VT is appropriate for a particular context. Therefore, this paper reviews the state of the art on VT taxonomic models. Methodologically, a literature review is carried out to identify VT classification models, recognizing their features and weaknesses. With this in mind, a new taxonomy of virtualization technologies is proposed, which responds to the weaknesses identified in the analyzed schemes. The new VT taxonomy combines the Abstraction Level and Virtual Machine Type approaches, providing the reader with a means to visualize VTs. In doing so, the reader can locate the level of abstraction at which each VT is developed, in addition to the type of machine projected, whether it is a complete system or an execution environment for processes. The proposed taxonomy can be used in the academic environment to facilitate teaching processes or in the business environment to facilitate decision-making when implementing VTs.
En la actualidad existe una proliferación de tecnologías de virtualización (VTs), las cuales constituyen una parte de la infraestructura fundamental y subyacente al tan popular cloud computing. Los interesados en las VTs se enfrentan a un volumen de información no unificada y con enfoques diversos acerca de los modos de operación, estructuras de clasificación e implicaciones del desempeño de estas tecnologías. Esto hace difícil decidir sobre el tipo de VT adecuado para un contexto particular. Por lo anterior, este trabajo realiza una revisión del estado del arte acerca de los modelos taxonómicos de las VTs. Metodológicamente, se realiza una revisión de la literatura para identificar modelos de clasificación de las VTs, reconociendo sus características y debilidades. Considerando lo anterior, se propone una nueva taxonomía de las tecnologías de virtualización, que responde a las debilidades identificadas en los esquemas analizados. La nueva taxonomía de VTs combina los enfoques de Nivel de Abstracción y Tipo de Máquina Virtual, proporcionando al lector un medio para visualizar las VTs. Al hacerlo, el lector puede ubicar el nivel de abstracción en el que se desarrolla cada VT, además del tipo de máquina proyectada, ya sea un sistema completo o un entorno de ejecución para procesos. La taxonomía propuesta puede ser utilizada en el ámbito académico para facilitar los procesos de enseñanza o en el ámbito empresarial para favorecer la toma de decisiones a la hora de implementar VTs.
Downloads
References
Abdekhoda, M., Asadi, Z., and Nadrian, H. (2019). Cloud computing services adoption among higher education faculties: Development of a standardized questionnaire. Education and Information Technologies, 25(1), 175-191. https://doi.org/10.1007/s10639-019-09932-0
AbdElRahem, O., Bahaa-Eldin, A. M., and Taha, A. (2016, December 20-21). Virtualization security: A survey [Conference presentation]. 2016 11th International Conference on Computer Engineering & Systems (ICCES), Cairo, Egypt. https://doi.org/10.1109/ICCES.2016.7821971
Abdulhamid, S. M., Latiff, M. S. A., and Bashir, M. B. (2014). On-demand grid provisioning using cloud infrastructures and related virtualization tools: A survey and taxonomy. arXiv preprint. https://doi.org/10.48550/arXiv.1402.0696
Abeni, L., and Faggioli, D. (2020). Using Xen and KVM as real-time hypervisors. Journal of Systems Architecture, 106, 101709. https://doi.org/10.1016/j.sysarc.2020.101709
Aceto, G., Botta, A., de Donato, W., and Pescapè, A. (2013). Cloud monitoring: A survey. Computer Networks, 57(9), 2093-2115. https://doi.org/10.1016/j.comnet.2013.04.001
Adams, K., and Agesen, O. (2006). A comparison of software and hardware techniques for x86 virtualization. ACM SIGARCH Computer Architecture News, 34(5), 2-13. https://doi.org/10.1145/1168919.1168860
Ameen, R. Y., and Hamo, A. Y. (2013). Survey of server virtualization. arXiv preprint. https://doi.org/10.48550/arXiv.1304.3557
Annapareddy, N. D. R. (2011). An approach to storage virtualization. Texas A & M University-Kingsville.
Apple Inc. (2009). Universal binary programming guidelines. https://web.archive.org/web/20120327121744/http://developer.apple.com/legacy/mac/library/documentation/MacOSX/Conceptual/universal_binary/universal_binary.pdf
Armand, F., and Gien, M. (2009, January 10-13). A practical look at micro-kernels and virtual machine monitors [Conference presentation]. Consumer Communications and Networking Conference, 2009 CNNC 2009. 6th IEEE. https://doi.org/10.1109/CCNC.2009.4784874
Bala, V., Duesterwald, E., and Banerjia, S. (2011). Dynamo: a transparent dynamic optimization system. ACM SIGPLAN Notices, 46(4), 41-52. https://doi.org/10.1145/1988042.1988044
Balis, B., Antonelli, L., Bracciali, A., Gruber, T., Hyun-Wook, J., Kuhn, M., Scott, S., Unat, D., Wyrzykowski, R., & Eiling, N. (2021, August 24-25). An open-source virtualization layer for CUDA applications [Conference presentation]. Euro-par 2020: Parallel Processing Workshopseuro-par 2020 International Workshops, Warsaw, Poland.
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. In ACM (Eds.), Proceedings of the
Nineteenth ACM Symposium on Operating Systems Principles (pp. 164-177). ACM. https://doi.org/10.1145/945445.945462
Beronić, D., Pufek, P., Mihaljević, B., and Radovan, A. (2021). On analyzing virtual threads – A structured concurrency model for scalable applications on the JVM [Conference presentation]. 2021 44th International Convention on Information, Communication and Electronic Technology (MIPRO). Opatija, Croatia. https://doi.org/10.23919/MIPRO52101.2021.9596855
Biederman, E. W. (2006). Multiple instances of the Global Linux Namespaces [Conference presentation]. Linux Symposium, Ottawa, Ontario, Canada.
Bochs (2021). bochs. The cross Platform IA-32 Emulator. https://bochs.sourceforge.io
Bugnion, E., Nieh, J., Tsafrir, D., & Martonosi, M. (2017). Hardware and software support for virtualization. Morgan & Claypool. https://doi.org/10.2200/S00754ED1V01Y201701CAC038
Cafaro, M., and Aloisio, G. (2011). Grids, clouds, and virtualization. In M. Cafaro and G. Aloisio (Eds.), Grids, Clouds and Virtualization (pp. 1-21). Springer.
Canonical Ltd. (2021). Container and virtualization tools. https://linuxcontainers.org
Chang, Y. T. S., Heistand, S., Hood, R., and Jin, H. (2021, November 14). Feasibility of running singularity containers with hybrid MPI on NASA high-end computing resources [Conference presentation]. 2021 3rd International Workshop on Containers and New Orchestration Paradigms for Isolated Environments in HPC (CANOPIE-HPC), St. Louis, MO, USA. https://doi.org/10.1109/CANOPIEHPC54579.2021.00007
Chernoff, A., Herdeg, M., Hookway, R., Reeve, C., Rubin, N., Tye, T., Bharadwaj Yadavalli, S., and Yates, J. (1998). FX! 32: A profile-directed binary translator. IEEE Micro, 18(2), 56-64. https://doi.org/10.1109/40.671403
Díaz, E., Mateos, R., Bueno, E. J., and Nieto, R. (2021). Enabling parallelized-QEMU for hardware/software co-simulation virtual platforms. Electronics, 10(6), 759. https://doi.org/10.3390/electronics10060759
Dike, J. (2006). User mode linux (vol. 2). Prentice Hall Englewood Cliffs.
Docker (2022). Docker. https://www.docker.com
El-Anani, B. R. (2021). Server virtualization: Para- and full virtualization: XenServer vs. KVM. https://www.theseus.fi/handle/10024/507277
Ensim (2022). Ensim. http://www.ensim.com
eWeek. (2008). IBM acquiring transitive to increase virtualization capabilities of power systems. https://www.eweek.com/virtualization/ibm-acquiring-transitive-to-increase-virtualization-capabilities-of-power-systems/
Fareghzadeh, N., Seyyedi, M. A., and Mohsenzadeh, M. (2019). Toward holistic performance management in clouds: taxonomy, challenges and opportunities. Journal of Supercomputing, 75(1), 272-313. http://doi.org/10.1007/s11227-018-2679-9
Fisher, M., Sharma, S., Lai, R., and Moroney, L. (2006). Java EE and .NET interoperability: Integration strategies, patterns, and best practices. Prentice Hall Professional.
Ford, B., and Cox, R. (2008). Vx32: Lightweight User-level Sandboxing on the x86 [Conference presentation]. USENIX Annual Technical Conference. https://www.usenix.org/legacy/events/usenix08/tech/full_papers/ford/ford.pdf
Gibson, C. (2007). WPAR Power AIX workload partition explained. IBM Systems Magazine. http://www.ibmsystemsmag.com/opensystems/december07/coverstory/18606p1.aspx
Goldberg, R. P. (1973). Architectural principles for virtual computer systems. Defense Technical Information Center.
Goldberg, R. P. (1974). Survey of virtual machine research. Computer, 7(6), 34-45. https://doi.org/10.1109/MC.1974.6323581
Honeycutt, J. (2003). Microsoft virtual PC 2004 technical overview. Microsoft.
Hoopes, J. (2009). Virtualization for security: Including sandboxing, disaster recovery, high availability, forensic analysis, and honeypotting. Syngress.
Hui, L. Y., and Seok, K. H. (2014). A study of savings of power consumption and server space through integrated virtualization of UNIX servers. International Journal of Software Engineering and Its Applications, 8(5), 219-230. http://dx.doi.org/10.14257/ijseia.2014.8.5.17
IBM (2008). Transitive. https://www-03.ibm.com/press/us/en/pressrelease/26106.wss
Jason, K., Velte, A., and Velte, T. (2009). Microsoft virtualization with Hyper-V. McGraw-Hill, Inc.
Jing, S.-Y., Ali, S., She, K., and Zhong, Y. (2013). State-of-the-art research study for green cloud computing. The Journal of Supercomputing, 65(1), 445-468. https://doi.org/10.1007/s11227-011-0722-1
Jones, M., Kepner, J., Orchard, B., Reuther, A., Arcand, W., Bestor, D., Bergeron, B., Byun, C., Gadepally, V., Houle, M., Hubbell, M., Klein, A., Milechin, L., Mullen, J., Prout, A., Rosa, A., Samsi, S., Yee, C., and Michaleas, P. (2018, September 25-27). Interactive launch of 16,000 Microsoft Windows Instances on a supercomputer [Conference presentation]. 2018 IEEE High Performance extreme Computing Conference (HPEC). Waltham, MA, USA. https://doi.org/10.1109/HPEC.2018.8547782
Kamp, P.-H., and Watson, R. N. (2000). Jails: Confining the omnipotent root [Conference presentation]. 2nd International SANE Conference. https://papers.freebsd.org/2000/phk-jails/
Kampert, P. (2010). A taxonomy of virtualization technologies. [Master's thesis, Delft University of Technology]. https://d1rkab7tlqy5f1.cloudfront.net/TBM/Over%20faculteit/Afdelingen/Engineering%20Systems%20and%20Services/People/Professors%20emeriti/Jan%20van%20den%20Berg/MasterPhdThesis/Masters_Thesis_Paulus_Kampert_August_2010-2.pdf
Kusnetzky, D. (2011). Virtualization: A manager's guide. O'Reilly Media, Inc.
KVM (2021). Kernel Virtual Machine. https://www.linux-kvm.org
Li, B., Shu, J., and Zheng, W. (2005). Design and implementation of a storage virtualization system based on SCSI target simulator in SAN. Tsinghua Science and Technology, 10(1), 122-127. https://doi.org/10.1016/S1007-0214(05)70018-3
Li, X.-F. (2016). Advanced design and implementation of virtual machines. CRC Press.
Li, Z. (2021, November 12-14). Comparison between common virtualization solutions: VMware Workstation, Hyper-V and Docker [Conference presentation]. 2021 IEEE 3rd International Conference on Frontiers Technology of Information and Computer (ICFTIC), Greenville, SC, USA. https://doi.org/10.1109/ICFTIC54370.2021.9647226
Lin, Q., Qi, Z., Wu, J., Dong, Y., and Guan, H. (2012). Optimizing virtual machines using hybrid virtualization. Journal of Systems and Software, 85(11), 2593-2603. https://doi.org/10.1016/j.jss.2012.05.093
Lin, S., Hao, C., and Jianhua, S. (2009, May 23-29). vCUDA: GPU accelerated high performance computing in virtual machines [Conference presentation]. 2009 IEEE International Symposium on Parallel & Distributed Processing. https://doi.org/10.1109/IPDPS.2009.5161020
Lindholm, T., Yellin, F., Bracha, G., and Buckley, A. (1997). The Java virtual machine specification. Addison-Wesley.
Linux-VServer (2018). Linux-VServer. http://www.linux-vserver.org
Lxrun (2022, 2008/03/09). Official lxrun web site. https://web.archive.org/web/20151025205205/http://www.ugcs.caltech.edu/~steven/lxrun/
Magnusson, P. S., Christensson, M., Eskilson, J., Forsgren, D., Hallberg, G., Hogberg, J., Larsson, F., Moested, A., and Werner, B. (2002). Simics: A full system simulation platform. Computer, 35(2), 50-58. https://doi.org/10.1109/2.982916
Mann, A. (2006). Virtualization 101: Technologies, benefits, and challenges. Enterprise Management Associates, Inc.
Matthews, J. N., Dow, E. M., Deshane, T., Hu, W., Bongio, J., Wilbur, P. F., and Johnson, B. (2008). Running Xen: A hands-on guide to the art of virtualization. Prentice Hall PTR.
Nanda, S., and Chiueh, T.-C. (2005). A survey on virtualization technologies. Stony Brook University. http://comet.lehman.cuny.edu/cocchi/CMP464/papers/VirtualizationSurveyTR179.pdf
Nanda, S., Li, W., Lam, L.-C., and Chiueh, T.-C. (2006). BIRD: Binary interpretation using runtime disassembly [Conference presentation]. 2006 International Symposium on Code Generation and Optimization, New York, NY, USA. https://doi.org/10.1109/CGO.2006.6
OpenVZ (2021). OpenVZ. https://openvz.org
Oracle (2018). WABI https://docs.oracle.com/cd/E19957-01/802-6306/802-6306.pdf
Oracle (2021a). Oracle Solaris Zones. https://docs.oracle.com/cd/E18440_01/doc.111/e18415/chapter_zones.htm#OPCUG426
Oracle (2021b). Oracle Virtual Box. https://www.oracle.com/virtualization/virtualbox/.
Parallels (2021). Parallels. https://www.parallels.com
Parrot (2022). Parrot. http://www.parrot.org
Pék, G., Buttyán, L., and Bencsáth, B. (2013). A survey of security issues in hardware virtualization. ACM Computing Surveys (CSUR), 45(3), 40. https://doi.org/10.1145/2480741.2480757
Pessolani, P., and Jara, O. (2011, November 7-11). Minix over Linux: A user-space multiserver operating system [Conference presentation]. 2011 Brazilian Symposium on Computing System Engineering, Florianopolis, Brazil. https://doi.org/10.1109/SBESC.2011.17
Pessolani, P., Gonnet, S. M., Tinetti, F. G., and Cortes, T. (2012). Sistema de virtualización con recursos distribuidos [Conference presentation]. XIV Workshop de Investigadores en Ciencias de la Computación. http://sedici.unlp.edu.ar/handle/10915/18375
Plex86 (2021). The new Plex86, x86 Virtual Machine Project. http://plex86.sourceforge.net
Popek, G. J., and Goldberg, R. P. (1974). Formal requirements for virtualizable third generation architectures. Communications of the ACM, 17(7), 412-421. https://doi.org/10.1145/361011.361073
QEMU (2021). QEMU, the FAST! processor emulator. https://www.qemu.org
Ranjith, D., Tamizharasi, G. S., and Balamurugan, B. (2017, April 20-22). A survey on current trends to future trends in green computing [Conference presentation]. 2017 International Conference of Electronics, Communication and Aerospace Technology (ICECA), Coimbatore, India. https://doi.org/10.1109/ICECA.2017.8203616
Ryding, C., and Johansson, R. (2020). Jails vs Docker: A performance comparison of different container technologies [Undergraduate thesis, Mid Sweden University]. http://urn.kb.se/resolve?urn=urn:nbn:se:miun:diva-39517
Sahoo, J., Mohapatra, S., and Lath, R. (2010, April 23-25). Virtualization: A survey on concepts, taxonomy and associated security issues [Conference presentation]. 2010 Second International Conference on Computer and Network Technology, Bangkok, Thailand. https://doi.org/10.1109/ICCNT.2010.49
Samireh, J., and Claes, W. (2012). Systematic literature studies: database searches vs. backward snowballing [Conference presentation]. ACM-IEEE International Symposium on Empirical Software Engineering and Measurement, Lund, Sweden. https://doi.org/10.1145/2372251.2372257
SCOPE Alliance (2008). Virtualization: State of the art. https://profsandhu.com/cs6393_s14/SCOPE-Virtualization-StateofTheArt-Version-1.0.pdf
Sehgal, N. K., and Bhatt, P. C. (2018). Cloud computing. Springer.
Silberschatz, A., Galvin, P. B., and Gagne, G. (2014). Operating system concepts essentials. John Wiley & Sons, Inc.
Smith, J. E., and Nair, R. (2005). The architecture of virtual machines. Computer, 38(5), 32-38. https://doi.org/10.1109/MC.2005.173
Stallings, W. (2015). Operating systems: Internals and design principles (9th ed.). Pearson.
Sylabs.io (2022). Sylabs.io Singularity. https://www.sylabs.io
Syrewicze, A., and Siddaway, R. (2018). Pro Microsoft Hyper-V 2019: Practical guidance and hands-on labs. Apress.
Tfrifonov, D. V., Hristo. (2018). Virtualization and containerization systems for Big Data. Fundamental Science and Applications, 24, 129-132. https://www.researchgate.net/profile/Mtuncay-Gencoglu/publication/330221240_EMBEDDED_AUDIO_CODING_USING_LAPLACE_TRANSFORM_FOR_TURKISH_LETTERS/links/5c34a7f592851c22a363cd9f/EMBEDDED-AUDIO-CODING-USING-LAPLACE-TRANSFORM-FOR-TURKISH-LETTERS.pdf#page=129
Thai, T. L., and Lam, H. (2003). .NET framework essentials. O'Reilly Media, Inc.
Thathera, H., Shashi, H., and Rajput, D. S. (2015). Green computing: An earth friendly system. International Journal of Science and Research, 8(4), 25540-25550 https://research.vit.ac.in/publication/green-computing-an-earth-friendly-system
User-Mode Linux (2022). The user-mode Linux Kernel home page. http://user-mode-linux.sourceforge.net
Varasteh, A., and Goudarzi, M. (2017). Server consolidation techniques in virtualized data centers: A survey. IEEE Systems Journal, 11(2), 772-783. https://doi.org/10.1109/JSYST.2015.2458273
Virtuozzo (2022). Virtuozzo. https://www.virtuozzo.com
VMware (2022). VMware. http://www.vmware.com
von Hagen, W. (2008). Professional Xen virtualization. John Wiley & Sons, Inc.
Waldspurger, C. A. (2002). Memory resource management in VMware ESX server. ACM SIGOPS Operating Systems Review, 36(SI), 181-194. https://doi.org/10.1145/844128.844146
Wessman, N. J., Malatesta, F., Andersson, J., Gomez, P., Masmano, M., Nicolau, V., Rhun, J. L., Cabo, G., Bas, F., Lorenzo, R., Sala, O., Trilla, D., and Abella, J. (2021, August 23-27). De-RISC: The first RISC-V space-grade platform for safety-critical systems [Conference presentation]. 2021 IEEE Space Computing Conference (SCC), Laurel, MD, USA. https://doi.org/10.1109/SCC49971.2021.00010
Whitaker, A., Shaw, M., and Gribble, S. D. (2002). Denali: Lightweight virtual machines for distributed and networked applications. http://web.cs.ucla.edu/~miodrag/cs259-security/whitaker02denali.pdf
White, J., and Pilbeam, A. (2010). A survey of virtualization technologies with performance testing. arXiv preprint. https://doi.org/10.48550/arXiv.1010.3233
Wine (2022). Wine. https://www.winehq.org
Xen Cambridge (2022). Xen Cambridge. The virtual machine monitor. https://www.cl.cam.ac.uk/research/srg/netos/projects/archive/xen/
Xen Project (2022). Xen Project Website. https://www.xenproject.org
Xtratum (2022). Xtratum. http://www.xtratum.org
Yee, B., Sehr, D., Dardyk, G., Chen, J. B., Muth, R., Ormandy, T., Okasaka, S., Narula, N., and Fullagar, N. (2009). Native client: A sandbox for portable, untrusted x86 native code [Conference presentation]. 2009 30th IEEE Symposium on Security and Privacy, Oakland, CA, USA. https://doi.org/10.1109/SP.2009.25
License
Copyright (c) 2022 Luis Eduardo Sepúlveda Rodríguez, Julio C. Chavarro-Porras, John A. Sanabria-Ordoñez, Harold E. Castro, Jeanna Matthews

This work is licensed under a Creative Commons Attribution 4.0 International License.
The authors or holders of the copyright for each article hereby confer exclusive, limited and free authorization on the Universidad Nacional de Colombia's journal Ingeniería e Investigación concerning the aforementioned article which, once it has been evaluated and approved, will be submitted for publication, in line with the following items:
1. The version which has been corrected according to the evaluators' suggestions will be remitted and it will be made clear whether the aforementioned article is an unedited document regarding which the rights to be authorized are held and total responsibility will be assumed by the authors for the content of the work being submitted to Ingeniería e Investigación, the Universidad Nacional de Colombia and third-parties;
2. The authorization conferred on the journal will come into force from the date on which it is included in the respective volume and issue of Ingeniería e Investigación in the Open Journal Systems and on the journal's main page (https://revistas.unal.edu.co/index.php/ingeinv), as well as in different databases and indices in which the publication is indexed;
3. The authors authorize the Universidad Nacional de Colombia's journal Ingeniería e Investigación to publish the document in whatever required format (printed, digital, electronic or whatsoever known or yet to be discovered form) and authorize Ingeniería e Investigación to include the work in any indices and/or search engines deemed necessary for promoting its diffusion;
4. The authors accept that such authorization is given free of charge and they, therefore, waive any right to receive remuneration from the publication, distribution, public communication and any use whatsoever referred to in the terms of this authorization.









