Linked by Thom Holwerda on Fri 28th Oct 2005 11:17 UTC
Hardware, Embedded Systems Herb Sutter, a software architect from Microsoft, gave a speech yesterday at In-Stat/MDR's Fall Processor Forum. Addressing a crowd mostly consisting of hardware engineers, he talked about how the software world was ill-prepared to make use of the new multicore CPUs coming from Intel and AMD.
Thread beginning with comment 52562
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE: Re: MP readiness
by on Fri 28th Oct 2005 19:02 UTC in reply to "Re: MP readiness"

Member since:

Microsoft Windows had full support for multiple threads and SMP with Windows NT 3.1, released in 1993.

Windows NT and derivatives (depending on the version) have supported from 2-32 processors (that number might have gotten larger); there is/was a single processor kernel and an SMP kernel, and one was installed/booted depending on the machine configuration it was installed on, at least at first.

Where SMP gets fun and suffers a general system performance degradation is during low-level kernel operations in interrupts that require spinlocks. This is why there is/was the single processor kernel and the SMP kernel.

Whether you have more than one processor per package or not, it makes no execution difference for correctness to the programmer, and indeed, it doesn't even matter if there's only one processor to the programmer for correctness: an application that uses more than one thread that is written correctly for synchronization will execute correctly on any number of processors, whereas one written incorrectly may appear to work on a single processor machine, or one particular machine, but will be notably less stable when run on a true SMP system where more than one thread can actually be modifying the same data at the same time with a higher probability. Technically, an incorrectly written multithreaded application can suffer the same problem if there are race conditions, but the user may get lucky more often than not, while their luck will degrade greatly based on the number of processors and threads that touch the same data at the same time increase.

Reply Parent Score: 0

RE[2]: Re: MP readiness
by on Fri 28th Oct 2005 19:56 in reply to "RE: Re: MP readiness"
Member since:

Current 64bit versions (x64 and IA64) of NT (2k3,XP) theoretically support 64CPU's, though only Datacenter Edition is licensed for the maximum supported number. 32bit versions support 32 CPU's. This is because CPU enumeration uses a simple 32bit or 64bit mask depending on the native word-length of the system. This is an arbitrary data structure and will likely be changed in the next release (Longhorn Server / NT 6.0).

Currently the largest NT based SMP system available is the HP Integrity Superdome 64p, which (running 2003) supports 64 Itanium 2 1.6Ghz CPU's and 1 TB of RAM. It currently holds the number 3 spot on the TCP-C non-clustered results running Windows Server 2003 Datacenter Edition and SQL 2005 Enterprise Edition 64 bit.

Reply Parent Score: 0