<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" media="screen" href="/styles/xslt/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:c9="http://channel9.msdn.com">
<channel>
	<title>Comment Feed for Channel 9 - Arun Kishan: Inside Windows 7 - Farewell to the Windows Kernel Dispatcher Lock</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Farewell-to-the-Windows-Kernel-Dispatcher-Lock/RSS"></atom:link>
	<image>
		<url>http://media.ch9.ms/ch9/96dd/ad626ae3-081e-49e7-b4c8-e58d050496dd/ArunKishanWin7DispatcherLock_100.jpg</url>
		<title>Channel 9 - Arun Kishan: Inside Windows 7 - Farewell to the Windows Kernel Dispatcher Lock</title>
		<link></link>
	</image>
	<description>
You&#39;ve&amp;nbsp;learned about many of the new features of the latest version of the Windows kernel in the

Mark Russinovich Inside Windows 7 conversation here on Channel 9. One of Mark’s favorite kernel innovations is the way the Windows 7 kernel manages scheduling of threads and the underlying synchronization primitives that embody kernel thread management.
Prior to Windows 7 (and therefore Windows Server 2008 R2) the Windows kernel dispatcher&amp;nbsp;employed a single lock, the&amp;nbsp;dispatcher lock, which worked well for a relatively small numbers of processors (like 64). However, now that we find ourselves in the
 midst of the ManyCore era, well, 64 processors aren’t that many... A new strategy was required to scale Windows to large numbers of processors since a&amp;nbsp;single lock&amp;nbsp;is limited in capability, by design: The masterful David Cutler, one of the world&#39;s greatest
 software engineers,&amp;nbsp;wrote the&amp;nbsp;NT scheduler in a time when the notion of&amp;nbsp;affordable 256-processor machines was more science fiction than probable.&amp;nbsp;As we learned in the Mark Russinovich video, Windows 7 can now scale to 256 processors thanks to the great engineering&amp;nbsp;of

Arun Kishan, a kernel architect you&#39;ve met on C9 back in the Vista days. In order to promote further scalability of the NT kernel, Arun completely eliminated the dispatcher lock and replaced it with a much finer grained set of synchronization primitives.
 Gone are the days of contention for a single spinlock. How did Arun pull this off, exactly, you ask? Who is this genius? Well, tune in. Lots of answers await…Arun&#39;s work directly benefits the overall performance of Windows running on&amp;nbsp;many processors and means, simply, Windows can now really scale. Thank you, Arun! 
&amp;nbsp; 



Spinlocks are synchronization primitives that cause a processor to busy-wait until the state of the lock’s memory location changes. 
&amp;nbsp;As the name implies, the dispatcher lock is the fundamental lock associated with the kernel dispatcher, or the scheduler. 
&amp;nbsp; 
</description>
	<link></link>
	<language>en</language>
	<pubDate>Thu, 20 Jun 2013 04:54:12 GMT</pubDate>
	<lastBuildDate>Thu, 20 Jun 2013 04:54:12 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<item>
		<title>Re: Arun Kishan: Inside Windows 7 - Farewell to the Windows Kernel Dispatcher Lock</title>
		<description>
			<![CDATA[
<p>The interview I <em>have</em> been dreaming of, and about, and over and...</p>
<p>&nbsp;</p>
<p>I really do&nbsp;<strong>mean</strong> that!</p>
<p>posted by vesuvius</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Farewell-to-the-Windows-Kernel-Dispatcher-Lock#c633851869450000000</link>
		<pubDate>Thu, 06 Aug 2009 20:22:25 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Farewell-to-the-Windows-Kernel-Dispatcher-Lock#c633851869450000000</guid>
		<dc:creator>vesuvius</dc:creator>
	</item>
	<item>
		<title>Re: Arun Kishan: Inside Windows 7 - Farewell to the Windows Kernel Dispatcher Lock</title>
		<description>
			<![CDATA[
<p><img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /> </p>
<p>&nbsp;</p>
<p>Enjoy! What Arun accomplished really is amazing. I'm just blown away by the elegance of his solution and the engineering strategies he employed to pull it off (you'll learn about those towards the end of the conversation).</p>
<p>&nbsp;</p>
<p>C</p>
<p>posted by Charles</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Farewell-to-the-Windows-Kernel-Dispatcher-Lock#c633851885110000000</link>
		<pubDate>Thu, 06 Aug 2009 20:48:31 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Farewell-to-the-Windows-Kernel-Dispatcher-Lock#c633851885110000000</guid>
		<dc:creator>Charles</dc:creator>
	</item>
	<item>
		<title>Re: Arun Kishan: Inside Windows 7 - Farewell to the Windows Kernel Dispatcher Lock</title>
		<description>
			<![CDATA[
<p>Blimey, you've certainly got to have had your head in the kernel for awhile to
<em>really</em> keep up with that, but by the end I understood the general concept, and it sounded impressive <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-5.gif' alt='Wink' />.</p>
<p>posted by stevo_</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Farewell-to-the-Windows-Kernel-Dispatcher-Lock#c633851943430000000</link>
		<pubDate>Thu, 06 Aug 2009 22:25:43 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Farewell-to-the-Windows-Kernel-Dispatcher-Lock#c633851943430000000</guid>
		<dc:creator>stevo_</dc:creator>
	</item>
	<item>
		<title>Re: Arun Kishan: Inside Windows 7 - Farewell to the Windows Kernel Dispatcher Lock</title>
		<description>
			<![CDATA[
<p>Truly amazing! Really interesting stuff, thanks Charles. </p>
<p>This is fascinating to see how, with such talented people, a kernel designed more than decade ago can be enhanced to suit today's needs. This is why I love Operating&nbsp;System design and programming. There are such great foundations and languages&nbsp;to build upon
 but also so many improvements to do.&nbsp;</p>
<p>posted by LordKain</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Farewell-to-the-Windows-Kernel-Dispatcher-Lock#c633851977190000000</link>
		<pubDate>Thu, 06 Aug 2009 23:21:59 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Farewell-to-the-Windows-Kernel-Dispatcher-Lock#c633851977190000000</guid>
		<dc:creator>LordKain</dc:creator>
	</item>
	<item>
		<title>Re: Arun Kishan: Inside Windows 7 - Farewell to the Windows Kernel Dispatcher Lock</title>
		<description>
			<![CDATA[
<p>wow, video start-to-whiteboard (STW)&nbsp;in 33 seconds, good stuff <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /></p>
<p>posted by aL_</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Farewell-to-the-Windows-Kernel-Dispatcher-Lock#c633852429930000000</link>
		<pubDate>Fri, 07 Aug 2009 11:56:33 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Farewell-to-the-Windows-Kernel-Dispatcher-Lock#c633852429930000000</guid>
		<dc:creator>aL_</dc:creator>
	</item>
	<item>
		<title>Re: Arun Kishan: Inside Windows 7 - Farewell to the Windows Kernel Dispatcher Lock</title>
		<description>
			<![CDATA[
<p>I am a C# Developer who has always worked with Locking, Threads, etc through .NET and never through C&#43;&#43; libraries.&nbsp; Even though that is the case, would it not help optimization to have a mechanism for the developer to suggest/hint to the OS an okay timeframe
 for a long running Wait to be loaded back from Paged Memory?&nbsp; In other words, a developer may know it is never important for a certain Thread to be running again for let us say 15 days.&nbsp; Consequently, she/he can add a TimeSpan argument to his Thread Function/Method
 that gives a hint to OS that while it might be less than 15 days that Thread says it now wants to run because Wait was satisfied or whatever; he is okay with it taking up to 15 days.&nbsp; Then, the OS could decide based on OS Processor's resources to not have
 to pay any attention to this Job/Thread running again in Non-Paged Memory if 15 days has transpired.&nbsp; If OS Resources are at a very low rate of utilization and there is plenty to go around for all Threads/Processes, it could then check this Thread/Job to see
 if it wants to run sooner than 15 days.</p>
<p>&nbsp;</p>
<p>Does this make sense?&nbsp; If it does, is this already built into Windows 7 or even Vista/XP?&nbsp; The basic thing I am trying to say is to give the OS a shortcut to skip over Thread Wait checks if resources are very low.&nbsp; In other words, the Threads with hints
 like those that I mention above could be set aside completely in Paged Memory or even to Disk if there were many demands on resources and not even have to be checked to see if they need to run if need be.&nbsp; Then, when resources were plentiful, they could be
 checked to see if they might want to be run and initiated at maybe a time where OS is, running yet User(s) are in bed, not at Server/Computer, etc.</p>
<p>&nbsp;</p>
<p>It would be analogous to a Doctor triage where the Doctor could say, Yes, No, Revisit in 2 hours if you have time yet do not even think about this guy/gal unless you have nothing else to do.</p>
<p>posted by MaidenDotNet</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Farewell-to-the-Windows-Kernel-Dispatcher-Lock#c633853511440000000</link>
		<pubDate>Sat, 08 Aug 2009 17:59:04 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Farewell-to-the-Windows-Kernel-Dispatcher-Lock#c633853511440000000</guid>
		<dc:creator>MaidenDotNet</dc:creator>
	</item>
	<item>
		<title>Re: Arun Kishan: Inside Windows 7 - Farewell to the Windows Kernel Dispatcher Lock</title>
		<description>
			<![CDATA[
<p>Hi MaidenDotNet,</p>
<p>The OS will already page out your stacks/process after some time of inactivity.&nbsp; I believe&nbsp;a thread&nbsp;becomes a candidate&nbsp;after about 4 seconds.&nbsp;Once the pages become a candidate for theft, then it's only a matter of time and memory pressure when the Memory
 Manager will rip them away and use them for something else.&nbsp; </p>
<p>&nbsp;</p>
<p>Basically, you don't need to give a 'hint' to the OS since it will do what you want on its own.&nbsp; On the other hand, if you want the thread to run quickly when it gets signaled, you may be in trouble because of this behavior.&nbsp; If the pages make it to the
 disk, it could take about 10-15 milliseconds between when your thread is activated and when it&nbsp;can run (this is the typical seek time of a laptop disk). If the disk is already busy, it could take even longer.</p>
<p>posted by neerajsi</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Farewell-to-the-Windows-Kernel-Dispatcher-Lock#c633854430230000000</link>
		<pubDate>Sun, 09 Aug 2009 19:30:23 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Farewell-to-the-Windows-Kernel-Dispatcher-Lock#c633854430230000000</guid>
		<dc:creator>neerajsi</dc:creator>
	</item>
	<item>
		<title>Re: Arun Kishan: Inside Windows 7 - Farewell to the Windows Kernel Dispatcher Lock</title>
		<description>
			<![CDATA[
<p>Wow, Its just amazing. The solution and strategies are really impressive, n i hope dt would be scalable as well for upcoming core technologies</p>
<p>posted by imfarida</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Farewell-to-the-Windows-Kernel-Dispatcher-Lock#c633857594490000000</link>
		<pubDate>Thu, 13 Aug 2009 11:24:09 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Farewell-to-the-Windows-Kernel-Dispatcher-Lock#c633857594490000000</guid>
		<dc:creator>imfarida</dc:creator>
	</item>
	<item>
		<title>Re: Arun Kishan: Inside Windows 7 - Farewell to the Windows Kernel Dispatcher Lock</title>
		<description>
			<![CDATA[
<p>Really nice enhance ment in the code .... </p>
<p><strong>Phenomenal ... </strong></p>
<p>posted by omkar K</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Farewell-to-the-Windows-Kernel-Dispatcher-Lock#c633861723940000000</link>
		<pubDate>Tue, 18 Aug 2009 06:06:34 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Farewell-to-the-Windows-Kernel-Dispatcher-Lock#c633861723940000000</guid>
		<dc:creator>omkar K</dc:creator>
	</item>
	<item>
		<title>Re: Arun Kishan: Inside Windows 7 - Farewell to the Windows Kernel Dispatcher Lock</title>
		<description>
			<![CDATA[
<p>Excellent work</p>
<p>&nbsp;</p>
<p>We can now expect windows to really scale</p>
<p>&nbsp;</p>
<p>Keep it up</p>
<p>&nbsp;</p>
<p>posted by suneelreddy</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Farewell-to-the-Windows-Kernel-Dispatcher-Lock#c633865752160000000</link>
		<pubDate>Sat, 22 Aug 2009 22:00:16 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Farewell-to-the-Windows-Kernel-Dispatcher-Lock#c633865752160000000</guid>
		<dc:creator>suneelreddy</dc:creator>
	</item>
	<item>
		<title>Re: Arun Kishan: Inside Windows 7 - Farewell to the Windows Kernel Dispatcher Lock</title>
		<description>
			<![CDATA[
<p>Fascinating.&nbsp; I would be interested to know what Dave Cutler's take on all this was.&nbsp; Was he involved in any of the early discussions?&nbsp; Did&nbsp;Arun formulate the&nbsp;solution first and take it to him (formally or informally)?&nbsp; Did he say &quot;wow, great idea!&quot; or perhaps
 &quot;nice try Rookie, but you forgot to assert the make-it-work bit on line 24&quot;...or (perish the thought) did he get all defensive about his baby and&nbsp;start mumbling about Reagan-era priorities... <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' />&nbsp; This interview is the very essence of why Channel 9 rocks...</p>
<p>posted by Brian Hartung</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Farewell-to-the-Windows-Kernel-Dispatcher-Lock#c633925177990000000</link>
		<pubDate>Fri, 30 Oct 2009 16:43:19 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Farewell-to-the-Windows-Kernel-Dispatcher-Lock#c633925177990000000</guid>
		<dc:creator>Brian Hartung</dc:creator>
	</item>
	<item>
		<title>Re: Arun Kishan: Inside Windows 7 - Farewell to the Windows Kernel Dispatcher Lock</title>
		<description>
			<![CDATA[
<p>Glad you enjoyed this! Yes, Cutler was briefed and blessed the change. After all, it was his code/design that Arun replaced <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /> Arun is a genius.
</p>
<p>&nbsp;</p>
<p>C</p>
<p>posted by Charles</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Farewell-to-the-Windows-Kernel-Dispatcher-Lock#c633925472140000000</link>
		<pubDate>Sat, 31 Oct 2009 00:53:34 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Farewell-to-the-Windows-Kernel-Dispatcher-Lock#c633925472140000000</guid>
		<dc:creator>Charles</dc:creator>
	</item>
	<item>
		<title>Re: Arun Kishan: Inside Windows 7 - Farewell to the Windows Kernel Dispatcher Lock</title>
		<description>
			<![CDATA[I my company we develop light simulation software based on the physics of the photon interaction with the matter. We use itensively multithreading.<br />I&nbsp;did&nbsp;some performance tests to compare Vista and Seven on a 16 core, dual boot Vista/Seven.<br />The result is a consternation :<br />- same 16 threads using TLS : 18% slower on Seven<br />- same 16 threads using std:map per thread data : 2x slower on Seven<br />- same 16 threads using only local variable on stack and only doing only math operations : 38% slower on Seven.<br />Moreover : on Vista all threads finishes nearly at the same time, it is no more&nbsp;the case on Seven. On Seven the threads finish one after each other (after a long time), and when only 1 thread remains, it switches from 1 core to another one randomly (I do not set the affinities in this test).<br />I am continuing my tests with critical sections, interlock instructions...<p>posted by Dom</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Farewell-to-the-Windows-Kernel-Dispatcher-Lock#c634267887820000000</link>
		<pubDate>Wed, 01 Dec 2010 08:26:22 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Arun-Kishan-Farewell-to-the-Windows-Kernel-Dispatcher-Lock#c634267887820000000</guid>
		<dc:creator>Dom</dc:creator>
	</item>
</channel>
</rss>