From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Delivered-To: caml-list@yquem.inria.fr Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id 71341BCBB for ; Fri, 24 Jun 2005 09:58:55 +0200 (CEST) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id j5O7wirn001348 for ; Fri, 24 Jun 2005 09:58:45 +0200 Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id JAA13322 for ; Fri, 24 Jun 2005 09:58:14 +0200 (MET DST) Received: from mailx.valdosta.edu (mailx.valdosta.edu [168.18.130.251]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id j5O7wDTL001993 for ; Fri, 24 Jun 2005 09:58:13 +0200 Received: from blazemail.valdosta.edu (valdosta.edu [168.18.130.208]) by mailx.valdosta.edu (8.13.4/8.13.4) with ESMTP id j5NHKibj015273 for ; Thu, 23 Jun 2005 13:20:45 -0400 (EDT) (envelope-from jtbryant@valdosta.edu) Received: from starlight.valdosta.edu (starlight.valdosta.edu [168.18.148.146]) by blazemail.valdosta.edu (iPlanet Messaging Server 5.2 HotFix 2.04 (built Feb 8 2005)) with ESMTP id <0IIJ006S0S6KVE@blazemail.valdosta.edu> for caml-list@inria.fr; Thu, 23 Jun 2005 13:20:44 -0400 (EDT) Date: Thu, 23 Jun 2005 13:20:56 -0400 From: Jonathan_T_Bryant Subject: Re: [Caml-list] How INRIA people envision OCaml's parallel future? In-reply-to: <3d13dcfc05062300215e4be9ee@mail.gmail.com> To: caml-list@inria.fr Reply-To: jtbryant@valdosta.edu Message-id: <1119547256.4675.12.camel@starlight.valdosta.edu> MIME-version: 1.0 X-Mailer: Evolution 2.0.2 (2.0.2-13) Content-type: text/plain Content-transfer-encoding: 7BIT References: <3d13dcfc05062300215e4be9ee@mail.gmail.com> X-PMX-Version: 5.0.1.144180, Antispam-Engine: 2.0.3.2, Antispam-Data: 2005.6.23.19 X-Miltered: at nez-perce with ID 42BBBD35.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at concorde with ID 42BBBD15.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 ocaml's:01 threads:01 ocaml:01 overkill:01 heap:01 threads:01 allocations:01 synchronized:01 ocaml:01 runtime:01 parallelism:01 jocaml:01 mips:01 -thread:01 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on yquem.inria.fr X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.2 X-Spam-Level: I don't know if I'm alone in this opinion, but transparency would be nice. It would be nice to be able to take full advantage of SMP machines using things like threads without necessarily writing parallel code. Just things like servers are easier to write in this manner (a project I'm currently working on in OCaml). A new language is not necessary and would actually be overkill. Sure there could be an interface for manually adjusting which processor a thread runs on, etc., but it should not necessarily have to be used to take advantage of SMP. As far as the GC, am I'm just kinda throwing this out off the cuff, but couldn't the heap be a shared memory segment that all threads attach to, thereby allowing easier collection on multiple processors. All allocations could be synchronized (via some kind of semaphore) and could be locked only during a collection. I know this is a lot harder than that, but, like I said, it's just an idea... --Jonathan On Thu, 2005-06-23 at 09:21 +0200, David MENTRE wrote: > Hello OCaml hackers, > > Several people on this list have expressed concerns about the current > limitation of OCaml runtime to work efficiently on multi-processor > machines (limitation related to the inability of current GC to > simultaneously support different threads if I've understood > correctly). I'm amongst them. On the other side, it is clear that > multi-core and multi-threaded processor are going to be widely > available in a short time frame, in embedded[1], desktop and high-end > machines. > > How INRIA people are considering the parallel future of OCaml? Do you > consider improving the GC to support concurrent threads? Or do you > consider this a non issue? > > More generally, do you plan to introduce new language constructs to > support parallelism? I'm thinking of Jocaml and Skeleton approach for > example. Or simply some libraries? > > I know that predictions are quite difficult, especially about the > future, :) but I suppose INRIA people are thinking about those issues. > OCaml is a very exciting experiment of pragmatism and theory and I'm > curious of what might appear on the parallel topic. > > Sincerely yours, > david > > [1] At work we are using dual-core MIPS processor and 8-core, 8-thread > per core network processor for an embedded system. I've heard of 8- > and 16-core MIPS processor for embedded boards. Very powerful, but a > nightmare to program. I wish I had an OCaml-like language on the > network processor. :) > > _______________________________________________ > Caml-list mailing list. Subscription management: > http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list > Archives: http://caml.inria.fr > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs