caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* ocaml et les threads
@ 1997-04-02 16:34 Olivier Bouyssou
  1997-04-03 15:28 ` Xavier Leroy
  0 siblings, 1 reply; 3+ messages in thread
From: Olivier Bouyssou @ 1997-04-02 16:34 UTC (permalink / raw)
  To: caml-list


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 ?

Merci d'avance.

--
Olivier Bouyssou (F1NXH), Didactheque Regionale          bouyssou@didac-mip.fr
Universite Paul Sabatier 118, route de Narbonne           31062 TOULOUSECedex
Tel : +33.5.61.55.65.74                                Fax : +33.5.61.55.65.71






^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: ocaml et les threads
  1997-04-02 16:34 ocaml et les threads Olivier Bouyssou
@ 1997-04-03 15:28 ` Xavier Leroy
  1997-04-04  9:43   ` Vincent Poirriez
  0 siblings, 1 reply; 3+ messages in thread
From: Xavier Leroy @ 1997-04-03 15:28 UTC (permalink / raw)
  To: bouyssou; +Cc: caml-list

[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





^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: ocaml et les threads
  1997-04-03 15:28 ` Xavier Leroy
@ 1997-04-04  9:43   ` Vincent Poirriez
  0 siblings, 0 replies; 3+ messages in thread
From: Vincent Poirriez @ 1997-04-04  9:43 UTC (permalink / raw)
  To: Xavier Leroy; +Cc: caml-list

> 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

Un domaine où il me semble interessant d'avoir les threads et ocamlopt
est le domaine des applications distribuees. Faire gerer les
communications par un thread distinct du thread qui calcul
est utile pour implanter un algorithme asynchrone.

-- 
Vincent POIRRIEZ                
Tel: (33) {0}3 27 14 13 33   Fax: (33) {0}3 27 14 11 50      
mailto:Vincent.Poirriez@univ-valenciennes.fr
ISTV Université de Valenciennes Le Mont Houy 
BP 311 F59304 Valenciennes CEDEX
 http://glardax.univ-valenciennes.fr:8000/~poirriez





^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~1997-04-04 17:01 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1997-04-02 16:34 ocaml et les threads Olivier Bouyssou
1997-04-03 15:28 ` Xavier Leroy
1997-04-04  9:43   ` Vincent Poirriez

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