I'd be very interested in seeing how to integrate ZeroMQ as the transport for Termite (which is built atop Gambit).  Since ZeroMQ gives you very fast interprocess communication (as well as transparent distributed systems and message queuing) using, the result of such an integration would give you a naturally multicore version of Gambit.<br>
<br>I haven't looked at the details of how the Termite mailbox (single message queue) is implemented, but it seems to this would give an incredibly cool and scalable system.<br><br>I'd be interested in seeing if this could happen. Feng, would you like to collaborate on this?<br>
<br>Best,<br>Jason<br><br><div class="gmail_quote">On Sun, Apr 3, 2011 at 10:04 PM, Feng Hou <span dir="ltr"><<a href="mailto:houfen@gmail.com">houfen@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Hello everyone,<div><br></div><div>Gambit has great concurrency support by green-thread and no-blocking I/O scheduling. However, they are only able to use one native thread on multicore hardware. I have noticed some wish list on wiki for multicore/multiprocessing concurrency support. I'm wondering whether 0MQ (<a href="http://www.zeromq.org/" target="_blank">http://www.zeromq.org/</a>) can be used as substance for Gambit to build such capabilities.</div>

<div><br></div><div>My thoughts are,</div><div><br></div><div>-- Not just a FFI binding.</div><div>-- Use it as message passing broker for multicore and distributed concurrency.</div><div>-- Share nothing between the GVM thread and other in-process native threads (doing long CPU bound computation or blocking I/O).</div>

<div>-- How to integrate 0MQ inter-thread transport to gambit green-thread scheduler without blocking it?</div><div>-- Would it be possible to bind 0MQ inter-thread socket to gambit mailbox?</div><div>-- How to integrate 0MQ I/O event poller with gambit I/O loop?</div>

<div>-- Would it be better to expose 0MQ IPC/TCP/PGM socket types as Gambit Port objects?</div><div><br></div><div>I realized they were way beyond my knowledge and skill level to implement (some may not even make sense, please correct me). Nevertheless, just want to see if others have similar thoughts or needs.</div>

<div><br></div><div>Cheers,</div><div>Feng Hou</div><font color="#888888"><div><br></div><div><br></div>
</font><br>_______________________________________________<br>
Gambit-list mailing list<br>
<a href="mailto:Gambit-list@iro.umontreal.ca">Gambit-list@iro.umontreal.ca</a><br>
<a href="https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list" target="_blank">https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>Jason E. Aten, Ph.D.<br><br><br>