Linked by Thom Holwerda on Tue 17th Nov 2009 16:13 UTC
Windows Microsoft's Professional Developers Conference is currently under way, and as usual, the technical fellows at Microsoft gave speeches about the deep architecture of Windows - in this case, Windows 7 of course. As it turns out, quite some seriously impressive changes have been made to the very core of Windows - all without breaking a single application. Thanks to BetaNews for summarising this technical talk so well.
Permalink for comment 395052
To read all comments associated with this story, please click here.
Comment by diegocg
by diegocg on Tue 17th Nov 2009 16:33 UTC
Member since:

The pre-7 dispatcher spent 15% of the CPU time waiting to acquire contended locks. "If you think about it, 15% of the time on a 128-processor system is, more than 15 of these CPUs are pretty much full-time just waiting to acquire contended locks. So we're not getting the most out of this hardware," kernel engineer Arun Kishan explained.

In Windows 7, synchronisation on a global scale is gone, making many operations lock-free. "In its place is a kind of parallel wait path made possible by transactional semantics - a complex way for threads, and the LPs that execute them, to be negotiated symbolically."

This is what the Linux scheduler did before Ingo wrote the O(1) scheduler - there was a central list of processes, and in machines with lots of CPUs there were many cases where multiple CPUs needed to context-switch at the same time and all of then needed to wait while one of them searched the best candidate in the process list. Microsoft has replaced that with 11 types of specific locks - Ingo turned the global list of processes into per-CPU lists of processes where each CPU can context-switch without needing to hold any global lock.

Microsoft, welcome to 2002...

Edited 2009-11-17 16:48 UTC

Reply Score: -3