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 CECFBBC48 for ; Fri, 8 Apr 2005 00:19:05 +0200 (CEST) Received: from mailout10.sul.t-online.com (mailout10.sul.t-online.com [194.25.134.21]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id j37MJ5mZ015645 for ; Fri, 8 Apr 2005 00:19:05 +0200 Received: from fwd28.aul.t-online.de by mailout10.sul.t-online.com with smtp id 1DJfL7-00086v-00; Fri, 08 Apr 2005 00:19:05 +0200 Received: from [217.225.68.196] (VUxY+0ZCrepvQUhMHzYIONx8wyxdSpc1As69jShqC2LajuCDIvVDk2@[217.225.68.196]) by fwd28.sul.t-online.de with esmtp id 1DJfKv-0A9Qwq0; Fri, 8 Apr 2005 00:18:53 +0200 Message-ID: <4255B1CC.3030203@t-online.de> Date: Fri, 08 Apr 2005 00:18:52 +0200 From: Christian Szegedy User-Agent: Mozilla Thunderbird 1.0 (X11/20050131) X-Accept-Language: en-us, en MIME-Version: 1.0 To: caml-list@yquem.inria.fr Subject: Re: [Caml-list] Raising an old issue : true concurrency in OCaml [Xavier, Damien, any] References: <20050407214731.E31541C00085@mwinf1201.wanadoo.fr> In-Reply-To: <20050407214731.E31541C00085@mwinf1201.wanadoo.fr> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-ID: VUxY+0ZCrepvQUhMHzYIONx8wyxdSpc1As69jShqC2LajuCDIvVDk2 X-TOI-MSGID: 0a57e5c1-1937-4444-b8a6-64a33bfb43d0 X-Miltered: at concorde with ID 4255B1D9.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 ocaml:01 damien:01 ocaml:01 bytecode:01 parallelism:01 parallelism:01 wrote:01 thread:02 concurrency:02 concurrency:02 module:03 algorithms:03 30%:95 shared:04 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: Yoann Fabre wrote: >My point is the following (let's be blatant): I'm afraid any pure-OCaml >program will be limited to at most 50% of the CPU power on about 50% of the >machines in the next five years ; and probably 25/30% on the remaining 40% >of medium to high-end machines. > > I am really shocked reading this. I am well into an OCaml high-performance computing project. I only tested it on single-processors, but I expected that (given the Thread module) it would be no problem to parallelize it. Now it turns out that it is impossible. The typical platform for my project will be Linux on multiprocessor AMD64. As in your case, most of my algorithms can be very easily parallelized using shared-memory parallelism in C/C++. I second to your opinion that OCaml will be out of competition if it will not support shared memory parallelism very soon. Multiprocessor workstations have become very affordable and multi-core CPUs are becoming standard. I really hope that the OCaml team will accept the challenge, otherwise one should look for alternatives. Does CML supports real concurrency via shared memory parallelism? Instead of Java, one could use Scala which generates java bytecode, but the implementation did not seem to be very mature. It is far from the stability and performance of OCaml. Best regards, Christian