caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Gerd Stolpmann <info@gerd-stolpmann.de>
To: Mike Lin <mikelin@mit.edu>
Cc: caml-list <caml-list@yquem.inria.fr>
Subject: Re: [Caml-list] The Future Possibility of Concurrent Garbage Collection?
Date: Fri, 15 Sep 2006 18:44:41 +0200	[thread overview]
Message-ID: <1158338681.15398.12.camel@localhost.localdomain> (raw)
In-Reply-To: <2a1a1a0c0609150924j43c719e7q729f19a2d0d61e77@mail.gmail.com>

Am Freitag, den 15.09.2006, 12:24 -0400 schrieb Mike Lin:
> Slightly OT question: I often want to parallelize algorithms in
> computational biology in which (a) the parallel computations take a
> long time (seconds/minutes) to complete, (b) they use a very large
> heap (gigs) of immutable data, and (c) they don't really need to
> synchronize at intermediate points in the computation. This seems best
> accomplished with fork(). What would be your favorite way to collect
> the results from the child processes?
> Right now I have a hacked up thing to marshal them through pipes. The
> parent process reads the values from the pipes serially, which is
> obviously sub-optimal, but I was too lazy to write a select() loop. Is
> this what you would do or can you think of a better way?
> For my purposes (embarassingly parallelizable computational biology),
> a convenient and type-safe little library for doing this would satisfy
> 80% of my SMP needs.

Use my sunrpc library. It allows you to do asynchronous calls. One
process can call the other worker processes and wait until all the
results are back. Of course, the calls are type-safe.

There is even now a manager for forking subprocesses called netplex.
I've recently used these libraries to develop a highly parallelized
system that runs on a cluster of seven machines.

Both libraries (rpc and netplex) are part of the not yet released
ocamlnet2 package. You find the sources here:

https://gps.dynxs.de/svn/lib-ocamlnet2/trunk/

A test release is here (this version is used for the mentioned cluster
and very stable):

http://ocaml-programming.de/packages/ocamlnet-2.2test11.tar.gz

Gerd

-- 
------------------------------------------------------------
Gerd Stolpmann * Viktoriastr. 45 * 64293 Darmstadt * Germany 
gerd@gerd-stolpmann.de          http://www.gerd-stolpmann.de
Phone: +49-6151-153855                  Fax: +49-6151-997714
------------------------------------------------------------


  reply	other threads:[~2006-09-15 16:44 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-09-14 15:40 Jim Battin
2006-09-14 17:04 ` [Caml-list] " skaller
2006-09-14 21:00   ` Andrej Bauer
2006-09-15 11:36 ` Damien Doligez
2006-09-15 14:29   ` Yaron Minsky
2006-09-15 16:24     ` Mike Lin
2006-09-15 16:44       ` Gerd Stolpmann [this message]
2006-09-18  8:24     ` Hendrik Tews
2006-09-18  8:38       ` skaller
2006-09-18 13:09       ` Stefan Monnier
2006-09-18 13:23         ` [Caml-list] " skaller
2006-09-18 13:42         ` Rafael 'Dido' Sevilla
2006-09-19  0:09           ` Stefan Monnier
2006-09-19  2:02             ` [Caml-list] " Rafael 'Dido' Sevilla
2006-09-19  9:19         ` Hendrik Tews
2006-09-15 20:26 ` [Caml-list] " Florian Weimer
2006-09-15 20:16 Jonathan Bryant

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1158338681.15398.12.camel@localhost.localdomain \
    --to=info@gerd-stolpmann.de \
    --cc=caml-list@yquem.inria.fr \
    --cc=mikelin@mit.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).