But... but... but... Microsoft SPECIFICALLY says on their Web site
how different Server and Workstation are. Microsoft would never lie
about a thing like that... I mean, it's downright DISHONEST, and we
know Microsoft Corporate Policy (tm) forbids dishonesty.
Let's have a look:
http://www.microsoft.com/ntworkstation/ntwvnts.htm
> Since the first release of the Windows NT platform in 1993, Microsoft
> has followed a strategy of providing the same kernel architecture, user
> interface and Application Programming Interface (API) across both the
> Windows NT Workstation and Server products, while optimizing, pricing,
> and licensing the products for two specific segments - the interactive
> desktop operating system and the high performance server. Consistent
> with that strategy, the Windows NT 4.0 platform is available in two
> versions: Windows NT Server 4.0 and Windows NT Workstation 4.0.
So far, so good. No lies.
Then there's a table in tiny, tiny print. I can't read it, so therefore
by the Law of Lawyers it must be true.
Then we get into the details of NT performance optimizations...
> Since its inception, Windows NT Workstation has been tuned to provide
> the best possible performance for a single interactive desktop user. In
> contrast, Windows NT Server has been tuned to provide great performance
> when used as a server operating system, with multiple users making
> simultaneous connections to the server.
Sound like they're different to me.
> For example, a user who is
> working at their PC wants a highly-responsive desktop, with fast
> graphics and the ability to quickly switch between multiple tasks.
> However, responding to user input and graphics performance are less
> important on a dedicated server where sharing files, printers, and Web
> pages are the priority. With this release Microsoft continues to
> optimize performance for both server or workstation applications by
> eliminating scalability bottlenecks of Windows NT Server, configuring
> network components for minimal memory consumption on Windows NT
> Workstation 4.0, and tuning network caches depending on usage.
Doublespeak, sure, but no dishonesty.
> Below are key areas of the Windows NT core system that are
> performance-tuned for usage as a workstation or server:
>
> Task Scheduling - In order to provide maximum user
> responsiveness, the task scheduler in Windows NT Workstation divides
> its time into very short timeslices, so that multiple tasks can be
> loaded and unloaded rapidly, without the user experiencing delays.
> Users can quickly switch from one task to another, and the system
> remains responsive. The task scheduler in Windows NT Server divides its
> time into longer timeslices, allowing the server to better handle
> network requests without interruption. This is particularly important
> with Symmetric Multiprocessing (SMP) applications where thread and
> cache synchronization is critical across each processor.
Okay, well, the code can still be the same here with no dishonesty.
#ifdef Workstation
#define TIME_SLICE 1
#else
#define TIME_SLICE 10
#endif
> Memory Allocation - In Windows NT Workstation applications
> are granted the minimum necessary memory at load time, as workstation
> users typically load and unload various applications in a single
> session. In Windows NT Server applications are granted all memory
> requested (if available) at load time, as servers are typically
> configured with more memory than workstations and server-based
> applications are infrequently loaded and unloaded.
Okay, well, the code can still be the same here with no dishonesty.
#ifdef Workstation
#define MIN_MEM 1
#else
#define MIN_MEM 10
#endif
> I/O Throughput - A critical distinction of the architecture
> of Windows NT Server is that access to key system resources is
> dynamically and equally parceled out. A small number of worker tasks
> or threads service the queue of incoming user requests with dynamic
> load balancing across CPUs and high performance access to protected
> virtual memory space and network I/O. Windows NT Workstation does not
> have the same number of dedicated resources to support a heavy file
> server load and funnels any incoming network requests through a single
> queue.
Okay, well, the code can still be the same here with no dishonesty.
#ifdef Workstation
#define DEDICATED_RESOURCES 1
#else
#define DEDICATED_RESOURCES 10
#endif
> File Cache - In Windows NT Server, the file cache is given
> the highest memory priority in order to boost network performance. In
> Windows NT Workstation, the user's foreground process is given the
> highest memory priority in order to provide maximum responsiveness.
#ifdef Workstation
#define HIGHEST_PRIORITY FILE_CACHE
#else
#define HIGHEST_PRIORITY USER_FG
#endif
> The following graphs illustrate how these optimizations affect the
> performance of each product.* The first graph shows that, as the number
> of clients connecting to each system increases, Windows NT Server 4.0
> allows the percentage of CPU time taken by network file sharing to
> approach 100 percent, while Windows NT Workstation 4.0 keeps network
> CPU time low to keep the system responsive to local applications and
> user input.
Look, they have graphs! No one who uses graphs could possibly want to
tell anything besides the truth...
> Summarizing these performance optimizations, Windows NT Workstation 4.0
> is tuned for maximum user responsiveness and minimum memory footprint,
> while Windows NT Server 4.0 is tuned for faster I/O and network
> throughput. Windows NT Workstation will always sacrifice peer network
> sharing performance for user responsiveness, while Windows NT Server
> sacrifices fast graphic redraw and user input for file server performance.
To be fair, they never said the codes were different for the two
programs.
> CONCLUSION
>
> Microsoft is committed to providing a consistent kernel architecture,
> user interface, and API across the Windows family of products, while at
> the same time tuning and optimizing each product appropriately for
> its primary user. The performance enhancements in Windows NT
> Workstation 4.0 make it a compelling high-powered, interactive
> desktop operating system. Likewise, the enhancements to Windows NT
> Server 4.0 make it the clear choice for multipurpose server usage.
What better way to keep a "consistent kernel architecture" than to have
the same code?
> The combination of Windows NT Server, and Windows NT Workstation or
> Windows 95 on client PCs running Microsoft Internet Explorer
> continue to be the best Internet/intranet value available.
An optimist believes this is true.
A pessimist knows this is true.
> Microsoft is committed to continue working closely with customers to
> develop the best solutions possible.
They left off the end of this sentence. It should read:
> Microsoft is committed to continue working closely with customers to
> develop the best solutions possible to make the most money for Microsoft.
In tiny, tiny print they have the following:
> Performance graphs based on WinStone and Microsoft WebCat performance
> tests. For more information on Windows NT Server 4.0 performance, see
> http://www.microsoft.com/ntserver/ntsbench.htm
I visited this page too. The number of times Microsoft extols its own
virtues is astounding, even for Microsoft.
Oh, and while preparing the text for this FoRK post, visiting various
pages in the Microsoft site only crashed my navigator app 1 time.
Must be a good karma day.
:) Adam
----
adam@cs.caltech.edu
Productive? You could have put a rack of monkeys on toilets and they
would have been more productive! Better product, too...
-- Rohit Khare