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/
