Hyperdrive wrote:There may be workloads with TDM-friendly access patterns and there may be others. Hopefully we can provide a suitable consistency model for the latter. If not, we loose in this case.
Hehe. Compare the two statements. I think they are the same. Both are biased (yours a bit more than mine, but that doesn't matter, at least I don't care). My statement is optimistic and yours pessimistic. You don't like TDM, I think it is interesting concept. You tend to think more traditionally, I'm more liberal about new techniques.Brendan wrote: There aren't any workloads with TDM-friendly access patterns - there's only workloads where the crappy characteristics of TDM aren't as obvious.
Well, that will always be the case - it depends how you look at something.
That's not really true. Don't confuse '>' with '>='. And the 'much' may not be as much as you are thinking. And then again, you pay a price for the '>' and the 'much'. I never said that TDM/DSM is the best you can get in all cases. All I did say is that there may be advantages. And as I outlined we already have observed advantages.Brendan wrote:For all workloads and all access patterns, you can get better performance and better scalability with shared memory and traditional locking, and much better performance and much better scalability with messaging (and careful design).
TDM works very well with number crunching. Isn't that a typical application for a cluster?Brendan wrote:The question isn't whether TDM sucks or not, the question is how badly TDM sucks. Does it suck so badly that no sane person will ever want to use it, or is the level of suckage small enough to justify it's use in some cases? IMHO the level of suckage is small enough to justify it's use in some cases, but not any of the cases where it's necessary to distribute a large application across many computers.
MPI is for clusters, while OpenMP is for multiprocessor machines. Therefore your argument is broken. (I know OpenMP reasonably well. And I already worked with it. Did you, too? For some of my commercial projects I had very good results from using OpenMP to parallelize applications.)
--TS