Version française
Home     About     Download     Resources     Contact us    
Browse thread
How INRIA people envision OCaml's parallel future?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Jonathan_T_Bryant <jtbryant@v...>
Subject: Re: [Caml-list] How INRIA people envision OCaml's parallel future?
I don't know if I'm alone in this opinion, but transparency would be
nice.  It would be nice to be able to take full advantage of SMP
machines using things like threads without necessarily writing parallel
code.  Just things like servers are easier to write in this manner (a
project I'm currently working on in OCaml).  A new language is not
necessary and would actually be overkill.  Sure there could be an
interface for manually adjusting which processor a thread runs on, etc.,
but it should not necessarily have to be used to take advantage of SMP.

As far as the GC, am I'm just kinda throwing this out off the cuff, but
couldn't the heap be a shared memory segment that all threads attach to,
thereby allowing easier collection on multiple processors.  All
allocations could be synchronized (via some kind of semaphore) and could
be locked only during a collection.  I know this is a lot harder than
that, but, like I said, it's just an idea...

--Jonathan

On Thu, 2005-06-23 at 09:21 +0200, David MENTRE wrote:
> Hello OCaml hackers,
> 
> Several people on this list have expressed concerns about the current
> limitation of OCaml runtime to work efficiently on multi-processor
> machines (limitation related to the inability of current GC to
> simultaneously support different threads if I've understood
> correctly). I'm amongst them. On the other side, it is clear that
> multi-core and multi-threaded processor are going to be widely
> available in a short time frame, in embedded[1], desktop and high-end
> machines.
> 
> How INRIA people are considering the parallel future of OCaml? Do you
> consider improving the GC to support concurrent threads? Or do you
> consider this a non issue?
> 
> More generally, do you plan to introduce new language constructs to
> support parallelism? I'm thinking of Jocaml and Skeleton approach for
> example. Or simply some libraries?
> 
> I know that predictions are quite difficult, especially about the
> future, :) but I suppose INRIA people are thinking about those issues.
> OCaml is a very exciting experiment of pragmatism and theory and I'm
> curious of what might appear on the parallel topic.
> 
> Sincerely yours,
> david
> 
> [1] At work we are using dual-core MIPS processor and 8-core, 8-thread
> per core network processor for an embedded system. I've heard of 8-
> and 16-core MIPS processor for embedded boards. Very powerful, but a
> nightmare to program. I wish I had an OCaml-like language on the
> network processor. :)
> 
> _______________________________________________
> Caml-list mailing list. Subscription management:
> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
> Archives: http://caml.inria.fr
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs