On Saturday 20 June 2009 08:34:39 Konrad Hinsen wrote:
> On 19.06.2009, at 10:35, Jon Harrop wrote:
> > If you really do mean scientific applications in general (e.g.
> > Mathematica,
> > MATLAB) then I would say that they are definitely almost all
> > running on
> > multicore desktops and not distributed clusters.
>
> What I really meant is "scientific applications typically written by
> scientists", and in my experience that is mostly number-crunching
> stuff, if only because that's all most scientists would care to
> write. Mathematica and MATLAB are written and maintained by
> professional programmers.

Ok. I think scientists write a lot of other software as well and, in 
particular, the vast majority of their code is disposable software written in 
languages like Mathematica. That software runs on individual desktops.

> > Shared-memory parallelism is certainly a major problem in
> > scientific computing
> > today so I, for one, would love to see parallelized Clojure
> > solutions to
> > interesting problems (even toys). What sort of basic infrastructure
> > would you
> > use in Clojure, e.g. equivalent to Microsoft's TPL?
>
> What't TPL?

The Task Parallel Library. It uses concurrent wait-free work-stealing queues 
to provide an efficient implementation of "work items" than can spawn other 
work items with automatic load balancing on shared memory machines. Cilk uses 
the same technology (well worth a look if you haven't already seen it!). That 
makes it easy to write efficient parallel algorithms in any .NET language. In 
particular, it can sustain billions of work items (as opposed to thousands of 
threads or processes) and the time taken to spawn is ~30,000x faster than 
forking a process. Extremely useful stuff!

I assume the JVM has everything required to implement wait-free algorithms? 
What are parallel map reduce etc. implemented upon in Clojure?

-- 
Dr Jon Harrop, Flying Frog Consultancy Ltd.
http://www.ffconsultancy.com/?e

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to