Sometimes the expectations of our customers mystify me.
One of the senior developers at Microsoft recently complained that the audio quality on his machine (running Windows Server 2008) was poor.
To me, it’s not surprising. Server SKUs are tuned for high performance in server scenarios, they’re not configured for desktop scenarios. That’s the entire POINT of having a server SKU – one of the major differences between server SKUs and client SKUs is that the client SKUs are tuned to balance the OS in favor of foreground responsiveness and the server SKUs are tuned in favor of background responsiveness (after all, its a server, there’s usually nobody sitting at the console, so there’s no point in optimizing for the console).
In this particular case, the documentation for the MMCSS service describes a large part of the root cause for the problem: The MMCSS service (which is the service that provides glitch resilient services for Windows multimedia applications) is essentially disabled on server SKUs. It’s just one of probably hundreds of other settings that are tweaked in favor of server responsiveness on server SKUs.
Apparently we’ve got a bunch of support requests coming in from customers who are running server SKUs on their desktop and are upset that audio quality is poor. And this mystifies me. It’s a server operating system – if you want client operating system performance, use a client operating system.
PS: To change the MMCSS tuning options, you should follow the suggestions from the MSDN article I linked to above:
The MMCSS settings are stored in the following registry key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile This key contains a REG_DWORD value named SystemResponsiveness that determines the percentage of CPU resources that should be guaranteed to low-priority tasks. For example, if this value is 20, then 20% of CPU resources are reserved for low-priority tasks. Note that values that are not evenly divisible by 10 are rounded up to the nearest multiple of 10. A value of 0 is also treated as 10.
The MMCSS settings are stored in the following registry key:
This key contains a REG_DWORD value named SystemResponsiveness that determines the percentage of CPU resources that should be guaranteed to low-priority tasks. For example, if this value is 20, then 20% of CPU resources are reserved for low-priority tasks. Note that values that are not evenly divisible by 10 are rounded up to the nearest multiple of 10. A value of 0 is also treated as 10.
For Vista, this value is set to 20, for Server 2008 the value is set to 100 (which disables MMCSS).
I'm thinking of Server 2008 as a workstation to get Hyper-V. Is there a better way?
Could have stemmed from the XP-WinServer2003 dichotomy. I know a few people who moved over to Server2003 as a client OS when it came out due to the rave reviews it got (stability, security) when it was released. I don't remember the chronology much any more, but IIRC there was a major security initiative going on around that timeframe that also included the Longhorn reboot and the XP security SP, and the uncertainty around when it would trickle down to clients led some folks to bypass the whole mess and go with the newest RTM.
I did something similar ages ago when I ditched Win9x for NT5b2, as 9x instabilities were killing me & I wanted something more industrial-grade even if it meant running the poorly-supported (at the time) NT kernel.
Especially if you’re a developer. Larry Osterman wonders why people complain about issues with a server
Ken Cox: As I understand it, if you have a high end video card, you're going to have major issues with Hyper-V, so you may want to rethink that decision.
And no, I don't have any ideas on how to get Hyper-V without running a server SKU, I don't do virtualization.
Shut-up and Smile has the thought I had - I develop on a client SKU (XP Pro), and (1) I'm slightly nervous about the fact that I'm developing on a different release than I'm releasing on (2) IIS5.1 is not IIS6, so I don't get to see any of the nifty-keen new features that my clients might be taking advantage of.
I'd take your point entirely if different SKUs were matters of tuning (and default setups, etc etc). But they're also market segmentation, and as long as they are there'll be people who want to misuse their SKU.
I know lots of people you have gone this route. There's a couple of primary reasons
1) Vista is bloated and slow. W2K8 feels much snappier. Maybe because it starts with a lot fewer services by default. But it's easier to figure out what to turn on in W2K8 than to figure out what you can turn off in Vista.
2) Some developers are stuck developing for Sharepoint, and MS hasn't seen fit to provide a "developer" version that can run on Vista (the way it did for SQL Server). If you're doing full-time Sharepoint dev, it makes a lot of sense to run W2K8 as your primary OS.
Larry, you are making a good point but you missed one crucial issue: There are people who wants a nice and clean UI (XP without themes style) and at the same time the new technologies in Vista / Windows 2008 server. For them, the server SKU is the better option, since Vista is so bloated, especially as a business use OS.
And yes, there are people who wants to listen to music while working in a very stripped down UI environment, I'm one of them.
To be clear: I don't have any issue with people running server SKUs day-to-day. That's not a big deal, people need to do all sorts of things.
My big issue is with people who run server OS's and then expect them to behave like client OS's.
Andreas: Running in classic mode gives you the "XP without themes style" without running a server SKU (actually it's Win2K's visuals).
Server SKUs are for use in SERVERS. People shouldn't get upset when the server OS works like a server.
How about a small business that uses a server to play audio for on hold music or perhaps for the overhead speakers? Maybe not common, but it seems like a valid use for a server OS. I wouldn't have expected that the audio subsystem would need to be tuned to play glitchless audio.
There are people out there who think the "sever" is the real version of the OS. Somewhere along the line they decided that Microsoft dosn't really care about the clint stuff and the only version of Windows that 'works' is the server version, so they will only run server on the home PC.
+1 for Sharepoint development, although Windows 2003 also offered software RAID (mirroring) when Windows XP Pro didn't.
<quote>In this particular case, the documentation for the MMCSS service describes a large part of the root cause for the problem: The MMCSS service (which is the service that provides glitch resilient services for Windows multimedia applications) is essentially disabled on server SKUs.</quote>
Actually the documentation indicates that the service isn't available pre-Vista. I couldn't find it saying anything about client (Vista, Win7) vs server (2k8).
There are many valid reasons to run a Server OS as a workstation. First, as many have mentioned, many people develop for server OS, and prefer not to maintain 2 separate machines (dev workstation + test server):
• It's more expensive to buy & maintain them. Virtualization could help - but then you would want Hyper-V (64-bit support, for one), which is only available on Server host OSs.
• The single machine may be a laptop that you lug around. Carrying 2 laptops is a sub-optimal traveling proposition.
• It's more troublesome to develop and test on different machines, particularly in dev environments like Sharepoint.
Another scenario where server OS is used as desktop is Terminal Server. But then you don't expect cutting-edge multimedia experience anyways. You do expect desktop stuff to work though (Office, IE, etc).
The sentiment that a server OS is inherently better than a workstation OS may have been true in 2003/XP, where 2003 was a different - and more advanced - codebase than XP. Now that 2008/Vista(SP1) are the same codebase, the differences are limited to tunings and defaults. Some people see 2008 as "Vista with a bunch of crap disabled", but IME you can disable stuff easily in Vista (for example, I've been running XP, and now Vista, with visual styles disabled for many years now).
That said, I happen to run 2008 as my main work desktop, part out of coincidence, and part for Hyper-V. When I installed it, audio didn't work at all. I was pleasantly surprised to find out that 2008 has a special off-by-default "Desktop Experience" Windows feature that includes most of what's missing in 2008 vs. Vista - namely, audio. So it seems that Windows developers saw fit to invest in this scenario as well. I did have to install some "server roles" to get some features going though - like file server so that Outlook2007 instant search would work. But I haven't found anything that I miss. Audio works well enough for my needs - the occasional music/YouTube video. My display (Radeon X600, connected to dual monitors) works well too - it does Google Earth on both screens quite well, and Hyper-V machines look good as well.
Ever since NT 4.0 there have been a group of people who have insisted on running a solid workstation OS without consumer frills.
And there were lists of people tryign to put games on NT. With Win2k these people had what they thought was the grail. The workstation version of Win2k would run the consumer apps and still be stable and realiable.
With XP people either resisted ("Fisher Price" complaints about needless theming) or moved to the consumer platform instead of holding out for a real workstation.
Server2k3 didn't have a workstation version, so you were stuck with XP. So that group of people likely includes the people in your complaint.
...that said, often people are just trying to get their stuff done on the box in front of them. Maybe it's an IT tech in the lab using the server box in front of him. Maybe it's a hand-me down box (I happen to have a 2k3 server I used for software development due to its stability, and ended up using it for personal use as time went on).
Hope this gives you an idea of the motivation, Larry.