HIGH PERFORMANCE COMPUTING USING FPGA
Abstract-This paper describes how FPGA is compatible for the High Performance Computing System. In this paper High performance computing systems using FPGAs and FPGA use models are described.
Due to high application demand conventional processors are unable to deliver desired performance. So hardware acceleration is required to meet high performance. This is done by parallel computing and by connecting application specification processors. Because of low price, low power consumption and high performance FPGAs are used in the basic coprocessor design. Until 2000, single core CPU based systems are used for High Performance Computing (HPC) application. In single core processors to increase performance, if frequency is increased power also increases with it to an impractical level. So to meet high application demand General purpose CPU vendors changed the course and introduced multicore processors to meet high performance demand. CPU based system connected with hardware accelerators as coprocessors are an alternative to CPU-only systems. GPUs, FPGAs are hardware accelerators with which system can attain high performance level which was previously unattainable.
II. High Performance Computing System
High performance computing is required for Servers and for embedded computers.
A. High Performance Server
Systems with high performance server are used by scientists, engineers and analysts to analyse large quantity of data. Systems having high performance servers range from server farms to super computers. A summary of different industries and application are provided in Table I.
Application for high performance server
Options valuation and risk analysis of assets Geoscience and engineering
Seismic modeling and analysis and simulation Government Lab
Climate modeling, nuclear waste modeling
B. High Performance Embedded Computers
These are the computers which are incorporated with equipment or appliance to compute intensive data task. Summary of different application in industries of embedded computers are given in Table II. Table II Application for High Performance Computer Industry
Encryption in network routes
Image rendering in CT and MRI scanners
Beam Foaming in Radars
Computing Using FPGA
Now a days FPGAs are used in wide range of applications in the HPC servers and embedded computers. In the beginning around 1980 FPGAs are used only for high performance in custom computed machines. Because of their relative high cost their usage was very less. But over the years due to advancement in process technology, increased number of transistors in single chip (multi-million) and their low cost their usage is now increased. These developments have made it feasible to perform massive computation on single chip at higher efficiency and at lower cost.
A. Parallelism Offered by FPGA Architecture:
The FPGAs are composed of input/output blocks (IOB), digital signal processing blocks (DSP), Configurable logic blocks (CLB) and block RAM. In FPGA, CLBs and DSPs are programmed to perform ALU operations. We can also program CLBs for the functions which are only needed by the application. This increases the computation efficiency.
In FPGA CLBs and DSPs can perform bitwise, floating point and integer operation depending upon operators used. Results from these operations are stored in registers of CLBs, DSPs and block RAM. We can also connect the output of one operator to input of the next, means FPGA’s architecture lends itself to the design of data flow engines.
Fig.1 High level block diagram of FPGA
In FPGA architecture both instruction and data level parallelism are available. This is because of the FPGA architecture which provides flexibility to...
References:  http://bu.edu/caadlab/IEEE_computer_07.pdf
 Xilinx white paper 375 HPC using FPGA
Designing with FPGA and CPLD by Bob Zeidman
Please join StudyMode to read the full document