[Boost.Thread][GSoC] Boost.Thread executors proposal

Hi, Here is my GSoC proposal for working on the scheduled executors classes. It can be found here: www.cs.mcgill.ca/~iforbe/ This proposal mainly deals with the implementation of classes extending the `scheduled_executor` interface. I have already written thread pool implementations with very similar functionality to the ones proposed. I feel that the current proposal could use a little bit of touching up so please feel free to leave comments/criticisms. I would also be willing to take on any other work related to executors such the the dynamic/work-stealing thread pool implementation or the parallel algorithms library and add it into my proposal. Thank, Ian

On 13 Mar 2014 at 3:59, Ian Forbes wrote:
I feel that the current proposal could use a little bit of touching up so please feel free to leave comments/criticisms.
A strong proposal, well done Ian. It helps you have a good basic understanding of C++11, something very few GSoC candidates here have preexisting. I'll leave Vicente take the details from here as he would almost certanly be your mentor, but please do prepare a proposal according to Google's guidelines and send it here for us to look at. Niall --- Boost C++ Libraries Google Summer of Code 2014 admin https://svn.boost.org/trac/boost/wiki/SoC2014

Le 13/03/14 04:59, Ian Forbes a écrit :
Hi,
Here is my GSoC proposal for working on the scheduled executors classes. It can be found here: www.cs.mcgill.ca/~iforbe/
This proposal mainly deals with the implementation of classes extending the `scheduled_executor` interface. I have already written thread pool implementations with very similar functionality to the ones proposed.
I feel that the current proposal could use a little bit of touching up so please feel free to leave comments/criticisms.
I would also be willing to take on any other work related to executors such the the dynamic/work-stealing thread pool implementation or the parallel algorithms library and add it into my proposal.
Hi, I like your proposal on scheduled_executor and possibly extend it to a priority thread pool. I would let the work-stealing outside the proposal. Just to note that the closure would not be a std::function<void()> as this class doesn't accept a movable only function. Boost.Thread would include (version 1.56) a boost::executors::work as a type-erased class for closures. I'm looking for a different approach respect to scheduled work of the N3785 proposal. First provide in addition a static polymorphic interface. The template functions submit_at and submit_after would accept any chrono `time_point` and `duration`. Second, provide an adaptor that wraps an scheduled executor and makes it a polymorphic one. Third, provide an adaptor that wraps an executor, manage the time based operations using a specific thread and forward all the operations to the wrapped executor. What do you think of this approach? Best, Vicente
participants (3)
-
Ian Forbes
-
Niall Douglas
-
Vicente J. Botet Escriba