English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
The Future Possibility of Concurrent Garbage Collection?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2006-09-15 (16:24)
From: Mike Lin <mikelin@m...>
Subject: Re: [Caml-list] The Future Possibility of Concurrent Garbage Collection?
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.