From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: * X-Spam-Status: No, score=1.6 required=5.0 tests=AWL,DNS_FROM_RFC_ABUSE, HTML_00_10,HTML_MESSAGE,SPF_NEUTRAL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from discorde.inria.fr (discorde.inria.fr [192.93.2.38]) by yquem.inria.fr (Postfix) with ESMTP id 3BB2FBC50 for ; Fri, 15 Sep 2006 18:24:21 +0200 (CEST) Received: from ug-out-1314.google.com (ug-out-1314.google.com [66.249.92.171]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id k8FGOKH8021148 for ; Fri, 15 Sep 2006 18:24:20 +0200 Received: by ug-out-1314.google.com with SMTP id 78so194228ugn for ; Fri, 15 Sep 2006 09:24:16 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:sender:to:subject:in-reply-to:mime-version:content-type:references:x-google-sender-auth; b=VZ0ubHHIhrFgbSGVvpEFnb5GeZ7MP2Yq9esuOZyRodVpSqp33M0QN/aNym9CE5Jy44/ABUz9wVTQzvE46qSm+87aFbMEsZrvZUZ6To7urGNlegIrgQaILgHJpUn2wQaj8RC0egaqQXYYiy1uBFxvgCBSLCCfnDJVILplPkwdWJ8= Received: by 10.67.97.18 with SMTP id z18mr5468678ugl; Fri, 15 Sep 2006 09:24:16 -0700 (PDT) Received: by 10.66.221.7 with HTTP; Fri, 15 Sep 2006 09:24:16 -0700 (PDT) Message-ID: <2a1a1a0c0609150924j43c719e7q729f19a2d0d61e77@mail.gmail.com> Date: Fri, 15 Sep 2006 12:24:16 -0400 From: "Mike Lin" Sender: nilekim@gmail.com To: caml-list Subject: Re: [Caml-list] The Future Possibility of Concurrent Garbage Collection? In-Reply-To: <891bd3390609150729k27b7acf8rc9b12f1e08eae93@mail.gmail.com> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_21646_24572982.1158337456069" References: <891bd3390609150729k27b7acf8rc9b12f1e08eae93@mail.gmail.com> X-Google-Sender-Auth: 1c440a8ee202b2f1 X-Miltered: at discorde with ID 450AD3B4.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; mikelin:01 computations:01 heap:01 hacked:01 sub-optimal:01 type-safe:01 computations:01 heap:01 hacked:01 sub-optimal:01 type-safe:01 garbage:01 marshal:01 marshal:01 caml-list:01 ------=_Part_21646_24572982.1158337456069 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline 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. Mike ------=_Part_21646_24572982.1158337456069 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline
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.
Mike
------=_Part_21646_24572982.1158337456069--