Hi Folks,

  I had emailed this group sometime back about the Task Queue library:
http://mail.opensolaris.org/pipermail/ug-bosug/2009-September/005392.html

I did not follow up further at that time due to time constraints and many
things on my plate. I have now done some more work on this piece and
changed things a bit and also added a sample program that demonstrates
and actual usage of the library. The sample program does a multithreaded
segmented file copy.

The source code can be found here:
http://belenix.svn.sourceforge.net/viewvc/belenix/trunk/misc/libtaskq/
You can check out that piece using this command:
svn co https://belenix.svn.sourceforge.net/svnroot/belenix/trunk/misc/libtaskq
libtaskq
The sample program is in mcp.c.

However this location is temporary as this is a separate project and not related
to BeleniX. I have registered for project hosting on sf.net since I
intend to make this
a cross-platform framework.

Listed below are a bunch of ideas that I have around this piece:

* Make it portable to BSD and Linux. This means using POSIX thread interfaces.
* Provide build-time support for different allocators apart from Umem:
 libc malloc, Hoard etc.
* Provide support for different programming models like for eg. BSP.
* Build extensions for different languages like Python.
* Support dispatch of the Blocks C language extension, see Apple's
 Grand Central Dispatch:
 http://libdispatch.macosforge.org/
* Extend to distributed task queues ?
* Can this interoperate with OpenMP ?
* Provide fine-granied task control like Processor binding.
* Possibly even extend it to provide out of the box support for alternate
 parallel hardware platforms like the Cell BE.

Regards,
Moinak.
-- 
================================
http://www.belenix.org/
http://moinakg.wordpress.com/

Reply via email to