On 06/16/2015 11:13 PM, [email protected] wrote:
> Good guess Saúl, I want to provide some alternative implementations for
> the thread-pool that is currently used in libuv on windows.
> 
> UMS from everything I have read and experimented with is just plane awesome.
> 
> See Microsoft's sales pitch for it in a blog 
> 
> http://blogs.msdn.com/b/nativeconcurrency/archive/2009/02/02/dave-probert-goes-deep-on-win7-user-mode-scheduled-threads.aspx
> 
> and a channel 9 video
> 
> https://channel9.msdn.com/Shows/Going+Deep/Dave-Probert-Inside-Windows-7-User-Mode-Scheduler-UMS
> 
> But, it only exists for x64 Windows 7 and x64 Server 2008 r2, or newer.
> 
> So, I also want to experiment with and provide the OLD Thread Pool
> API(available for x86+x64 xp/2003) and the NEW Thread Pool API(available
> for x86+x64 vista/2008), see msdn link
> 
> https://msdn.microsoft.com/en-us/library/windows/desktop/ms686766(v=vs.85).aspx
> 
> I can see that part of the OLD thread pool api is being used,
> namely RegisterWaitForSingleObject and UnregisterWaitEx, but I am
> interested in checking the entire package of the OLD and NEW thread pool
> apis,
> 

Our current threadpool implementation does not use those APIs. It's a
user-space threadpool built by a Dutch Systems Artisan, Ben. Those APIs
are used as well, but for reading from names pipes which we cannot use
IOCP on (IIRC).

> 
> 
> Hopefully, with these new options, multicore performance scaling can be
> improved.
> 

What multicore problem are you trying to solve here? Each libuv event
loop runs in a single thread and that will remain as is for the
foreseeable future. Only filesystem and DNS operations use the threadpool.

> I have found through experimentation and reading that UMS has special
> benefits that cannot be found in any other way.
> 
> Also, from experimentation I have found that the new thread pool api can
> sometimes show an improvement over direct usage of a pool of threads.
> 
> I forked libuv with the intention of adding these experiments to the
> benchmarks, and if we find that there are some improvements with the
> additional options, then I hope we add them to the master tree.
> 
> see
> 
> https://github.com/codepilot/libuv
> 
> 
> Can someone let me know if XP and Vista are still important targets for
> libuv? Or, should I be targeting win 7 and newer?
> 

We still support those. Ideally we'll drop XP and Server 2k3 support in
the next major release, but Vista is still supported by MS.


Cheers,

-- 
Saúl Ibarra Corretgé
bettercallsaghul.com


-- 
You received this message because you are subscribed to the Google Groups 
"libuv" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/libuv.
For more options, visit https://groups.google.com/d/optout.

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to