NO EXECUTE!

(c) 2008 by Darek Mihocka, founder, Emulators.com.

Friday June 13th 2008


[Part 1]  [Part 2]  [Part 3]  [Part 4]  [Part 5]  [Part 6]  [Part 7]  [Part 8]  [Part 9]  [Part 10]  [Part 11]  [Part 12]  [Part 13]  [Part 14]  [Part 15]  [Part 16]  [Part 17]  [Part 18]  [Part 19]  [Next]   [Return to Emulators.com]

The Simpsons NO EXECUTE Goes To Beijing!

Since my last posting I received official confirmation that my paper on virtualization based on much of my past year's worth of research has been accepted for the AMAS-BT workshop to be held at this year's ISCA 2008 conference in Beijing, China. Ha! And they said my plan to run Windows on the Sony Playstation 3 was crazy. I am still scrambling to get my Chinese travel visa (hey, Japan didn't need no stinkin' visa!), so assuming that I do get the visa on time and make it to Beijing, I will be co-presenting the paper with Stanislav on June 21st somewhere there at the conference. I invite any other geeks who plan to attend ISCA to come to our presentation which covers Bochs 2.3.7, Gemulator 9, and the techniques used to make virtual machines more portable. In other workds, it is your chance to come ask me in person to explain to you in plain English what the heck I've been posting here to NO EXECUTE for the past 9 months!
 


Bochs 2.3.7 and Fedora 9 are Golden, Making Possible Windows on Sony Playstation 3

Did I just say Bochs 2.3.7? Yes I did. Just a few days ago on June 3, the official release of Bochs 2.3.7 was made and is available here: http://bochs.sourceforge.net/. If you wish to experience first hand some of the fantastic performance improvements in Bochs since versions 2.3.5 and 2.3.6, download it. Now!

If you own a Playstation 3, even more reason, because in May the golden release of Fedora 9 Linux was made, available here: http://fedoraproject.org/en/get-fedora. Unlike Fedora 8, which you had to jump through hoops to get to install on the PS/3, Fedora 9 "just works". It is about as seamless an install as it gets:

  • Download the Fedora 9 ISO image for PowerPC,
  • Burn the ISO to a DVD,
  • Pop the DVD into your PS/3, and select "Boot Other OS" from the Playstation menu,
  • Select "Developer Tools" and let it install. Done.

The install includes the Firefox 3 release candidate, the latest GCC 4.3 compiler, and thus at that point you're all set to download and build Bochs. Boot up Firefox, download a snapshot of Bochs, run the "sh .conf.linux" script as described back in NO EXECUTE Part 17, and type "make". Here are actual screen captures taken on my own PS/3:

Fedora 9 desktop running on Sony Playstation 3 showing an attached Apple iPod, Firefox on the Bochs web page, and successful Bochs build.

Fedora 9 on Sony Playstation 3 booting Windows XP in Bochs virtual machine. Repeat. Sony Playstation3. Windows. Gravy!

Since then I have also taken some old PowerMac machines out of mothballs and have built and run Bochs on a dual-core Apple PowerMac G5. The exact same installation DVD that you burn for the PS/3 "just works" on the PowerMac G5. Unfortunately in installing Fedora I stupidly overwrote both hard disks and wiped Mac OS X Leopard from the machine, so now I'm futzing with re-installing Mac OS X and having it dual boot with Fedora 9.

Whether you are running it on a Playstation, a Mac, or a PC, Fedora 9 has one very excellent feature that even Mac OS X Leopard does not support - Fedora 9 can write to NTFS partitions. In the screen shots above, that is actually my 60 GB video iPod connected via USB showing up as on of the drive icons on the desktop. I use my iPod a small portable storage device for various Linux ISO images and virtual hard disk images so that I can quickly copy them to various computers. Mac OS X Leopard will read an NTFS partition but cannot modify it. I was pleasantly surprised to find that Fedora lets me copy updated images back to the iPod's 60-gig NTFS partition. Chop chop Apple! If the recently announced Mac OS X 10.6 "Snow Leopard" is really going to a fit and finish polishing of Leopard, then take care of such small details.

Unlike the Boot Camp hoops one has to jump through on a new Mac, I found that Fedora 9 and Mac OS X 10.5 co-exist just fine on the PowerMac G5.


The "Friends of VMware" Event

In early May I received an invitation directly from VMware to come down to their new headquarters in Mountain View for a "Friends of VMware R&D Open House". This is the actual email invitation:

 
Friends of VMware R&D Open House
Wednesday, May 14, 2008 Event Details
     

 We are looking forward to seeing you on campus this Wednesday, May 14 from 5:30 pm to 8:00 pm. for our invite-only Friends of VMware R&D Open House Event.

When you arrive on campus, between 5:00 pm and 5:30 pm, please follow the signs to Visitor Parking, where complimentary valet parking will be available for your convenience.

Enter through the lobby of building A and pick up your name badge. Then, join us in the VMware Caf, where gourmet appetizers, beer and wine await.

From 5:30 pm to 6:30 pm, you will have the opportunity to mingle with VMwares senior R&D professionals and other virtualization enthusiasts according to areas of interest, including core platform, virtual infrastructure management, virtual desktop solutions, etc.

The program will start promptly at 6:30 pm . We expect this to be a full event, so be sure to grab a seat early.

On your way out, dont forget to pick up your Friends of VMware goodie box, which includes your choice of a Free VMware Workstation 6 or VMware Fusion for Mac software license.

See you at the event!

 

Location

VMware Headquarters

3401 Hillview Avenue
Palo Alto, California 94304
Directions

Curious to speak with their engineers and see what cool things they have brewing in their labs, I booked a last minute $500 trip (ouch!) and headed for Mountain View for the May 14th event. Since Microsoft holds an annual event in Redmond called TechFest where it does in fact open up its door to outside media and other invited guests to show them what Microsoft Research is brewing up, I naturally expected this event to be a VMware equivalent of TechFest. I was very wrong. This is about as bait-and-switch as it gets, as this was nothing more than a thinly disguised recruiting event. Hundreds of mostly local Silicon Valley types had been invited to mingle with VMware staff. Based on the badges I saw and people I talked to, I may have been one of the few out-of-towners at the event. I realized soon enough that the event was nothing more than a very low budget recruiting event disguised as an "R&D Open House" to avoid having to actually pay to fly anyone down. Clever, but odd that VMware would need to pinch pennies.

The "Open House" took place at VMware's new Hillview Avenue campus, a few blocks from their old campus on Porter Drive. What a stark contrast between their pre-IPO and post-IPO campuses. When I interviewed at the old campus a couple years ago, VMware's offices were located in a typical drab Silicon Valley office complex with most of their employees slaving in cubicles. Their new buildings, as everyone was quick to tell me, built from the latest space age eco-friendly building materials, featuring waterfalls flowing down walls and lots of glass, and valet parking! If you watch CBS, it is like comparing the grey dingy set of CSI:NY with the shiny colorful set of CSI:Miami. So that's where all that IPO money went - it went into fancy new buildings, not computer science research. If you really want to save the environment, let people telecommute and spare the building entirely.

I'm quite upset at their little hoax. I came down that day with my notebook and research data, even my paper for ISCA, ready to talk to engineers about virtualization. There was no TechFest, no demos, not even demo videos of anything. I got maybe 20 minutes face time in with one engineer who knew what he was talking about. Most everybody else was a recruiter or manager type who had no interest in discussing hypervisor design with me. I have already interviewed twice with VMware and they know that I am more than interested in going to work for them. Why do I need to blow $500 of my money to go get re-recruited? Am I missing the point of why the hell they invited me?

In any case, at about 6:30pm, top execs Diane Greene and Mendel Rosenblum took the stage for about an hour long talk consisting of lots of pats on the back for being so amazing, for being so rich, and they took the opportunity to make several snide remarks about Microsoft's Hyper-V. At the time I would have agreed - Microsoft's VM products are in general several years behind VMware's - but my opinion on that has changed since then as you will read below.

The presentation, shown here in photo from my obsolete digital camera featured a panel discussion with several veteran VMware employees - Matt Ginzton, Tom Cannon, Jeff Hu, Dan Scales, Carl Waldspurger, Richard McDougal, and others. Between them there was lots of talk about taking advantage of multi-core machines to load balance VMs, overcommitting memory, adding 3D video support to VMs, and other whiz bang features that I was started to get excited about, but again, nothing was actually demoed. Interestingly there was a comment about how the success of the Mac version has prompted VMware to add more consumer friendly functionality, such as that 3D video support for gaming, and how Workstation (their VM product for Windows and Linux) and Fusion (their product for Mac OS X) now share much of the same common code since they are both designed for newer VT-enabled multi-core processors. Keep that in mind.

Diane and Mendel take the stage in VMware's new campus cafeteria to give their friends a group hug. Did somebody say dancing?

After about 8pm, every guest to this little soire went home with a goody bag which included a license of VMware Fusion for the Mac, and VMware Workstation 6.0 for Windows and Linux. VMware Fusion the PC emulator for the Mac is of course the product that I've been raving about for the past year and do use on my Macs. However, using either Bochs or Virtual PC on my actual Windows machines to virtualize Windows, I haven't actually tried using Workstation 6.0 yet despite the fact that it had been release over a year ago already. I was curious to try it, so once back home, I rebooted my Mac Pro from Mac OS X into Windows Vista Service Pack 1, downloaded my free copy of VMware Workstation 6.0 from Digital River, typed in my license code, and started poking away at it.


VMware Workstation 6.0.4 Not Ready For Prime Time

Going back to the point that VMware Fusion and VMware Workstation are mostly the same product but on different host platforms, I was mostly expecting the same good experience from Workstation 6.0 that I get in Mac OS X using VMware Fusion. As I was download Workstation 6.0 from their online store it I noticed the price of Workstation 6.0 to be set at $189. Odd, VMware Fusion for the Mac sells for $79, and even $59 at some computer stores. Why does it cost a Mac user who uses Boot Camp roughly triple to run VMware outside of Mac OS X as inside of Mac OS X? That is very bizarre and unfair pricing. Strike #1 against Workstation 6.0.

The version I downloaded and installed is VMware Workstation 6.0 build 93057, which to my knowledge as of today June 13 2008 is the latest and greatest version and is compatible with running on Windows Vista. After installing it, I tried to import an existing Virtual PC 2007 virtual machine of Windows XP which I already have on my Mac Pro. VMware Workstation claims to support this, as when one goes to the File menu and selects the Import... menu item as shown here:

Click this thumbnail to see the full size VMware Workstation "Import" dialog box.

However, no matter which of my VPC2007 virtual machine .VMC configurations I tried to import, whether Windows XP, Windows 98, Fedora, Windows Server, etc., I kept getting the same boring error message:

For some reason, VMware needs to know in advance which operating system is installed inside of a virtual machine, yet doesn't bother to simply ask me as is the case when I am creating a virtual machine from scratch. Strike #2, because a true virtual machine wouldn't care, or could have asked me.

And so I went through the tedious process of creating a fresh VMware virtual machine from scratch. Using a Windows XP Service Pack 2 setup CD ripped to an .ISO file (the same .ISO which I've previously used to set up Windows XP under Bochs, Virtual PC 2007, and VMware Fusion), I proceeded to set up a Windows XP virtual machine, using the settings shown here:

Click this thumbnail to see the VMware Workstation Virtual Machine Settings dialog.

Ok, so far so good, this is a very similar dialog and experience as when setting up a virtual machine in Microsoft's Virtual PC 2007. Part way through setting up XP, I suspended the virtual machine so that I could take this screen shot of the whole experience:

Yes, click this thumbnail too!

When I then clicked on the green play button to resume the virtual machine, I received an error from Windows XP saying it couldn't find the file it was copying. Huh!?!? Repeated attempts to point Windows Setup at the correct directory on the CD image were unsuccessful, and I had to select the "Skip" option to go on to the next file. Windows XP proceeded to install, but I have to call this Strike #3. A virtual machine suspend and resume cycle, when working entirely with disk images and not physical disk devices, should not even be noticeable to the virtual machine guest, let along cause it to induce a disk error like what I saw.

Finally, Windows XP was installed. Oh, here it comes... Strike #4! Do you see anything wrong in this next screen shot?

Windows XP running in VMware Workstation 6. Click to enlarge.

Let me tell you what I believe is wrong with the above picture. The virtual machine (in this case, Windows XP) should not be able to directly detect the host CPU (Intel Core 2 Xeon 5150) or the clock speed (2.66 GHz). A virtual machine is after all just that - virtual. It simulates a fake video card, a fake network card, even fake memory, and certainly does not have the same CPU characteristics as if the guest operating system was running directly, "pedal to the metal" so to speak. If I as a user can select every other parameter about the virtualization, then I would want to also specify the brand, model, and clock speed of CPU that I want the guest OS to think that it is running on.

An interesting thing happened at that point. I shut down the virtual machine and cloned it for safekeeping. I then tried to restart the virtual to boot up Windows XP again. I got this very surprising warning message instead:

Geez already, Strike #5. Yes, CPU speed test measurements tend to have some margin of error. Run any CPU benchmarking utility and usually the measured clock speed deviates slightly the ideal clock speed of the CPU. Windows itself usually gets the speed slightly wrong. So here, VMware Workstation measured a slightly different clock speed, 2660 MHz, than the 2683 MHz that it apparently measured earlier and didn't complain to me about. But c'mon, do the math. 2683 vs. 2660 represents less than a 1% deviation, corresponding to a time drift of about 30 seconds per hour or 12 minutes per day. I've seen real PC clocks drift that much. That's why all current Windows, Mac OS X, and Linux operating system have a silent feature to sync up the computer's clock every day. CPU clocks drift, that's a fact of life. A drift of under 1% is not cause for alarm.

Certainly the mismatch in perceived time inside the guest OS and the host is a real issue for those of us who write virtual machine software. I had to solve this problem in Xformer, Gemulator, and in SoftMac, which need to adjust the rate that they move guest time along based on how fast the virtual machine is running. But it is a workable technical issue that need not even involve the end user, especially for such a tiny time drift.

I rebooted the host Windows Vista operating system at that point just to get the Mac Pro's memory all cleaned out. I logged back in to Windows Vista, restarted VMware Workstation, resumed my Windows XP virtual machine, and got another ridiculous error message:

I had to think about this one for a few minutes to even understand what it was complaining about. The Windows XP virtual machine was saved at a 1024x768 screen resolution. I'm running on my Mac Pro's HD monitor at a native 2560x1600 screen resolution. Ok, some part of the Windows desktop is eaten up by the Start button and taskbar. That should leave a height of under 1600 pixels. How it gets 1770 pixels, I don't know! The 2464 vs. 2360 values, 104 pixels difference in width. Aha! The width of the Windows Sidebar. By rebooting Windows I had logged back in to the default state of having the Sidebar active on the right part of my screen. Literally closing the Sidebar and trying again, I was able to start up the Windows XP virtual machine. Strike #6. 1024x768 fits into 2464x1770, it fits into 2560x1600, it fits into 2360x1770. So what is the problem? I never seen any other virtual machine barf on me simply for having the Sidebar up. Again, yet another example of where VMware is not truly providing a virtual machine and restricting the guest based on characteristics of the host.

Just to check whether Virtual PC 2007 is this silly with the sidebar, I launched Virtual PC which I already had installed and clicked the button to start up that other Windows XP virtual machine that VMware had failed to import. BOOM!

The moment I started Virtual PC, VMware errored out and stopped working. Apparently, not only can Virtual PC not run within VMware or VMware within Virtual PC (I've known this limitation for a long time), but you cannot even run Virtual PC and VMware at the same time on the same host computer! Virtual PC kept running and booted up fine, so I call this Strike #7 against VMware. I contacted VMware about this and received confirmation just a few days ago which I quote here:

    "That is a known issue and indeed a problem and something we wish there was a good solution for (at present, were not aware of one)." - email from a VMware engineer, June 11 2008

I remember when Windows Media Player, QuickTime, and RealPlayer didn't play nice. People screamed bloody murder, or more accurately, lawyers did. I remember when Internet Explorer and FireFox didn't play nice and people cried bloody murder. VMware Workstation crashes and burns when opening the Sidebar or launching Virtual PC. Seems odd to me the lawyers are letting this one fly under the radar.

Ok, so about 3 hours into my ordeal, I finally boot Windows XP again and install the VMware Tools. This is a magic driver package that VMware injects into the virtual machine guest OS, much as Virtual PC injects its own Virtual Machine Additions. The theory behind these magic drivers is that they inject functionality into the guest that permits for better mouse emulation, faster video emulation, better syncing of guest time to host time, shared folders, clipboard, and other such conveniences. However, after installing the VMware Tools and rebooting the Windows XP guest, nothing seems to work. I would try to click on the Start button, nothing. I would click on a desktop icon, nothing! The keyboard worked, and I was able to bring up the Start menu and launch programs using the Windows key and navigating with the keyboard cursor keys.

I finally figured out what was happening. If you look at these two screen shots, digital camera photos actually, because I needed the mouse to remain where it was, you can see the problem:

When I try to click on the button, Windows XP responds as it I had clicked outside of the button. When I click above the button, the button then presses in. The problem here is that the mouse cursor's "hot spot", the actual pixel of the mouse that acts as the spot on the screen that you are pressing on, is off by about 20 pixels vertically. So I have to position the mouse about 20 pixels higher than normal to click where I want to click. Very annoying, Strike #8. Several reboots of Windows XP did not fix this problem. In fact the mouse drift got worse, at one point being about 30 pixels off vertically and horizontally. Parts of the XP desktop I couldn't even click on due to this problem. I had to use Remote Desktop to tunnel in to the XP session from another computer, which made the mouse pointer work, and unfortunately I had to uninstalled VMware Tools.

Another reboot of XP and the mouse was back to normal, minus all of the extra features I now didn't have without VMware Tools. However, this mode too is problematic, as near the edges of the Windows XP desktop, the host mouse pointer appears, giving two mouse pointers at the same time - the "guest" mouse corresponding to the Windows XP virtual machine, and the "host" mouse corresponding to the Windows Vista mouse.

The double cursor problem.

The problem gets even worse, as movement causes the host mouse cursor to jerk around in multiple places, giving the appearance of three mouse pointers. I recorded a short video demonstrating the triple-mouse problem. If you have trouble playing the video in Windows Media or QuickTime, ahem, download the latest VLC 0.8.6 player, available here: http://www.videolan.org/vlc/.

There is potentially a ninth issue (Strike #9, maybe) but one which I cannot attribute to VMware just yet. Since installing Workstation 6.0, my Mac Pro has hard locked twice; literally freezing up and not responding to keyboard, mouse, network pings, or a soft shutdown via the power button. I have this computer since late August 2006 and never had this happen. Within days of installing Workstation, hard locks. Hmmm.

All in all, I am stunned at how utterly sloppy and unusable VMware Workstation 6.0 is. I am a VMware Fusion fanboy, I use it on the Mac OS X side of this very same Mac Pro, and I expected Workstation to be on par with its twin product. I had intended to compare performance of Microsoft's VPC2007 and Hyper-V against VMware Workstation for gathering some data points for my Beijing presentation, but now I realize that this is effectively impossible until most of these 8 issues get fixed - particularly the inability of Microsoft's and VMware's virtual machines to play nice with each other.


VMware Reality Check: Stop Rolling Around In Your IPO Money And Start Taking Virtualization Seriously Again

When I was at the Friends of VMware event, I heard various numbers of VMware's staff to be between 2000 and 5000 employees. I am guessing that 2000 might be the headcount in Mountain View itself and 5000 worldwide? But I wonder how many of those people are testers.

Think about it: VMware makes most of its money from server sales to the deep pockets of IT departments. Those are pretty homogeneous environments, as having attended two recent VMware sales seminars here in Seattle this spring, their sales partners essentially dictate to the customer what hardware to buy, and provide on-site assistance for installing and setting up the whole system. This is not the case with end-user consumers who purchase VMware Fusion or VMware Workstation. What I see here is VMware falling into the Microsoft support trap: as you support a broader range of hardware to reach more casual users, the chances of hardware incompatibilities or software conflicts increase.

VMware is shifting from the Apple way of doing things to the Microsoft way. Apple makers a limited selection of hardware and gets to control much of its platform - hardware, OS, apps - analogous to how VMware and its partners operate in the server space. Microsoft on the other hand has to write OS and application software that works even for hobbyists such as myself who build their own computers from scratch. No sales partner or support guy to help me set up my machine, I am my own spport. In 2005 I personally went down to Mountain View to plead with VMware to release a Mac product. They ignored me until 18 months later when Parallels was making a killing in the Mac market doing exactly that, and only then did VMware enter that Mac consumer market. The range of Mac machines that Fusion runs on is rather limited - you have Mac OS X 10.4 or Mac OS X 10.5, and you have either dual-core Intel or quad-core Intel Macs, from 2.0 GHz to 3.0 GHz clock speeds, and very limited selection of nVidia and ATI video cards pre-installed into those Macs. No PowerPC machines, no older Mac OS version. In other words, the machines that people can possibly run VMware Fusion on are almost all identical.

Not so the case with VMware Workstation, which faces Microsoft's general problem of having to run on a much broader range of hardware. A larger range of CPU speeds, a larger range of core counts, larger range of video cards and drivers, Intel and AMD processors, and certainly far more host operating system releases. Perhaps my mouse issues were an nVidia driver bug? I don't know, I made sure to install the latest nVidia driver current as of this week. Perhaps it is a Windows Vista Service Pack 1 incompatibility? The useless error messages don't tell me the problem.

The fact that silly warning dialog boxes pop up and the product outright fails to boot sometimes worries me because such trivial matters never should have made it past their QA (testing) department. Macintosh users, unlike most disgruntled and hopeless Windows users, do expect a polished product and VMware has delivered a terrific product for the Mac OS X market. But to charge almost triple the price and give Windows users an unpolished product is just unacceptable.

Before Mendel and Diane stand up on stage again and bash competing VM products, whether from Microsoft or Sun or Xen, they really need to clean house and get the Workstation product in order first. The fact that they don't even have a clue how to interoperate with Microsoft VMs is a red warning flag to me that their engineering department has made fundamental design errors in VMware's products. This has been a central theme to my 9 months worth of posts here to this blog and is a major theme of the presentation I'm preparing for Beijing next week.

I strongly suspect that the interoperability issue between Virtual PC 2007 and VMware Workstation 6.0 is the conflict of having both virtual machine hypervisors trying to use the VT register state and hook certain parts of Windows kernel state. You can't have three chefs in the kitchen, and I do mean three not two, because VMware Workstation, Virtual PC, and Windows itself are all trying to single handedly control the hardware. It is because you can't share certain hardware, such as say the real video card, that virtual machines emulate a completely fake video card. For the same reason they need to truly virtualize the CPU itself, which Virtual PC does not do, VMware does not do, QEMU does not do, and most other virtual machines do not do. Intel and AMD added hardware VT to help isolate the real hardware from virtual machines, but this doesn't appear to be working. Either the hardware ends up being defective, as was the case with the first AMD Phenom release, or virtual machines such as VMware Workstation bleed information through anyway. This is just plain bad engineering on both the part of the chip makers and on the part of Microsoft and VMware.

To respond to VMware, there is in fact a way to make Virtual PC and VMware play nice and run at the same time - both companies need to stop using hardware VT in their virtual machine products and stop hijacking the host operating system. Virtual PC installs some memory device driver called VMM.SYS, while VMware Workstation installs some background services by the name of VMNAT.EXE, VMNETDHCP.EXE, VMOUNT2.EXE, VMWARE-AUTHD.EXE, VMWARE-TRAY.EXE, and VMWARE-UFAD.EXE. Geez! I'm not even running Workstation at the moment and I don't even see any VMware icon in the taskbar tray. So why is 60 megabytes of my computer's memory being hogged by these VMware executables? Come to think of it, that memory bloat counts as a confirmed Strike #9.

A hypervisor should be a small, thin layer. This is not where the trend seems to be going and that tells me not to expect VMware to be running on ASUS EEE or OLPC XO notebooks any time soon, let alone on something like Sony Playstation 3 an other Windows-capable consumer devices.


The Quad-Core Showdown - Finally! AMD Phenom 9750 Goes Up Against the Intel Core 2 Quad Q6600

It has been what, about 8 or 9 months since AMD cranked up the smoke machine about their new "Barcelona" architecture and the super-whiz-bang Phenom CPUs there were about to ship. In late 2007 AMD shipped the Phenom 9500 9600 and 9700 processors but then immediately delayed further shipment due to a last minute TLB hardware bug which was found to affect virtualization. In April, AMD announced shipment of the fixed Phenom chips, now numbered 9550 9650 9750 and 9850, the extra "50" indicating the fix.

Price: Phenom Wins

While waiting for AMD to deliver, I've mentioned before that in January I built a rather nice under-$1000 quad-core Intel Core 2 based system. The system is based on the quad-core Intel Core 2 Q6600 processor, which is really last year's chip and not a recent release. I went with an older processor because it cost $300 this past January, significantly less than its initial launch price.

A few weeks ago I built an AMD system with nearly identical specs but based on the new 2.4 GHz quad-core AMD Phenom 9750 chip which I ordered from Tiger Direct (http://www.tigerdirect.com/) for a surprisingly low price of $216. Along with the $179 MSI K9A2 Platinum motherboard that I installed the chip to, the total cost of AMD CPU + motherboard came in at just around $400, slightly less than the cost of the Core 2 Q6600 and its ASUS motherboard.

Most other components in the two systems are practically identical - similar aluminum cases, 500W power supplies, multiple Seagate 7200.10 SATA hard disks, nVidia PCIe video cards. I installed Windows 2008 Server to both systems in order to eventually test Microsoft's Hyper-V virtualization software once it is finally released. And for closer apples-to-apples comparisons to my existing quad-core Apple Mac Pro, I also installed the latest 64-bit Windows Vista Ultimate Edition with Service Pack 1, same as what I have running on the Mac Pro.

I really had no hardware or setup issue with either machine. Other than forgetting to plug in an internal power supply cable and scaring myself for a few minutes, both systems boot both operating systems just fine. Including the Mac Pro, all three machines are running nVidia PCIe video cards, 7200 chipsets on the Mac Pro and Q6600, and a 8400 chipset on the Phenom.

From a purely price standpoint, the AMD Phenom is surprisingly inexpensive for what it is, a quad-core 32-bit and 64-bit capable Windows and Linux processor. It can serve as the basis of a very nice quad-core workstation or home server easily costing under $900, and that's with the 8 gigabytes of RAM and terabyte of disk storage!

Power Consumption: Phenom wins

I was pleasantly surprised by both systems by how little power both the Phenom and Core 2 Quad required. Both systems, fully running and rendering the translucent Windows Vista desktop and running stress tests to keep all four cores busy peak out at just over 200 watts of power consumption. Idling, the Phenom drops to as low as about 140 watts, while the Core 2 Quad drops to just under 180 watts. The Phenom system actually seems to idle better than the Core 2, despite Intel's recent marketing claims. Both systems are significantly less power hungry than the Dell Precision 650 Workstation, which idles at about 180 watts but easily peaks out at about 350 watts under load. Good old Pentium 4, out-of-control power consumption was its ultimate downfall.

Compatibilty: Mixed Results

I now own 4 systems which can be considered "quad-core" or at least "quad-thread". The fourth machine is my Dell Precision Workstation 650 desktop based on two 32-bit hyper-threaded Intel Pentium 4 Xeon processors is still running just fine after more than 5 years. In July I'll do a more detailed comparison of all four systems. Virtual PC 2007 is installed on all four machines, as is of course Bochs 2.3.7 and the latest beta build of Gemulator 9.0. VMware Workstation 6.0 unfortunately, which I had hoped to test on the Phenom, not touching it with a ten-foot pole at this point for the reason I explained above.

Unfortunately Virtual PC 2007 suffers from the same host state leakage problem as VMware Workstation. Attempting to move the Windows XP guest virtual machine from the Mac Pro to the AMD Phenom machine ends with XP going into an infinite reboot loop. This is a problem that I have pointed out in past posting with virtual machine migration - hardware VT based products don't work across Intel and AMD hosts. Gaaaah! Short of re-installing Windows XP yet again under Virtual PC on the Phenom, I gave up on this nonsense for now.

Fundamentally all three machines are based on SSE3 compatible processors, the same level of AMD and Intel instruction set capability as found in earlier Pentium 4, Athlon 64, and Opteron processors from about the year 2004 or 2005 so timeframe. In this respect, the older Core 2 in the Mac Pro, the newer Core 2 Quad, and the Phenom are essentially tied those other processors. Most software available today will thus run just fine on any of these processors.

What is troublesome to me the ridiculous divergence in SSE instruction set support of current processors. The Core 2 supports Intel's "Supplemental SSE3" or "SSSE3" instruction extensions, and newer Core 2 models released this year now support "SSE4.1" and will soon support "SSE4.2". AMD chose not to try to match any of these three sets of SSE extensions, instead creating its own "SSE4A" extensions for the Phenom which include just a handful of the new Intel instruction. This is not good. This kind of fragmentation of the instruction set between Intel and AMD is never good news for operating system vendors, compiler writers, or virtual machine developers.

My advice to developers: treat the AMD Phenom as what it really is - an SSE3 compatible Intel Pentium clone, and you'll save yourself a lot of headaches. It is no Core 2 and despite AMD's marketing, do not treat it as such! In terms of the raw richness (but not necessarily usefullness) of the SSE instruction sets offered today by AMD and Intel, Intel is in the lead.

Performance: Core 2 Wins

The one Windows XP virtual machine benchmark that I was able to run reliably and reproducibly is of course using the newly released Bochs 2.3.7. THAT WORKED, heh, take that Virtual PC and Workstation! Between my two quad-core Core 2 systems, the performance difference is on the order of about 10% and very similar to the roughly 11% speed difference in clock speed. At exactly 2.4 GHz, the Core 2 shows about a 25% performance advantage over the AMD Phenom at running Bochs.

As far as Windows is concerned the processors are pretty evenly matched. The Windows Vista "Experience Index" for the Processor speed comes out at 5.9 for three systems. Keep in mind this is not really a linear scale, as lousy old Pentium 4 cycles can score in the 4.0 to 4.5 range but are definitely not 3/4 as fast, so a rating of 5.9 is a very decent score for the Phenom. Memory rating and disk speed rating also scored very closely on the three systems.

I did write some tests to benchmarks some particular SSE instructions - PSHUFB from SSSE3, and POPCNT from SSE4A/SSE4.2. As you can see, Phenom runs one, Core 2 runs the other,

 
 2.66 GHz Mac Pro Intel Core 2 Xeon 51502.4 GHz Intel Core 2 Quad Q6600 CPU2.4 GHz AMD Phenom 9750 CPU 
Bochs 2.3.7 Windows XP boot to desktop (in seconds)8189112 
Windows Vista x64 Processor rating (higher is better)5.95.95.9 
PSHUFB XMM0,XMM1 instruction (in clock cycles)3.03.0n/a 
POPCNT EAX instruction (in clock cycles)n/an/a2.0 

The verdict: Not bad, but it's not a Core 2 clone

The AMD Phenom fails to meet the compatibility or performance level of the Intel Core 2. It misleadingly supports "SSE4A" not the true SSE4 or SSSE3 instructions as implemented by Intel. And it generally runs slightly slower, on the order of 20% to 30% than the Core 2 at the same clock speed. And it can't just directly run saved virtual machines brought over from an Intel system. To a software developer like myself, these are major issues that will bite AMD in the future if not resolved.

The Phenom's saving graces are its low power consumption, its lower price, and its overall suitability as a home Windows Vista machine. From all the complaining about AMD I've done over the months you might have expected me to totally trash the Phenom, but I really can't find serious fault with this chip. It's slower but cheaper, and "bang for the buck" it's pretty similar to entry level Core 2 chips.

Where AMD is going to have problems keeping up with Intel is in matching the full functionality of SSSE3, SSE4.1, SSE4.2, and catching up in raw clock speed to the Core 2. This could still bury AMD in the future, but for now this is really not a major factor for the average consumer, especially if you still have a louse Pentium 4 system kicking around needlessly heating up your home. Get rid of the Pentium 4.

Next month I will dive deeper into the technical micro-architectural benchmarks between the old Pentium 4 Xeon, the Core 2, and the Phenom, and try to figure out the exact reasons for the up to 30% performance disadvantage of the Phenom.


 
Enough about virtual machines and microprocessors for today. Let me mention the Iron Maiden concert here in Seattle on June 2. All I can say it was simply yet another amazing Iron Maiden show. Music fans, go cry yourself to sleep now if you missed their tour.

Maiden! Maiden!

I don't know to whom this car belongs, but the owner is a much bigger fan of Iron Maiden than I am if he is willing to do this to his Mercedes:

One more goofy picture. I recently finally broke 200 at bowling after how many years of trying. I strung together 4 strikes in a row to make a terrific comeback and end up with a score of 204. But do you notice something very weird? Click on this thumbnail to zoom in...

Most of the pin counts for each frame if represented as a.b correspond to an actual Mac OS release number: 8.0, 8.1, 9.0, or X. Ha, not quite, one of the frames is 8.2.

I need to start packing. If you will not be attending the conference in China but have travel tips for me about Beijing, particularly Starbucks and bowling alleys), please get that information to me ASAP by using this email link:

Darek, I know where to find good coffee and bowling in Beijing!

Otherwise, please keep those interesting comments coming by clicking on one of the voting links below to let me know how you really feel:
 

Darek, awesome, this blog is almost as good as the mosh pit at an Iron Maiden concert!
 
Darek, your postings are worse than sitting 59 rows back at an Iron Maiden concert!

Oh, and one more thing... Unless you are in Beijing to hear it from me in person, I will be making a major announcement here regarding Emulators.com in my next posting to NO EXECUTE some time in early July that I know will be of interest to readers of this blog. Stay tuned. :-)


[Part 1]  [Part 2]  [Part 3]  [Part 4]  [Part 5]  [Part 6]  [Part 7]  [Part 8]  [Part 9]  [Part 10]  [Part 11]  [Part 12]  [Part 13]  [Part 14]  [Part 15]  [Part 16]  [Part 17]  [Part 18]  [Part 19]  [Next]   [Return to Emulators.com]