Hi, i find this intersting. I had made a start a while back on trying to naively integrate pthreads into COLA. I got distracted from that but at the time got stuck with what I thought were GC issues. Has this been a problem for you? do you do anything specific in your build for multi-threaded GC support.
many thanks, Mike On Tue, Jun 16, 2009 at 3:09 PM, Tim Molderez<[email protected]> wrote: > Hello everyone, > > Way back in October I mentioned the implementation of multithreading support > in COLA, which was part of my master thesis. > I've presented/defended this thesis a couple of days ago (hurray :) ), so I > figured now would be a good time to share what I've been doing this year. > > My thesis is about supporting so-called thread-local aspects in delMDSoC, a > virtual machine that is built on top of COLA and is aimed at MDSoC > paradigms. > In order to provide support for these thread-local aspects (aspects with > thread-local behaviour), it should be possible to create multiple threads as > well, which is why COLA also needed to support multithreading. I've provided > very basic multithreading support by essentially integrating the ptreads > library into COLA with a couple of wrapper Pepsi objects. > If this sparks your interest, you may want to check out this .zip-file: > http://svn.assembla.com/svn/aopthesis/Code/delMDSoC_Multithreading_ThreadLocalAspects.zip > It contains the delMDSoC implementation of both multithreading and > thread-local aspects. See the README.THREADS file included within for > further instructions on how to get it all working. > > If you happen to be solely interested in multithreading support for COLA, > I've also created another .zip-file that is suitable for regular COLA > installations: > http://svn.assembla.com/svn/aopthesis/Code/COLA_Multithreading.zip > I've tested it on the current stable COLA version, revision 376. This > .zip-file also includes a README.THREADS file that provides all the > necessary instructions to get you started. > > The thesis text itself can be found here: > http://svn.assembla.com/svn/aopthesis/Documents/AOP%20Thesis.pdf > You may want to take a look at it in case you're looking for additional > documentation or if you happen to be in a reading mood. (Everything related > to multithreading can be found in chapter 3.) > > Finally, perhaps a small disclaimer: All of my code has only been tested > with essentially a series of toy examples, so it's not unlikely you'll > discover a bug or two. Also, I have only provided the basics of the pthreads > library: creating/joining/pausing threads and creating/locking/unlocking > mutexes. However, it should be relatively easy to carry over additional > pthreads functionality by looking at how the included Thread.st and Mutex.st > Pepsi objects work. > > Have fun, > Tim > > _______________________________________________ > fonc mailing list > [email protected] > http://vpri.org/mailman/listinfo/fonc > _______________________________________________ fonc mailing list [email protected] http://vpri.org/mailman/listinfo/fonc
