Daniel Kennefick interview with James Browne
Recorded at Gravitational Waves Interviews, International (1998), featuring James Browne, Daniel Kennefick. From the Michael Wright Collection, held by the Archive Trust for Research in Mathematical Sciences & Philosophy.
- Identifier
mw0003888-md_p- Format
- Audio recording
- Collection
- Michael Wright Collection
- Repository
- Archive Trust for Research in Mathematical Sciences & Philosophy
- Rights
- Made available for personal scholarly use. Rights in recordings are generally held by the speakers or their estates. If you believe this recording infringes your rights, please contact [email protected].
Read the automatically generated transcript
This transcript was generated by speech-recognition software from an archival recording and has not been hand-corrected. It will contain recognition errors — particularly for proper names and technical terminology — so please verify against the audio before quoting. Timestamps play the recording from that moment.
0:00 So now the recorder is actually going and it's the 20th of March at 10 past 9 in the morning. I'm talking with Professor James Brown. This is picking it up? Yes. Okay, to begin with, I am by original training, as you can imagine by my age, I am not a computer scientist by original training. I was a computational physicist in the atomic and molecular area. My PhD was in physical chemistry. But my first job was teaching in the physics department here in 1960 and I went overseas for four years and I came back and I had a joint appointment with physics and computer science, conducted active research programs in both areas for quite a while and of course I taught physics courses and computer science courses and so I have sort of a broad background in both areas. Now the real relevance however from that is merely that culturally speaking I There are a lot of people who understand physics in the physics community and computer science in the computer science community, which is a nice bridge to have for me. There are not that many people who are multidisciplinary anymore. I've been reasonably successful and I'm probably the only person that I know of who's a fellow at ITN, the Association for Computing. At any rate, in the early 1990s I was approached by a colleague of mine in mechanical engineering named Tinsley Oden, who is one of... The world-class scientist in adaptive methods for finite element computation, he came to me and he said, I have got these great new algorithms for solving finite elements. The basic problem I'm having, however, is that the computational methods and the algorithms are so complicated that I can't get my graduate students and postdocs to successfully. And on top of that, we have to have parallel programming, and those are just out of sight. Can you help me? He came to me because I had been doing that. So, we settled down to try to figure out what their problem was, and if you're familiar with HP Adapt, do you find it's all about methods? The idea of them, but not...
2:30 We spent some time working together, looking, trying to understand exactly what the problem was that they needed to solve. What were the abstractions that needed to be built up so that they could write their programs? And by the way, it took me, it's an astonishingly simple solution, but it took me nearly two years to figure it out. And it turned out to be where, and by that I mean... The basic data they want to deal with are all arrays. But when you have adaptive methods, the arrays have to be dynamic because approximation is the data structure. And the things they want to store and manipulate are not individual elements. They are either arrays of elements or trary objects. So we have this concept of a hierarchy which, in effect, simply allows you to write your programs in ordinary, plain, banal, or trans-77 and give them to us as external functions. And we turned them into a very efficient parallel program. And while I was working on this, we had a little success, and Richard Messner, whom I had known in physics, and thought was a pretty reasonable guy, as well as being a good scientist, was organizing this NSF Grand Challenge project. And they wanted to use adaptive methods. They didn't want to use finite element methods, they wanted to use adaptive finite difference methods. And he heard about what I was doing with Tinsley, and asked me if the work we were doing would apply. To uh sure enough it would with some changes and adaptations and specializations in fact a lot but the basic idea was so i agreed to become a part of that the basic way we were going to work was this really has to be interdisciplinary but what you've got to do is you've got to get requirements for what the abstractions are that you have to provide and then you have to go and implement them and so we had the real mechanism for doing this was to have and
5:00 We found a really good guy named Manish Parishar. He turned out to be a hard-working, interested in science and engineering, creative, and we set to work to try to find out exactly what they needed to support there, and we spent some time doing that, and the way you do this is you have these meetings with people, this is what I'm trying to do, and then you turn around and you write that down again, you give it back to them, and you say, is this what you really told me you wanted? And after some iteration, they'll say yes, and you're going to implement it. Then they try to use it, and, well, hey, this wasn't really what I wanted. I hadn't thought of this. Hey, I need a shadow hierarchy, or this won't take care of my boundary conditions, and so you iterate back on it, and you build up these. And that's basically what happened. And I have done this before. Over time, we succeeded in building up the structure. Come in! I'll come and see you after 10 o'clock, if I may. No fall-off! Well, a little fall-off. This is some research we're doing. Very massively parallel programming, thousands and thousands of threads, and the problems you have when you try to... At any rate, we spent two, I guess, two or three years working on this. We have a package that we call DAG-H, directed acyclic graph hierarchy, directed acyclic grid hierarchy. And it's being used not only by the whole people, it turned out to be a very general support for building adaptive.
7:30 All of these systems are being used by about ten or a dozen other institutions and other projects to support implementation of words, comics, codes, which use parallel adaptive mesh refinement algorithms as a solution method, and we're very, you know, that's very gratifying, and we, but like all software, this stuff takes, because they're always changing the operating systems, they're changing the compilers, they want new applications, so I have a postdoc that is actually paid by One of the NSF, new NSF supercomputer centers, the NCSA people, who is working on maintaining and developing this package, DAG-H, for continuing use in the... So, you know, this project started out supporting a particular app, migrated into the... The whole process has really been most interesting. The numerical relativity community is really a bunch of prima donnas. And, hey, you can quote me on that. They all have their own thought process and I don't think all of them are real secure actually, that you probably don't want to say, but the interactions among them have been quite interesting and we have some really enormously bright people and they've had some really difficult times because they're not always good listeners. See, we're trying to listen but they need to listen to us a little and that's very hard. It turns out over the years I have become a good listener. So it's been great fun, and while a struggle at times, very gratifying. I'll let Richard tell you about the internal struggles of personalities among them.
10:00 There was a great tug-of-war between the NSF, which wanted a very focused project, and the advisory committee, of which Kip Thorne is a member, that kept saying, give Richard direct authority to really manage the projects and focus the resources, and the internal people, some of whom were certainly more interested. So that's been fun, you know, that's been fun to watch. If I had to do it over again, I would do it over again. Is that the kind of thing you wanted to know? Yeah, very much. So you mentioned a thing that sort of the NSF wanted, a more tightly knit thing, and that internally there were people that had different ideas. But from what you say, that was something that was really just on the numerical relativity side. It didn't affect you so much, except insofar as... Oh, well, yeah. It just slowed down progress. See, basically, we had our software technology usable, although not well documented, and they had problems getting the physics right. This is a hard problem physically, not, you know, in the physics, not just the computation. They had outer boundary problems, they had inner boundary problems. For a long time, the inner boundary problems were instabilities in the inner boundaries, and they thought it was, you know, they had problems there, but it turned out, once they got the outer boundaries probably stabilized, then the inner boundaries got stable. Richie could tell you all about this history. And so, you know, getting the physics and the computation, the numerics right, has been a long, hard problem. It took a little longer than we thought, but these things always do. I think we can just about claim it's a success at this point. It certainly will be over the next, but it's just taken a little longer. Is it beyond the terms of the project itself? Oh, yeah. That's been very good. But we kind of knew that was going to happen to start with, because having already worked with the Piedmont people, we knew what we could do.
12:30 And we've gone on since then and we have also been working on another grand challenge project in composite materials here on the campus and have taken the same technology and turned it into an infrastructure for fast multiple solutions. What this just means is solving linear systems based upon far field approximations where when you have some linear systems where the elements that are really far away over here don't affect these over here very much. From my point of view, underneath the covers, there's a common set of abstractions. The next layer up, what we try to do is build these two layers and then give them to the applications people at the lowest level and at the next level above that. I don't try to understand all the applications. See, what we've done is build an infrastructure in which all the data management functions... Would you be interested in a paper that describes sort of some of the history of this called systems engineering of these systems? In other words, there's a style for writing these programs. There's a tutorial on the web if you're interested in how to use this system. It's http://www.cs.utexas.edu/.users And it shows you exactly how to do it. And it's a tutorial. And we give tutorials.
15:00 We gave a couple here. We've given one at Supercomputing 97. There are people who are interested in solving problems using parallel adaptive methods in many different fields. The page code is publicly available. You can download it any time you want to. We've got a user's reference manual in progress. We've got a tutorial. Since you mentioned that you're familiar with culture and the skin, the thing of it is that it used to be, and still to a considerable extent, a community of sciences like physics. I would perceive computer science as being Fortran programming. If you were a Fortran programmer, you understood computer science. There wasn't any skills here and so forth. I think that perception is largely passing. I wrote an article for IEEE magazine. And in computer science, a lot of people in computer science are just trained in computer science. They don't have anything about physics, they don't have anything about chemistry, they don't have anything about engineering. And so they're not able to interact well. See, you can only reason on the basis of the experiences you have, right? So they're not able to interact well with the applications of people, other-disciplined people. But those other-disciplined people have got great problems to solve! And, you know, marvelous motivators that drive you into looking at new research that you didn't otherwise. And computer science has had some tendency to try to go the way of mathematics, to retreat into its shell and interact only among itself.
17:30 And that's a problem that we have constantly to fight, because if everybody does that, that leads to irrelevance, and you're navel-looking. Computer science is, however, not really doing that so much anymore. We're going to come out of that. So, I mean, things are getting better on both sides, if you will, and so the community of interest is growing. Well, how can that be in universities? Because nowadays, in order to get a professional degree and get a tenure, you have to become intensely specialized. The only way you get a multiplicity of experiences is to live a long time and stay active. Because when I started out, there were no computer science departments. There was not one in the world. How could I be a computer scientist? I became a computer science person and interested in it because I was writing very large programs and the operating systems of the times would not successfully run the programs. And so I started writing operating systems in order to write to make my application program. That opportunity of course is no longer open. But at the same time, you mentioned that, at least, that the sort of communication between the disciplines has maybe improved to some extent. I think it's improved some and continues to. Do you have a sense of why that is when people are less able to have a foot? Yeah. For one thing, the National Science Foundation and DARPA and others have been pushing interdisciplinary research. And so, man, you go where the bread is. You've heard that phrase, haven't you? So, like, the funding agencies are consciously trying... Of course. And there are people like me who try to influence the funding agencies to keep that pressure up.
20:00 Oh, those were supposed to be interdisciplinary, and they were. And I think those kinds of things lead to success. Yeah, it seems I almost got the impression that you said that finding a background challenged the relationships. Wouldn't you say the relationships between the disciplines were somewhat easier, maybe, than even within? They might have been. We had our difficulties. We were not perceived as always just listening as good as we should have and certainly there was misunderstandings on our part but on the whole you just I'm you know I'm 63 and I've been doing research now for 40 years but you understand over time that every day doesn't bring the same degree of agreement that you got to go back and talk again and that's harder for young people. People get impatient. There are a few benefits of getting old. One of them is patience. Or we're not doing it fast enough, or we're not providing documentation, or hey, you don't have the right priorities. But of course, all of that mostly comes from not understanding what we're trying to do. Which is lack of experience, are for not recognizing that we have many masters, and you have to do something for everybody. These are human problems. These are not just problems. You know, you're looking at sociology, that's a study of science. Not a study of science, it's a study of people. So you're just talking about people, and there's nothing unique about any of these.
22:30 Same interactions I have when I talk about, these are all people who, there's not a malicious bone in any of their bodies. They're all just trying, everybody's just trying to make themselves happy. And they would like you to do the things that make them happy. So this is not neurodifferent. So it's a little bit similar to things that we need to know. And then going the other way, with the physicists not listening to the computer people, you mentioned a possible example of, well, if you go to them and they say they want something, then you get that to them and they say, well, we really want this. You see, they haven't done this before. They can't possibly know what it is that they want. Because, remember what I said, you can only reason on the basis of the experiences you have? They had never written a parallel adaptive code before. They'd never tried to implement, you know, that algorithm. So, they told us what they wanted. They were using, giving us the best experiences they had just for us to work with. But you have to get people something to work with so they can get some experiences, so they can do it again. Does this make sense? So, you're saying it just was bound to be this kind of algorithm? Yeah, absolutely. Bound to happen. I expected it. I perceive it as being successful. Ask Richard and Matt what they think. I think they, particularly Matt, got more frustrated and so forth along the way than I did, but then I'm older than he is. Yeah, been there before, done that. The Binding Back Holcrane Challenge just has...
25:00 I don't think it has that long. I think it runs out next month. Next month? Oh, a month. Wow. Okay, so this is basically the end of it. I know that people on the physics side... I haven't received any support from it. So for you... It's in the past. I mean, we're still supporting it and working with it. Well, you see, the original plan was that we would build infrastructure and technology in the first two or three years and they would use it in the last two or three years. But, it never worked because they weren't quite ready to use it and we didn't quite have enough resources to get continuous in that project to do continued support. So we needed some other Well, it's always a problem to get support. You can get small amounts of money. Yeah, I've gathered from talking to some people. It's expensive, and it's very awkward. So does that sort of never-ending mean as long as the code continues to be in people's heads? Oh, over some point in time we'll have to find somebody else to do it, because I'm not going to do it forever. But, you know, we've got a manual and a tutorial, and we're going to turn it over to Jack John Garrow's Netlab. So people will have to use it as it is. Right. You know, you are going to be their problem, not mine, for a certain amount of time. But we're prepared to do it for the next two or three years. So how many different fields?
27:30 Let me go get something and print it out for you. I've got an 930 appointment that may be... Oh yes, so I'd like to go, yes. Testing the microphone. Testing the microphone. Testing the microphone. Testing the microphone. Testing the new microphone. Testing the new microphone. Testing the new microphone. Testing... The new microphone, testing the new microphone, testing the new microphone, setting, that seems to be a lot better, microphone setting, testing the new microphone setting, that seems to be fine, the new setting, that's the setting and not the battery, that's the problem.
Transcript not yet available for this recording.