VMware

February 26, 2008

VMware Everywhere

OEMs and VMware Launch Full Plug-and-Play Virtualization

VMware’s mission has always been to create ground-breaking software that truly transforms all facets of computing, and today we have announced another major milestone towards this mission. VMware announced agreements with the world’s largest systems providers – Dell, Fujitsu Siemens Computers, HP and IBM – to embed VMware ESX Server 3i across broad lines of servers to accelerate the proliferation of virtualization across companies ranging from small businesses to large enterprises. This program validates that VMware Infrastructure has become a critical enabler for transforming the modern datacenter. These partners are expected to commence shipping their respective industry-standard servers integrated with VMware ESX Server 3i within the next 60 days.

Simplifying virtualization

3i Major OEMs and VMware are working together to make this transformation as simple as possible. With ESX Server 3i integrated into servers, customers get the most proven, reliable, feature-rich, secure virtualization platform just by turning on the virtualization-enabled server. ESX Server 3i uses intelligent defaults so that new users can run their first virtual machines in minutes.

A hardware-centric philosophy

VMware has always believed that virtualization should be integrated into hardware, always there to enable the computing resources’ full power and capabilities. This hardware-centric philosophy differs from other virtualization vendors that think of it as just another feature in a traditional (and large) operating system. For this critical layer of your datacenter, you should absolutely expect and receive the rock-solid reliability, security, and performance that you are used to from hardware. Expectations of modern operating systems are, shall we say, lower.

Size matters

Key to this vision is the new architecture that ESX Server 3i introduces. This architecture provides all the performance and reliability features of ESX Server in a small, 32MB footprint. This is 1/50th the size of a typical Windows or Linux OS deployment! ESX Server 3i is the only hypervisor that does not depend on a large, general purpose operating system to function. This small footprint reduces the amount of code that can have bugs in it, streamlines performance, and minimizes the interfaces and code “surface area” that are the target of security attacks. It is this new architecture that makes us confident that ESX Server 3i will be the most reliable, highest performance, and most secure virtualization platform around.

More on reliability

While ESX Server 3i is a new architecture, it is built from exactly the same code that is in our existing ESX Server product line (which is completely compatible with ESX Server 3i). ESX Server has a rock solid, production-proven record and has been battle-tested in tens of thousands of deployments over the last seven years. It is this reliability that has helped encourage 85 percent of VMware’s customers run ESX Server in production, and 46 percent make VMware Infrastructure their default for new application deployments. Redmond Magazine recently ranked ESX Server first in reliability, ahead of the mainframe, saying that the code is “bomb proof.” This is a testament to the testing that the VMware engineering teams absolutely obsess over.

Less code, but more capabilities

ESX Server 3i is a component of the award-winning VMware Infrastructure suite. Even though it is such a small amount of code, it supports the suite’s full capabilities. VMware VMotion, VMware HA, and VMware DRS were first introduced in mid-2006 and have become necessary components for any large-scale deployment. These virtual infrastructure services are a requirement for providing availability to applications in the event of hardware failures, minimizing planned downtime for maintenance, and load balancing resources across an entire cluster of servers.

Recently, VMware added additional products to the suite to extend our lead, including VMware Update Manager for automated patching, VMware Storage VMotion for zero-downtime migration of virtual machine disks, and VMware Distributed Power Management (a feature of DRS) for minimizing hardware power consumption when application demands decrease.

Plug-and-Play virtualization

Even in its slim package, ESX Server 3i supports all of the above capabilities, enhancing their value in many cases. Think of this: when you’re buying hardware that has ESX Server 3i pre-installed, the notion of on-demand computing becomes a reality. You can now easily and transparently add computing capacity to an existing virtualization deployment just by plugging in a freshly purchased server and letting VMware DRS take over to migrate virtual machines onto that new server. This truly is the “plug and play” data center!

I hope this blog has helped explain the true impact of this announcement. It’s extremely exciting to experience this clear point in time when the industry shifts and the true power of virtualization is unleashed.


April 18, 2007

The Amazing VM Record/Replay Feature in VMware Workstation 6

VMware Workstation 6 is coming shortly, and we’re quite excited about its many new features: support for paravirtualized Linux kernels, integration with Microsoft Visual Studio and Eclipse, high-speed USB support, multiple monitor support, and the new VIX 1.1 VM scripting API to name a few.

One other new feature that we’re extra excited about is “VM Record/Replay” (shown enabled below). The idea behind Record/Replay is relatively straightforward. When executing software within a virtual machine (VM), our virtualization layer can record the complete execution behavior. Having saved this behavioral information, the user can go back in time (from the VM’s point of view) and replay that exact and complete behavior over and over again. The keywords here are exact and complete, and that’s where both the implementation challenge and the power come from.

Settings

First let’s examine why this is so challenging. The execution of any software on a computer is comprised of a fairly complex set of interactions. The computer’s CPU is constantly fetching and executing instructions, accessing memory, and trapping into the operating system for a variety of services. Meanwhile, the computer’s I/O devices (e.g. disks, network cards, mice, keyboards, and timers) are doing things on their own schedule, interrupting the CPU when someone types, a network packet arrives, or they otherwise need the attention of the operating system. When these “asynchronous” events occur, the CPU responds almost immediately, heading down a new execution path to provide the appropriate response for the event. And because the devices are on their own schedules, the complete execution path of the software can be very different from one execution of software to the next. Add multi-threaded programs into the mix and you have a situation where no two executions of software are ever exactly the same.

It’s this non-deterministic behavior that makes computers complex systems and that causes such pain for programmers trying to make their code flawless. Many software problems only occur when one of the many millions of possible execution paths takes place, and it is this class of bug that leads many programmers to tear out their hair claiming “well that customer problem doesn’t occur for me”. The end result is that bugs often go unfixed.

Now let’s discuss how life can be better in a VM. Because our virtualization software sees and controls all of the execution of software within a VM (the “guest” operating system and applications), it can do many things that normal hardware cannot do. One such thing is this VM Record/Replay capability.

When you enable the Record/Replay feature, VMware Workstation immediately takes a snapshot of the full VM state, continues guest software execution, and begins tracking its execution behavior. We’re not talking about a movie of what’s on the screen, but the full system behavior including all CPU and device activity. It notes the exact point in time when every device interrupt or other asynchronous event occurs and records this information to a compressed log file until you tell it to stop. It actually has to save a few other things such as the contents of all incoming networking packets, too.

Dorecord

When you choose to replay the recording, it restarts the VM from the snapshot and faithfully re-creates the recorded execution by feeding the logged events and data back to the VM at the exact points in time when they occurred during the original execution. The result is that the exact same execution path is followed during replay. And since the log is saved to disk, you can share the exact execution scenario with others and replay it over and over and over again. We also allow you to “go live” at any time, aborting the rest of the replay and allowing new interactions and new behaviors to proceed. One analogy is autopilot for an airplane. You can disengage it at any point in the trip, go to manual control, and head off in a new direction from that point.

Following this idea further, the combination of VM Record/Replay and snapshot management allows a user to create a whole tree of execution path alternatives and replay from any point in the tree. Here’s an example tree showing how one might use this to hone in on a problem.

Snapshots_3

To make VM Record/Replay extra useful for programmers, we’re rolling out a variety of tools and procedures that leverage it in interesting ways:

  • We’ve integrated the use of Record/Replay into the gdb debugger. Users can record execution of the VM, and then attach gdb to the guest OS or applications during replay. At that point, they can look at memory, set breakpoints, and single step through the execution. Yes, we can do this in any part of the kernel! Furthermore, we’re able to use this with unmodified kernels (no kdb needed) and the breaking and stepping is completely transparent to the guest OS. The below example shows the debugging of a linux device driver that has an error in its interrupt handler. Unlike traditional debugging, here we can repeatedly hit the issue with replay and then single step through this highly sensitive, privileged code!Replaydebug

  • We’ve added the ability to produce detailed instruction traces from the recorded execution. Unlike existing tracing frameworks, the Record/Replay approach is non-intrusive; it can capture extremely detailed information without affecting the system during capture. Heisenberg would be proud.

  • We’ve also added “in-guest recording control”. This lets guest software start and stop VM Record/Replay itself. For example, an ISV might ship their beta software in a VM and have it invoke recording when someone uses a specific feature that has a history of sporadic problems in the field. Should a beta user hit a problem while running this feature, the log of full activity is present. They email it to the ISV and voila… there is now a deterministic case of the bug for developers to work on!

We’ll be publishing instructions for using these and other tools with VM Record/Replay shortly so stay tuned.  In fact, one of the developers, Vyacheslav (Slava) Malyugin, has already started blogging additional technical nuggets on using tools with this technology.

A few caveats… VM Record/Replay is an experimental feature in VMware Workstation 6.0. This is an extremely challenging problem to solve and our incredible engineers have been hard at work on it for some time now. As an aside, they sure wish they could use record/replay to debug problems in the record/replay implementation. Nonetheless, things are working quite well within a handful of hardware and virtual machine configuration constraints. For example, we’re currently unable to properly record execution when USB or sound devices are in use by the VM.

I should add that the core VM Record/Replay technology is useful for many tasks beyond debugging those nasty race conditions. Some customers are telling us this will help them create better sales and training demos that they’re sure will work time after time. With “go-live” mode, they can play the demo, but also let their customers begin interactions at any point. Other customers have indicated they’ll use this for forensic purposes.  For example, with such a record of someone breaking into a VM (a honeypot or a production server), experts can study and understand exactly what went on during the break-in. We have lots of other plans in the works for this technology as well, so stay tuned!

So to all you programmers out there, download the latest release candidate (RC2 is coming shortly), and check out this amazing new capability. Once you’ve experienced debugging in a world of deterministic execution, you may never go back to the non-virtual world!


January 23, 2007

We’ve been busy…

Happy 2007 to everyone! Sorry it’s been a while since the last entry… we’ve been quite busy here in VMware Research & Development. On this topic, I thought you’d enjoy a few updates on what we’ve been up to and some things to look forward to in 2007.

VMworld

In November we held our 3rd VMworld event in Los Angeles. The attendance exceeded our most optimistic expectations again with more than 7,000 people. if you were unable to make it, you can go to http://www.vmware.com/vmtn/vmworld/ to see a video of the general session and to get access to recordings and presentation materials from the breakout sessions. It’s hard to believe, but planning for VMworld 2007 is already well underway. It’ll be from September 11-13 in San Francisco, and I hope to see you there!

Products

On the product front, these last few months have been among the busiest in company history. In just the last 3 months of 2006, we released:

  • VMware Lab Manager 2.4: This is the first product coming out of VMware’s acquisition of Akimbi, and early signs are that it will be a big hit with software developers and testers. Check out the details here.
  • VMware Capacity Planner 2.2: This is a tool used by professional services teams to assess the utilization of a company’s servers. It’s often used in offerings such as our own "Virtualization Assessment" offering

We also went pretty wild with betas. You can check out http://www.vmware.com/vmtn/beta/ to see all of our latest downloadable beta offerings.

  • Earlier in the quarter, we put out a beta of VMware Converter 3.0 and phased delivery of the general availability (GA) version is underway. This tool combines and replaces our older VMware P2V Assistant and VMware Importer tools. It is used to transform physical machines into virtual machines as well as to transform a variety of third party disk images into virtual machine images. The hot cloning feature is particularly nice, so check it out.
  • And then to close out 2006 with a bang, we released several betas on December 21st. These products share a lot of source code, but it’s still a huge challenge to get these all out at once. Making the biggest splash was VMware’s desktop product for Mac, codenamed Fusion. This is our first entry into the x86-based Mac market and the response is overwhelming. We also released a beta of the new VMware Workstation 6.0 product. This team is great at bringing new software developer- and test-focused features to market and I’m particularly excited about the integration with debuggers, multi-monitor support, and automation APIs. The beta of VMware Player 2.0 comes along with VMware Workstation and we hope you enjoy its increased focus on supporting the growing Virtual Appliance Marketplace.

2007 is going to be even busier! In addition to bringing all of these betas to GA status, we have several new releases on the way. You can look forward to a 2.0 version of the free VMware Server product, a new major release of VMware ACE, and several additions to VMware Infrastructure 3. I can’t share many more details just yet, but stay tuned!

People

Last, but certainly not least, we’ve been incredibly busy on the people front and working to grow our outstanding R&D group across the globe.

In the US, we’re continuing rapid grow in our Palo Alto, California headquarters. This year will be particularly exciting as we shortly move into our shiny new campus.

Courtyard of VMware's new campus

We recently opened a San Francisco office and are filling it up rapidly! We now have enough people going back and forth to support the VMware Palo-Alto-to-San-Francisco shuttle bus. One of our engineers there has a nice picture of the location if you’re interested.

Additionally, we are continuing our rapid growth in Cambridge, Massachusetts and are enjoying being in the middle of so many great academic institutions. In February we move into our new Kendall Square offices with a beautiful view of the Charles. Stay tuned for an announcement about our open house there in March.

Finally, we’re starting to ramp an R&D office near Boulder, Colorado and have our first people in Austin, Texas.

Internationally, we continue to grow rapidly in Bangalore, India. I’m also very excited to announce the opening of our first European R&D office in Aarhus, Denmark. We’re moving into the space as we speak, so I’ll have better pictures than the below shortly.

Aarhus_1

And if it’s not obvious from the above, we’re hiring.

Hope this has been interesting. One of my new year’s resolutions is to improve my blogging frequency, so drop me a line if there are some topics you’d like to hear about.


November 07, 2006

Virtualization: Open Standards, Interfaces, and Formats

We've been touting the notion of open standards, specifications, and formats for quite a while now. I wanted to take an opportunity to re-derive the importance of this openness to the virtualization industry and give a brief update as to where things stand.

We're all seeing two very strong trends in the virtualization industry; growing enthusiasm for the notion of virtual appliances and a rapidly growing ecosystem around the virtualization layer.

Virtual Appliances

First, virtual machines are becoming a preferred way of developing, deploying, and managing software. We've termed the combination of an application and its operating system in a virtual machine a "virtual appliance", and these truly have the ability to change the way we all think about software.

For virtual appliances to achieve their full potential, openness in virtual machine-related interfaces is critical. The real promise is "any software on any virtualization layer". We believe customers should be able to choose and/or purchase a virtual machine consisting of any application running on any operating system and then run it on their virtualization layer of choice.

This scenario requires openness in virtual machine disk format, software licensing policies, and operating system-to-hypervisor communication. Dan Chu addressed the first two areas quite nicely in his recent blog. We're seeing growing openness around Microsoft's VHD disk format, but are concerned that they may start restricting the use of these virtual machines to their own virtualization software.

Much has also been written about "paravirtualization", a set of optimizations that an operating system can leverage when it knows it is running within a virtualized environment. As mentioned in a previous blog, the Linux community seems to be iterating quite nicely towards a public, open approach to paravirtualization. This will allow a paravirtualized Linux-based software stack to run equally well across a variety of virtualization layers.

Microsoft also has a paravirtualization approach known as "enlightenments" that it will take advantage of in future versions of Windows. There has been no public commitment to freely allowing non-Microsoft virtualization layers to take advantage of these optimizations. We of course think that this is not in the best interest of customers or of the industry as it can lead to customer lock-in, non-interoperable virtual machines, and ultimately reduced choice in virtualization solutions.

Virtualization Layer

The second trend in the virtualization industry is rapidly growing adoption and a corresponding growth in the eco-system around the virtualization layer itself. There are several instances of virtualization available today and surely there will be even more in the future. We have been focusing on two areas important in helping both customer and others in the industry more easily manage and make sense of the growing options.

First, effective management of the virtualization layer is key to realizing its operational benefits. Furthermore, as virtualization further penetrates the datacenter, more and more customers will want their existing tools to be aware of, and in fact leverage virtualization's unique capabilities. To work towards open industry standards, VMware and many other key players in the virtualization space are active participants in the DMTF SVPC (system virtualization, provisioning, and clustering) subgroup.

Second, customers continuously ask for benchmarking tools to enable them to intelligently make choices as to which virtualization offering makes the most sense for them and which hardware configurations are most appropriate for their needs. We recently blogged about VMmark, an approach to virtualization benchmarking that we have worked on with several partners.  More importantly, we're pleased that the SPEC organization will begin work on an industry standard version of such a benchmark.

In summary, we're at a unique point in time in the industry and have a great opportunity to do things better. By focusing on open standards, interfaces, and formats in several critical areas, we have a chance to really take advantage of all that virtualization has to offer.


November 01, 2006

Welcome to Virtually There

Welcome to the new home of Virtually There, the blog of VMware vice president of technology development Steve Herrod.

Recent posts from Steve include The Road to 64-bit Virtual Machines, 64-bit Virtual Machines for ESX Server!, and Technology Preview for Transparent Paravirtualization.