English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
"ok with parallel threads" GC (aka ocaml for multicore)
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2009-04-14 (10:21)
From: Philippe Wang <Philippe.Wang@l...>
Subject: Re: [Caml-list] "ok with parallel threads" GC (aka ocaml for multicore)
On Apr 10, 2009, at 20:36 CEDT, forum@x9c.fr wrote:

> Would it be correct to assume that the current state of the project
> implies that you have patched the OCaml runtime to make it
> fully reentrant ?

Is this following partial answer relevant enough ?
The garbage collector is clearly separated from the rest of the  
runtime library: the GC is contained in a libgc.a and our patched  
ocamlopt links programs to this GC. The GC variables are known by the  
GC only.

> If so, is this code/patch available for download ?

Officially, not yet (and not before April 20th).

We did not expect the debugging part to be so complex and hard, and  
taking so long.
The man power dramatically decreased in late September : the 2  
Master's students went back to Master's courses, and the 3 supervisors  
had to do research in parallel with teaching.
Some major bug fixes were made in February/March, a lot of major bug  
fixes were made in April (yes, these last 2 weeks).
You know, bugs hiding other bugs... however we are hopefully getting  
close to the fix point: today there is no known bug ! :-)
Unsupported features are - of course - not considered as bugs. For  
instance, posix signals are (currently) not supported. And, as  
parallel computing *potentially* requires quite a lot more memory,  
some programs can easily end up in a blocked state when the heap  
becomes full: our GC (currently) uses (parameterized) fixed size pages  
and heap.

The next days, we will concentrate on making benchmarks (if you have  
some relevant testing programs, they are welcome), and if we don't  
discover new bugs then we will focus on (finishing) writing a  
documentation and a building script, for the release.
If we release as such now, we will have too much support to do because  
of the lack of documentation. So it's not quite a good idea...
When we have the minimal-but-sufficient documentation, we will make  
the release :-)

In parallel, we try to make it work with OS X Leopard 64 bit and/or  
ocaml 3.11 (currently we only support 3.10.2 - Linux x86_64).

> Anyway, wholehearted  respect for undertaking such a complex project.
> Good luck in your bug-chasing tasks !


Philippe Wang
    Philippe.Wang \at/ lip6.fr

N.B. I hope we will not discover new bugs in our amd64.S, our assembly  
guru is enjoying (abroad with no www) his "vacances de pâques"...