[zeromq-dev] Async::Worker, C++ task offloading.
Martin Sustrik
sustrik at 250bpm.com
Thu Jul 22 11:10:04 CEST 2010
Oliver Smith wrote:
> Download: http://www.kfs.org/async/worker/
> Documentation: http://www.kfs.org/async/worker/manual/
We should somehow store pointers to 0MQ-related projects like this one
on zeromq.org website, otherwise they'll be hard to find and hard to use.
Anyone any idea of how it should be done?
A simple "links" section?
> It combines concepts from OpenMP and Intel's TBB.
I am not the expert on either of the two, but the idea of making 0MQ
infrastructure look more friendly to OpenMP/TBB developers looks like an
interesting idea. If you are interested in discussing it, comparing the
OpenMP/TBB/0MQ approaches, benchmarks etc. you can possibly write a blog
about it to post on zeromq.org.
> This is a somewhat weak example because the work being done by the
> worker is so trivial, but even so on a virtual quad-core machine
> building with -O0 I see a 35-40% reduction in processing time.
Wrker being trivial, the large reduction in processing time is even more
impressive.
> I ran a second test with a ridiculously complicated formula involving
> int-to-float, float-to-double, double-to-bool, sin, cos, abs, modulo etc
> operations, and benchmarked running the array in serial vs parallel.
>
> Serial: 6784 miliseconds
> Paralle: 1401 miliseconds.
>
> And that's without any effort to take things like cache alignment, cache
> lines etc into account, or any effort to tweak the number of tasks per
> workload.
Nice!
>
> I hope some of you will find this useful.
>
> If you want to provide feedback or questions, either follow up here, to
> my email address or on the blog post linked from the manual page.
>
> Happy threading :)
Martin
More information about the zeromq-dev
mailing list