From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by walapai.inria.fr (8.13.6/8.13.6) with ESMTP id p3NHd894012816 for ; Sat, 23 Apr 2011 19:39:08 +0200 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AtQBAGQNs03RVdW2kWdsb2JhbACXaoY9AYc3CBQBAQEBCQsLBxQEIYhwnmKKeIInhAY0iF4BAQMGhXAEhXCIRYdygiA6 X-IronPort-AV: E=Sophos;i="4.64,259,1301868000"; d="scan'208";a="93675226" Received: from mail-yx0-f182.google.com ([209.85.213.182]) by mail4-smtp-sop.national.inria.fr with ESMTP/TLS/RC4-SHA; 23 Apr 2011 19:39:03 +0200 Received: by yxl31 with SMTP id 31so561650yxl.27 for ; Sat, 23 Apr 2011 10:39:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=5MRaygxnM+dcO0AkOzBnu0jlR2Pj/p8t5CWRbVz4w6A=; b=oWBJEoPNBpdKMneLHxLHBi5nFYREw/H28H1UfPSqJIKuqsMk9pWUU2TsNyZo1935P7 M1XKINyKpmN8IMUjl6QKmWtsfICCbsFcZhWUsJMuic8D1YsT1geD+ypRJ3Ag+GEZxYpZ vNfrOeTyA8Ja0AOOZlVXzsORv7KsDh1cxS69A= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=GD2tFBERzamtvSIm0QOWvV+2VvhtRUIwdj8XEYbry8FGNU11lsOV1Y22Y54D83m/YN uGTLOHp3LzDkHuqKpmDmPaoT65uc936oXiDVS/l0cLQMEigc/cntHLoj2+gGTESVPKzu SMnT3TEEZ3ujarnAapkEsMvTLi3cilOB0vq4g= MIME-Version: 1.0 Received: by 10.236.127.163 with SMTP id d23mr2247549yhi.244.1303580341488; Sat, 23 Apr 2011 10:39:01 -0700 (PDT) Received: by 10.147.171.13 with HTTP; Sat, 23 Apr 2011 10:39:01 -0700 (PDT) In-Reply-To: <97D08229-2871-42F1-A50D-8E85C6C2BE31@gmail.com> References: <76544177.594058.1303341821437.JavaMail.root@zmbs4.inria.fr> <4DAFE141.7080003@inria.fr> <4DAFF442.8000806@lexifi.com> <799994864.610698.1303412613509.JavaMail.root@zmbs4.inria.fr> <4DB136FB.6050302@inria.fr> <1303463512.8429.1344.camel@thinkpad> <97D08229-2871-42F1-A50D-8E85C6C2BE31@gmail.com> Date: Sat, 23 Apr 2011 20:39:01 +0300 Message-ID: From: Eray Ozkural To: Alexy Khrabrov Cc: Caml List Content-Type: multipart/alternative; boundary=20cf300fa9bb30cb2e04a199738e Subject: Re: [Caml-list] Efficient OCaml multicore -- roadmap? --20cf300fa9bb30cb2e04a199738e Content-Type: text/plain; charset=ISO-8859-1 On Sat, Apr 23, 2011 at 4:47 PM, Alexy Khrabrov wrote: > > On Apr 23, 2011, at 6:17 AM, Eray Ozkural wrote: > > > I don't really care what others say, but to prove that this has any > performance value you should do the following: > > > > > > Compare your most "parallel" algorithm with the performance of a > corresponding well-written MPI application using openmpi's shared memory > transport. If there is a difference, then your system has some value. > > > > Of course openmpi's shared memory transport is terribly buggy, but it > should give a baseline acceptable performance. > > > > If there is no comparison, we have no idea. > > The problem with "implement in MPI and compare" is that you have to > rearchitect a sequential program for a totally different model. By > contrast, using shared memory parallelism, it's often a question of using > pmap. > Incorrect. We always compare to sequential code in parallel computing. It's called "speedup". And doubly incorrect because we are not comparing to sequential code but a claimed shared memory parallelism. It's only logical to compare two approaches on the same hardware. > > I really recommend everybody interested in parallelism to learn and try > Clojure on a small problem. You can replace a single map by pmap in a > suitable setting and observe a not-quite-linear, but proportional speedup. > Of course functional programming fits such parallelism very well. It's a shame that ocaml does not have parallel functional primitives. > > I'd be really happy if OCaml gets the mechanisms from Clojure. It'd be even better if such explicit parallelism had good compiler support, too :) I don't know much about Clojure, but I wouldn't use anything that runs on JVM for a parallel program. That might be like first turning your computer to Commodore 64 and then getting some speedup. Best, -- Eray Ozkural, PhD candidate. Comp. Sci. Dept., Bilkent University, Ankara http://groups.yahoo.com/group/ai-philosophy http://myspace.com/arizanesil http://myspace.com/malfunct --20cf300fa9bb30cb2e04a199738e Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On Sat, Apr 23, 2011 at 4:47 PM, Alexy Khrabrov <deliverable@gmail.com> wr= ote:

On Apr 23, 2011, at 6:17 AM, Eray Ozkural wrote:

> I don't really care what others say, but to prove that this has an= y performance value you should do the following:
>
>
> Compare your most "parallel" algorithm with the performance = of a corresponding well-written MPI application using openmpi's shared = memory transport. If there is a difference, then your system has some value= .
>
> Of course openmpi's shared memory transport is terribly buggy, but= it should give a baseline acceptable performance.
>
> If there is no comparison, we have no idea.

The problem with "implement in MPI and compare" is that you= have to rearchitect a sequential program for a totally different model. = =A0By contrast, using shared memory parallelism, it's often a question = of using pmap.

Incorrect. We always compare to sequential= code in parallel computing. It's called "speedup".

And doubly incorrect because we are not comparing to sequen= tial code but a claimed shared memory parallelism. It's only logical to= compare two approaches on the same hardware.
=A0

I really recommend everybody interested in parallelism to learn and try Clo= jure on a small problem. =A0You can replace a single map by pmap in a suita= ble setting and observe a not-quite-linear, but proportional speedup.

Of course functional programming fits such= parallelism very well. It's a shame that ocaml does not have parallel = functional primitives.
=A0

I'd be really happy if OCaml gets the mechanisms from Clojure.=A0


It'd be even better if such e= xplicit parallelism had good compiler support, too :) I don't know much= about Clojure, but I wouldn't use anything that runs on JVM for a para= llel program. That might be like first turning your computer to Commodore 6= 4 and then getting some speedup.


Best,=A0

--
Eray Ozkural, PhD candidate.=A0 Comp. Sci. Dept., Bilkent Universi= ty, Ankara
http:= //groups.yahoo.com/group/ai-philosophy
http://myspace.com/arizanesil= http://myspace.com/malfunct
--20cf300fa9bb30cb2e04a199738e--