Version française
Home     About     Download     Resources     Contact us    
Browse thread
thousands of CPU cores
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Gerd Stolpmann <info@g...>
Subject: Re: [Caml-list] thousands of CPU cores

Am Mittwoch, den 09.07.2008, 22:57 -0700 schrieb J C:
> I know that Caml team wanted to see if many-core shared-memory systems
> were going to stick around before bothering with Caml development that
> takes advantage of them.
> 
> Well, it looks like they are here to stay, after all:
> 
> http://news.cnet.com/8301-13924_3-9981760-64.html
> 
> As much as I hate to look a gift horse in the mouth, and I think Caml
> has been a great and grossly underappreciated product, I need to see
> if writing Caml is a viable code investment for the coming years or
> something like Haskell, SML, F# or even Ada will be a better long-term
> alternative.
> 
> Are there plans to make Caml threads OS-native threads, or add
> OpenMP-style primitives, or otherwise support multiple CPU cores? And
> if so, roughly in what time frame?

I wouldn't take this article too seriously. It's just speculation.
Actually, the whole multi-core technology is a challenge for software
development. You cannot simply take a program that runs well on 4 cores
and expect that it scales up to 400. Software must be designed from
grounds up differently for such architectures. 

Just open up your mind to this perspective: It's a big risk for the CPU
vendors to haven taken the direction to multi-core. Except for some
standard components and some specially-adapted programs multi-core is
more or less not exploited today. So these vendors are trying to push
the software developers into this direction, and hope they find new
ideas for designing multi-core-capable programs. This article is just
propaganda for this hidden agenda. It can also happen that multi-core
with too many cores turns out as failure - in the sense that the mass
market is not ready for it.

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.
I've written (with some other guys) a big distributed system using
Ocamlnet's netplex and sunrpc libraries (actually, a search engine...,
http://wink.com). Ocaml is an excellent choice because you can quickly
develop working programs that run 24/7. In the distributed world
stability is quite important.

For a quick introduction to the technology I'm talking about, see my
blog article here: http://blog.camlcity.org/blog/parallelmm.html

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