Your continued donations keep Wikipedia running!    

Supercomputer

From Wikipedia, the free encyclopedia

Jump to: navigation, search

A supercomputer is a computer that leads the world in terms of processing capacity, particularly speed of calculation, at the time of its introduction. (The term "Super Computing" was first used by New York World newspaper in 1920 to refer to the large custom built tabulators IBM had made for Columbia University.)

Supercomputers introduced in the 1960s were designed primarily by Seymour Cray at Control Data Corporation (CDC), and led the market into the 1970s until Cray left to form his own company, Cray Research. He then took over the supercomputer market with his new designs, holding the top spot in supercomputing for 5 years (1985–1990). In the 1980s a large number of smaller competitors entered the market, in a parallel to the creation of the minicomputer market a decade earlier, but many of these disappeared in the mid-1990s "supercomputer market crash". Today, supercomputers are typically one-of-a-kind custom designs produced by "traditional" companies such as IBM and HP, who had purchased many of the 1980s companies to gain their experience, although Cray Inc. still specializes in building supercomputers.

The Cray-2; world's fastest computer 1985–1989.
Enlarge
The Cray-2; world's fastest computer 1985–1989.

The term supercomputer itself is rather fluid, and today's supercomputer tends to become tomorrow's also-ran. CDC's early machines were simply very fast scalar processors, some ten times the speed of the fastest machines offered by other companies. In the 1970s most supercomputers were dedicated to running a vector processor, and many of the newer players developed their own such processors at a lower price to enter the market. The early and mid-1980s saw machines with a modest number of vector processors working in parallel become the standard. Typical numbers of processors were in the range 4–16. In the later 1980s and 1990s, attention turned from vector processors to massive parallel processing systems with thousands of "ordinary" CPUs; some being off the shelf units and others being custom designs. Today, parallel designs are based on "off the shelf" RISC microprocessors, such as the PowerPC or PA-RISC, and most modern supercomputers are now highly-tuned computer clusters using commodity processors combined with custom interconnects.

Contents

Software tools

Software tools for distributed processing include standard APIs such as MPI and PVM, and open source-based software solutions such as Beowulf and openMosix which facilitate the creation of a sort of "virtual supercomputer" from a collection of ordinary workstations or servers. Technology like ZeroConf (Rendezvous/Bonjour) pave the way for the creation of ad hoc computer clusters. An example of this is the distributed rendering function in Apple's Shake compositing application. Computers running the Shake software merely need to be in proximity to each other, in networking terms, to automatically discover and use each other's resources. While no one has yet built an ad hoc computer cluster that rivals even yesteryear's supercomputers, the line between desktop, or even laptop, and supercomputer is beginning to blur, and is likely to continue to blur as built-in support for parallelism and distributed processing increases in mainstream desktop operating systems. An easy programming language for supercomputers remains an open research topic in Computer Science.

Uses

Supercomputers are used for highly calculation-intensive tasks such as weather forecasting, climate research (including research into global warming), molecular modeling (computing the structures and properties of chemical compounds, biological macromolecules, polymers, and crystals), physical simulations (such as simulation of airplanes in wind tunnels, simulation of the detonation of nuclear weapons, and research into nuclear fusion), cryptanalysis, and the like. Major universities, military agencies and scientific research laboratories are heavy users.

Design

Supercomputers traditionally gained their speed over conventional computers through the use of innovative designs that allow them to perform many tasks in parallel, as well as complex detail engineering. They tend to be specialized for certain types of computation, usually numerical calculations, and perform poorly at more general computing tasks. Their memory hierarchy is very carefully designed to ensure the processor is kept fed with data and instructions at all times—in fact, much of the performance difference between slower computers and supercomputers is due to the memory hierarchy. Their I/O systems tend to be designed to support high bandwidth, with latency less of an issue, because supercomputers are not used for transaction processing.

As with all highly parallel systems, Amdahl's law applies, and supercomputer designs devote great effort to eliminating software serialization, and using hardware to accelerate the remaining bottlenecks.

Supercomputer challenges, technologies

  • A supercomputer generates large amounts of heat and must be cooled. Cooling most supercomputers is a major HVAC problem.
  • Information cannot move faster than the speed of light between two parts of a supercomputer. For this reason, a supercomputer that is many meters across must have latencies between its components measured at least in the tens of nanoseconds. Seymour Cray's supercomputer designs attempted to keep cable runs as short as possible for this reason: hence the cylindrical shape of his famous Cray range of computers.
  • Supercomputers consume and produce massive amounts of data in a very short period of time. According to Ken Batcher, "A supercomputer is a device for turning compute-bound problems into I/O-bound problems." Much work on external storage bandwidth is needed to ensure that this information can be transferred quickly and stored/retrieved correctly.

Technologies developed for supercomputers include:

Processing techniques

Vector processing techniques were first developed for supercomputers and continue to be used in specialist high-performance applications. Vector processing techniques have trickled down to the mass market in DSP architectures and SIMD processing instructions for general-purpose computers. Modern video game consoles in particular use SIMD extensively and this is the basis for some manufacturers' claim that their game machines are themselves supercomputers. Indeed, some graphics cards have the computing power of several TeraFLOPS However, their uses are very limited.

Operating systems

Supercomputer operating systems, today most often variants of UNIX, are every bit as complex as those for smaller machines, if not more so. Their user interfaces tend to be less developed however, as the OS developers have limited programming resources to spend on non-essential parts of the OS (i.e., parts not directly contributing to the optimal utilization of the machine's hardware). This stems from the fact that because these computers, often priced at millions of dollars, are sold to a very small market, their R&D budgets are often limited. Interestingly this has been a continuing trend throughout the supercomputer industry, with former technology leaders such as Silicon Graphics taking a backseat to such companies as NVIDIA, who have been able to produce cheap, feature rich, high-performance, and innovative products due to the vast number of consumers driving their R&D.

Historically, until the early-to-mid-1980s, supercomputers usually sacrificed instruction set compatibility and code portability for performance (processing and memory access speed). For the most part, supercomputers to this time (unlike high-end mainframes) had vastly different operating systems. The Cray-1 alone had at least six different proprietary OSs largely unknown to the general computing community. Similarly different and incompatible vectorizing and parallelizing compilers for Fortran existed. This trend would have continued with the ETA-10 were it not for the initial instruction set compatibility between the Cray-1 and the Cray X-MP, and the adoption of UNIX operating system variants (such as Cray's Unicos).

For this reason, in the future, the highest performance systems are likely to have a UNIX flavor but with incompatible system unique features (especially for the highest end systems at secure facilities).

Programming

The parallel architectures of supercomputers often dictate the use of special programming techniques to exploit their speed. Special-purpose Fortran compilers can often generate faster code than the C or C++ compilers, so Fortran remains the language of choice for scientific programming, and hence for most programs run on supercomputers. To exploit the parallelism of supercomputers, programming environments such as PVM and MPI for loosely connected clusters and OpenMP for tightly coordinated shared memory machines are being used.

Types of general-purpose supercomputers

There are three main classes of general-purpose supercomputers:

  • Vector processing machines allow the same (arithmetical) operation to be carried out on a large amount of data simultaneously.
  • Tightly connected cluster computers use specially developed interconnects to have many processors and their memory communicate with each other, typically in a NUMA architecture. Processors and networking components are engineered from the ground up for the supercomputer. The fastest general-purpose supercomputers in the world today use this technology.
  • Commodity clusters use a large number of commodity PCs, interconnected by high-bandwidth low-latency local area networks.

As of 2005, Moore's Law and economies of scale are the dominant factors in supercomputer design: a single modern desktop PC is now more powerful than a 15-year old supercomputer, and at least some of the design tricks that allowed past supercomputers to out-perform contemporary desktop machines have now been incorporated into commodity PCs. Furthermore, the costs of chip development and production make it uneconomical to design custom chips for a small run and favor mass-produced chips that have enough demand to recoup the cost of production.

Additionally, many problems carried out by supercomputers are particularly suitable for parallelization (in essence, splitting up into smaller parts to be worked on simultaneously) and, particularly, fairly coarse-grained parallelization that limits the amount of information that needs to be transferred between independent processing units. For this reason, traditional supercomputers can be replaced, for many applications, by "clusters" of computers of standard design which can be programmed to act as one large computer.

Special-purpose supercomputers

Special-purpose supercomputers are high-performance computing devices with a hardware architecture dedicated to a single problem. This allows the use of specially programmed FPGA chips or even custom VLSI chips, allowing higher price/performance ratios by sacrificing generality. They are used for applications such as astrophysics computation and brute-force codebreaking.

Examples of special-purpose supercomputers:

The fastest supercomputers today

Measuring supercomputer speed

The speed of a supercomputer is generally measured in "FLOPS" (FLoating Point Operations Per Second) or TFLOPS (1012 FLOPS); this measurement is based on a particular benchmark, which mimics a class of real-world problems, but is significantly easier to compute than a majority of actual real-world problems.

Current fastest supercomputer system

The IBM Blue Gene/L is the fastest supercomputer in the world.
Enlarge
The IBM Blue Gene/L is the fastest supercomputer in the world.

On March 25, 2005, IBM's Blue Gene/L prototype became the fastest supercomputer in a single installation using its 65536 processors to run at 135.5 TFLOPS (1012 FLOPS). The Blue Gene/L prototype is a customized version of IBM's PowerPC architecture. The prototype was developed at IBM's Rochester, Minnesota facility, but production versions were rolled out to various sites, including Lawrence Livermore National Laboratory (LLNL). On October 28, 2005 the machine reached 280.6 TFLOPS with 131072 processors, but the LLNL system is expected to achieve at least 360 TFLOPS, and a future update will take it to 0.5 PFLOPS. Before this, a Blue Gene/L fitted with 32,768 processors managed seven hours of sustained calculating at a 70.7 teraflops—another first. [1] In November of 2005 IBM Blue Gene/L became the number 1 on TOP500's most powerful supercomputer list. [2]

References: http://news.com.com/IBM+set+to+take+supercomputing+crown/2100-1010_3-5439523.html?tag=nl http://news.com.com/Blue+GeneL+tops+own+supercomputing+record/2100-1008_3-5632045.html?tag=nl http://news.com.com/Blue+GeneL+tops+its+own+supercomputer+record/2100-1006_3-5918025.html

Previous fastest supercomputer system

Prior to Blue Gene/L, the fastest supercomputer was the NEC Earth Simulator at the Yokohama Institute for Earth Sciences, Japan. It is a cluster of 640 custom-designed 8-way vector processor computers based on the NEC SX-6 architecture (a total of 5,120 processors). It uses a customised version of the UNIX operating system.

At the time of introduction, the Earth Simulator's performance was over five times that of the previous fastest supercomputer, the cluster computer ASCI White at Lawrence Livermore National Laboratory. The Earth Simulator held the #1 position for 2½ years. Because it was largely unanticipated by the top performers at the time, its introduction spawned the term "computnik," in a reference to the Soviet Union's upstaging of the Western space program with the 1957 launch of Sputnik.

A list of the 500 fastest supercomputer installations, the TOP500, is maintained at http://www.top500.org/ .

Quasi-supercomputing

Some types of large-scale distributed computing for embarrassingly parallel problems take the clustered supercomputing concept to an extreme. One such example, is the BOINC platform which is a host for a number of distributed computing projects recorded on April 17th 2006 processing power of over 418.6 TFLOPS through 1 Million plus computers on the network [3]. On April 17th 2006 BOINC's largest project SETI@home has a reported processing power of 250.1 TFLOPS through 900,000+ computers [4].

On May 16, 2005, the distributed computing project Folding@home reported a processing power of 195 TFLOPS on their CPU statistics page.[5]. Still higher powers have occasionally been recorded: on February 2, 2005, 207 TFLOPS were noted as coming from Windows, Mac, and Linux clients [6].

GIMPS distributed Mersenne Prime search achieves currently 20 TFLOPS.

Google's search engine system may be faster with estimated total processing power of between 126 and 316 TFLOPS. Tristan Louis estimates the systems to be composed of between 32,000 and 79,000 dual 2 GHz Xeon machines. [7] Since it would be logistically difficult to cool so many servers at one site, Google's system would presumably be another form of distributed computing project: grid computing.

Timeline of supercomputers

Historical and present:

Year Supercomputer Peak speed Location
1906 Babbage Analytical Engine, Mill 0.3 OPS RW Munro, Woodford Green, Essex, England
1938 Zuse Z1 0.9 FLOPS Konrad Zuse's parents' apartment, Methfesselstraße, Berlin, Germany
1939 Zuse Z2 0.9 OPS
1941 Zuse Z3 1.4 FLOPS German Aerodynamics Research Institute (Deutsche Versuchsanstalt für Luftfahrt) (DVL), Berlin, Germany
1942 Atanasoff-Berry Computer (ABC) 30 OPS Iowa State University, Ames, Iowa, USA
TRE Heath Robinson 200 OPS Bletchley Park, Bletchley, Milton Keynes, England
1943 Flowers Colossus 5 kOPS
1946
 
UPenn ENIAC
(before 1948+ modifications)
50 kOPS Aberdeen Proving Ground, Maryland, USA
 
1954 IBM NORC 67 kOPS U.S. Naval Proving Ground, Dahlgren, Virginia, USA
1956 MIT TX-0 83 kOPS Massachusetts Inst. of Technology, Lexington, Massachusetts, USA
1958 IBM SAGE 400 kOPS 25 U.S. Air Force sites across the continental USA and 1 site in Canada (52 computers)
1960 UNIVAC LARC 500 kFLOPS Lawrence Livermore National Laboratory, California, USA
1961 IBM 7030 "Stretch" 1.2 MFLOPS Los Alamos National Laboratory, New Mexico, USA
1964 CDC 6600 3 MFLOPS Lawrence Livermore National Laboratory, California, USA
1969 CDC 7600 36 MFLOPS
1974 CDC STAR-100 100 MFLOPS
1975 Burroughs ILLIAC IV 150 MFLOPS NASA Ames Research Center, California, USA
1976 Cray-1 250 MFLOPS Los Alamos National Laboratory, New Mexico, USA (80+ sold worldwide)
1981 CDC Cyber 205 400 MFLOPS (numerous sites worldwide)
1983 Cray X-MP/4 941 MFLOPS Los Alamos National Laboratory; Lawrence Livermore National Laboratory; Battelle; Boeing
1984 M-13 2.4 GFLOPS Scientific Research Institute of Computer Complexes, Moscow, USSR
1985 Cray-2/8 3.9 GFLOPS Lawrence Livermore National Laboratory, California, USA
1989 ETA10-G/8 10.3 GFLOPS Florida State University, Florida, USA
1990 NEC SX-3/44R 23.2 GFLOPS NEC Fuchu Plant, Fuchu, Japan
1993 Thinking Machines CM-5/1024 65.5 GFLOPS Los Alamos National Laboratory; National Security Agency
Fujitsu Numerical Wind Tunnel 124.50 GFLOPS National Aerospace Laboratory, Tokyo, Japan
Intel Paragon XP/S 140 143.40 GFLOPS Sandia National Laboratories, New Mexico, USA
1994 Fujitsu Numerical Wind Tunnel 170.40 GFLOPS National Aerospace Laboratory, Tokyo, Japan
1996 Hitachi SR2201/1024 220.4 GFLOPS University of Tokyo, Japan
1996 Hitachi/Tsukuba CP-PACS/2048 368.2 GFLOPS Center for Computational Physics, University of Tsukuba, Tsukuba, Japan
1997 Intel ASCI Red/9152 1.338 TFLOPS Sandia National Laboratories, New Mexico, USA
1999 Intel ASCI Red/9632 2.3796 TFLOPS
2000 IBM ASCI White 7.226 TFLOPS Lawrence Livermore National Laboratory, California, USA
2002 NEC Earth Simulator 35.86 TFLOPS Earth Simulator Center, Yokohama-shi, Japan
2004 SGI Project Columbia 42.7 TFLOPS Project Columbia, [NASA Advanced Supercomputing facility]
2004 IBM Blue Gene/L 70.72 TFLOPS U.S. Department of Energy/IBM, USA
2005 136.8 TFLOPS U.S. Department of Energy/U.S. National Nuclear Security Administration,
Lawrence Livermore National Laboratory, California, USA
280.6 TFLOPS

See also

General concepts, history

Other classes of computer

Supercomputer companies, operating

These companies make supercomputer hardware and/or software, either as their sole activity, or as one of several activities.

Supercomputer companies, defunct

These companies have either folded, or do no longer operate in the supercomputer market.

External links

Information resources

CDAC

Supercomputing centers, organizations

Specific machines, general-purpose

Specific machines, special-purpose

Personal tools