From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id 4BBB17EE4B for ; Fri, 4 Oct 2013 17:44:40 +0200 (CEST) Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of Francis.Dupont@fdupont.fr) identity=pra; client-ip=91.121.26.85; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="Francis.Dupont@fdupont.fr"; x-sender="Francis.Dupont@fdupont.fr"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of Francis.Dupont@fdupont.fr designates 91.121.26.85 as permitted sender) identity=mailfrom; client-ip=91.121.26.85; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="Francis.Dupont@fdupont.fr"; x-sender="Francis.Dupont@fdupont.fr"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of postmaster@givry.fdupont.fr designates 91.121.26.85 as permitted sender) identity=helo; client-ip=91.121.26.85; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="Francis.Dupont@fdupont.fr"; x-sender="postmaster@givry.fdupont.fr"; x-conformance=sidf_compatible; x-record-type="v=spf1" X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AhQFAG3hTlJbeRpV/2dsb2JhbABZgwfCUIEaFnSCJQEBBAFTJgUMCg4CETRIBhOIAAq8AI4SBoE5B4QjA5gBkX+DJjqBLAkX X-IPAS-Result: AhQFAG3hTlJbeRpV/2dsb2JhbABZgwfCUIEaFnSCJQEBBAFTJgUMCg4CETRIBhOIAAq8AI4SBoE5B4QjA5gBkX+DJjqBLAkX X-IronPort-AV: E=Sophos;i="4.90,1033,1371074400"; d="scan'208";a="29141678" Received: from givry.fdupont.fr ([91.121.26.85]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-SHA; 04 Oct 2013 17:44:39 +0200 Received: from givry.fdupont.fr (localhost [127.0.0.1]) by givry.fdupont.fr (8.14.3/8.14.3) with ESMTP id r94FiR1h085910; Fri, 4 Oct 2013 17:44:27 +0200 (CEST) (envelope-from dupont@givry.fdupont.fr) Message-Id: <201310041544.r94FiR1h085910@givry.fdupont.fr> From: Francis Dupont To: Wolfgang Draxinger cc: Caml List In-reply-to: Your message of Fri, 04 Oct 2013 01:46:49 +0200. <20131004014649.2b4e7750@narfi.yggdrasil.draxit.de> Date: Fri, 04 Oct 2013 17:44:27 +0200 Sender: Francis.Dupont@fdupont.fr Subject: Re: [Caml-list] Current state of threading parallelism? In your previous mail you wrote: > I'm a bit out of the loop of the current state of OCaml support for > parallelism. My most recent knowledge on the topic, which dates back > about 3 years, would be, that due to the global garbage collector OCaml > did support only time sharing multithreaded concurrency limited to a > single processing core, i.e. no parallelism at all. => yes, this is the official way (no shared memory, no fine grain locking, etc). Note this was the way followed by Python too for the same reasons (to make the intepreter multi-threaded was considered as too hard for the expected best result, i.e., ~4 time maximum speed up). You can say OCaml can be compiled to native code but this is far to help for the garbage collector... > Have there been significant changes in that regard lately? I did notice > that there are now new (inofficial) ocamlopt backends based on LLVM. > Are there any new, as exciting developments regarding the runtime system > as well? => I can't see where a LLVM backend really helps for multi-core/multi- processor parallelism... IMHO the best / most reasonable thing you can do to handle multi-core/multi-processor parallelism is a set of communicating independent OCaml instances (one per process). The model is well understood and scales. Regards Francis.Dupont@fdupont.fr PS: my PhD thesis was about Caml and parallelism so the subject is really not new...