From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by yquem.inria.fr (Postfix) with ESMTP id E057ABBB7 for ; Fri, 11 Jul 2008 00:39:44 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ar0AAKIsdkjU4368mmdsb2JhbACBW5BJAQEBAQEIBQgHEQOfRwE X-IronPort-AV: E=Sophos;i="4.30,340,1212357600"; d="scan'208";a="13015211" Received: from moutng.kundenserver.de ([212.227.126.188]) by mail2-smtp-roc.national.inria.fr with ESMTP; 11 Jul 2008 00:39:44 +0200 Received: from gate.lan.gerd-stolpmann.de (dslb-088-068-196-079.pools.arcor-ip.net [88.68.196.79]) by mrelayeu.kundenserver.de (node=mrelayeu5) with ESMTP (Nemesis) id 0ML25U-1KH4nf17oA-0000V0; Fri, 11 Jul 2008 00:39:43 +0200 Received: from [192.168.0.32] (fw.lan.gerd-stolpmann.de [192.168.1.1]) by gate.lan.gerd-stolpmann.de (Postfix) with ESMTP id D0B44C077; Fri, 11 Jul 2008 00:39:42 +0200 (CEST) Subject: Re: [Caml-list] Re: thousands of CPU cores From: Gerd Stolpmann To: Jon Harrop Cc: caml-list@yquem.inria.fr In-Reply-To: <200807102235.52882.jon@ffconsultancy.com> References: <1215724745.24773.37.camel@flake.lan.gerd-stolpmann.de> <200807102235.52882.jon@ffconsultancy.com> Content-Type: text/plain Date: Fri, 11 Jul 2008 00:39:42 +0200 Message-Id: <1215729582.24773.43.camel@flake.lan.gerd-stolpmann.de> Mime-Version: 1.0 X-Mailer: Evolution 2.12.1 Content-Transfer-Encoding: 7bit X-Provags-ID: V01U2FsdGVkX1/6oeTC0bIZKvSbS2Vm7bxFJyQxSDd4gj+xoqQ glke/5HMPkRKESrf5wX4d0C3CFQpKF7Sr+kB86xoKF5X1PlsuP 3XMXYK4Z7UgdmyOfcKjMwUuDmvOPihI X-Spam: no; 0.00; gerd:01 stolpmann:01 donnerstag:01 gerd:01 stolpmann:01 mingw:01 sockets:01 syscalls:01 orthogonal:01 event-based:01 syntax:01 viktoriastr:01 64293:01 darmstadt:01 6151:01 Am Donnerstag, den 10.07.2008, 22:35 +0100 schrieb Jon Harrop: > On Thursday 10 July 2008 22:19:05 Gerd Stolpmann wrote: > > After having ported godi to mingw I am not sure whether this works at > > all. The point is that you usually want to inherit OS resources to the > > child process (e.g. sockets). The CreateProcess Win32 call > > (http://msdn.microsoft.com/en-us/library/ms682425(VS.85).aspx) mentions > > that you can inherit handles, but I would be careful with the > > information given in MSDN. Often it works only as far as the presented > > examples. Windows isn't written for multi-processing, and its syscalls > > aren't as orthogonal as in Unix-type systems. > > > > Furthermore, it looks like a pain in the ass - often you want to run > > some initialization code, and without fork() you have to run it as often > > as you start processes. > > > > Also, Windows is just a bad platform for event-based programs, and you > > want to do it to some extent (e.g. for watching all your child > > processes). Only for socket handles there is a select() call. For all > > other types of handles you cannot find out in advance whether the > > operation would block or not. > > > > So... if there is any chance you can select the OS, keep away from > > Windows for this type of program. > > I think your conclusion needs qualification. > > You are trying to shoehorn an existing process-based Linux solution onto > Windows and discovering that it does not work well. However, Windows already > provides different ways of achieving the same thing, e.g. F# with its > first-class events and built-in asynchronous programming syntax using > the .NET thread pool and mailboxes for message passing. > > Moreover, the idiomatic solution on Windows is almost certainly faster than > anything you can reasonably write under Linux in the absence of a concurrent > GC (i.e. off the JVM). You are right, this is pretty much incomparable. MS has its own way of doing things, making it hard to write portable code. I mean other OS vendors managed to jump on the POSIX train. We should stop here, it's getting off-topic. Gerd -- ------------------------------------------------------------ Gerd Stolpmann * Viktoriastr. 45 * 64293 Darmstadt * Germany gerd@gerd-stolpmann.de http://www.gerd-stolpmann.de Phone: +49-6151-153855 Fax: +49-6151-997714 ------------------------------------------------------------