On Jan 28, 2012, at 1:48 PM, Barry Smith wrote: > > On Jan 28, 2012, at 12:42 PM, Barry Smith wrote: > >> >> On Jan 28, 2012, at 12:34 PM, Mark F. Adams wrote: >> >>> >>> On Jan 28, 2012, at 1:10 PM, Barry Smith wrote: >>> >>>> >>>> On Jan 28, 2012, at 10:59 AM, Matthew Knepley wrote: >>>> >>>>> On Sat, Jan 28, 2012 at 8:00 AM, Mark F. Adams <mark.adams at >>>>> columbia.edu> wrote: >>>>> >>>>> On Jan 27, 2012, at 8:22 PM, Barry Smith wrote: >>>>> >>>>>> >>>>>> On Jan 27, 2012, at 6:36 PM, Mark F. Adams wrote: >>>>>> >>>>>>> >>>>>>> On Jan 27, 2012, at 6:58 PM, Jed Brown wrote: >>>>>>> >>>>>>>> On Fri, Jan 27, 2012 at 17:48, Matthew Knepley <knepley at gmail.com> >>>>>>>> wrote: >>>>>>>> Is now the right time. Shouldn't we wait until MPI's replacement is >>>>>>>> working and do things with that model? >>>>>>>> >>>>>>>> I'm laughing. Am I supposed to be? >>>>>>>> >>>>>>>> I'm laughing too. >>>>>>>> >>>>>>>> There isn't going to be a replacement for MPI until the smart people >>>>>>>> that understand parallel programming, performance, and libraries start >>>>>>>> working on something other than MPI. But most of those people are on >>>>>>>> the MPI Forum, trying to improve MPI. Now we need a good model for >>>>>>>> threads, and that might not be based on MPI, but it sure looks like >>>>>>>> the large-scale distributed-memory model will be MPI for the >>>>>>>> foreseeable future. >>>>>>>> >>>>>>> >>>>>>> I don't think its a matter of smart people not having worked on this, >>>>>>> they have IMO, its just a hard problem. >>>>>> >>>>>> I disagree; it is not necessarily hard, it is just that the non-MPI >>>>>> people are pretty fucking stupid. >>>>>> >>>>> >>>>> It is not hard, intellectually intriguing, fundable, and smart people >>>>> won't do it. What am I missing? >>>>> >>>>> I think Barry's point is that this is another case where, no matter how >>>>> smart or motivated you are, if you start >>>>> out with a bad design decision in the beginning, and refuse to change it >>>>> for whatever reason, you will not >>>>> succeed. >>>> >>>> Matt's got it! The slight difference is that I submit is that people who >>>> "start out with a bad design decision in the beginning, and refuse to >>>> change it for whatever reason" are fundamentally stupid even though they >>>> may be considered by most measures to be smart. To me the "bad design >>>> decisions" are so blindly obviously wrong it is hard for me to label the >>>> people who "refuse to change it for whatever reason," anything but stupid, >>>> what other phrase should I use "smart in many ways but blindly stupid in >>>> this one regard?" >>>> >>> >>> Ok, first you two have changed the question (is this a Chicago thing?) -- >>> why have "smart" people not done something that is "not hard" and an >>> obviously important and even a hot ($) topic (for decades)? You are >>> implying some massive systemic market failure. >> >> Absolutely, it is a systemic market failure. It is a failure of the >> community due to largely sociological reasons. >> >>> >>> That said, I'm willing to go with the flow. There are hundreds of parallel >>> programming languages out there >>> (http://en.wikipedia.org/wiki/List_of_concurrent_and_parallel_programming_languages). >>> You are implying that they are all done by rigid and narrow minded >>> thinkers. All of them. Morons. Really? >> >> This comes down to how to define "rigid and narrow minded thinkers", if you >> define that term by "starting out with a bad design decision in the >> beginning, and refuse to change it for whatever reason," then yes all those >> people are "rigid and narrow minded thinkers". But be careful because many >> brilliant people are "rigid and narrow minded thinkers" it is just that >> where their brilliance has occurred did not overlap with their areas of >> "rigid and narrow mindedness". Look at the guy you discovered the DNA >> structure, Watson. If you look at certain aspects of his life he is clearly >> a complete and utter moron, yet he got a Nobel prize (for good reason) for >> one of the most fundamentally important breakthroughs in science. So yes, >> smart people can be morons. >> >> > > I should also note that there is really no need or likely even possibility > of a single parallel programming model that is appropriate for all scales and > situations. So some of the languages designed you mentioned are designed for > a particular regime and are fine for that particular regime so those > models/languages are not stupid or hopeless. The place where Matt's observed > issue is the high end HPC world. >
OK, that is starting to sound plausible: a smallish mafia that is the HPC/programming languages community is closed to your friends. Paranoid but plausible. But I still think its a hard problem. There are many constraints on a language and the inertia for science applications is immense. The risk of failure is more than most application scientist can tolerate. (eg, I recently heard of a code that decided to use python, which does not sound risky to me, but it takes 2 hours for python to load on 64K cores. There are many failure modes in this business) > Barry > > >> >> >> Barry >> >> >>> >>>> >>>> Barry >>>> >>>> >>>>> >>>>> Matt >>>>> >>>>>> Barry >>>>>> >>>>>>> >>>>>>>> >>>>>>>> As for sources of parallel errors, yes, it's somewhat tricky, but as >>>>>>>> long as the model is to get a sub-object out of a bigger one >>>>>>>> (submatrix, coarse level, etc), I think we can manage it. At any >>>>>>>> particular time, the user should still be looking at essentially >>>>>>>> single-comm collections of objects, but not all processes will end up >>>>>>>> being called in every context. >>>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> What most experimenters take for granted before they begin their >>>>> experiments is infinitely more interesting than any results to which >>>>> their experiments lead. >>>>> -- Norbert Wiener >>>> >>>> >>> >> > >
