The "symmetric" in symmetric multiprocessing really means "symmetric"

Raymond Chen

The Windows NT family of operating systems supports symmetric multiprocessing. And symmetric really means symmetric. All the processors have to be the same speed, the same stepping, the same manufacturer. They must be identical in every way. If you break any of these rules, you will get strange results. Strange results from QueryPerformanceCounter will be the least of your problems. Code that checks for processor capabilities will get the results from whichever processor happens to be running. If you have one processor that supports SSE and one that doesn’t, a program may detect SSE (if the detection code runs on the processor that supports it), and then crash later (when the SSE code is run on the processor that doesn’t).

Be cool; don’t be a fool. Keep your processors symmetric.


Discussion is closed.

Feedback usabilla icon