IT Management
Home >
IT Management >
Sanity Check: A Virtualization Primer for IT Execs
SUB DEPTS
Sanity Check: A Virtualization Primer for IT Execs
by Bill Carico
February 12, 2009
Here’s a definition of virtualization from Wikipedia:
In computing, virtualization is a broad term that refers to the abstraction of computer resources. Abstraction is the process or result of generalization by reducing the information content of a concept or an observable phenomenon, typically in order to retain only information which is relevant for a particular purpose.
There you have it. Although this definition is a bit abstract, let’s discuss one of the hottest topics in computing.
I was first exposed to computer virtualization when I joined IBM after graduating from college in 1973. An instructor told me to “just think of virtualization as being able to carry 10 pounds of sand in a five-pound bag.”
From that point, I went on to learn in great detail how a hardware Dynamic Address Translation (DAT) box enabled the processor to operate as if it had more main memory than was physically attached. Relating to the bag of sand analogy, the value proposition was that it was easier for programmers to create 10 pounds of sand (code) when the physical capacity of the computer was limited to five pounds of sand. All that was needed was an auxiliary sand bag and a DAT box to switch grains of sand between bags in a way that was transparent to the executing program.
OK, just three more definitions to lay a proper foundation: Real means you can see it and it’s really there. Transparent means it’s there but you can’t see it. Virtual means you can see it, but it’s not really there.
Prior to memory virtualization, if a program exceeded real memory capacity, a subset of the code was loaded into executable memory (main memory) as a starting point and the remainder was stored on auxiliary storage (disk or tape) and subsequently loaded as needed. This meant the application programmer had the additional burden of creating and loading the program’s segments. When IBM virtualized the mainframe’s operating system 40 years ago, application programmers were liberated from dealing with program segmentation and overlays because the operating system would create the illusion of having more memory capacity than actually existed. During program load, just prior to execution, the operating system divides the program into small pieces and moves chunks of the program (called pages) between main memory and disk during execution. As you can imagine, there’s a performance cost for this illusion. The good news is that for the majority of programs, 80 percent of the activity occurs within 20 percent of the code, which keeps paging overhead more tolerable.
From these humble beginnings, resource virtualization has since become popular to varying degrees on platforms of all sizes. Virtualization techniques are used to manage operating systems, storage devices, and networks. The payoff comes through consolidation and reducing overall complexity in ways that decrease hardware costs, improve reliability, are eco-friendly, and translate into various operational efficiencies.
This article has no comments. Be the first to comment!
COMMENT ENTRY
SEARCH DEPTS
MAINFRAME JOBS




