Subject: Re: [boost] "[gsoc] Thread scheduler support for boost"
From: Phil Endecott (spam_from_boost_dev_at_[hidden])
Date: 2009-03-23 17:05:06
Indradip Ghosh wrote:
> I would like to get suggestions on developing a thread scheduler API for
> supporting users having specific needs in prioritizing threads
> running on SMP / Multi-Core processors. Please let me know the
> viability of including such an API in generic boost distribution and
> whether anyone would volunteer to mentor this effort as a GSOC
I have previously looked at passing POSIX thread attributes (i.e.
priority and policy) and it's not much work; presumably it could now be
done using the native handle in the proposed std::thread and new
version of boost::thread. How close to the POSIX semantics does
Windows come? Boost generally prefers to implement portable stuff
(although that's not something I need!) and choosing to work in an area
where the different platforms have little common ground will make
things more difficult for you, unless you're already familiar with how
this stuff works on both POSIX and Windows systems.
Beyond that there's the area of processor affinity, where as far as I
know POSIX has nothing to say. Linux has some APIs for this but I
doubt they have much in common with any other platforms. Maybe the
Intel TBB library has already solved all of this?
I'm wondering how something like a thread pool would be extended to
exploit processor affinity, if the lower-level API offered it.
Do you have a motivating application?