2 www.xilinx.com WP375 (v1.0) September 10, 2010
Introduction
Introduction
Until the early 2000s, general purpose single-core CPU-based systems were the
processing systems of choice for HPC applications. They replaced exotic
supercomputing architectures because they were inexpensive, and performance
scaled with frequency in line with Moore's Law. Presently, the HPC industry is going
through another historical step change. General-purpose CPU vendors changed
course in the mid-2000s to rely on multicore architectures to meet high-performance
demands. The technique of simply scaling a single-core processor's frequency for
increased performance has run its course, because as frequency increases, power
dissipation escalates to impractical levels.
The shift to multicore CPUs forces application developers to adopt a parallel
programming model to exploit CPU performance. Even using the newest multicore
architectures, it is unclear whether the performance growth expected by the HPC end
user can be delivered, especially when running the most data- and compute- intensive
applications. CPU-based systems augmented with hardware accelerators as
co-processors are emerging as an alternative to CPU-only systems. This has opened up
opportunities for accelerators like Graphics Processing Units (GPUs), FPGAs, and
other accelerator technologies to advance HPC to previously unattainable
performance levels.
High Performance Computing: System Types
Systems in the HPC market span a spectrum of system types. They range from
massive compute server farms to computers embedded inside equipment. For
discussion purposes, these systems are classified into two different groups:
• High-performance servers
• High-performance embedded computers
High-Performance Servers
High-performance servers comprise a class of systems typically used by scientists,
engineers, and analysts to simulate and model applications and analyze large
quantities of data. Typical systems range from server farms to big supercomputers. A
summary of different industries and applications are provided in Table 1.
These applications are compute and data intensive and are in constant need of
increased compute power and bandwidth to memory. With higher compute power,
algorithms of greater complexity can be employed to produce more accurate results.
Tabl e 1 : Typical Applications for High Performance Servers
Industry Sample Applications
Government labs
Climate modeling, nuclear waste simulation, warfare modeling,
disease modeling and research, and aircraft and spacecraft
modeling
Defense
Video, audio, and data mining and analysis for threat monitoring,
pattern matching, and image analysis for target recognition
Financial services Options valuation and risk analysis of assets
Geosciences and engineering Seismic modeling and analysis, and reservoir simulation
Life sciences Gene encoding and matching, and drug modeling and discovery