tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Parallel tasking library



On Thu, Nov 03, 2011 at 09:13:36PM +0000, Sad Clouds wrote:
> On Thu, 3 Nov 2011 20:34:39 +0100
> Martin Husemann <martin%duskware.de@localhost> wrote:
> 
> > On Thu, Nov 03, 2011 at 01:10:38PM -0500, David Young wrote:
> > > A few years ago I remember murmurs about Apple's Grand Central
> > > Dispatch, which was imported into FreeBSD.  Does that do what you
> > > are looking for? It would be nice to have that in NetBSD.
> > 
> > What would use it in base?
> > 
> > Martin
> 
> Libraries that do compression/decompression, encryption/decryption,
> email/web servers in base. For example if C compiler could be modified
> to execute functions in parallel when building a project (this is quite
> different from parallel Make), then waiting time on SMP hardware would
> be drastically cut down.

No, it wouldn't. There are a lot of problems that are not easy to
parallelize. Data compression depends a lot on the algorithm and
generally comes with a price. Decompression is often impossible to do in
parallel without changing the stream format. Similar for
encryption/decryption -- CBC won't scale, others do. For a compiler,
there was done quite a bit research in this area. Unsurprisingly, the
tasks that takes most of the time (optimisation) is also the task that
touches the largest amount of data and where adding synchronisation
primitives hurts most. It's definitely nothing where a few code
generation changes (like OpenMP) helps.

Joerg


Home | Main Index | Thread Index | Old Index