MPI-Benchmarking auf der Google Compute Platform – erneuter Besuch


Vor drei Jahren haben wir Googles IaaS-Dienst – Google Compute Engine (GCE) – auf seine Netzwerkleistung untersucht und Ryan hat die Ergebnisse in sein BlogbeitragDamals kam man zu dem Schluss, dass GCE-Instanzen für eine typische Arbeitslast beim Hosten von Webdiensten besser geeignet waren, es aber noch Spielraum für Leistungsoptimierungen für HPC-Anwendungen gab. Vor Kurzem haben wir die GCE-Instanzen mit ihrem neuesten Angebot erneut überprüft.
Benchmark-Tools
Um die Ergebnisse einigermaßen mit den alten vergleichbar zu machen, verwenden wir noch immer die OSU-Mikro-Benchmarks aber mit den neuesten Version 5.3.2. Und unter allen angebotenen Benchmarking-Tools wählen wir die zwei wichtigsten aus: osu_latency für den Latenztest und osu_bibw für den bidirektionalen Bandbreitentest.
Test Umgebung
Betriebssystem: Debian GNU/Linux 8 (Jessie)
MPI-Variante: MPICH3
Testinstanzen
Da wir die Verbindungsleistung zwischen VM-Instanzen testen, möchten wir sicherstellen, dass die von uns gestarteten VM-Instanzen tatsächlich auf verschiedenen physischen Hosts sitzen, sodass der Datenverkehr tatsächlich durch das zugrunde liegende Netzwerk und nicht durch den Speicher des Hostcomputers läuft.
Also haben wir das größte Beispiel jeder Serie ausgewählt:
n1-Standard-32, n1-Highmem-32 und n-highcpu-32
Testergebnisse
Für die Latenz (in Mikrosekunden):
| Instanztyp | Versuch Nr. 1 | Versuch Nr. 2 | Versuch Nr. 3 | Durchschnittlich |
| n1-Standard-32 | 45.68 | 47.03 | 48.46 | 47.06 |
| n1-highmem-32 | 43.17 | 43.08 | 36.87 | 41.04 |
| n1-highcpu-32 | 47.11 | 48.51 | 48.17 | 47.93 |
(Größe: 0 Bytes)
Für bidirektionale Bandbreite: (MB/s)
| Instanztyp | Versuch Nr. 1 | Versuch Nr. 2 | Versuch Nr. 3 | Durchschnittlich |
| n1-Standard-32 | 808.28 | 864.91 | 872.36 | 848.52 |
| n1-highmem-32 | 1096.35 | 1077.33 | 1055.2 | 1076.29 |
| n1-highcpu-32 | 847.68 | 791.16 | 900.32 | 846.39 |
(Größe: 1,048,576-Bytes)
Zusammenfassung der Ergebnisse
Die Netzwerklatenz liegt im Durchschnitt bei etwa 40 bis 45 Mikrosekunden und ist damit viermal schneller als das vorherige Ergebnis (etwa 4 Mikrosekunden). Die neue Latenz ist bei anderen kleineren Instanztypen relativ konstant.
Für die Bandbreite haben wir kein vorheriges Ergebnis zum Vergleich, aber unter allen GCE-Instanztypen hat n1-highmem-32 die beste Leistung, die bis zu 1070 MB/s erreichen kann. Dieses Ergebnis steht im Einklang mit dem offiziellen GCE-Dokument https://cloud.google.com/compute/docs/networks-and-firewalls#egress_throughput_caps.