This interview was conducted by Dr. Christoph Pöppe of the german science magazine "Spektrum der Wissenschaft".
At the International Supercomputer Conference 2004 (ISC2004) to be held June 22-25 in Heidelberg, Germany, Wallach will deliver the opening keynote address on Wednesday, June 23. His talk, entitled "The Search for the Softron - Will We Be Able to Develop Software for Petaflop/s Computing?" will attempt to derive some of the guiding principles for petaflop software development. In the following interview, he gives his opinions on Softron and the current state of the hardware-software relationship.
Question: What is a Softron?
Wallach: It is an attempt to give a handy and a somewhat humorous name to a long-standing problem. Hardware is not a problem anymore. We have incredibly fast processors which can be assembled into huge systems. One can build clusters from common PCs - at Virginia Tech they have literally built a cluster of Apples, which are absolutely not intended for supercomputing, and reached position 3 on the TOP500 list.
But the software! The best supercomputer is useless if one cannot program it. And software technology is far behind the hardware technology. We are still programming like we did 20 years ago.
Question: Which features of hardware technology are missing in the software technology?
Wallach: Physical laws! Equations! There is Moore’s Law, which states that the power of computers doubles every one-and-a-half years. This is not really a fundamental law of nature, but there are equations for the minimum need of time or the energy consumption of a logical operation, and so on. What is there for software? No such thing. At the universities, we call this subject software engineering, but it is not engineering in the same sense as electrical engineering, for example.
Question: Is this because equations, or something clear and well defined like equations, are missing?
Wallach: Exactly. Where do hardware technicians obtain their equations? From physics, ultimately from the equations with famous names like Schrödinger and Maxwell. These equations ultimately describe the behavior of elementary particles like electrons and protons. These laws are precise and well understood. For software, this means we have to go beyond the concrete problem back to the roots. We have to find the elementary particle of software. For fun I have called that particle the "Softron".
Question: This immediately raises the question: What is the mass of the Softron?
Wallach: Good question. And I’ll answer it exactly like the particle physicists would: There needs to be observation before a good theory can be developed.
Question: What are the observations you have made about the Softron?
Wallach: I’m not the only one. Among the many joke-laws of former Lockheed-boss Norman Augustine ("Augustine's laws") there is also this one: "Software is like entropy, it weights noting, it always increases, and no one understands it."
I myself have contributed the following observations: the half-life time is approximately 10 years. The time it takes to repair a software bug is inversely proportional to the time one needs to find it. The first 95 percent are easy to find, the next 95 percent of those remaining are more difficult. And then there are Gates’ uncertainty relations: the closer one is to Redmond (the Washington state headquarters of Microsoft), the more difficult it is to detect a Softron.
To elucidate the fine structure of the Softron one would have to build high-energy particle accelerators. Unfortunately this problem does not have top priority at CERN. The Softron high-energy ring would have to be built around Highway 101 in California and Route 128 in Massachusetts.
Question: Ok. But seriously, what does this mean?
Wallach: What I wanted to express is that we have to start from scratch in thinking about software. One example: nowadays hardly anybody knows what the abbreviation "Fortran" means "formula translator." The name came about because at the time, no one wanted to program in machine code anymore, but rather "in the formula." This means that one wanted to input the formula to the machine and leave it up to the computer to do what it sees fit. Today we want to "program in the equation." We have to solve a complicated equation and want to leave the details of the solving process up to the computer. This is what [mathematical] program packages like "[...]," and to a certain degree "[...]," do.
Question: Does this mean that the computer searches for the solution method which best fits the hardware?
Wallach: Exactly. This is called "adaptive computing" today.
Question: But this would only relocate the problem of writing an efficient program from the programmer to the author of "[a mathematical program package]", for instance. The author would have to write very general code which is applicable to a large class of problems.
Wallach: Correct. But this would be a good thing. Think back 40 years. When I entered into my main studies in 1968 everybody said it would be impossible to write a compiler which created code as well as a programmer writing in assembler, i.e. machine code.
Question: Right. But I have not heard this argument for the last 30 years.
Wallach: It has been wrong for those 30 years, too. Compilers can do several things that people cannot do, like for example, optimizing a program globally. Moreover, they have constantly improved over the last 20 years. Nowadays nobody would attempt to program in machine code anymore, which would also be a waste of time.
We should learn from the past for planning the future. Let’s work on improving the program packages so that programming in equations becomes a realistic option. Today, many people would still say that each equation requires its own treatment and that it is futile to commit a whole class of equations to a compiler, or alternately, to "[a mathematical program package]". But this will diminish as such program packages acquire a higher quality.
Question: You have made a name for yourself as a hardware developer. How does it come about that in the meantime you care so much for software?
Wallach: My colleagues in the field also wonder about this. But it is mandatory: if their software cannot make use of my hardware correctly or can’t use it at all, then I have a problem.
Again, we can learn from the past. Our [...] computers were so successful because they had an automatic converter which made vectorized or parallel code from standard Fortran programs.
Question: Is it urgent to make the public aware of the importance of this software difficulty?
Wallach: There is a true story about this from 1980, when I was still employed by Data General. At that time many people were allowed to leave the Soviet Union and one of them, who had just emigrated, wanted to get a post with us. He had a Ph. D., his curriculum vitae was impressive, he had led the analysis of seismic drillings for oil explorations in the Caspian Sea and the Black Sea, and was obviously a very capable man. So I asked him why the government had allowed him to leave. He smiled and told me that after he submitted his emigration application, the responsible party commissar had asked him what he actually did. Thereupon he brought out a magnetic tape and said, "All the work that I have done is on this tape." The commissar answered, "If everything really fits on this magnetic tape, then this man cannot be so important", and let him go.
Question: I see! And now we want to be more intelligent than a Soviet party commissar.
Wallach: Yes, but this is not as easy as it appears. In the USA, in Japan or the EU, you also have to obtain government funding for promising the biggest and fastest computer. This machine then appears high on the list of the 500 most powerful computers. But how is this ranking determined? With a program consisting of one page of Fortran code (the Linpack benchmark) which basically contains the standard algorithms of linear algebra. It is not a test of the interplay of hardware and software. It is a statement like: "This car accelerates from 0 to 100 in 3.6 seconds," without the addendum that this is only possible on specially prepared roads.
Question: Do you want to emphasize the importance of software development with your picture of the Softron?
Wallach: Not only that. It is also a request to rethink. The mythical particle Softron should stimulate the
thoughts of others. It is not enough to simply provide better hardware and then leave the programming up in the air. This will not work
today, just as it did not work in the past. One has to go back to the drawing board, to start with a blank sheet of paper. You can’t limit your
imagination by what has worked in the past. Small improvements on what already exists will not provide the leadership we need.
Question: Let’s suppose that you have this revolutionary software. Would this force the hardware producers to adapt their machines to this software?
Wallach: Indeed. This is exactly what happened with Fortran. I spent years designing computers so
that Fortran programs would run well on them. Similar things happened more recently with Java.
Question: Have your ideas received much attention in the community?
Wallach: Yes. Many experts are thinking in this same direction and
want to promote research and development in the field of programming languages again. I often hear
in meetings that the lack of software development is the biggest barrier to progress in computer
technology. As recently as mid-March, the U.S. government announced a totally new program which
includes the foundation of a software research institute for high performance computing.