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
>>>> 
>>>> 
>>> 
>> 
> 
> 


Reply via email to