From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Delivered-To: caml-list@yquem.inria.fr Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 56383BC48 for ; Sun, 10 Apr 2005 18:53:55 +0200 (CEST) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id j3AGrsAx005756 for ; Sun, 10 Apr 2005 18:53:54 +0200 Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id SAA05837 for ; Sun, 10 Apr 2005 18:53:54 +0200 (MET DST) Received: from wproxy.gmail.com (wproxy.gmail.com [64.233.184.194]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id j3AGrrIX028997 for ; Sun, 10 Apr 2005 18:53:54 +0200 Received: by wproxy.gmail.com with SMTP id 36so610239wra for ; Sun, 10 Apr 2005 09:53:53 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:cc:in-reply-to:mime-version:content-type:references; b=d+PIOBRoviGprxlknU5V8qvEywumNRotiVqnOeUBKeNjM9SYJRXQyoMHeQxuPFK8K5Q8iuVoougzz2MuEQLv5HJMoOzVXua4otz67x3mJ1RMP4aVC1R+zdu3pNOhdH9NSuDUemy8fkSUsgNIFufwgHUJ2I4r5VHdDr4FCweS7HI= Received: by 10.54.21.45 with SMTP id 45mr1530603wru; Sun, 10 Apr 2005 09:53:53 -0700 (PDT) Received: by 10.54.2.79 with HTTP; Sun, 10 Apr 2005 09:53:53 -0700 (PDT) Message-ID: <891bd339050410095371db3817@mail.gmail.com> Date: Sun, 10 Apr 2005 12:53:53 -0400 From: Yaron Minsky Reply-To: yminsky@cs.cornell.edu To: Oliver Bandel Subject: Re: [Caml-list] Raising an old issue : true concurrency in OCaml [Xavier, Damien, any] Cc: caml-list@inria.fr In-Reply-To: <20050410095952.GA472@first.in-berlin.de> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_1195_28919211.1113152033070" References: <20050407214731.E31541C00085@mwinf1201.wanadoo.fr> <20050410095952.GA472@first.in-berlin.de> X-Miltered: at concorde with ID 42595A22.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at nez-perce with ID 42595A21.002 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; yaron:01 minsky:01 yminsky:01 caml-list:01 ocaml:01 damien:01 oliver:01 bandel:01 oliver:01 in-berlin:01 ocaml:01 threads:01 threads:01 ocaml's:01 yaron:01 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on yquem.inria.fr X-Spam-Status: No, score=0.5 required=5.0 tests=HTML_20_30,HTML_MESSAGE, RCVD_BY_IP autolearn=disabled version=3.0.2 X-Spam-Level: ------=_Part_1195_28919211.1113152033070 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On Apr 10, 2005 5:59 AM, Oliver Bandel wrote:= =20 > [... a discussion of how SMP support is really the OS's responsibility,= =20 > not the language's...] >=20 > So, if I've overseen something, let me know it. >=20 >=20 You have. Due to the lack of a concurrent GC, OCaml doesn't allow multiple= =20 threads to be executing caml code at once. This means that OCaml (unlike,= =20 say, C) doesn't allow you to take performance advantage of a multi-CPU (or= =20 multi-core) machine by running multiple threads in the same executable. Wit= h=20 the predicted rush of multi-core CPUs, the argument can be made that being= =20 able to take advantage of this kind of paralellism is increasingly=20 important, and a feature that should be on OCaml's roadmap, which it=20 currently is not. Yaron ------=_Part_1195_28919211.1113152033070 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On Apr 10, 2005 5:59 AM, Oliver Bandel &l= t;oliver@first.in-berlin.de> wrote:

[... a discussion of how SMP suppo= rt is really the OS's responsibility, not the language's...]

So, if = I've overseen something, let me know it.


You have.  Due to the lack of a concurrent GC, OCaml doesn't allow multiple threads to be executing caml code at once.  This means that OCaml (unlike, say, C) doesn't allow you to take performance advantage of a multi-CPU (or multi-core) machine by running multiple threads in the same executable.  With the predicted rush of multi-core CPUs, the argument can be made that being able to take advantage of this kind of paralellism is increasingly important, and a feature that should be on OCaml's roadmap, which it currently is not.

Yaron
------=_Part_1195_28919211.1113152033070--