caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Gerd Stolpmann <info@gerd-stolpmann.de>
To: Sylvain Le Gall <sylvain@le-gall.net>
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] Re: thousands of CPU cores
Date: Thu, 10 Jul 2008 23:19:05 +0200	[thread overview]
Message-ID: <1215724745.24773.37.camel@flake.lan.gerd-stolpmann.de> (raw)
In-Reply-To: <slrng7cu82.rqb.sylvain@gallu.homelinux.org>


Am Donnerstag, den 10.07.2008, 21:02 +0000 schrieb Sylvain Le Gall:
> On 10-07-2008, Gerd Stolpmann <info@gerd-stolpmann.de> wrote:
> >
> > Am Donnerstag, den 10.07.2008, 20:07 +0000 schrieb Sylvain Le Gall:
> >> On 10-07-2008, Gerd Stolpmann <info@gerd-stolpmann.de> wrote:
> >> > In Ocaml you can exploit multi-core currently only by using
> >> > multi-processing parallel programs that communicate over message passing
> >> > (and only on Unix). Actually, it's an excellent language for this style.
> >> 
> >> Why only on Unix ?
> >
> > No fork() on Windows. And emulating its effects is hard.
> >
> 
> open_process + stdin/stdout should do the trick... at least i think so.

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.

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
------------------------------------------------------------



  reply	other threads:[~2008-07-10 21:19 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-10  5:57 J C
2008-07-10  6:15 ` [Caml-list] " Erik de Castro Lopo
2008-07-10 12:47   ` Oliver Bandel
2008-07-10 13:48     ` Hezekiah M. Carty
2008-07-10 11:35 ` Jon Harrop
2008-07-14 11:32   ` J C
2008-07-14 12:08     ` Jon Harrop
2008-07-14 17:04       ` Mike Lin
2008-07-14 17:28         ` Jon Harrop
2008-07-14 17:16       ` Richard Jones
2008-07-10 13:21 ` Jon Harrop
2008-07-10 13:44 ` Peng Zang
2008-07-10 14:00   ` Jon Harrop
2008-07-10 22:25     ` Richard Jones
2008-07-10 23:04       ` Jon Harrop
2008-07-10 23:41         ` Oliver Bandel
2008-07-11  0:17           ` Oliver Bandel
2008-07-11  9:30             ` Richard Jones
2008-09-21 19:05               ` Michaël Grünewald
2008-09-21 21:41                 ` Jon Harrop
2008-09-22  7:51                   ` Alan Schmitt
2008-09-22 19:03                     ` Jon Harrop
2008-09-22 19:49                       ` David Teller
2008-09-23  6:42                       ` kirillkh
2008-09-24 13:30                       ` [Caml-list] Link tracking Chris Clearwater
2008-09-24 15:43                         ` Jon Harrop
2008-07-11 14:53     ` [Caml-list] thousands of CPU cores Peng Zang
2008-07-15 14:39     ` Kuba Ober
2008-07-19 12:41       ` Oliver Bandel
2008-07-10 19:15 ` Gerd Stolpmann
2008-07-10 20:07   ` Sylvain Le Gall
2008-07-10 20:24     ` [Caml-list] " Gerd Stolpmann
2008-07-10 21:02       ` Sylvain Le Gall
2008-07-10 21:19         ` Gerd Stolpmann [this message]
2008-07-10 21:35           ` [Caml-list] " Jon Harrop
2008-07-10 22:39             ` Gerd Stolpmann
2008-07-15 15:57           ` Kuba Ober
2008-07-15 18:03             ` Gerd Stolpmann
2008-07-15 19:23               ` Adrien
2008-07-15 19:45                 ` Adrien
2008-07-16  8:59               ` Michaël Grünewald
2008-07-16 16:43                 ` Gerd Stolpmann
2008-07-16 11:46               ` Richard Jones
2008-07-16 18:35                 ` Erik de Castro Lopo
2008-07-17 12:48               ` Kuba Ober
2008-07-15 15:21       ` Kuba Ober
2008-07-10 20:48     ` Basile STARYNKEVITCH
2008-07-10 21:12       ` Jon Harrop
2008-07-10 23:33   ` [Caml-list] " Oliver Bandel
2008-07-10 23:43     ` Oliver Bandel
2008-07-11  6:26     ` Sylvain Le Gall
2008-07-11  8:50       ` [Caml-list] " Jon Harrop
2008-07-11  9:29         ` Sylvain Le Gall
2008-07-15 16:01           ` [Caml-list] " Kuba Ober
2008-07-13  3:17         ` Code Mobility [was Re: thousands of CPU cores] Robert Fischer
2008-07-11  3:01   ` [Caml-list] thousands of CPU cores Brian Hurt
2008-07-11 13:01     ` Gerd Stolpmann
2008-07-11 13:43       ` Jon Harrop
2008-07-11 14:03         ` Basile STARYNKEVITCH
2008-07-11 15:08           ` Jon Harrop
2008-07-11 17:28           ` Jon Harrop
2008-07-11 17:54         ` Richard Jones
2008-07-11 18:30           ` Raoul Duke
2008-07-12 17:35       ` Brian Hurt
2008-07-11 15:01     ` Peng Zang
2008-07-12  0:23       ` Oliver Bandel
2008-07-12 22:54         ` J C
2008-07-19 12:06           ` Oliver Bandel
2008-07-11 14:06 ` Xavier Leroy
2008-07-11 15:20   ` Oliver Bandel
2008-07-11 15:23   ` Bill
2008-07-11 18:14   ` Mattias Engdegård
2008-07-12 23:05   ` J C
2008-07-10 23:24 [Caml-list] " Damien Guichard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1215724745.24773.37.camel@flake.lan.gerd-stolpmann.de \
    --to=info@gerd-stolpmann.de \
    --cc=caml-list@inria.fr \
    --cc=sylvain@le-gall.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).