Browse thread
Looking for information regarding use of OCaml in scientific computing and simulation
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: | 2009-12-22 (13:40) |
From: | Gerd Stolpmann <gerd@g...> |
Subject: | Re: [Caml-list] Looking for information regarding use of OCaml in scientific computing and simulation |
> Have you ever tried writing a significant or complex algo using > message passing? Its fun if you have nothing better to to -- > its a good intellectual challenge. You can even learn some > interesting computer science while you do it. > > However, if you are interested in merely using the system > to do your "real" work, then writing message-passing code > is an utter waste of time -- its difficult, time-consuming, error > prone, hard to balance and optimize & tune, works well only > for "embarrasingly parallel" code, etc. Even the evil > slow-down of NUMA is often better than trying to > performance-tune a message-passing system. Well, it is true that message passing is more expensive, and you need bigger data sets until it is worth it (nonsense to do a 10x10 matrix multiplication with message passing). However, I don't think it is that complicated as you describe. Especially ocaml's uniform representation of values can help a lot, and hide many of the low-level details. It could be a lot like continuation-passing style. Hard to balance and optimize & tune: This is true for _any_ parallelization strategy. > Let me put it this way: suggesting that programmers can > write their own message-passing system is kind of like > telling them that they can write their own garbage-collection > system, or design their own closures, or they can go > create their own type system. Of course they can ... and > if they wanted to do that, they would be programming in > C or assembly, and would probably be designing new > languages. Cause by the time you get done with message > passing, you've created a significant and rich programming > system that resembles a poorly-designed language... been > there, done that. See it this way: The typical ocaml programmer doesn't like system programming, and will seldom/never touch C or assembly. The task it to help this kind of programmer, and to make parallel programming available in a higher-level way than it is available elsewhere. Gerd -- ------------------------------------------------------------ Gerd Stolpmann, Bad Nauheimer Str.3, 64289 Darmstadt,Germany gerd@gerd-stolpmann.de http://www.gerd-stolpmann.de Phone: +49-6151-153855 Fax: +49-6151-997714 ------------------------------------------------------------