Supercomputing 2000

 

John Gustafson

 

Predicting the future accurately is treacherous business, especially about social and political trends. It's not quite as treacherous for technological trends, however. Memory chips keep getting denser and cheaper-per-bit, MFLOPS ratings move up inexorably, and one can cheerfully predict improvements of this kind will continue, at least for a while. The difficult thing to predict is human behavior, and it's human behavior that will determine the state of supercomputing in the year 2000. As the limits of physics force supercomputer designers to use more tricks, users will be increasingly pressured to adopt new ways to program and use supercomputers. Some people are still grumbling about having to use vectors to get high speed. By 2000, a successful supercomputer user will have a whole suite of tricks to master to stay competitive.

It's amusing to read old predictions of the future, and chuckle over the naïvete and shortsightedness of would-be prophets. Keep this issue and read it again in a decade or two. This is my gift to someone's future amusement.

Nanoelectronics

The long-predicted limit on silicon density is nearly here. With sub-micron feature sizes, electrons tunnel right out of whatever state they're supposed to represent. The metal layer has such a high self-capacitance at this scale that moving voltages over it is like moving a weather balloon by kicking it.

One solution that seems probable is to use the tunneling feature instead of fight it, and get rid of the metal layer. That's right: no on-chip wires. Discrete quantum mechanical energy states will hold information, and tunneling effects will move it as a function of neighboring states (within the chip). The good news is that these things will be denser than optical memory and faster than Josephson junctions. The bad news is that they won't look anything like the last several decades of digital electronics. They probably won't even be binary. They will first creep into supercomputing for special functions only, but will spread to the rest of the system eventually.

How will humans react to such bizarre chip technology? My guess is that many designers will gag at building multipliers, registers, etc. out of cellular automata, and will hang onto conventional silicon at least five years after someone shows it to be obsolete. Users won't like the sensitivity and unreliability of the machines first built from nanoelectronics. Somewhere, though, someone will be gritting his or her teeth and coaxing a nanocomputer to yield performance a million times faster than what is achievable now, in 1990.

Heterogeneous Systems

Parallel processing has been around a long time, built into the hardware in ways that never burden the programmer. For instance, good floating-point hardware does a great deal in parallel just to do one 64-bit multiply in a few cycles. People started talking about "parallel processing" pros and cons when the vendors asked application programmers to deal with parallelism in programs. The same thing will happen with heterogeneous parallelism.

Even a modest personal computer in 1990 has separate processors for the printer, the keyboard, the disk drives, the display, and the floating-point arithmetic, aside from "the" processor. And they are all probably different, if the machine is cost-effective. Hence, the term heterogeneous. Now imagine a system with hundreds of processors, each uniquely optimized to some function, and most calling for control from the application programmer if supercomputer speed is the goal. A bit scary, no?

Members of the current generation of massively-parallel supers at least have homogeneous nodes. Processors are alike and have the same connections to other processors. That simplicity will disappear, starting with the links to other processors. Getting applications up and running will never be a one-person undertaking on heterogeneous systems. Once an entire application works, developers will create new applications by changing it function by function. Supercomputer programming in the year 2000 won't be "top down" or "bottom up" ... it'll be sideways.

Memory Speed

By the year 2000 (and maybe this is wishful thinking), supercomputer users will look less at processor speed ratings and more at memory speed. Supercomputers will be rated by dollars per megabyte per second more than dollars per megaflop, at least by savvy buyers. Anyone can stick a sophisticated VLSI chip or chip set into a mediocre computer, transforming it into a mediocre computer with amazing peak MIPS and MFLOPS specifications. The memory speed is seldom matched to the rate those chips can consume operands.

Raising the memory speed is tough and costly. The usual tricks of interleaving, multiple paths, wide paths, switching networks, and caches have a big effect on the programmer, despite claims to the contrary by designers. More than any other physical limit, this will be visible to supercomputer programmers. Memory isn't flat. The illusion is breaking down right now, and by the year 2000 many programmers will be as aware of hierarchical memory and other design tricks as they are now of the difference between RAM and disk storage.

Languages

We've seen several tries to overthrow Fortran as the lingua franca of scientific computing. All except C have been utter failures. What's different about C? Languages like PL/I, Algol, Pascal, and Ada all tried to improve the wrong things about Fortran: they tried to make it clean, readable, and elegant. And incidentally... they usually run slower than Fortran. The C folks seemed more interested in making the language even closer to the hardware than Fortran (within the limits of portability), and faster than Fortran when used correctly. Hence, C is taking hold.

Observing this, I'll speculate that the language used in 2000 will have plenty of constructs that expose the architecture to the programmer. Note that I write this at when the rest of the world seems to be trying to making architectures invisible to the programmer. When it comes to scientific supercomputing, speed is ultimately what counts. In 2000 just as now, we will write programs in the fastest language that can still claim some portability from one system to another. (If it weren't for portability problems, would supercomputer programmers use assembly language? They might!)

Visualization

By 2000, true three-dimensional displays and hardcopy will be out of the laboratory and into the commercial mainstream. That's right, hardcopy. I don't mean computer-generated holograms so much as digital sculptures created by building layer upon layer by photopolymerization or like technique. And the three-dimensional displays either will place the pixels (voxels?) spatially, or use goggles that contain separate image generation hardware for each eye and adjust the scene to the wearer's head position. The latter will be available in a range of quality and cost, with the low end associated with video games and the high end associated with flight simulators and supercomputer output visualization. For example, chemists might create a full visual field illusion of an enzyme as big as a blimp, with controls for navigating through the molecule to examine any interesting site. Our 1280x1024 color displays will seem as primitive as a VT100 seems today.

 

The Supercomputing Business

In the serial processing world, workstations will narrow and sometimes close the gap between their own performance and top-end computers. There will be far less reason to go to remote supercomputers with serial programs unless memory requirements exceed local capacity.

Once, there were over 50 automobile manufacturers in Detroit. After a period of brutal competition resulting in failures and mergers, a stable oligopoly emerged. Much the same thing is now happening in the "near-super" market. I am especially skeptical about the future of any vendor that uses its software base as an excuse for being below the technology curve. Most of the near-super business plans assume the continued existence of a huge performance gap between scientific minicomputers and the largest supercomputers. By 2000 that gap won't be huge. It might not be big enough for more than two vendors.

There is a historical pattern that vendors associated with supercomputers become associated with mainframes a few years later. IBM and CDC have experienced this cycle, and Cray Research seems headed the same way. Cray will continue to supply high-speed cycles to casual scientific users, but in 2000 will seldom be regarded as the vendor of the World's Fastest Computer. Who will take that title? All I am willing to venture is that the World's Fastest Computer in 2000 will have over 200 processors, and will cost at least $40 million, in 1990 dollars. There always have been a handful of customers willing to spend so much money on a computer if it delivers proportional performance. I'm pretty sure there will still be that handful in the year 2000.

Contact: John Gustafson john.gustafson@sun.com