NOTE: In 1988, after I had given an all-day, everything-you-need-to-know-about-computers presentation for ICLE, someone said after seeing my course materials, "You ought to publish this stuff!" I began to put together The Law Office Computer Survival Guide, which I intended to sell and keep up to date as a loose-leaf reference service. It never was published, as I set it aside to get "Corporate Update" out the door. This is the beginning of my efforts, in a different format, to do a "brain dump" of information and opinions, and to keep them up to date. The good news is that you won't have to file the pocket parts, and I won't have to ship it to you. The bad news is that I haven't figured out how to charge for it. Stay tuned, and feel free to ask questions, answer questions, or make suggestions. -- Jim Eidelman

JAE Notes on Multiprocessing

Microsoft -- The following is info from Microsoft Web page and strategies on SMP (Symmetric Multiprocessing) and scalability. Except as noted, all of this relates to NT Workstation, NT Server, and Microsoft solutions.

Scalability: http://www.microsoft.com/syspro/technet/boes/winnt/nt351/tech3000.htm

Programming Tools

Back-office Applications

Index Server -- Multithreaded, takes advantage of SMP.

SQL Server (from http://www.microsoft.com/sql/sqlrev2.htm#tuning)

SMP configuration

If SMP hardware is present, SQL Server will take advantage of the hardware automatically. By default, SQL Server uses intelligent settings that optimize scalability while reserving some processing for other applications.

Microsoft’s Web Server:

From http://www.microsoft.com/se_partners/documents/products/iis/product_overview_iis.doc:

Benchmark tests show that Internet Information Server is significantly faster than other
Windows NT Server-based Web servers and is also faster than expensive UNIX solutions that require proprietary hardware. And because it requires just 1 MB of system memory, you can create complex Web sites that can run on existing hardware without taxing your system resources. Plus, IIS supports SMP systems and RISC and Intel®-powered servers, so IIS scales as your need for Internet services grows.

OPEN GL (Graphics standards to compete with Silicon Graphics)

From http://www.microsoft.com/ntworkstation/opengl.htm

Single-threading versus multi-threading

On SMP machines, multi-thread rendering may yield significant performance gains for some applications. Multi-threading may be performed in multiple windows, in multiple bitmaps, in multiple tasks or a combination of the above. An application that takes advantage of multi-threading can perform better than a single-threaded application.

MS SQL Server Scalability:

SMP Scalability (From http://www.microsoft.com/sql/sqlscal3.htm)

Today SMP is by far the most popular parallel hardware architecture, and the SMP servers based on industry-standard Intel® and Alpha AXP® microprocessors deliver astonishing performance and price/performance for database platforms. Intel markets a 4-way SMP board based on the Pentium® Pro (P6) processor. This SMP board is being incorporated in servers from almost every hardware vendor. It appears that the 4xP6 SMP servers will be the workhorse of client-server computing for the next few years.

As microprocessor speeds increase, SMP systems become increasingly expensive to build. Today there are modest price steps as a customer needs to scale from one processor to 4 processors. Going from 4 to 8 processors in an SMP is comparatively expensive. Beyond 8 processors, prices rise very steeply and the returns diminish.

Diminishing Returns on SMP PerformanceDatabaseHardwareCPUstpmC$/tpmCSystem Cost Microsoft SQL Server 6.5Compaq Proliant 4500/1334 Pentium 133Mhz 3643$148$537,508Oracle 7 v 7.3.2NCR WorldMark 5100S c/s16 Pentium 133Mhz 5607 $394$2,206,688

For example, as can be seen in the table above, Compaq can deliver astonishing performance on a standard, widely available 4 processor SMP machine. It is designed using commodity hardware and delivers very cost-effective database support. A 16 processor machine, designed around that same 133 Mhz Pentium chip, delivers only 50% more performance, at over 4 times the cost.

At the software level, multiple processors concurrently accessing shared resources must be serialized. This serialization limits the practical scalability for individual applications in shared-memory SMP systems. These software bottlenecks in operating systems, database systems, and applications are as significant as the hardware limitations.

 

Nonetheless, SMP systems are the most common form of scalability. They will be the dominant form of server for many years to come. The appearance of Intel Pentium Pro, DEC Alpha, IBM PowerPC™, and SGI MIPS® SMP hardware systems gives very powerful and inexpensive SMP nodes.

 

Microsoft provides excellent support these commodity SMP hardware systems today and continues to invest in this technology.

 

Cluster Architecture

 

A cluster is a set of loosely-coupled independent computer systems that behave as a single system. The nodes of a cluster may be single-processor systems, or they can be SMP hardware systems. The nodes may be connected by a commodity network or by a proprietary very high-speed communications bus. The computers in a cluster cooperate so that clients see the cluster as if it were a single very high-performance, highly-reliable server. Because the cluster is modular, it can be scaled incrementally and at low cost by adding servers, disks and networking.

Windows NT Server clusters provide horizontal growth, or scale-out, allowing customers to add processing, storage, and network services to a pre-existing configuration. This picture shows the growth from a one-node cluster to a six-node cluster by adding one node at a time. An cluster can also be grown by super-server nodes, but usually it is built with commodity components and commodity Interconnects. Two interconnects are used for fault tolerance.

 

Cluster architectures allow you to scaleup to problems larger than a single SMP node. Microsoft believes that the cluster is the most economical way to achieve scalability beyond eight processors. When demand exceeds the ability of commodity SMP nodes, or when fault tolerance demands a second fail-over server, it is very attractive to use multiple nodes to form a cluster.

 

Shared Disk and Shared Nothing Clusters

 

There are two basic software models for clusters: shared-disk and shared-nothing. In a shared-disk cluster, all processors have direct access to all disks (and data), but they do not share main memory. An extra layer of software called a distributed cache or lock manager is required to globally manage cache concurrency among processors. Digital's VMS™ cluster and Oracle's Parallel Query Option are the most common examples of a shared-disk parallel database architecture. Since access to data is serialized by the lock or cache manager, the shared-disk cluster has some of the same scalability limitations as shared-memory SMP systems.

 

The shared-nothing cluster architecture avoids the exotic interconnects and packaging of a scalable shared disk cluster by connecting each disk to one or two servers. In a shared-nothing cluster, each node has its own memory and disk storage. Nodes communicate with one another by exchanging messages across a shared interconnect. Each node in a shared-nothing cluster is a free-standing computer with its own resources and operating system. Each is a unit of service and availability. Each node owns and provides services for some disks, tapes, network links, database partitions or other resources. In case of node failure, the disks of one node may fail over to an adjacent node – but at any instant, only one node is accessing

 

Proprietary shared-nothing cluster solutions have been available for several years from Tandem, Teradata, and IBM Sysplex. These solutions all depend on exotic hardware and software, and so are expensive. Microsoft SQL Server and Windows NT Server clusters will bring scalability and fault tolerance to the commodity marketplace. Microsoft is building clustering technology directly into the Windows NT Server operating system. This technology will work well with commodity servers and interconnects – and it will be able to leverage special hardware accelerators from vendors like Compaq, Digital, and Tandem. Microsoft BackOffice products such as Microsoft SQL Server, Internet Information Server, and Exchange, will be enhanced to take advantage of this clustering support. Many 3rd party products are also being ported to this architecture. A later chapter of this white-paper discusses Microsoft's strategy to support clustering in both Windows NT Server and Microsoft SQL Server.

Back to Table of Contents

NON-Microsoft

Mobile Application Servers, Inc. Links

(c) Jim Eidelman 1997

Back to Eidelman Assocates' www.lawtech.com

Back to Jim's Tips and Tricks www.lawtech.com/jimtips