Skip to main content
. Author manuscript; available in PMC: 2011 Jun 28.
Published in final edited form as: Nat Rev Genet. 2010 Sep;11(9):647–657. doi: 10.1038/nrg2857

Table 1.

Main categories of high-performance computing platforms

Large-scale
computing
platform
computing architectures Advantages Disadvantages example applications
Cluster computing Multiple computers linked together, typically through a fast local area network, that effectively function as a single computer Cost-effective way to realize supercomputer performance Requires a dedicated, specialized facility, hardware, system administrators and IT support
  • BLAST

  • Bayesian network reconstruction

  • Computing genetic associations in large-scale GWA studies

Cloud computing Computing capability that abstracts the underlying hardware architectures (for example, servers, storage and networking), enabling convenient, on-demand network access to a shared pool of computing resources that can be readily provisioned and released (NIST Technical Report) The virtualization technology used results in extreme flexibility; good for one-off HPC tasks, for which persistent resources are not necessary Privacy concerns; less control over processes; bandwidth is limited as large data sets need to be moved to the cloud before processing
  • Searching sequence databases

  • Aligning raw sequencing reads to genomes

  • General purpose genomics tools (for example, GeneSifter from Geospiza)

  • Most applications running on a cluster can be transferred to a cloud

Grid computing A combination of loosely coupled networked computers from different administrative centres that work together on common computational tasks. Typified by volunteer computing efforts (such as Folding@Home), which ‘scavenge’ spare computational cycles from volunteers’ computers Ability to enlist large-scale computational resources at low or no cost (large-scale volunteer-based efforts) Big data transfers are difficult or impossible; minimal control over underlying hardware, including availability
  • Protein folding (Folding@Home)

  • Proteome analysis

  • Protein prediction (Rosetta@Home)

  • Predicting interactions between small molecules and proteins (FightAIDS@Home)

  • Condor project

Heterogeneous computing Computers that integrate specialized accelerators — for example, GPUs or reconfigurable logic (FPGAs) — alongside GPPs Cluster-scale computing for a fraction of the cost of a cluster; optimized for computationally intensive fine-grained parallelism; local control of data and processes Significant expertise and programmer time required to implement applications; not generally available in cluster- and cloud-based services
  • Bayesian network learning

  • Protein folding (Folding@Home)

  • Molecular dynamics simulation (NAMD)

  • BLAST

  • CLUSTALW

  • HMMER

  • Reconstruction of evolutionary trees

The above categories are not exclusive. For example, heterogeneous computers are often used as the building blocks of cluster, grid or cloud computing systems; the shared computational clusters available in many organizations could be described as private Platform as a Service (PaaS) clouds. The main differences between the platforms are degree of coupling and tenancy — grid and cloud computers are designed for loosely coupled parallel workloads, with the grid resources allocated exclusively for a single user, whereas the underlying hardware resources in the cloud are typically shared among many users (multi-tenancy). Cluster computers are typically used for tightly coupled workloads and are often allocated to a single user. FPGA, field-programmable gate array; GPP, general purpose processor; GPU, graphics processing unit; GWA, genome-wide association; HPC, high-performance computing; NIST, National Institute of Standards and Technology.