NO EXECUTE!
(c) 2008 by Darek Mihocka, founder, Emulators.com.
February 8 2008
The Winter of... WTF?!?!?
Hello again. I am happy to say I have finished my two month gig at Microsoft and had a great time. It was refreshing to come in as an hourly contractor and actually be paid to do work on a project that matters and not spend all day sitting in meetings eating pizza. I had so much fun, I may even go back later in the year. Perhaps that's the advice I can give to anyone considering a career at Microsoft - don't get sucked in to the full-time 80-hour-a-week grind. As I found out, hourly contracting pays just as well for a 40-hour week and your time will be spent more productively. And that is good for the final product.
The past two months have certainly been interesting and there is lots to write about. As a friend of mine puts it, it's as if every day this winter has been "Opposite Day". Another example, the American public is actually voting in droves this year (what, Americans?). The fanaticism to get rid of the pasty old white men that have hijacked this country is feverish. People are even taking John McCain seriously for once, which may or may not be a good thing for the country.
After a lot of fanfare last September about AMD "Barcelona" chip architecture, something that the September 10 2007 issue of the Wall Street Journal called "vital to (AMD's) turnaround", AMD shot themselves in the foot by repeating mistakes similar to Intel's flawed November 2000 Pentium 4 launch almost step by step:
According to this article from December (http://www.extremetech.com/article2/0,1697,2228878,00.asp), the hardware bug concerns a topic familiar to readers of this blog, the TLB or Translation Look-aside Buffer hardware, which is involved in keeping memory from different programs isolated from each other. I hate to say "I Told You So" but this AMD bug is eerily reminiscent of Intel's disclosure last spring of almost identical errata in the first Core 2 chips, and is basically the topic that I've been arguing in this blog for the past five months. Neither AMD nor Intel seemed to be able to reliably design and ship chips in 2007 that didn't have serious memory management issues. Memory management bugs are security holes, and they are reliability risks. AMD's version of the bug locks up the CPU. Awesome! Is that what a company should trust it's IT infrastructure on? Hey Amazon...
This issue bit Intel in early 2007, and now the exact same issue hit AMD in late 2007 at the worst time for that company. They could have asked me. Hardware memory management has gotten so complex to design, to test, and to validate, that for the sake of the stability and reliability of today's PCs, it should be removed. i.e. the functionality of virtualization and memory management should be performed in software. Period. I have argued this for months and now AMD hands me a shining example to support my argument. This is not some obscure technical issue that only virtual machine geeks like me should care about, as this technical issue could bring down a server, and is certainly now bringing a multi-billion dollar company to its knees.
This issue hits so close to home for me I had to clip out and pin to my wall page B3 of the December 14 2007 issue of The Wall Street Journal, which I will quote for you here in case you can't make out the photo below, starting with the headline: "AMD Vows Not To Repeat Missteps" - as in copying Intel's Pentium 4 mistakes from seven years ago? Or Intel's Core 2 errata? Certainly there was no lack of Intel case studies to learn from already and for AMD to avoid repeating. The first paragraph - "Advanced Micro Devices Inc. apologized to Wall Street for botching its handling of a high-end chip line. But the chip maker still faces skepticism about its prospects." Fourth paragraph - "The chip, AMD's first with four calculating engines, was introduced in September - later than the company had hoped - and operated at slower speeds than expected. Then AMD disclosed a design flaw this month that will push back big production volumes until late in the first quarter of 2008 or the second period and also affect a quad-processor PC chip called Phenom". Next paragraph - "'We blew it, and we're very humbled by it', Mr. Ruiz said." Two paragraphs down - "Now AMD plans to make its first multifunction chip using modifications of an existing microprocessor... customers wanted AMD to reduce design risks..."
Ironically, as you see on the VERY SAME PAGE as the AMD article is the announcement of Microsoft making their "Hyper-V" technology available for testing. Hyper-V is the much (pardon the pun) hyped virtualization engine built in to Windows Server 2008. As documented on Microsoft's MSDN site (http://blogs.msdn.com/mikekol/archive/2007/12/14/frequently-asked-questions-about-the-hyper-v-beta.aspx) Hyper-V requires the very hardware virtualization that recent 64-bit AMD and Intel chips have had problems with.
I guess that would explain why local computer stores here in Seattle are dumping the existing batch of quad-core Phenom chips (the very models disclosed in the bug) at $250 or less, far less than brand new (and faster) Intel quad-core chips fetch. As AMD themselves are suggesting, stick to the older parts that are better understood. A great example of this is the OLPC XO laptop. The XO is using what some people consider to be an obsolete and slow microprocessor, and yet it works, runs Linux and FireFox, hardly uses any battery power, and costs a tiny fraction of the new buggy chip.
What AMD needs to do to avoid this mess in the future is to do exactly what I have been saying since September - remove this buggy and complex functionality from the silicon and let people like me (and Microsoft and VMware and Xensource, etc.) implement virtual machines in software the way they have been done for years. And, let operating systems evolve along the lines of Java and .NET by similarly providing memory protection and management services that do not rely on MMU hardware.
The concept is proven, thanks to virtual machines such as Bochs, Gemulator, and many others that perform memory translation in software just fine. How many more product delays and locked up computers will paying customers have to suffer through until these companies "get it"? Maybe AMD really was trying to turn over a new leaf and hire me, who knows. They blew the chance and at this point they have zero credibility with me.
The Mighty Apple Falls
This is a bad winter to have a company starting with the letter "A". Even the annual post-New Year's Eve drunkenness that usually butters up the crowd at Macworld did not work its magic. Like many people I was late to work one morning in January checking the live coverage of Macworld and the annual Steve Jobs keynote address. Were the rumors true - was Apple going to marry the iPhone and the Macbook to deliver a tablet-style touch screen Macbook? Was Apple about to hit another home run? Could Apple actually be the one to deliver a Windows Tablet PC that people finally buy?
My blood pressure was going through the roof as Steve got to the part where he mentioned looking at the Sony VAIO. "Aha!" I thought to myself, the man finally gets it. As anyone who looks at the main page of emulators.com has known for years, I love small computers. I love the fact that three years before iPhone ever showed up, Sony made the U750 ultra-mobile touch-screen Windows computer with 802.11g wireless that fits in a pocket. I still use mine today and run Windows Vista on it, that's how powerful the thing is. I've also owned the Sony VAIO clamshell T-series and the older Transmeta-based N-series laptop which I demoed SoftMac on at Macworld Tokyo in 2001. I like tiny powerful computers. That's why I like the new XO laptop. That's why I like Sony VAIO machines. I like something I can put in my pocket and take on the motorcycle. I like a laptop that I can flip open on a plane and not have the screen hit the seat in front of me. I like long battery life that's not wasted on lighting up an enormous screen.
Three years ago in December 2004, I went on a shopping trip to Tokyo to hunt for the elusive Sony Playstation Portable (PSP), struck out, and only brought how the Sony VAIO U750 and the VAIO clamshell. At the time I posted this blog entry about why Apple doesn't quite yet get it about small size. Back then Apple was still pushing the big Macbook laptops which were really too impractical for planes and motorcycles. The people over at Sony successfully translated their large desktop computers and their large Playstation game consoles into small portable devices. I consider the Sony VAIO U-series the prototype for Apple iPhone. Steve tipped his hand by mentioning the VAIO directly.
So when he finally unveiled the "Air", Apple's old slogan about there being two kinds of people in the world rang true. The corporate lawyer and marketing asshole types in the world immediately drained their expense accounts to place orders for the Air, while the rest of us looked in amazement and uttered some explicative starting with the words "What The...".
The "Air" misses the point. In trying to outdo Sony, it seems that the whole point of the air was to take the existing 13-inch Macbook, which is fine laptop, and make it paper thin for bragging rights about being thin. Does it fit into my pocket any better? No. Does it fit into a smaller briefcase or bag? No. Is it a tablet? No. Does it avoid hitting the seat in front of me on the plane? No. Other than costing more, it doesn't do anything that would make me stop using my current Macbook. Pop fly Steve. Please try again. Any surprise that Apple stock, which was bumping $200 a share prior to Macworld, plunged 40% to under $120 just this week?
According to yesterday's Walt Mossberg column in the Wall Street Journal (Feb 7 2008 issue, page B1), the ridiculously expensive optional flash hard disk also fails to deliver any significant battery life. According to Walt's column, you might get an extra 5 minutes of battery, and that just is not worth it for most people. True, flash hard disks read faster than traditional mechanical hard disks and thus can speed up boot times of operating systems and applications, but if you run Windows Vista, so does adding a $20 gigabyte USB thumb drive and enabling Vista's "ReadyBoost" feature. More on this later, as I am going to devote a posting to Windows Vista performance and specifically the upcoming Windows Vista Service Pack 1 next month.
The one Apple hardware announcement last month that was right on target, and was made the week prior to Macworld due the Consumer Electronics Show, was the announcement of the dual-socket eight-core Mac Pro. No big surprise there. Intel has been hyping up their updated Hafnium-doped Core 2 processors (codename "Penryn") for a few months now and it was no surprise that several PC makers announced Penryn machines during CES. Almost as if a knee-jerk "me-too" reaction, Apple made their announcement the following day, and possibly helped deflate the following week's keynote.
Rebuilding the "Silent PC" - Thanks Dead Xbox 360!
Eight-core is the new quad-core, and quad-core is the new dual-core. The eight-core Mac Pro is enticing, but at a realistic price of about $3000 and up, just as with the Macbook Air compared to last year's Macbook, I didn't really feel enticed to upgrade my existing quad-core Mac Pro for the sake of having eight cores. I still haven't found a way to efficiently make use of four cores with my own software, let alone with any of the third party software I use. I mostly run Windows Vista on my Mac Pro, occasionally switching to Mac OS X Leopard to compile something with gcc, and in both operating systems I have a hard time ever bringing the overall CPU utilization above 50% let alone anywhere near 100%. One of the holy grails of computer science these days is to crack the secret of how to make use many CPU cores while not having the increasing CPU clock speeds of the past 30 years. Mac OS X, Windows Vista, and the bulk of applications written for those operating systems today still do not crack that problem.
So instead I decided to do something I did back in 2004 with dual-core chips and try to build the lowest, yet still amazingly decent, dual-core systems from scratch. Throughout the 1990's that would have involved spending $4000 to $5000 on a dual processor Pentium based solution. By 2002 and 2003, the cost was roughly half as much, and would have involved buying a dual-socket AMD Opteron server motherboard for about $500, two Opteron processors at about $1000 each, and another thousand bucks worth of memory, hard drives, etc. Or similarly buying a dual-socket Socket 370 Pentium III server motherboard or Pentium 4 Xeon motherboard and spending comparable amounts of money.
In 2004, when I made this posting just prior to my Tokyo trip, I visited Fry's Electronics near Seattle and showed how to build a 64-bit dual-core AMD Athlon64 based system for about $500. The trick was to buy slightly older components and not go crazy on clock speed. My goal was to build an inexpensive PC and one as silent as possible for use as a set-top box.
The one problem I complained about that month is that the Antec computer case I purchased for this system had less ventilation (less holes in the case, and one less case fan) than a previous Antec computer case I had purchased. As a result I had to add fans and drill extra ventilation holes in the case to keep the Athlon64 cool, since AMD microprocessors consume quite a bit of power and generate quite a bit of heat. As a result, my quest to also built a silent PC was not quite met.
This week I made a return trip to Fry's (as well as another local store where I shop a lot called Computer Stop). I purchased three ASUS branded Intel-based Socket 775 motherboards this time around, as all of Intel's chips from the Pentium 4 to the Core Duo to the Core 2 now all use the "Socket 775" type socket. I purchased one of each processor architecture - a dual-core 3000 MHz Pentium D, a dual-core 2200 MHz Core Duo, and a quad-core 2400 MHz Core 2 Quad. Er, yeah. They really need to have more clever product names.
The irony of my shopping trip this week is that for the "silent PC" I used the exact same computer case as in 2004. The combination of switching to 65 nanometer production process and making their cores more efficient at the same clock speed, means that Intel's chips today (yes, even the Pentium 4 based Pentium D) consume less power and need less cooling than the chips of five years ago. All three of these microprocessors are clocked slightly faster than the 2000 MHz Athlon64 from 2004, yet run considerably cooler and quieter.
It may surprise you which of the three CPUs I selected for the "silent PC" - I chose the 3000 MHz Pentium D. All three chips are interchangeable with Socket 775 motherboards, so after experimenting with all three chips and listening to the noise of the cooling fans, as well as measuring the CPU temperature for various clock speeds, the Pentium D made sense. Even though inside it is really a dual-core Pentium 4, the chip that I love to hate. Here is why:
First of all, Pentium D, along with Celeron D and older Pentium 4 microprocessors, are a discontinued design and thus are being dumped cheaply. Fry's sold me this one for $70.
Second, this is a for a set-top box that will mainly play back recorded video using Windows Media Center and some MP3 files. Playing television quality media files (as opposed to ripping or encoding media files, or high definition media) does not require as much CPU power. The video iPod and the Zune are examples of that.
Third, 3000 MHz is overkill for video playback, which means that as always, I was able to under-clock the Pentium D close to 2000 MHz and still have no negative effect on video playback. In fact, the Pentium D has the Intel "SpeedStep" technology just as the Centrino, the Core Due, and Core 2, which means when I am not watching video the chips slows down to a slower clock speed anyway.
So for this purpose, going with the cheapest Socket 775 microprocessor than can play video and music was the way to go. I used the Core Duo chip to upgrade an almost identical system which serves as my Windows Media Center tuner machine.
So, $50 for an ASUS P5CG motherboard, $70 for the Pentium D, 2x$30 = $60 for two 1GB DDR2 memory DIMMs, and $25 for an nVidia 6200 video card, or barely over $200, was all it took to upgrade the "silent PC" to much quieter technology.
Here is where the dead Xbox 360 comes in handy. If you are similarly on your second or third Xbox 360 (no, not because you love them so much but because the hardware keeps crapping out on you), DO NOT throw away the hard disk. If you carefully unscrew the detachable hard disk case of an Xbox 360, you will find inside a perfectly good SATA notebook hard disk. Although I recycled existing 320GB Seagate SATA hard disks for storage of the video and music files, I installed Windows Vista itself onto the Xbox 360 hard disk. Why?
Well, even with 2GB of memory, Windows Vista is a very "noisy" operating system. It loves to make the hard disk spin. Who hasn't heard the grinding noise of the hard disk from an apparently idling Windows PC? So the trick for a set-top box, where boot time of Windows is not important because the box is "always on", is to pick a slow quiet hard disk and put Windows and its swap file on that hard disk.
So as you can see from this photo of the finished system as it is ready to be closed up, just screw the Xbox hard disk to anything. It doesn't require mass cooling, so for example, simply put it near the CPU fan. Remind me never to perform medical surgery! One design advantage of Apple's Mac Pro cases is the lack of messy cables.
The similar system incorporating the 2200 MHz Core Duo chip does the actual TV recording, and therefore I put the better microprocessor into that system. I will discuss the quad-core system next month and show you how to build a poor man's Mac Pro for one third the price.
Leaping Ahead...
The second XO laptop that I ordered has yet to arrive. If recent email from the OLPC people is any indication, it may take another two months to arrive, grrrr. I wonder how related this delivery delay is to AMD's own troubles, or if this is related to Intel pulling out of the One Laptop Per Child board. Does Intel have something bigger in mind? I wonder if the "special" custom Core 2 that Intel provided to Apple for the Macbook Air is a sign of things to come. A WSJ article this past Monday titled "Intel Enters Competition for Low-Power Chips" which states that Intel announced new x86 microprocessors that consume 2 watts of power or less. This could be Intel's attempt to release its own AMD Geode competitor, which would be great news for OLPC as well as for ultra-mobile devices such some future Sony VAIO. Keep your eyes on this development.
My next posting will be on Friday Leap Day the 29th, prior to the next beta release of SoftMac 2008 and Gemulator 2008 in March. Until then I will be sending a resume to Intel and taking my XO laptop and my Sony VAIO and my Apple Macbook somewhere to a beach outside of Los Angeles to work on the beta release while waiting for Iron Maiden's return to North America on February 19th. After years of warm mild winters here in Seattle, we are getting slammed with wind, with snow, with rain, so I need to get out of here and work some place sunny for a few weeks. I will try to be on email daily during this time, but no guarantees. I will for sure respond to your emails in early March at the latest.
So please keep those comments and ideas coming by emailing me at darek@emulators.com or simply click on one of the voting links below to send your comments. Remember to vote drunk, and don't hold back on your comments!
[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] [Next] [Return to Emulators.com]