Motivation for Architecture
Clearly, multi-processor systems have the potential to be more powerful than single processor systems, and thus to support larger business and technical applications. They can offer good performance with freedom from bottlenecks, good scalability and expandibility, enhanced availability, and compatibility with existing software. However, actually realizing these advantages requires a proper implementation.
First, MP machines must be closely coupled to be effective in the current market environment. Closely coupled machines can employ well understood and efficient solutions to sharing and synchronization problems, need not suffer from long memory access latencies, and are well understood. Additionally, they support existing uniprocessor software. In contrast, loosely coupled machines have not yet reached an adequate level of technical maturity, or compatibility, to be commercially practical in the mainstream business market.
Second, practical MP machines must be homogenous and symmetric. Such machines need have only one copy of any code (including the OS) in memory no matter how many processors are running it, can dispatch any thread to any processor, and evenly distribute work among available resources. This allows them to effectively apply MP power to the broadest possible range of workloads. Such machines have fewer unique critical parts, and are therefore more robust (and thus likely to remain useable after failure of a component).
By comparison, heterogeneous or even merely asymmetric machines suffer from bottlenecks, more costly OS code, and vulnerability to failure of a single part. In summary, homogenous, symmetric, closely coupled, systems offer the best load balancing, scaling, availability, and compatibility, making them most competitive in the market. Windows NT is targeted toward these machines.