Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
From: Xavier Leroy <Xavier.Leroy@inria.fr>
To: bouyssou@didac-mip.fr
Cc: caml-list@inria.fr
Subject: Re: ocaml et les threads
Date: Thu, 3 Apr 1997 17:28:38 +0200 (MET DST)	[thread overview]
Message-ID: <199704031528.RAA24208@pauillac.inria.fr> (raw)
In-Reply-To: <199704021634.SAA31253@yeti.didac-mip.fr> from Olivier Bouyssou at "Apr 2, 97 06:34:36 pm"

[English summary: yes, system threads might work with native-code
OCaml programs. It remains to be done, though, and might not be very
useful, since multiprocessors are not supported anyway.]

> Serait-il possible d'utiliser la "threads library" avec des programmes
> en code natif ? En fait ce qui me fait poser cette question c'est la
> presence du fichier otherlibs/systhreads/posix.c dans les sources de ocaml.
> Plus précisément, vu que j'utilise Linux comme environnement, serait-il
> possible d'utiliser la lib LinuxThreads écrite par Xavier Leroy ?

J'ai en effet deux casquettes en matiere de threads...

C'est exact, il  n'y a pas d'impossibilite de principe a combiner le
compilateur natif ocamlopt et la bibliotheque de "threads" qui se
trouve dans otherlibs/systhreads.

Au contraire de la bibliotheque otherlibs/threads, qui repose sur des
commutations de contexte au niveau de l'interprete de bytecode, la
bibliotheque otherlibs/systhreads s'appuie sur des threads fournis par
le systeme d'exploitation (e.g. les threads Win32 ou POSIX). Elle
n'est donc pas liee a l'utilisation d'un interprete de bytecode.

Quelques problemes restent a regler pur la rendre compatible avec
ocamlopt, en particulier au niveau du demarrage d'un nouveau thread.
Aussi, la bibliotheque de thread utilise un signal d'horloge pour
"preempter" les threads au bout d'un certain temps; comme les signaux
en ocamlopt sont testes moins frequemment qu'en ocamlc, on peut avoir
des situations ou un thread qui calcule beaucoup sans allouer du tout
bloque tous les autres threads.

La question qui reste: est-ce vraiment utile? Par manque d'un GC
concurrent, les deux bibliotheques de threads ne permettent pas
d'exploiter plus d'un processeur, et ne sont donc utiles que pour
faire des entrees/sorties en parallele. Dans ce type d'utilisation, le
temps de calcul pur est faible et il n'y a pas de raison forte
d'utiliser ocamlopt plutot que ocamlc.

- Xavier Leroy





  reply	other threads:[~1997-04-03 16:20 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-04-02 16:34 Olivier Bouyssou
1997-04-03 15:28 ` Xavier Leroy [this message]
1997-04-04  9:43   ` Vincent Poirriez

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=199704031528.RAA24208@pauillac.inria.fr \
    --to=xavier.leroy@inria.fr \
    --cc=bouyssou@didac-mip.fr \
    --cc=caml-list@inria.fr \
    /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