Tuning im Clusterumfeld
Damit Programme die Features moderner Mehrkern CPUs voll ausnutzen können, ist ein umfangreiches Tuning der Applikation sinnvoll. Hierfür stehen zahlreiche Tools zur Unterstützung zur Verfügung: spezielle Compiler, die hochoptimierte Codes produzieren, Profiling Tools, mit denen man das Laufzeitverhalten der Programme analysieren kann, oder auch Multi-Core Optimizer, die die Ressourcenverteilung der verschiedenen Jobs an die CPUs optimieren.Vorteil durch Überblick
Die Optimierung des Programmcodes ist das eigentliche Problem der Programmierer. Schwachstellen und Flaschenhälse müssen eindeutig identifiziert werden, um durch entsprechende Eingriffe wirkungsvoll gegensteuern zu können. Gleiches gilt für das Aufspüren von Fehlern in den Routinen, welche zum Programmabbruch führen.
Leistungsfähige Analysetools sind die Antwort auf diese Herausforderung. transtec bietet ein umfassendes Portfolio an ebensolchen Tools:
- Compiler als Schlüssel zur Leistungssteigerung >>
- Multi-Core Optimizer zur Workload Optimierung >>
- Kommerzielle Lösungen >>
- Benchmarking >>
Leistungssteigerung
Der Compiler ist das wichtigste Arbeitsmittel bei der Programmierung eigener Software, muss der Compiler doch ein für die Plattform optimiertes Programm erzeugen. Allerdings unterscheidet sich die Qualität des Binärcodes stark von Compiler zu Compiler. Aufgrund unserer langjährigen Erfahrung raten wir zu kommerziellen Lösungen >> von:
- Intel
- Pathscale
Beide Hersteller bieten ein umfassendes Portfolio an Tools zur Compilierung, Leistungssteigerung und Analyse. Je nach eingesetzter Architektur kann Ihnen transtec bei der Auswahl des richtigen Produktes helfen.
Workload Optimierung
Für einen Hochleistungsrechencluster ist die optimale Ausnutzung der Ressourcen notwendig. Hier setzt der Mulit-Core Optimizer an, der die Anfragen der Anwendungen optimal den zur Verfügung stehenden CPU-Kernen sowie den Speicherbänken verteilt. Dadurch werden folgende Vorteile erzielt:
- Steigerung der Anwendungsperformanz als direktes Resultat der voll zur Verfügung gestellten System Kapazität. Die gesteigerte Anwendungsperformanz führt zu schnelleren Ergebnissen und kürzeren Entscheidungsfindungsprozessen.
- Die Konsolidierungsbemühungen können verbessert werden, da mehr Arbeit mit der gleichen oder geringeren Anzahl an Systemen erledigt werden kann.
- Administrationskosten werden gesenkt, da Systemadministratoren nicht länger den Ressourcenbedarf spezieller Anwendungen analysieren müssen umd Workloads zu segmentieren und isolieren.
- Die Energieeffizienz wird erhöht, da keine unausgelasteten Kerne verbleiben.
Aufgrund unserer langjährigen Erfahrung raten wir zu kommerziellen Lösungen >> von:
- Exludus
Kommerzielle Lösungen
Sowohl Intel als auch Pathscale gehören zu den führenden Anbietern ausgereifter Compilersoftware. Intel Compiler dürften dabei wohl zu den am weitest verbreiteten kommerziellen Compilern gehören und unterstützten mit die größte Vielzahl von CPU Typen. Pathscale kann man mit Recht zu den Urgesteinen im Compilerbusiness zählen. Ihr Vorteil liegt im optimierten Code für spezielle CPU-Typen, was z.B. bei AMD Quad-Core-CPUs noch mehr Performance verspricht.
transtec bietet folgende Auswahl an Compilern und Tuning Tools:
- Intel C/C++ und Fortran Compiler
- Intel Math Kernel Library 10.0
- Intel Cluster Toolkit 3.1
- Pathscale Compiler Suite
- Exludus Multi-Core Optimizer
Ein Compiler sollte immer auf dem aktuellsten Stand gehalten werden, um die optimale Performance zu erhalten. Dies geschieht durch Update- und Supportlizenzen. Ein Vorteil dabei, man erhält direkten Herstellersupport.
Ergänzend zu den Compilern bietet Intel noch die Math Kernel Library und das Intel Cluster Toolkit. Die Library ergänzt die oben genannten Intel Compiler um Routinen aus vier Bereichen des wissenschaftlichen Rechnens.
- BLAS-Bibliotheken mit Funktionen aus der linearen Algebra
- LAPACK Routinen
- ScaLAPACK (parallele LAPACK Version)
- Fast Fourier Transformation und Zufallsgeneratoren
Das Intel Cluster Toolkit wurde für spezielle Anforderungen des HPC Clusterings entwickelt. Es eignet sich sowohl für Windows- als auch für Linux-basierende HPC Cluster. Darin enthalten sind:
- Math Kernel Library clusterfähige Version
- MPI Library
- MPI Benchmark
- Trace Analyzer/Collector zum Debuggen von MPI-Applikationen
Für einen Hochleistungsrechencluster ist die optimale Ausnutzung der Ressourcen notwendig. Hier setzt der Mulit-Core Optimizer an, der die Anfragen der Anwendungen optimal den zur Verfügung stehenden CPU-Kernen sowie den Speicherbänken verteilt. Hierfür eignet sich der Multi-Core Optimizer von
- Exludus.
Auf Anfrage beraten wir Sie gerne bei der richtigen Produktauswahl und stellen Ihnen gegebenenfalls Demoversionen der Produkte zur Verfügung.
transtec und Benchmarks
Es gibt zwei Möglichkeiten die Performance eines Clusters zu tunen. Einmal die Hardware und im Gegensatz dazu die passende Clustersoftware. Vergleicht man den Kostenaufwand für eine Beschleunigung der Rechenleistung lohnt sich in der Regel der Einsatz professioneller Software schon bei wenigen Knoten. Um sicher zu gehen kann man erst einmal auf kostenlose Demoversionen zugreifen. transtec hilft Ihnen hierbei mit folgenden Services:
- Bereitstellung von Demosoftware
- Beratung bei der Auswahl des richtigen Compilers
- Erstellung Ihres persönlichen Benchmarks
- Beratung zur richtigen Clusterkonfiguration

