64-bit and Virtualization - Mainstream?
Virtualization will drive the adoption of 64-bit computing.
Back when we first started with the program we refer to as the Common Engineering Criteria (CEC), we pushed support for Virtualization and 64-bit processors across our products. Now it looks as if we're going to get help making them mainstream from customer demand, no less.
In case you don't know what Virtualization is or what 64-bit means, let me provide a short primer.
Effectively, Virtualization (Virtual Server and Longhorn Server's Windows Virtualization) creates a sandbox, where the application(s) running believe that there's nothing else running beside them and an OS. Access to hardware is provided through the Virtualization layer and it can support many different OS's. In many ways you can argue that we are simply taking the vitalization of resources in Windows one stop further.
64-bit is simply the next generation of processors. Both Intel and AMD have been pushing 64-bit for a while, albeit using different designs initially. There are many benefits of 64-bit computing, and it is not the purpose of this blog to go into them all, but let me summarize:
- Hardware support for Virtualization
- Support for a vast memory space
- Better hardware protection from rogue programs
As I alluded to previously, we pushed the adoption of these two technologies since the initial set of the CEC, published in 2004. If you don't know what the CEC is you should read one of my previous blogs (Common Engineering Criteria - Consistency and Predictability).
It was obvious to us that adoption of 64-bit in general and Virtualization in particular was not a matter of if, but when. We were surprise how fast hardware caught up with regards to servers. Today it is virtually impossible to purchase new server hardware that is not x64-based.
In our CEC for 2008 we are dialing up the support for 64-bit (x64 specifically) system in the server space. We seen over the last year of so that customers have started starts to move from experimenting with vitalization to actually deploying in their data centers, although not in vast numbers initially.
We are assuming that Virtualization and 64-bit (in particular x64) will be mainstream by 2009. And I'm suggesting that the former will push the latter.
Huh?
Let me expand on that. With Windows Virtualization for Longhorn server (codename Viridian) we are introducing a new generation of Virtualization for Windows Server, among other things we taking advantage of the hardware support for Virtualization that AMD and Intel are providing with the their new generation of x64-bit processors (codename VT and Pacifica, respectively). This basically means that the Virtualization software no longer will have to do the heavy lifting of pretending that the OS inside it is running directly on hardware. Remember that Intel's x86 processors provide several levels of protection : Ring 0 through 3. x86 based OS, such as Windows run typically run in ring 0, with applications and most services running in Ring 1 -3. Both processors will provide new Virtualization extensions to allow an the Virtualization to run at a higher level than 0 (with better protection and higher priority that both ring 2 and ring 0), whilst providing the capability of allowing OS's to run in guest partitions on top of it in as though they were running in Ring 0. If this makes your brain hurt, think of it as if the hypervizor runs in ring -1.
In Windows Server "Longhorn" this means that we can provide a very thin OS (referred to as the Hypervizor), on top of which the actually OS's run. This very thin OS will provide a Master OS that controls the other OS's. Effectively, this will give us better performance as well as better control.
Without going to deep into what Virtualization is going bring us and what inevitable challenges we come across, I believe that our customers would want to use the new Virtualization capabilities we are provide together with Windows Server Longhorn.
However, there's a catch, the new hardware capabilities that I've just described above are only provided on Intel's and AMD's 64 bit processor. This means that in order for our customers to take advantage of these new capabilities, they'll have to move the 64-bit. It's my personal opinion that there's sufficient value in doing so, including the new Virtualization capabilities. Also, bear in mind that even though the hypervizor will run on 64-bit systems, it will support both 64- and 32-bit guests OS's.
Now, even in the longer term, it's unlikely that all applications will run in a virtualized environment, but a significant percentage will. Most likely, there will continue to be a number of applications that have special roles (anti-virus, etc) or requires access to specialized hardware devices, thus preventing these from taking advantage of the Virtualization technologies.
In conclusion, today we mandate that, unless there are specific hardware reasons, all infrastructure server products be capable of running in a virtualized environment (for more details, check the CEC homepage). We also mandate that all infrastructure server products support 64-bit. It's our goal that we will have completed the transition to 64-bit support (x64) of of our infrastructure server software by the end of 2009.
Clearly, there's a bright future for 64-bit systems and Virtualization, now we just need to manage those, but that is a topic for later.
If you wish to give me feedback as to what additional criteria (common features or technologies) we should consider in the years ahead feel free to post comments to this blog.
For more information go to the following site:
http://www.microsoft.com/windowsserversystem/cer/overview.mspx