supercomputer
Historical development
Although early supercomputers were built by various
companies, one individual, Seymour Cray, really defined
the product almost from the start. Cray joined a computer
company called Engineering Research Associates (ERA) in
1951. When ERA was taken over by Remington Rand, Inc.
(which later merged with other companies to become
Unisys Corporation), Cray left with ERA's founder,
William Norris, to start Control Data Corporation (CDC)
in 1957. By that time Remington Rand's UNIVAC line of
computers and IBM had divided up most of the market for
business computers, and, rather than challenge their
extensive sales and support structures, CDC sought to
capture the small but lucrative market for fast
scientific computers. The Cray-designed CDC 1604 was one
of the first computers to replace vacuum tubes with
transistors and was quite popular in scientific
laboratories. IBM responded by building its own
scientific computer, the IBM 7030--commonly known
as Stretch--in 1961. However, IBM, which had been slow
to adopt the transistor, found few purchasers for its
tube-transistor hybrid, regardless of its speed, and
temporarily withdrew from the supercomputer field after
a staggering loss, for the time, of $20 million. In 1964
Cray's CDC 6600 replaced Stretch as the fastest computer
on earth; it could execute three million floating-point
operations per second (FLOPS), and the term
supercomputer was soon coined to describe it.
Cray left CDC to start Cray Research, Inc., in 1972,
moving on again in 1989 to form Cray Computer
Corporation. Each time he moved on, his former company
continued producing supercomputers based on his designs.
Cray was deeply involved in every aspect of creating
the computers that his companies built. In particular,
he was a genius at the dense packaging of the electronic
components that make up a computer. By clever
design he cut the distances signals had to travel,
thereby speeding up the machines. He always strove to
create the fastest possible computer for the
scientific market, always programmed in the scientific
programming language of choice (FORTRAN) and always
optimized the machines for demanding scientific
applications--e.g., differential equations, matrix
manipulations, fluid dynamics, seismic analysis, and
linear programming.
Among Cray's pioneering achievements was the Cray-1,
introduced in 1976, which was the first successful
implementation of vector processing (meaning, as
discussed above, it could operate on pairs of lists of
numbers rather than on mere pairs of numbers). Cray was
also one of the pioneers of dividing complex
computations among multiple processors, a design known
as "multiprocessing." One of the first
machines to use multiprocessing was the Cray X-MP,
introduced in 1982, which linked two Cray-1 computers in
parallel to triple their individual performance. In 1985
the Cray-2, a four-processor computer, became the
first machine to exceed one billion FLOPS.
While Cray used expensive state-of-the-art custom
processors and cryogenic cooling systems to achieve his
speed records, a revolutionary new approach was about to
emerge. W. Daniel Hillis, a graduate student at the
Massachusetts Institute of Technology, had a
revolutionary new idea about how to overcome the
bottleneck imposed by having the CPU direct the
computations between all the processors. Hillis saw that
he could eliminate the bottleneck by eliminating the
all-controlling CPU in favour of decentralized, or
distributed, controls. In 1983 Hillis cofounded the
Thinking Machines Corporation to design, build, and
market such multiprocessor computers. In 1985 the first
of his Connection Machines, the CM-1 (quickly replaced
by its more commercial successor, the CM-2), was
introduced. The CM-1 utilized an astonishing 65,536
inexpensive 1-bit processors, grouped 16 to a chip (for
a total of 4,096 chips), to achieve several billion
FLOPS for some calculations--roughly comparable to
Cray's fastest supercomputer.
Hillis had originally been inspired by the way that
the brain uses a complex network of simple neurons to
achieve high-level computations. In fact, an early goal
of these machines involved solving a problem in
artificial intelligence, face-pattern recognition. By
assigning each pixel of a picture to a separate
processor, Hillis spread the computational load, but
this introduced the problem of communication between the
processors. The network topology that he developed to
facilitate processor communication was a 12-dimensional
"hypercube"--i.e., each chip was directly
linked to 12 other chips. These machines quickly became
known as massively parallel computers. Besides opening
the way for new multiprocessor architectures, Hillis's
machines showed how common, or commodity, processors
could be used to achieve supercomputer results. |