Dictionary Definition
supercomputer n : a mainframe computer that is
one of the most powerful available at a given time
User Contributed Dictionary
English
Noun
- Any computer that has a far greater processing power than others of its day; typically they use more than 1 core and are housed in large clean rooms with high air flow to permit cooling. Typical uses are weather forecasting, nuclear simulations and animations.
Translations
- Finnish: supertietokone
Extensive Definition
A supercomputer is a computer that is considered at
the time of its introduction to be at the frontline in terms of
processing capacity, particularly speed of calculation. The term
"Super Computing" was first used by New York
World newspaper in 1929 to refer to large custom-built tabulators
that 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 five years
(1985–1990). Cray, himself, never used the word
"supercomputer"; a little-remembered fact is that he only
recognized the word "computer". 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.
The term supercomputer itself is rather fluid,
and today's supercomputer tends to become tomorrow's ordinary
computer. 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 of four to sixteen. 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. (This is
commonly and humorously referred to as the attack of the killer
micros in the industry.) Today, parallel designs are based on "off
the shelf" server-class microprocessors, such as
the PowerPC, Itanium, or
x86-64, and
most modern supercomputers are now highly-tuned computer
clusters using commodity processors combined with custom
interconnects.
Software tools
Software tools for distributed processing include standard APIs such as MPI and PVM, and open source-based software solutions such as Beowulf, WareWulf and openMosix which facilitate the creation of a supercomputer from a collection of ordinary workstations or servers. Technology like ZeroConf (Rendezvous/Bonjour) can be used to create ad hoc computer clusters for specialized software such as Apple's Shake compositing application. An easy programming language for supercomputers remains an open research topic in computer science. Several utilities that would once have cost several thousands of dollars are now completely free thanks to the open source community which often creates disruptive technology in this arena.Common uses
Supercomputers are used for highly calculation-intensive tasks such as problems involving quantum mechanical physics, 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.A particular class of problems, known as Grand
Challenge problems, are problems whose full solution requires
semi-infinite computing resources.
Relevant here is the distinction between
capability computing and capacity computing, as defined by Graham
et al. Capability computing is typically thought of as using the
maximum computing power to solve a large problem in the shortest
amount of time. Often a capability system is able to solve a
problem of a size or complexity that no other computer can.
Capacity computing in contrast is typically thought of as using
efficient cost-effective computing power to solve somewhat large
problems or many small problems or to prepare for a run on a
capability system.
Hardware and software design
Supercomputers using custom CPUs 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 address
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 Cray range of computers. In modern supercomputers built of many conventional CPUs running in parallel, latencies of 1-5 microseconds to send a message between CPUs are typical.
- 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.
- Vector processing
- Liquid cooling
- Non-Uniform Memory Access (NUMA)
- Striped disks (the first instance of what was later called RAID)
- Parallel filesystems
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. The
applications to which this power can be applied was limited by the
special-purpose nature of early video processing. As video
processing has become more sophisticated, Graphics
processing units (GPUs) have evolved to become more useful as
general-purpose vector processors, and an entire computer science
sub-discipline has arisen to exploit this capability:
General-Purpose Computing on Graphics Processing Units (GPGPU).
Operating systems
Supercomputer operating systems, today most often variants of Linux or 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. (The advent of Unix and Linux allows reuse of conventional desktop software and user interfaces.)Interestingly this has been a continuing trend
throughout the supercomputer industry, with former technology
leaders such as Silicon
Graphics taking a back seat to such companies as AMD and 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 and today's
Linux.)
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 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.Modern supercomputer architecture
As of November 2006, the top ten supercomputers on the Top500 list (and indeed the bulk of the remainder of the list) have the same top-level architecture. Each of them is a cluster of MIMD multiprocessors, each processor of which is SIMD. The supercomputers vary radically with respect to the number of multiprocessors per cluster, the number of processors per multiprocessor, and the number of simultaneous instructions per SIMD processor. Within this hierarchy we have:- A computer cluster is a collection of computers that are highly interconnected via a high-speed network or switching fabric. Each computer runs under a separate instance of an Operating System (OS).
- A multiprocessing computer is a computer, operating under a single OS and using more than one CPU, where the application-level software is indifferent to the number of processors. The processors share tasks using Symmetric multiprocessing (SMP) and Non-Uniform Memory Access (NUMA).
- A SIMD processor executes the same instruction on more than one set of data at the same time. The processor could be a general purpose commodity processor or special-purpose vector processor. It could also be high performance processor or a low power processor. As of 2007, the processor executes several SIMD instructions per nanosecond.
As of November 2007 the fastest machine is
Blue
Gene/L. This machine is a cluster of 65,536 computers, each
with two processors, each of which processes two data streams
concurrently. By contrast, Columbia
is a cluster of 20 machines, each with
512 processors, each of which processes two data streams
concurrently.
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 the design concepts that allowed past
supercomputers to out-perform contemporaneous 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. A current
model quad-core Xeon workstation running at 2.66 GHz will
outperform a multimillion dollar Cray C90 supercomputer
used in the early 1990s, lots of workloads requiring such a
supercomputer in the 1990s can now be done on workstations costing
less than 4,000 US dollars.
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. Historically a new special-purpose supercomputer has occasionally been faster than the world's fastest general-purpose supercomputer, by some measure. For example, GRAPE-6 was faster than the Earth Simulator in 2002 for a particular special set of problems.Examples of special-purpose supercomputers:
- Deep Blue, for playing chess
- Reconfigurable computing machines or parts of machines
- GRAPE, for astrophysics and molecular dynamics
- Deep Crack, for breaking the DES cipher
- MDGRAPE-3, for protein structure computation
The fastest supercomputers today
Measuring supercomputer speed
The speed of a supercomputer is generally measured in "FLOPS" (FLoating Point Operations Per Second), commonly used with an SI prefix such as tera-, combined into the shorthand "TFLOPS" (1012 FLOPS, pronounced teraflops), or peta-, combined into the shorthand "PFLOPS" (1015 FLOPS, pronounced petaflops.) This measurement is based on a particular benchmark which does LU decomposition of a large matrix. This mimics a class of real-world problems, but is significantly easier to compute than a majority of actual real-world problems.The Top500 list
Since 1993, the fastest supercomputers have been ranked on the Top500 list according to their LINPACK benchmark results. The list does not claim to be unbiased or definitive, but it is the best current definition of the "fastest" supercomputer available at any given time.Current fastest supercomputer system
As of November 2007, the IBM Blue Gene/L at
Lawrence Livermore National Laboratory (LLNL) is the fastest
operational supercomputer, with a sustained processing rate of
478.2 TFLOPS.
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, a
host for a number of distributed computing projects. On March 16
2008, BOINC
recorded a processing power of over 960 TFLOPS through
over 550,000 active computers on the network. The largest project,
SETI@home,
reported processing power of over 450 TFLOPS through almost 350,000
active computers.
Another distributed computing project, Folding@home,
reported nearly 1.3 PFLOPS of processing power in late
September 2007. A little over 1 PFLOPS of this processing
power is contributed by clients running on PlayStation
3 systems.
GIMPS's distributed Mersenne
Prime search achieves currently 29 TFLOPS (as of May
2008).
Google's search
engine system
may be faster with estimated total processing power of between 126
and 316 TFLOPS. The
New York Times estimates that the Googleplex and
its server farms
contain 450,000 servers.
Research and development
On September 9, 2006 the U.S. Department of Energy's National Nuclear Security Administration (NNSA) selected IBM to design and build the world's first supercomputer to use the Cell Broadband Engine (Cell B.E.) processor aiming to produce a machine capable of a sustained speed of up to 1,000 trillion (one quadrillion) calculations per second, or one PFLOPS. Another project in development by IBM is the Cyclops64 architecture, intended to create a "supercomputer on a chip".Other PFLOP projects include one by Dr. Narendra
Karmarkar in India, a CDAC effort targeted
for 2010, and the Blue Waters Petascale Computing System funded by
the
NSF ($200 million) that is being built by the
NCSA at the
University of Illinois at Urbana-Champaign (slated to be
completed by 2011).
Timeline of supercomputers
This is a list of the record-holders for fastest general-purpose supercomputer in the world, and the year each one set the record. For entries prior to 1993, this list refers to various sources. From 1993 to present, the list reflects the Top500 listing.See also
These companies make supercomputer hardware and/or software, either as their sole activity, or as one of several activities.
These companies have either folded,
or no longer operate in the supercomputer market.
Notes
External links
Information resources
- TOP500 Supercomputer list
- Green500 Supercomputer list by efficiency
- LinuxHPC.org Linux High Performance Computing and Clustering Portal
- WinHPC.org Windows High Performance Computing and Clustering Portal
- Cluster Resources
- Cluster Builder
- CDAC
- Microsoft Windows Compute Cluster Server (CCS)
- Infiscale Cluster Portal - Free GPL HPC Resources
- Supercomputing Online Homepage for the World's High-Performance Computing, Networking & Storage Professionals
- Degree Project about best alternatives to implement HPC Cluster
Supercomputing centers, organizations
Organizations- DEISA Distributed European Infrastructure for Supercomputing Applications, a facility integrating eleven European supercomputing centers.
- EPCC Edinburgh Parallel Computing Centre. Based in the University of Edinburgh.
- NAREGI Japanese NAtional REsearch Grid Initiative involving several supercomputer centers
- Research Computing Services (web site) at the University of Manchester.
- TeraGrid, a national facility integrating nine US supercomputing centers
- ARSC Arctic Region Supercomputing Center at University of Alaska Fairbanks
- BSC Barcelona Supercomputing Center - Spanish national supercomputing facility and R&D center
- CESCA Supercomputing Centre of Catalonia - Centre de Supercomputacio de Catalunya
- CESGA Galicia Supercomputing Center - Centro de Supercomputación de Galicia
- CINECA CINECA Interuniversity Consortium, Italy
- CSAR UK national supercomputer service operated by Manchester Computing
- GSIC Global Scientific Information and Computing Center at the Tokyo Institute of Technology
- HPCx UK national supercomputer service operated by EPCC and Daresbury Lab
- IRB
- Minnesota Supercomputer Institute (Formerly Minnesota Supercomputer Center) operated by University of Minnesota
- NASA Advanced Supercomputing facility
- National Center for Atmospheric Research (NCAR)
- National Center for Supercomputing Applications (NCSA)
- National Energy Research Scientific Computing Center (NERSC)
- Ohio Supercomputer Center (OSC)
- Pittsburgh Supercomputing Center operated by University of Pittsburgh and Carnegie Mellon University.
- San Diego Supercomputer Center (SDSC)
- SARA (Stichting Academisch Rekencentrum Amsterdam), Amsterdam, The Netherlands
- System X at Virginia Tech
- Texas Advanced Computing Center (TACC)
- WestGrid
- TCHPC Trinity Centre for High Performance Computing. Based in the University of Dublin.
- DCSC Danish Centre for Scientific Computing. Based at the University of Copenhagen.
- PSNC (Poznan Supercomputing and Networking Center), Poznan, Poland
- NSC National Supercomputer Centre in Sweden at Linköping University, Sweden
Specific machines, general-purpose
- Linux NetworX press release: Linux NetworX to build "largest" Linux supercomputer
- ASCI White press release
- Article about Japanese "Earth Simulator" computer
- "Earth Simulator" website (in English)
- NEC high-performance computing information
- Superconducting Supercomputer
- Blue Waters Petascale Computing System
Specific machines, special-purpose
supercomputer in Bulgarian: Суперкомпютър
supercomputer in Catalan: Supercomputador
supercomputer in Czech: Superpočítač
supercomputer in Danish: Supercomputer
supercomputer in German: Supercomputer
supercomputer in Modern Greek (1453-):
Υπερυπολογιστής
supercomputer in Spanish: Supercomputadora
supercomputer in Persian: ابررایانه
supercomputer in French: Superordinateur
supercomputer in Korean: 슈퍼컴퓨터
supercomputer in Armenian: Գերհամակարգիչ
supercomputer in Indonesian: Superkomputer
supercomputer in Italian: Supercomputer
supercomputer in Hebrew: מחשב-על
supercomputer in Georgian: სუპერკომპიუტერი
supercomputer in Lao: ຊຸບເປີຄອມພິວເຕີ
supercomputer in Lithuanian:
Superkompiuteris
supercomputer in Malagasy: Milina fikajiana
lehibe
supercomputer in Malay (macrolanguage):
Superkomputer
supercomputer in Dutch: Supercomputer
supercomputer in Japanese: スーパーコンピュータ
supercomputer in Norwegian:
Superdatamaskin
supercomputer in Polish: Superkomputer
supercomputer in Portuguese:
Supercomputador
supercomputer in Romanian: Supercomputer
supercomputer in Russian: Суперкомпьютер
supercomputer in Slovak: Superpočítač
supercomputer in Slovenian:
Superračunalnik
supercomputer in Finnish: Supertietokone
supercomputer in Swedish: Superdator
supercomputer in Vietnamese: Siêu máy tính
supercomputer in Turkish: Süper bilgisayar
supercomputer in Ukrainian: Суперкомп'ютер
supercomputer in Contenese: 超級電腦
supercomputer in Chinese:
超级计算机