Boost logo

Boost :

Subject: Re: [boost] Process library with child process events
From: Giorgio Zoppi (giorgio.zoppi_at_[hidden])
Date: 2011-06-06 10:43:18


>> Something that has an object process_pool.
>
> Can you expand on what you mean by process pool? I've run into a use case
> where I'd like to launch several processes(one per core) and join all. Is
> that along the lines of what you were thinking? I do this now in client code
> but will try to get this formalized and added to the library.

Well something like the algorthmic skeleton master-slave is useful.
See this: http://en.wikipedia.org/wiki/Algorithmic_skeleton.

Over your process library you might implement some skeletons for use at best.
I need something of higher level. I dont want to care everytime to
join each process.
Something like:
int four( 4 ), five( 5 );

pool_process_sample sample(3,out_queue); // three processes.
sample.set_function( boost::bind( add, four, five ) ) );
sample.start();
sample.join_all()

Here i can use the results on the output queue. This scheme can be
extended to have a map-reduce,
or an input queue as you like. In this case it is difficult have
syncronization errors, because it is all hidden.

Probally i missed some parts.
You could, if you want
provide a lower level and an higher level.
I will help you to test performance with my work 12 cores workstation :).

Cheers,
Giorgio.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk