[Openmcl-devel] Speed, compilers and multi-core processors

Dan Weinreb dlw at itasoftware.com
Tue May 19 18:12:49 UTC 2009



Alexander Repenning wrote:
> not so fast ;-)
>
> The "how can we make use of multiple cores" is currently on the 
> the hottest funding topics supported by NSF, DOE, Microsoft, .....
>
For some applications, it's very easy to take advantage of all those
cores.  The airline reservation system we're building at ITA
has its "core" (business tier) model written in Common Lisp.
We get lots and lots of requests coming in, which are distributed
to a load balancer to a lot (maybe 20?) of boxes, each of
which has 8 cores and 32GB of memory.  On each one,
we run 8 CCL processes, and each one has a single
request-handling thread.  Voila, all the cores are
being used.

But, of course, you're talking about situations where a single
program wants to use lots of cores.

The approach being taken by many new languages is
(1) do as much as possible with no side effects, so
that nobody is writing anything, and therefore
no two threads have conflicts, and (2) when you do
have two threads reading and/or writing the same
memory, use transactions.

Guy Steele said that it's quite amazing how many new
languages work this way.  His own new language,
Fortress is one of them, and he named several
others.  Anders Hejlsberg, the C# inventor at
Microsoft, is also talking about this approach (I've
seen him discuss it in two videos that I found on
the web).

And you know what other language works this way?
Clojure, a very promising new dialect of Lisp.

-- Dan

> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
> http://clozure.com/mailman/listinfo/openmcl-devel
>   



More information about the Openmcl-devel mailing list