One of the most popular applications of supercomputers today involves using the machines to simulate physical systems. Often such simulations involve many millions of repeated calculations. A program running on a conventional computer that calculates the motion of a protein molecule, for example, would have to consider each atom in the molecule one-by-one, calculate the force on each atom exerted by the other atoms, and then compute the new position of each one.
Solved by a Connection Machine, each of the molecule's atoms might be assigned to a different processor. Working at the same time, they would all calculate forces and determine the new position of the entire molecule. Each of the CM's physical processors can be programmed to simulate any number of ``virtual processors,'' so even the company's 4,096-processor CM-2a can handle large problems.
Many scientists feel that this ``data parallelism'' approach is ``a natural way to think about their problems,'' says Dr. Jill Mesirov, Thinking Machine's director of mathematical sciences research. Part of her job is to help show scientists how the machine can be used to solve their problems.
At the MIT Media Laboratory, graduate student Henry Holtzman is using a CM to increase the detail in television images: Each of the CM's processors calculates the color of a single point of the image.
``It's great to program. Once you get used to thinking the way [the machine] operates, it makes working with parallel data very simple,'' says Mr. Holtzman. ``The real problem with programming it is trying to debug your program. It's kind of hard to watch what your program does'' when it is operating on millions of numbers at a time.