Hochleistungsrechnen
# Hochleistungsrechnen

Hochleistungsrechnen (englisch high-performance computing, HPC) ist ein Bereich des computergestützten Rechnens. Er umfasst alle Rechenarbeiten, deren Bearbeitung einer hohen Rechenleistung oder Speicherkapazität bedarf.

Hochleistungsrechner sind Rechnersysteme, die Aufgaben des Hochleistungsrechnens bearbeiten können.

## Begriffsbestimmung

### Hochleistungsrechnen

Für die exakte Abgrenzung des Hochleistungsrechnens von den anderen Bereichen des computergestützten Rechnens gibt es aufgrund der schnellen Entwicklung der Rechentechnik keine dauerhaften formalen Kriterien. Es ist aber allgemein anerkannt, dass Rechenanwendungen, deren Komplexität oder Umfang eine Berechnung auf einfachen Arbeitsplatzrechnern unmöglich oder zumindest unsinnig macht, in den Bereich des Hochleistungsrechnens fallen.

Hochleistungsrechnen wird vor allem durch die auf parallele Verarbeitung ausgerichtete Architektur von Hochleistungsrechnern überhaupt erst möglich. Damit Anwendungen diese Architektur nutzen können, müssen sie parallel programmiert sein. Dies kann beispielsweise mit OpenMP und MPI realisiert werden.

### Hochleistungsrechner

Ähnlich wie beim Hochleistungsrechnen kann auch der Begriff Hochleistungsrechner kaum formal definiert werden. Ein wesentliches Merkmal ist aber eine auf parallele Verarbeitung ausgerichtete Architektur.

Man zählt zu den Hochleistungsrechnern

* zum einen hochparallele Supercomputer
* zum anderen Computercluster, welche
   * sowohl verteilt (verteiltes Rechnen, Grid-Computing)
   * als auch im lokalen Verbund organisiert sein können.

Auch andere Rechnersysteme mit spezieller Architektur, beispielsweise mit einem sehr großen, effizient organisierten Speicher, können als Hochleistungsrechner bezeichnet werden.

Gegenwärtig zählt man insbesondere die Computer der Teraflops-Leistungsklasse und darüber zu den Hochleistungsrechnern.

## Verbreitung

Hochleistungsrechnen ist vor allem im wissenschaftlichen Rechnen zunehmend von Bedeutung als Hilfsmittel zur Berechnung, Modellierung und Simulation komplexer Systeme und zur Verarbeitung riesiger Mengen von Messdaten. Derartige Anwendungen finden sich heute in praktisch allen Bereichen der Natur- und technischen Wissenschaften; typische Anwendungsbereiche sind etwa

* Meteorologie und Klimatologie
* Astro- und Teilchenphysik
* Systembiologie und Genetik
* Quantenchemie
* Strömungsmechanik.

Auch im kommerziellen Rechnen gibt es Anwendungen des Hochleistungsrechnens. Viele davon sind wissenschaftlichen Ursprungs, z. B.

* Wettervorhersage
* Crashtestsimulation
* Strömungssimulation im Flugzeugbau),

es gibt aber auch Anwendungen ohne wissenschaftlichen Charakter, z. B. bei der Generierung von Animationsfilmen.

Gelegentlich werden auch Anwendungen zum Hochleistungsrechnen gezählt, die als einzelne Anwendungsinstanz keine ungewöhnlichen Ressourcenanforderungen stellen, aber typischerweise in sehr großer Zahl gleichzeitig laufen und daraus eine Komplexität entwickeln; typische Beispiele finden sich in den Datenbankanwendungen der Finanzwirtschaft und bei der Vermittlung von Telefonverbindungen.

