| Supercomputing |
Shopping Supercomputer |
Articles about Supercomputer |
Information AboutSupercomputing |
| CATEGORIES ABOUT SUPERCOMPUTER | |
| cluster computing | |
| parallel computing | |
| concurrent computing | |
| supercomputers | |
|
A supercomputer is a Computer that led the world (or was close to doing so) 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 1929 to refer to large custom-built Tabulator s IBM made for Columbia University . OVERVIEW Concise industry history 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). Cray, himself, never used the word "supercomputer," a little-remembered fact in 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, although Cray Inc. still specializes in building supercomputers. was the world's fastest computer from 1985 to 1989.]] The term ''supercomputer'' itself is rather fluid, and today's supercomputer tends to become tomorrow's normal Computer . CDC's early machines were simply very fast Scalar Processor s, 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" CPU s, some being Off The Shelf Unit s 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 Cluster s using commodity processors combined with custom interconnects. Software tools Software tools for distributed processing include standard API s such as MPI and PVM , and Open Source -based software solutions such as Beowulf 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 . 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 Tunnel s, 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 require 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. Oftentimes 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 accelerate the remaining Bottleneck s. Supercomputer challenges, technologies
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 .) Operating systems or UNIX . Linux is the most popular since 2004 ]] Supercomputer Operating System s, 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 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 at NASA's Advanced Supercomputing Facility at Ames Research Center
|