[Beowulf] Stroustrup regarding multicore

Robert G. Brown rgb at phy.duke.edu
Thu Aug 28 06:42:22 PDT 2008

On Wed, 27 Aug 2008, Perry E. Metzger wrote:

> Having non-computer scientists specify what computer scientists should
> do is somewhat like having a layman tell a surgeon what to do to a
> patient without the surgeon being let in on what the underlying
> complaint was. The surgeon might expertly remove the person's right
> kidney, but if a doctor had been giving the direction, the fact that
> the pain was actually appendicitis and not a cancerous kidney might
> have been noticed. To fix this, you can teach the layman quite a
> lot -- at which point he's a doctor.
> By the way, this isn't special to computer science. Imagine if laymen
> were directing the physics research . Progress in physics might be
> rather slowed down, don't you think.

The problem here or anywhere is money.  Sure, there are some very large
scale problems where money is plentiful and one can afford to hire
physics grad students AND a team of seasoned programmers AND buy the
massive computer resources you need to get results.

There are ten times as many problems and projects and groups where one
is lucky to be able to afford enough grad students to barely keep your
research moving, buy computers with money that you dragged out of a
reluctant grant agency, and that you can only run at all because your
University provides electricity and housing for them because your grant
literally couldn't afford to pay the power bill once the above are paid

In the city, one has surgeons, health insurance, bright lights and
pristine operating rooms (and money!).  In the trenches, if somebody
gets appendicitis you either figure out how to cut it out or sit there
and watch them die -- that big city surgeon isn't about to fly out to
the front lines and work gratis, and the people in your chain of command
are about as likely to fund the hiring of one as they are to double your
budget out of the goodness of their hearts.

I struggle with this problem all the time (over decadal time scales) at
Duke.  Duke has failed so far to even manage to consistently fund a
centralized GROUP of real programmers to support a VARIETY of research
projects (none of which can afford their own, don't make me laugh).  And
they've tried, now, twice; both failed to pay their own way.  It is
cheaper to make the grad students and post docs and faculty in research
computing roll their own, so for better or worse that's the way it has
to be with VERY few exceptions, usually for larger higher profile
projects or consortia.  Even "centers" here fail to keep funding -- too
many coders, no good way to bill back to the many projects they
contribute to.  And yes, I'm not an idiot and we've tried many of the
obvious ways and have had buy-in at the provost level and it STILL
didn't work.

Currently the state of NC is trying this at the state level.  As always
the issues come down to who pays for what, and who benefits, and how to
get the service, and how big a PITA it is to go through all the various
things you have to go through to take advantage of the service vs just
having your students take a couple of courses on programming or teaching
them yourself.  I'm not optimistic about it working at EVEN the state
level with a consortium of universities, as I've watched now as several
state-level computing/supercomputing centers or projects have failed
outright or worked for a few years and then lapsed into a kind of
twilight existence as they achieve some stable, small level of funding
that is balanced by providing service to a tiny group that needs it and
that has just enough "public good" visibility to keep their funding

Now where did I put that rusty bayonet...?


>>> Over the years, I've worked in several very specialized fields. The
>>> people who wrote the best software were both actual computer
>>> scientists and actual domain experts. I admit that such people are
>>> rare, and you usually can't get them, but that is the *ideal* case.
>> Sure, it's the ideal, but generally unachievable, case. So, given
>> that we have finite resources, and all domain experts aren't expert
>> coders, what's the next best thing...
> I don't know what the next best thing is, sadly.
> I just spent several years of my life becoming a domain expert (I was
> already a computer scientist) because it seemed impossible to get the
> job done by working with a non-programming domain expert, so I'm
> clearly the wrong person to ask.
> I admit that most people aren't going to take three or four extra
> years of their lives to learn programming if they're already a
> scientist or (as I did) learn science if they're already a
> programmer. Clearly, as you note, most people have to limp along doing
> things in the non-ideal case of programmer-who-doesn't-grok-domain +
> domain-expert-who-doesn't-grok-software.
> I don't know how to make that work well, though, so I didn't try. That
> doesn't mean that someone out there doesn't know how to make it work
> well -- but that someone isn't me.
> I think what most organizations end up doing is just "living with it"
> -- i.e. things don't work well but they muddle through. Every once in
> a while a small disaster will happen (often unnoticed, with people
> simply deal with spending $1E5 dollars on a problem instead of $1E3
> dollars), and they don't know better and just muddle along. A lot of
> life seems to be about muddling along anyway, so this is hardly
> unusual, though it is unfortunate.
> Perry

Robert G. Brown                            Phone(cell): 1-919-280-8443
Duke University Physics Dept, Box 90305
Durham, N.C. 27708-0305
Web: http://www.phy.duke.edu/~rgb
Book of Lilith Website: http://www.phy.duke.edu/~rgb/Lilith/Lilith.php
Lulu Bookstore: http://stores.lulu.com/store.php?fAcctID=877977

More information about the Beowulf mailing list