On Thu, 2006-09-21 at 11:14 +0200, Joerg F. Wittenberger wrote: > Porting Termite will not exactly help here. Termite (on gambit) > allows you to manually transfer objects from host to host, where host > is a OS process. On multicore machines you still have to run one host > per processor. Then you would be left with *manually* controlling > object transfer and distribution.
With a threading system, you're still, at some point in your code, *manually* firing off new threads, so it's different work, not necessarily more. > Gambit-C, chicken, rscheme (I don't know about Java???) and many other > user level threading systems simly share the problem: user mode > threads are fast, but don't scale with multiple cores. And that's why something like Termite makes so much sense. When you institute immutables, and copy by value on function arguments, it makes it easy to scale with multiple cores since you've eliminated most potential concurrency bugs. So you run one host per core, and dispatch the work. Have you look at Termite's syntax? It makes such things very, very easy. > Usually that's > a memory management issue (Felix should know) which doesn't go away by > any amount of code in the language. Needed is a n:m mapping from user > level threads to system threads running the chicken VM (runtime). If I'm understanding your suggested n:m mapping correctly, then Termite makes it really simple to establish what you're asking for. Steve _______________________________________________ Chicken-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/chicken-users
