Skip to main content
. 2016 Jul 7;18(5):870–885. doi: 10.1093/bib/bbw058

Table 1.

High-performance computing architectures: advantages and drawbacks

HPC type Architecture Advantages Drawbacks Computing paradigm
Computer cluster Set of interconnected computers controlled by a centralized scheduler Require minimal changes to the existing source code of CPU programs, with the exception of possible modifications necessary for message passing Expensive, characterized by relevant energy consumption and requires maintenance MIMD
Grid computing Set of geographically distributed and logically organized (heterogeneous) computing resources Require minimal changes to the existing source code of CPU programs, with the exception of possible modifications necessary for message passing Generally based on ‘volunteering’: computer owners donate resources (e.g. computing power, storage) to a specific project; no guarantee about the availability of remote computers: some allocated tasks could never be processed and need to be reassigned; remote computers might not be completely trustworthy MIMD
Cloud computing Pool of computation resources (e.g. computers, storage) offered by private companies, attainable on demand and ubiquitously over the Internet Mitigate some problems like the costs of the infrastructure and its maintenance Data are stored on servers owned by private companies; issues of privacy, potential piracy, espionage, international legal conflicts, continuity of the service (e.g. owing to some malfunctioning, DDoS attacks, or Internet connection problems) MIMD
GPU Dedicated parallel co-processor, formerly devoted to real-time rendering of computer graphics, nowadays present in every common computer High number of programmable computing units allow the execution of thousands simultaneous threads. Availability of high-performance local memories Based on a modified SIMD computing paradigm: conditional branches imply serialization of threads’ execution. GPU’s peculiar architecture generally requires code rewriting and algorithms redesign SIMD (although temporary divergence is allowed)
MIC Dedicated parallel co-processor installable in common desktop computers, workstations and servers Similar to GPUs but based on the conventional ×86 instructions set: existing CPU code, in principle, might be ported without any modification. All cores are independent Fewer cores with respect to latest GPUs. To achieve GPU-like performances, modification of existing CPU code to exploit vector instructions are required MIMD
FPGA Integrated circuits containing an array of programmable logic blocks Able to implement a digital circuit, which directly performs purpose-specific tasks (unlike general-purpose software tools). Such tasks are executed on a dedicated hardware without any computational overhead (e.g. those related to the operating system) Generally programmed using a descriptive language (e.g. VHDL, Verilog [18]), which can be cumbersome. Debugging using digital circuits simulators might be complicated and not realistic. Experience with circuit design optimization might be necessary to execute tasks using the highest clock frequency Dedicated hardware