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.
Permalink for comment 52562
To read all comments associated with this story, please click here.
RE: Re: MP readiness
by Anonymous 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