Archive for February, 2009

Microsoft: MinWin and Performance Changes in Windows 7

Saturday, February 7th, 2009

In following up my earlier post, More About Windows 7 Performance, I asked Microsoft this question last weekend:

Have there been memory footprint, background services refinement or elimination, or other performance/reliability changes made to the core of the OS that is Windows 7? We’ve been told in the past that the kernel has not been changed from Vista. But Windows 7 is supposed to run properly and well on netbooks. And reviewers all over are saying that Windows 7 is faster. The enterprise guide (online) says that performance is a key tenet for Windows 7. What has been changed in Windows 7 that makes it faster, more reliable, or gives it a smaller memory footprint?

I also asked whether Windows 7 contains “MinWin,” the somewhat romanticized slimmer, componentized version of the Windows kernel, an effort that began with the Windows 2003 Server product. Speculation about the inclusion of MinWin in Windows 7 was fueled by stories like this one in Softpedia.

Microsoft, through its PR agency, released the following brief statement to me as its only meaningful response. The company is gathering information for the press about Windows 7 technical changes and is not prepared to give me an interview on that subject yet. Redmond offered this basic statement about MinWin and the notion of major kernel redevelopment for Windows 7, for now:

“MinWin isn’t anything formal. It isn’t even necessarily a thing as much as it is a design tactic. It is an informal word describing the goal to increase the componentization of the OS through combining common binaries within the core of the OS. This is something that was first mentioned in 2003 and the idea has evolved to present day. So the basic answer is no, Microsoft didn’t create a new kernel for Windows 7. Microsoft is refining the kernel architecture and componentization model introduced in Windows Vista. This means our ongoing efforts that started with Windows Vista will increase the independence of individual components without changing the functionality of those components. This makes it possible for Microsoft to make future changes to specific components more quickly than before because the effects of those changes will be better isolated. These changes will increase engineering agility, and keep the user experience intact without application-compatibility issues.”

Here’s how I read this statement: Microsoft’s biggest concern in saying that Windows 7 has a revamped kernel is that enterprises will be concerned about software-compat and even possibly device-driver issues. That was one of the big enterprise sticking points for Vista. The overriding marketing message from Microsoft has to be that Windows 7 will be compatible with software and drivers that run well on Vista. The “design tactic” that MinWin describes is a pretty major revision to the Vista kernel. I applaud the design direction, though. It makes total sense, and it really might reduce compatibility issues. I also believe that performance may well be improved by this “refining of the kernel architecture” in the final release of Win 7.

What’s more, performance has to be a strong underlying design goal for Windows 7. Code bloat and performance slow-downs have been an essential part of the Vista experience for millions of end users — and that has been a large factor in lackluster Vista sales. The word of mouth hasn’t been good. Microsoft has conceded, internally at least, that it has to make Windows 7 perform more like a sporty car than a four-cylinder pickup truck. It’s the message within the message, but it’s more of a consumer message. As such, Microsoft is probably content with the early performance buzz it’s getting from the public beta. But I suspect we’ll hear a lot more about Win 7 performance as we get closer to the ship date. But I would caution you not to be too sucked in by the gee-whiz “reviews” of Windows 7 we’ve seen to date.

Windows 7: Smaller Footprint?

Saturday, February 7th, 2009

Writing for his ZDNet blog yesterday, Ed Bott’s research on Windows 7 and Vista memory footprints provides some evidence that Windows 7 may perform better in smaller-RAM and 64-bit installations. See his How well does Windows 7 handle 512MB?

Bott’s tests, which were based on comparisons of 512MB-constrained virtual machines, showed that 64-bit Windows 7 Beta 1 (Ultimate) uses both less memory (according to Microsoft’s Task Manager) and less disk storage than Windows Vista Ultimate. He lists the numbers in a chart. He also compared with XP, and not surprisingly, XP uses both less memory and disk storage than either of Microsoft’s newer OSes. The specific memory data points: XP used 150MB, Vista used 299MB, and Win 7 used 216MB. (See Bott’s story for additional details.)

He also compared Vista and Win 7 in VMs limited to 1GB of RAM, and concluded:

“With the extra RAM available, the delta between the Windows 7 and Vista VMs narrowed dramatically, although the 64-bit edition of Windows 7 still used less RAM than Vista. On the Vista system,. this upgrade made a noticeable difference, whereas the Windows 7 system performed about the same.”

My tests of Windows 7 as compared to Vista have been carried out on a machine with 2GB of RAM and a virtual machine configured to 768MB of RAM. I also have not done any formal comparison of performance, which I always leave to gold code.

Bott mentioned that in 2007, he tested Vista with a circa-2002 P4 512MB RAM machine. (I tested it with three different over-the-hill machines in late 2006 and found that video was the biggest hurdle, although RAM was a close second.) I hope he re-runs that test; he somewhat joking says he might. I might do the same, although I no longer have any machines with less than 1.5GB.

The reason I bring up testing with actual 512MB RAM hardware is that I’ve found that virtualized installations of Windows don’t need as much memory as hardware-based installations. That’s the one quibble I have with Bott’s tests. Even so, it’s hard to argue with the numbers in his results. They’re interesting and instructive.

I plan to test Windows 7 on a 64-bit Vista-level machine (as soon as I acquire one). It’s possible that I will see more performance improvement there.

More about Windows 7 Performance

Wednesday, February 4th, 2009

Microsoft has been quoted as saying that it was not creating a new kernel for Windows 7. Anyone who’s ever used any flavor of Linux knows that even small changes in an operating system’s kernel can make for big variations. But apparently there’s a difference for Microsoft between new kernel and refined kernel. Maybe they’re right, but which is it?

I’ve been trying to get actual information for a while now about just what Microsoft has changed in Windows 7 to effect supposed performance changes. This Windows 7 Developer Guide, published in October 2008, while vague, shines more of light on it than the entire Windows 7 Reviewer’s Guide or anything else I’ve read on Microsoft’s Windows 7 site. Here’s a direct quote from page 8 of this guide, which describes the performance changes in Windows 7:

“Windows 7 maximizes hardware energy efficiency and scalability while maintaining high performance. Energy efficiency is improved through reduced background activity and new support for the trigger starting of system services. Windows 7 also offers improvements in the Windows kernel that enable applications and services to scale efficiently between platforms. Performance of many features and APIs is improved in Windows 7 versus Windows Vista. For example, driver performance on servers is optimized by new user-mode and kernel-mode topology APIs. Graphics rendering is considerably smoother and faster. Accessibility performance is also significantly faster than before.”

So let’s translate that:

1. “Hardware energy efficiency …”

Translation: Windows 7 saves electrical power.

2. “Improvements in the Windows kernel that enable applications and services to scale efficiently …”

Translation: The apps that the kernel permits to run have a longer leash.

3. “Performance of many features and APIs is improved in Windows 7 versus Windows Vista.”

Translation: Microsoft finished refining Vista features and the ways in which applications interface with the operating system.

4. “…Driver performance on servers is optimized by new user-mode and kernel-mode topology APIs.”

Translation: I don’t really know, but drivers will apparently perform better on servers.

5. “Graphics rendering is considerably smoother and faster.”

Translation: We get that.

There’s been a lot of talk about “MinWin,” a small core of Windows 7 that according to some reports has been made self contained by changing the way DLLs and APIs are structured. It makes sense, but has it really happened? Microsoft doesn’t appear to be talking about this.

I hope to get a briefing, and if I do, I’ll post about it.

Windows 7 HomeGroup not so hot in Beta 1

Sunday, February 1st, 2009

In a more recent post, I finally got HomeGroup to work — third time is the charm. The fact that I had difficulty with a virtual machine version of Windows 7 is something that I hope Microsoft can resolve. So I think this post is still valid. I will retest virtual installations with later releases of Windows 7.

In an earlier first impression post about Windows 7 Beta 1, I called Microsoft’s new HomeGroup feature brain dead. Well, after further review, I’m standing by that assessment. HomeGroup isn’t working here. The feature feels only partly implemented to me. And, normally I’d forgive Microsoft that foible, given this is Beta 1, except that Microsoft’s top dog for Windows 7 Engineering, Steven Sinofsky, just confirmed that Windows 7 will move straight to a release candidate build, skipping any other betas.

So, why do I say that when so many other reviewers are raving about HomeGroup? Well, here’s my experience.

I started by creating a HomeGroup on my Windows 7 test machine. Then I thoroughly tested networking with several other computers on my network, including a Vista machine, an XP machine, and two Macs. I had no trouble with either Vista or XP, networking the way any Windows user would on a peer network. In that mode, Windows 7 networks exactly like Vista does. All computers, even the Macs, are using the same workgroup name. My Vista and XP machines can file-share back and forth with the Macs quite easily. The Windows 7 machine could not. The Macs can connect to Windows 7 without trouble. Windows 7 sees the Macs but issues a path error when I try to force it to connect to them. I had run into this same Mac problem with my earlier test of Win 7 Beta 1 and the November release of Win 7. Networking is often dicey with beta versions of Windows, so this Mac issue wasn’t a huge surprise.

The only way to test the HomeGroup feature is with two Windows machines running Win 7. Unfortunately, I don’t have another PC available and suitable to be a Windows 7 test machine. So I downloaded Sun’s freely distributed VirtualBox software for the Mac. The hardest part about setting up VirtualBox was locating its Guest Additions (add-on drivers specific to your guest OS). It wasn’t where Sun’s documentation said it was. But there were several variations on the installation directions, and one of them worked. In all other regards, VirtualBox is an impressive product. Anyone who has used either VMware or the Parallels virtualization tools will recognize similarities.

VirtualBox has a pre-configured Windows 7 guest-OS mode, and that made set up easy. It took me only a little over an hour to rig up both VirtualBox and Windows 7 on one of my MacBook Pros.

With the two Windows 7 installations running, I expected to have no problems with HomeGroup. Even though there’s clearly some sort of issue with Windows 7 and Mac networking, the fact that the Macs could connect with Windows 7 left me feeling confident. It’s actually not uncommon for the Mac to have an issue networking with a Windows box while the virtual machine of Windows running on the same Mac has no problems connecting. But if you’re inclined to discount my experience with HomeGroup, this would be the best thing to hang your hat on.

So, with Windows 7 running on the Mac, I proceeded to try HomeGroup. You’re supposed to create your HomeGroup on one machine and then from all other Windows 7 machines, use the Join HomeGroup function. But no matter how hard I tried, the two Windows 7 installations were unable to connect to one another. The Join HomeGroup dialog wouldn’t appear. I tried it in both directions. I also tried creating HomeGroups on both machines and making them use the same password. No go.

Note: It’s possible to change the HomeGroup password after the fact from the Network and Sharing Center or Control Panel. It’s not possible to change the Windows 7-assigned HomeGroup password while you’re initiating HomeGroup.

I probably would have put off posting my less-than-stellar experience with HomeGroup except that I decided to go looking for other people’s experiences, and it was not difficult to find other people having the exact same problems with HomeGroup that I was.

I’m sure that Microsoft will straighten out HomeGroup in most people’s Win 7 installations by the time the operating system ships. I’m sure I will get it to work, too. Although I still sort of doubt that this Windows Networking Wizard on minor steroids will truly obviate the need to fully understand the ins and outs of Windows networking.

One final note: For those of you who read my previous post on Windows 7 and disagreed with me about performance, my MacBook Pro-hosted virtual machine Windows 7 installation seems no faster or slower to me than the other one. Windows 7 feels like Vista to me.

Maybe it just feels faster because you’re not constantly being bombarded with those annoying UAC prompts?