Die netten Leute von Thomas Krenn haben uns ihr OpenPower Testsystem zur Verfügung gestellt \o/ Wir wollten dieses System schon etwas länger in die Finger bekommen. Jetzt hat es endlich geklappt!

Der Server verballert mit seinen zwei 1200 Watt Netzteilen in der Spitze etwas um 370Watt (im normalen Betrieb etwas um die 230Watt) und soll laut TK 1.325 BTU/h produzieren.

Verbaut sind 128GB RAM und natürlich eine Power8 CPU:

root@ubuntu:/home/tk# lscpu
Architecture:          ppc64le
Byte Order:            Little Endian
CPU(s):                64
On-line CPU(s) list:   0-63
Thread(s) per core:    8
Core(s) per socket:    8
Socket(s):             1
NUMA node(s):          1
Model:                 2.0 (pvr 004d 0200)
Model name:            POWER8 (raw), altivec supported
CPU max MHz:           3857.0000
CPU min MHz:           2061.0000
Hypervisor vendor:     horizontal
Virtualization type:   full
L1d cache:             64K
L1i cache:             32K
L2 cache:              512K
L3 cache:              8192K
NUMA node0 CPU(s):     0-63

OS ist ein Ubuntu:

root@ubuntu:/home/tk# lsb_release -a          
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 16.04.4 LTS
Release:	16.04
Codename:	xenial

Die im Testsystem mitgelieferten Festplatten (3,5″ Nearline SAS mit 7,2k) waren für unseren Datenbanktest etwas zu langsam, daher haben wir ein paar ältere 15k 2,5″ Platten aus unserem Lager verbaut und diese in ein Raid 10 geworfen. Damit ist das lokale Storage-Backend nun laut pg_test_fsync vergleichbar mit unseren anderen Testsystemen. Wir wollen ja sehen welche CPU "schneller" ist und nicht welche Festplatte am meisten "bremst".

So „einfach“ ist es nicht zu sagen welche CPU nun wirklich schneller ist als eine andere. Ich habe als erstes versucht ein paar alltägliche Dinge miteinander zu vergleichen:

 CPU SHA256-hashing 500 MB bzip2-compressing 500 MB AES-encrypting 500 MB 
 2 x Intel(R) Xeon(R) CPU E5-2665 0 @ 2.40GHz 3.859 seconds 5.445 seconds 1.337 seconds
 1 x Power8 2.0 (pvr 004d 0200) 3.803 seconds 7.868 seconds 0.866 seconds
 1 x Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz 2.370 seconds 4.207 seconds 0.831 seconds
 2 x Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz 2.652 seconds 5.413 seconds 1.585 seconds
 2 x Intel(R) Xeon(R) CPU E5-2650 v3 @ 2.30GHz 2.484 seconds 5.217 seconds 1.500 seconds

Als nächstes habe ich unixbench.sh laufen lassen:

wget --no-check-certificate https://github.com/teddysun/across/raw/master/unixbench.sh
chmod +x unixbench.sh
./unixbench.sh

Hier sollte nun das OpenPower System einmal gegen einen Dell System mit zwei verbauten Intel(R) Xeon(R) CPU E5-2665 0 @ 2.40GHz antreten. Natürlich sind hier nur die Infos zu CPU/RAM spannend!

 2 x Intel(R) Xeon(R) CPU E5-2665 0 @ 2.40GHz    Power8 
 Dhrystone 2 using register variables  34551077.1 lps  (10.0 s, 7 samples)   27167563.6 lps  (10.0 s, 7 samples)
 Double-Precision Whetstone  4082.2 MWIPS  (9.9 s, 7 samples)   4092.2 MWIPS  (9.7 s, 7 samples)
 Execl Throughput  2124.0 lps  (30.0 s, 2 samples)   2776.0 lps  (29.9 s, 2 samples)
 File Copy 1024 bufsize 2000 maxblocks  1087796.7 KBps  (30.0 s, 2 samples)   299978.8 KBps  (30.0 s, 2 samples)
 File Copy 256 bufsize 500 maxblocks  299275.0 KBps  (30.0 s, 2 samples)   75847.4 KBps  (30.0 s, 2 samples)
 File Copy 4096 bufsize 8000 maxblocks  3350511.2 KBps  (30.0 s, 2 samples)   1079708.7 KBps  (30.0 s, 2 samples)
 Pipe Throughput  2067851.3 lps  (10.0 s, 7 samples)   465883.7 lps  (10.0 s, 7 samples)
 Pipe-based Context Switching  215476.9 lps  (10.0 s, 7 samples)   132003.3 lps  (10.0 s, 7 samples)
 Process Creation  4278.0 lps  (30.0 s, 2 samples)   7390.5 lps  (30.0 s, 2 samples)
 Shell Scripts (1 concurrent)  5542.8 lpm  (60.0 s, 2 samples)   7085.1 lpm  (60.0 s, 2 samples)
 Shell Scripts (8 concurrent)  6090.1 lpm  (60.0 s, 2 samples)   4356.5 lpm  (60.0 s, 2 samples)
 System Call Overhead  4186839.6 lps  (10.0 s, 7 samples)   344156.5 lps  (10.0 s, 7 samples)
      
 System Benchmarks Index Values  BASELINE  RESULT  INDEX  RESULT  INDEX
 Dhrystone 2 using register variables  116700.0  34551077.1  2960.7  27167563.6  2328.0
 Double-Precision Whetstone  55.0  4082.2  742.2  4092.2  744.0
 Execl Throughput  43.0  2124.0  494.0  2776.0  645.6
 File Copy 1024 bufsize 2000 maxblocks  3960.0  1087796.7  2747.0  299978.8  757.5
 File Copy 256 bufsize 500 maxblocks  1655.0  299275.0  1808.3  75847.4  458.3
 File Copy 4096 bufsize 8000 maxblocks  5800.0  3350511.2  5776.7  1079708.7  1861.6
 Pipe Throughput  12440.0  2067851.3  1662.3  465883.7  374.5
 Pipe-based Context Switching  4000.0  215476.9  538.7  132003.3  330.0
 Process Creation  126.0  4278.0  339.5  7390.5  586.5
 Shell Scripts (1 concurrent)  42.4  5542.8  1307.3  7085.1  1671.0
 Shell Scripts (8 concurrent)  6.0  6090.1  10150.2  4356.5  7260.8
 System Call Overhead 15000.0 4186839.6  2791.2  344156.5  229.4
      
 System Benchmarks Index Score   1629.6   851.8

Die hohe Anzahl Threads und die fette Speicheranbindung der CPU sind ein paar Besonderheiten, welche dieses System theoretisch sehr gut brauchbar als Datenbankserver machen sollten. Wir arbeiten viel mit PostgresSQL, daher war einer unserer Tests ein Restore unserer Testdatenbank.

 CPU Restore Zeit
 2 x Intel(R) Xeon(R) CPU E5-2650 v3 @ 2.30GHz 129min 34s
 1 x Power8 2.0 (pvr 004d 0200) 120min 43s

Bisher zeigt sich folgendes Bild: Die Power8 CPU ist ohne Zweifel sehr leistungsstark. Die „bessere“ Speicheranbindung und die vielen Threads bemerkt man. Das OpenPower System von Thomas Krenn gibt es nur mit einem CPU Socket, also ist es immer eine singel CPU. Im direkten Vergleich mit einer Intel single CPU macht das Power8 System bei Datenbanken sicher den Stich. Da es preislich viel eher an einem dual Intel CPU System angesiedelt ist, muss es sich damit vergleichen lassen, selbst wenn es nicht ganz fair ist. Hier hat im direkten Vergleich ein solches Intel System die Nase vorne.

IBM hat im Jahr 2013 ihre Power8 CPU vorgestellt. Jetzt haben wir 2018…. Daher sind die Vergleichssysteme ebenfalls etwas älter. Unterm Strick: Echt tolle CPU, leider im Preis/Leistungsvergleich (für einen Datenbankserver) gegenüber eines Intel-Systems, der Verlierer! Was sicher im HPC oder bei Anbindungen von Nvidia Rechenbeschleunigern anders aussieht. Dual CPU Systeme wären spannend, besser noch direkt Power9 Systeme (mit AES und GZIP im Chip). Da IBM von diesen CPUs im Vergleich mit Intel nur sehr geringe Stückzahlen verkauft ist der Preis hoch. Vielleicht passiert hier ja noch mal irgendwann etwas?!?!

Wir haben hier noch ein paar Tests mehr gemacht und wir werden in den nächsten Tagen noch ein paar Experimente mit dem System vornehmen. Wenn sich also am ersten Eindruck noch etwas ändert schreibe ich es.

Hier habe ich noch ein paar Bilder..

Fragen? Na dann wie immer einfach fragen 🙂