Der Bedarf an Hochleistungsrechnern ist bei Anwendungssystemen, deren Komplexität oder Umfang große Anforderungen auf Antwortzeiten und Stabilität bei parallelen Rechenanfragen stellt, demzufolge hoch. Die entsprechenden Hochleistungsrechner haben eine auf parallele Verarbeitung ausgerichtete Architektur.
Man zählt zu den Hochleistungsrechnern zum einen Computer Cluster, welche sowohl verteilt (Grid Computing) als auch im lokalen Verbund organisiert sein können. Auch andere Rechnersysteme mit einem sehr großen, effizient organisierten Speicher können als Hochleistungsrechner bezeichnet werden.
Damit Anwendungen diese Architektur nutzen können, müssen sie hochparallel konzipiert und programmiert sein. Dies kann auf einer Makroebene (auf mehrere Rechner verteilte Verarbeitung) oder Mikroebene (Multi Core Programming) realisiert werden.