[racket] racket, scheme, and message-passing clusters?

From: Steven Huwig (steve at huwig.info)
Date: Thu Oct 7 12:52:11 EDT 2010

Matt Jadud <jadudm at gmail.com> wrote:

> Hi Chris,
> 
> On Mon, Oct 4, 2010 at 11:14, chris lanz <lanzcc at potsdam.edu> wrote:
> > was preparing to rewrite in C and use MPI, but I've decided it's better to
> 
> Another approach would be to write your code in Racket, and bind to
> the Open MPI libraries using the C FFI:
> 
> http://docs.racket-lang.org/foreign/index.html
> 
> You might then find that it is best to write your head node in Racket,
> and your compute nodes in C -- or, perhaps not. You would, however,
> have a "standard" transport underneath your code, and MPI is pretty
> straight-forward to bind to.

Hi,

I've been thinking about binding the ZeroMQ libraries --
http://www.zeromq.org/ -- to Racket in a similar manner.  Unfortunately
this would be my "learn Racket FFI and try to remember C" spare-time
project, and it would come after my "learn iPhone application
development" spare-time project. :)

But since the topic has come up, what does the list think of basing some
Racket multiprocessor or distributed libraries on ZeroMQ?

My inspiration came after being able to quickly use Python's
"multiprocessing" library to easily take advantage of my multicore
workstation at work.  It seems to me that ZeroMQ would work well to
implement primitives like the queue/pool/pipe objects in that library.
Some simple glue code would help start multiple Racket processes
conveniently.

Does process-based (shared-nothing) concurrency already exist for
Racket?  Even if it does, is this still an avenue worth pursuing?

Thanks,
Steve



Posted on the users mailing list.