1.1 Introduction
Since
1960 IBM introduced evolving the ?rst virtual machine that allowed one computer
to be shared as if it was several. This is well-established conception by IBM
to virtual physical resources of mainframe systems to achieve improved
utilization of resources. (Manuela K. Ferreira Henrique C. Freitas, August 2008)1 During
that time there a need for multiple users to have access to a computer at the
same time. Meanwhile most applications spend most of the time waiting for data
to be read or written, there was enough compute power for several immediate
applications but memory was insufficient to support a large number of
simultaneous users on a system. It was the time-sharing environment that really
drove the demand to virtualize memory so that, in a sense, the real memory
could be time-shared properly among computer hardware resources and users
applications.(Rogers, February 2017 )2 Organizations
don’t know virtualization
underutilization the computer hardware
resources.
We Will Write a Custom Essay about 1.1 this technology. 2.2 Literature review This chapter
For You For Only $13.90/page!
order now
Today computer hardware
is designed and architected for hosting multiple operating system and
applications. The principal resolution to this problematic is virtualization.
Virtualization typically
refers to the creation of virtual machine that can virtualize all of the
hardware resources, including processors, memory, storage, and network
connectivity. With the virtualization,
physical hardware resources can be shared by one or more virtual machines. (Lee, 2014)3
This can have both
advantages and disadvantages. There are different types of virtualization as
well as the benefits of each:
• Hardware Virtualization
• Software Virtualization
• Memory Virtualization
• Storage Virtualization
• Data Virtualization
• Network Virtualization (Bill, March 12, 2012)4
This paper will focus on
memory virtualization and it impact in the computer hardware. It will study how
memory can be virtualize and analyses the aids of this technology.
2.2 Literature review
This
chapter reviews previous related work on the subject of the study. Available
literature shows that many researchers have been carried out on various aspects
of memory
virtualization and it impact in the computer hardware. However for the
purpose of this study, the literature will review the general overview of memory
virtualization and it impact in the computer hardware. The memory
virtualization and it impact in the computer hardware is not a new era,
even much improve existing memory virtualization and it impact in the computer
hardware exit as result many literatures exist. The sources of the
reviews include the internet, articles, journals and magazines from various
authors.
What is memory Virtualization?
According to Wikipedia in computer science, memory
virtualization divides volatile random access memory (RAM)
resources from individual systems in the data center, and then sums those
resources into a virtualized memory pool available to any computer in the group.
The operating system or applications running on top of the operating system obtains
in the memory pool. The distributed memory pool can then be used as a
high-speed cache, a messaging layer, or a large, shared memory resource for a
CPU or a GPU application. (Wikipedia, 2017)5
The
main purpose of virtualization is to manage the workload by transforming outmoded
computing to make it more scalable, efficient and economical. Virtualization
can be applied to a wide range such as operating system virtualization,
hardware-level virtualization and server virtualization. Saving and energy,
saving technology and cut down the cost hardware that is rapidly transforming
and the fundamental way of computing in virtualization technology is. (Bill, March 12, 2012)6
In
the book (Distributed and Cloud computing…) chapter 3 memory virtualization
was defined as virtual memory virtualization is comparable to the virtual
memory support provided by modern operating systems…
In
an outmoded execution environment, the operating system preserves mappings of
virtual memory to machine memory using page tables, which is a one-stage
mapping from virtual memory to machine memory. In virtual memory virtualization
includes sharing the physical system memory in RAM and dynamically allocating
it to the physical memory of the VMs. That means the guest OS and the VMM can
be preserved by a two-stage mapping processes respectively: virtual memory to
physical memory and physical memory to machine memory. (Kai Hwang, 2012 )7
3.3 Methodology
Collection
of data will be done through: online articles, online books, online magazine
and personal interview.
4.3 Design
Based
on the illustration and the analysis done in the previous chapters, we can now
look at the architecture memory virtualization. From switches, and routers to
servers, basically all physical computer hardware use some type of memory. They
all have both physical memory and logical memory. The 3 level in memory
virtualization are: abstraction levels; machine memory, physical memory and
virtual memory. Virtual memory is the virtual machine’s allocated memory and
physical memory is the server memory obtainable to the virtual machines.
Machine memory is the real physical memory which is present on the server and
the VMM can access. Almost all the physical resources which are shared among
virtual machines are using the time slicing technique which can be scheduled
based on the priority of each VM. (Semnanian, 2013)8
The virtual memory support provided by current
operating systems is to be likely a memory virtualization. In an outdated
situation, the OS maintains page table for mappings of virtual memory to
machine memory, which is a one-stage mapping. All current x86 CPUs comprise a memory
management unit (MMU) and a translation look aside buffer (TLB) to enhance
virtual memory performance.
Yet,
in a virtual implementation situation, virtual memory virtualization includes
sharing the physical system memory in RAM and dynamically allocating it to the
physical memory of the VMs. A two-stage mapping process should be preserved by
the guest OS and the VMM, correspondingly: virtual memory to physical memory
and physical memory to machine memory. The VMM is accountable for mapping the
guest physical memory to the actual machine memory in guest OS.
Each
page table of the guest OSes temporarily has a distinct page table in the VMM matching
to it, the VMM page table is named the shadow page table. VMware uses shadow page tables to complete
virtual-memory-to-machine-memory address translation. Processors use TLB
hardware to map the virtual memory straightly to the machine memory to dodge
the two levels of translation on every access. When the guest OS changes the
virtual memory to a physical memory mapping, the VMM informs the shadow page
tables to allow a direct lookup. See the figure below
(Kai Hwang, 2012 )9
5.5 Implementation
Memory Virtualization
It announces a new way to separate
memory from the hardware to provide a shared, distributed or networked
function. It improves performance by providing greater memory capacity without
any addition to the main memory for the CPU and for
the server. A pool of memory is share to
challenge physical limitations which can be a bottleneck in software performance. The
Applications will use contiguous address space
which is not related to the physical memory
on the server. The operation systems will manage the mapping of the physical
page numbers to the virtual page numbers.
Computer Hardware virtualization
Computer hardware virtualization of is done by a
component called Virtual Machine Monitor (VMM). VMM is the control system at
the central of virtualization. It function is to behave as the control and
translation system between the VMs and the hardware. Explicitly, the OS(s) sits between the monitor and the
hardware and gives the impression to the each OS that it controls the machine.
But in certainty, is not the hardware but the monitor is in control of the
hardware, load balances and multiplexes and time slices running OS instructions
diagonally the physical resources of the machine. The VMM can be regarded as an
operating system for operating systems, but at a much inferior level. The
design of VMM such that the running OS still reasons that it is cooperating
with the physical hardware itself. The
key task of VMM is the effective controlling of physical platform resources; this
comprises memory translation and I/O mapping. In the multifaceted environment, time
consuming operations involved creating and run them in virtual machines, until
now, showed significant performance reductions compared to dedicated physical
machines.
(Verma)10
Implementations
Level
of integration (Application) -– Applications continuously on linked computers directly
link to the memory pool through an API or the file system.
Operating
System Level Integration – The operating system first links to the memory pool,
and makes that pooled memory existing to applications.
(Bhupender, June 17, 2016)11
As
we as analyses architecture memory virtualization, (Pant, April 22, 2016)12 in his
report during the conference he said, because of the memory over commitment
there is need of memory management. There must be memory management policies
that will include low level techniques of memory reclamation. In an addition
the present reclamation techniques can have problems and need perfections or a
particular reclamation can be better over other.
What
is memory reclamation?
Memory management comprises two main
active responsibilities, memory allocation and memory reclamation. Memory
allocation deals with the process of reserving memory and memory reclamation
deals with the process of discovery idle memory that can be reclaimed. (Marina
Papatriantafilou, August 2009)13
Tools of Virtualization
Today’s virtualization has becoming
so important in the organization; many tools has been develop to achieve
efficient virtualization. Virtualization offers higher hardware utilization. It
usage is to partition the computer resources and henceforth supports sharing of
resources and provide load balancing. Virtualization tools like OpenVz, Xen,
VmWare, Virtual
Box, Qemu etc. are extensively used in the computing firms today.
Some of these tools are from open sources and they are efficient and effective.
(Anum Masood, 2014)14
Why
virtualize?
As computer has becoming a major
asset for many organizations today and the cost of personal computers and
servers continuing varies and this has led to a state where it is not unusual
to have many servers throughout the organizations. Organizations cannot afford
to buy several servers and many operating systems. More powerful and multitask
computers are in the system today. Virtualization is approaches that will
enable organization the cut down and manage the servers that are underutilize,
work load will be shared easily and also energy will be preserved. (Gahagan, 2010)15 Virtualization
in general has great impact in the computer as whole. Virtualization is done on
most servers. One of the main benefits of server virtualization is that it
permits IT organizations to combine servers as a single physical server can
support multiple virtual machines (VMs) and applications. No more many servers,
one single physical server can be used as virtual machine. This result is a
reduction in the number of servers in a data center or server room which leads
to important savings in, costs of server hardware and software, server
management labor expense plus facility costs for power, cooling and floor space. (Metzle, 2011)16 In the
white paper writing by (Glasgow, July 2007)17 at Intel Information
Technology has decided to do extensive analysis of maximum physical memory
consumption. They use more than 3,000 servers running on non-virtualized
workloads in their business computing environment. They found that roughly half
of these servers consume 1 GB of memory or
Less for workloads of this size,
they believe that they can achieve high consolidation ratios of up
to 15-20 to 1 using low-cost
dual-socket virtualization hosts based on quad-core processors.
they expect that this approach
will diminish cost because they evade paying for unused memory
and related power and cooling. Intel
IT has uniform on 16 gigabytes (GB) of memory for dual-socket virtualization
hosts. They are able to achieve a good result.
For the workloads of this size,
their search to date shows that they are able to achieve consolidation ratios
of up to 15-20 to 1 using low-cost dual-socket virtualization hosts based
on quad-core processors. Another research done in 2010 by Processor Goran
Martinovi? and his colleague at University of Osijek revealed the ability for
virtual machine to run well it depends on the host operating system and
resources management. A host operating system that has more competent hardware
and software resources allocation will
provide better performance for running a virtual machine. The utmost impact on the performance Hardware components with are as follows : Memory –
memory size of a virtual
computer can take at most half the size of
system memory. The performance
measurement is done by (Goran Martinovi?, 2010)18.
The Hardware and software
requirement below.
They have used use a virtual
computer with 1 GB of memory and Windows 7 to see the performance of the PC. They
assume this operating system has improved performance than Windows XP, CPU. As virtual
PC does not emulate the CPU, a virtual machine executes a certain instruction
right on system CPU. Likewise,
performance measurement is done on a
laptop computer connected to an AC power during measurements because mobile
processors lower they performance
to save energy when a laptop computer
is not connected
to an AC power, graphics has only
8MB of memory. Furthermore, knowing
the resolution and the number of
monitors can also
affect performance so they used
only a laptop monitor with the screen size of 17 inches. On Hard disk
drive a virtual machine uses hard disk drive resources by generating virtual
disk partition.
After they measurements
performance, they realize Windows
Vista has alike results
as Windows 7. Yet, other
results show meager
performance of Windows Vista, even worse than Windows XP. From performance evaluation they can settle
that the virtual operating system has the best performance when Windows 7 is
used as the host operating and with high specs.
From the note above we have
realized virtualization provides a lot benefits but also there challenge.
Especially these challenges are common with data centers where there big data
transactions. So what are the collective problems
with data center virtualization?
1.
Missing components
One
of the major problems is that IT organizations regularly virtualize part of
their data center assets. Like big data, virtualization works finest when it
comprises everything and there aren’t tall tower of data storage or data
management usages. Preventive the scope of the virtual infrastructure
ultimately increases cost and difficulty.
2.
Underused servers
Most
standalone server is underutilized but
virtualization makes better use of current servers while separating resources
and workgroups.
3.
Resource challenges
The
virtualization data center allocating of resources can create load-sharing
problems. For example, where several workloads are multiplexed using the VM
hypervisor, IO streams starts contending for accessible resources. This raises
the IOPS needed for virtual workloads. The normal solution is to overprovision
the hardware to improve performance. (Burgess, 2017)19
In
the virtualization domain, most time memory is an important resource. With virtualization will
helps to over commit memory which improves usage, but can lead to other
problems if not properly managed.
Memory Over-Commitment
Memory
Over-Commitment is the hallmark that permits a hypervisor to allocate more
memory than the physical host actually has available. For example, if the host
server has 2 GB physical memory available it can allocate 1 GB each of it
memory some to its virtual guest machines
typically, this is does not cause
any harm, as most virtual machines only use a portion of their allocated
memory.
If
the guest PC has not used all the memory otherwise, memory on the physical host
might begin to run out. The hypervisor can find you in these condition and
reallocate unused memory from other VM’s, using a technique called memory
ballooning.
Memory Ballooning
Memory Ballooning arises when a host
is running low on available physical memory. It includes the use of a driver –
called the balloon driver – installed on the guest Operating System (OS).
So, how does this happen?
Virtual Machine X wants memory, and the hypervisor has
no more physical memory accessible.Virtual Machine Y has particular underutilized memory.The Balloon driver on VM Y ‘fill’ and this memory is now available to the hypervisor.The Hypervisor makes this memory balloon available to
VM X.Once there is more physical memory available, the
balloon on VM Y ‘gas out’.
For the virtual machine stop ballooning you
can create a ‘memory reservation’ for the virtual and assuring an amount of
physical memory. Ballooning can lead to swapping, another memory
management technique. In order avoid any issues that might arise, we need to
plan and before implementation memory virtualization. (Sowande, 2015)20
6.10 Conclusion
The
primary purpose of this paper is to study the impact of memory vitalization on computer
in general. Based on these studies and analyses, virtualization comes with a
lot benefits in terms cost and performance and saving energy. There no need to
buy many servers; with a single machine you can virtualize others server, and
manage the workload. Memory virtualization doesn’t reduce the performance of
the PC or the server rather, if memory is not well management, you pc can’t be
underutilize or can you to
difficulties. Not all of
tasks have been accomplished in this paper; thus, this paper is open for
further review.