none
How many processor cores does the task scheduler support?

    Question

  • Just out of curiosity I would like to know how many processor cores the task scheduler supports.

    Windows Server 2012 supports up to 640 cores. Was (is) .NET limited to 64 or would it use all available cores?

    Sunday, September 09, 2012 1:55 PM

Answers

  • The default TPL TaskScheduler targets the .NET ThreadPool.  By default, the pool is restricted to a single processor group (http://msdn.microsoft.com/en-us/library/windows/desktop/dd405503(v=vs.85).aspx), and thus to 64 cores.  However, in .NET 4.5 you can set the <Thread_UseAllCpuGroups enabled=”true”/> flag. When your computer has multiple CPU groups, enabling this element causes the runtime to distribute managed threads across all CPU groups rather than being limited to just one, and thus the default scheduler can target whatever the OS supports.  (GCCpuGroup must also be enabled for this setting to take effect.)

    Monday, September 17, 2012 10:56 PM