Gute Nachrichten für Verfügbarkeit: Zen 3 für Kryptominer wohl uninteressant

Es war ein unglaub­li­cher Hype, der vor und zur Markt­ein­füh­rung des Ryzen 5000 “Ver­meer” mit der neu­en Zen-3-Archi­tek­tur auf­ge­baut wur­de. Und die Reviews haben gezeigt: AMD hat­te nicht zu viel ver­spro­chen. Im Gegen­teil bestä­tig­te sich die Ten­denz der letz­ten paar Jah­re unter Lisa Su, dass AMD bei den Her­stel­ler-Bench­marks kein Cher­ry-Picking betreibt und völ­lig unrea­lis­ti­sche Wer­te ver­spro­chen hat, die in der Pra­xis anschlie­ßend nicht zu hal­ten waren. Sol­che Zei­ten gab es bei AMD ja auch; es sei­en nur Phe­nom und Bull­do­zer genannt. Und so kam was kom­men muss­te. Obwohl AMD dach­te, für aus­rei­chend Stück­zah­len im Chan­nel gesorgt zu haben, waren die Ryzen-5000-Pro­zes­so­ren in weni­gen Stun­den aus­ver­kauft. Man­che Beob­ach­ter spra­chen gar von einem Paper­launch, aber genau das Gegen­teil ist der Fall. Wie der deut­sche Online-Händ­ler Mind­fac­to­ry mit­ge­teilt hat, war es der bes­te CPU-Launch (sprich: die meis­ten Ver­käu­fe) ever.

Momen­tan herrscht also Ebbe bei den Händ­lern – nicht auf­grund von Her­stel­lungs­pro­ble­men, son­dern auf­grund der mas­si­ven Nach­fra­ge – daher wäre das schlimms­te, was den Kun­den jetzt pas­sie­ren könn­te, dass die Zen-3-Archi­tek­tur sich auch noch opti­mal für Kryp­to­mi­ning eig­net. Wie wir 2017 bei den GPUs gese­hen haben, ist der Markt dann schnell leer­ge­fegt noch ehe die Hard­ware über­haupt in End­kun­den­nä­he kommt. Da Kryp­to­wäh­run­gen der­zeit auch noch mas­siv im Auf­wind sind, muss man hier immer auf der Hut sein.

Was, wenn nun Zen 3 durch sei­ne zahl­rei­chen Opti­mie­run­gen bei Cache und Exe­cu­ti­on-Units ähn­li­che Fort­schrit­te macht wie beim Gam­ing? Besteht die Gefahr, dass Kryp­to­mi­ner den End­kun­den die Ryzen-5000-CPU wegkaufen?

Ers­te Anzei­chen deu­ten dar­auf hin, dass dies nicht der Fall sein wird und bei genaue­rer Betrach­tung wird auch deut­lich wieso.

1. Gemein­sa­mer L3-Cache dank CCX-Ände­rung spielt beim Kryp­to­mi­ning kei­ne Rolle
Der L3-Cache des Ryzen spielt genau genom­men die Haupt­rol­le beim Kryp­to­mi­ning mit Ran­domX, dem ein­zi­gen Algo­rith­mus, der noch rele­vant ist für CPUs, denn dort lagern die in Berech­nung befind­li­chen Daten. 2 MB sind es pro Thread bei Mone­ro. Das ist ide­al für den bis­he­ri­gen Ryzen 3000, denn dank sei­nes üppi­gen L3-Caches konn­te er all sei­ne Ker­ne und Threads akti­vie­ren und so die Rechen-Ein­hei­ten maxi­mal aus­las­ten. Das ist der Haupt­grund für sei­ne Über­le­gen­heit gegen­über der Vor­gän­ger-Gene­ra­ti­on und dem Intel-Mit­be­werb. Aber…

2. Core-zu-Core-Kom­mu­ni­ka­ti­on fin­det nicht statt
…was im Gegen­satz zum Gam­ing beim Kryp­to­mi­ning gar kei­ne Rol­le spielt, ist Core-zu-Core-Kom­mu­ni­ka­ti­on und der gemein­sa­me L3-Cache je Die statt der Tren­nung in zwei CCX. Das liegt dar­an, dass Kryp­to­mi­ning-Soft­ware nicht mul­ti­th­rea­ded ist, son­dern ähn­lich wie die meis­ten BOINC-Pro­jek­te mehr­fach sin­gle­th­rea­ded. Es gibt also nicht zig Threads, die an einem gemein­sa­men Daten­pool her­um­rech­nen, kei­ne Ker­ne, die Daten unter­ein­an­der aus­tau­schen müss­ten, statt­des­sen nur n Threads mit jeweils ihren eige­nen Daten (“Scratch­pads”), die mög­lichst unge­stört neben­ei­nen­an­der her­rech­nen möch­ten. Zudem sind die Threads bei den meis­ten Minern auf fixen Ker­nen fest­ge­pinnt, sodass sie sowie­so maxi­ma­le Loka­li­tät auf­wei­sen. Core-zu-Core-Kom­mu­ni­ka­ti­on und der gemein­sa­me L3-Cache sind also irrelevant.

3. Die L3-Cache-Latenz ist bei Zen 3 schlech­ter geworden
Wenn die Core-zu-Core-Kom­mu­ni­ka­ti­on kei­ne Rol­le spielt und auch der gemein­sa­me L3-Cache kein Kri­te­ri­um ist, das Kryp­to­mi­ning (mit Ran­domX) posi­tiv beein­flus­sen könn­te, dann kann die gene­rell schlech­ter gewor­de­ne L3-Latenz sehr wohl Ein­fluss haben; näm­lich einen nega­ti­ven. Wie wir in unse­rem Tech­nik-Arti­kel gezeigt haben, liegt die Latenz eines Kerns beim Zugriff auf “sei­nen” L3-Cache nun nicht mehr bei 39 Tak­ten wie noch bei Zen 2, son­dern bei 46 Tak­ten. Zudem ist auch die Band­brei­te des L3-Caches gleich geblie­ben; mit dem nega­ti­ven Effekt, dass nun nicht 4 Ker­ne dar­an nuckeln, son­dern 8 je Die. Da bei Zen 2/3 sowie­so alle gera­de in Berech­nung befind­li­chen Daten in den L3-Cache pas­sen, ist das Haupt­kri­te­ri­um für die Ver­ar­bei­tung, wie schnell sie gelie­fert wer­den. Und da ist Zen 3 schlech­ter als Zen 2.

4. Pre­fet­ching spielt kei­ne Rolle
AMD gibt an, bei Zen 3 die Branch-Pre­dic­tors und das Pre­fet­ching ver­bes­sert zu haben. Zumin­dest das Pre­fet­ching wird Zen 3 beim Kryp­to­mi­ning unter Ran­domX nicht hel­fen, da die­ser Algo­rith­mus absicht­lich so aus­ge­legt ist, dass er maxi­mal zufäl­lig Daten benö­tigt. Daher war es bis­her sogar von Vor­teil, per MSR-Modi­fi­ka­tio­nen die Hard­ware-Pre­fet­cher abzu­schal­ten. Sofern AMD es nicht geschafft hat, auch “zufäl­li­ge” Zugrif­fe bes­ser vor­her­zu­sa­gen, wird Zen 3 der ver­bes­ser­te Pre­fet­cher nicht hel­fen, da er (wohl?) sowie­so deak­ti­viert wer­den wird von der Mining-Soft­ware sobald sich her­aus­stellt, dass auch Zen 3 ohne Hard­ware-Pre­fet­ching schnel­ler ist.

5. Her­stel­lungs­pro­zess ist gleich geblie­ben, Takt­ra­ten auch unge­fähr, Under­vol­ting (noch) nicht möglich
Die meis­ten Sys­te­me, auf denen aktiv Kryp­to­mi­ning betrie­ben wird, wer­den in Sachen Ener­gie­ver­brauch opti­miert. Ent­we­der wird die Sockel-Power begrenzt oder Under­vol­ting betrie­ben, in jedem Fall wer­den alle Hebel in Bewe­gung gesetzt, um so wenig Strom wie mög­lich zu ver­brau­chen und dabei so wenig wie mög­lich Leis­tung zu ver­lie­ren, denn die Kur­ve ver­läuft nicht line­ar. So konn­te man einem Ryzen 9 3900X z.B. ohne wei­te­res im BIOS oder per Ryzen-Mas­ter das PPT von 142 W auf 125 W dros­seln und damit Strom(kosten) und Kühl­auf­wand spa­ren ohne dabei nen­nens­wert Hash­ra­te ein­zu­bü­ßen. Wer noch wei­ter opti­mie­ren moch­te, konn­te sich aktiv ans Under­vol­ting wagen. Da bei Ryzen 5000 der Her­stel­lungs­pro­zess gleich geblie­ben ist, sind hier kei­ne Effi­zi­enz-Wun­der zu erwar­ten. Zudem sind mit den aktu­el­len AGE­SA-Ver­sio­nen der Main­boards noch kei­ne Under­vol­ting-Optio­nen freigeschaltet.

6. Anzahl der Ker­ne und Cache-Grö­ße gleich geblieben
Im Gegen­satz zur Umstel­lung von Zen/Zen+ auf Zen 2 ist bei der aktu­el­len Ite­ra­ti­on sowohl die Anzahl der Ker­ne gleich geblie­ben, als auch die Grö­ße der Caches. Man kann also nicht plötz­lich dop­pelt oder gar 4 Mal so vie­le Threads star­ten wie mit der Vor­gän­ger-Gene­ra­ti­on und ent­spre­chend deut­lich höhe­re Hash­ra­ten errei­chen. Was bleibt dann noch groß?

Daher ist es nicht ver­wun­der­lich, dass die ers­ten Kryp­to­mi­ning-Bench­marks unter Ran­domX mit der Mining-Soft­ware xmrig die Zen-3-Ryzens eher hin­ter den Zen-2-Ryzens sehen. Der Ver­gleich hinkt natür­lich noch, zum einen, da die Anzahl der ein­ge­sand­ten Wer­te bei Zen 2 deut­lich höher liegt als bei Zen 3 und zum ande­ren, da die Opti­mie­rung der Soft­ware auf Zen 3 bis­her nur rudi­men­tär erfolgt ist.

7. Zen 2 ist deut­lich bil­li­ger als Zen 3
Wenn von Zen 3 also sowie­so kei­ne gro­ßen Hash­ra­te-Sprün­ge zu erwar­ten sind und Zen-2-Pro­zes­so­ren auch noch deut­lich bil­li­ger zu bekom­men und über­haupt zu bekom­men sind; wes­halb soll­te sich eine Mining-Farm dann auf Zen 3 stür­zen? ROI ist schließ­lich auch bei Kryp­to­mi­nern ein Kriterium.

Eine gro­ße Unbe­kann­te ist bis­her noch der neue Befehl VAES, der – wie geschil­dert – bei Zen 3 als AVX2-Befehl aus­ge­führt ist, also 256 Bit breit. Ran­domX nutzt AES und theo­re­tisch bie­tet der Umstieg von AVX (128 Bit) auf AVX2 (256 Bit) ein Per­for­mance-Plus-Poten­zi­al von +100%. Da das jedoch nur ein Befehl in einer gan­zen Fol­ge von Befeh­len des Hash­al­go­rith­mus ist und Ran­domX grund­sätz­lich eher beim Speicher/Cache deckelt als bei den Rechen­ein­hei­ten, wird der ganz gro­ße Sprung hier wohl eher aus­blei­ben, selbst wenn er irgend­wann aktiv von der Mining-Soft­ware genutzt wird.

Daher müs­sen End­kun­den der­zeit eher kei­ne Sor­ge haben, dass das Ryzen-5000-Kon­tin­gent von über­eif­ri­gen Kryp­to­mi­nern leer­ge­kauft wird. Dafür ist Kryp­to­mi­ning via CPU der­zeit gene­rell zu unpro­fi­ta­bel. Selbst wenn die Top-Crun­cher unse­res BOINC-Teams ihre Dual-EPYC 7V12-Boli­den mit 256 CPU-Threads auf Mone­ro los­las­sen wür­den, wür­den sie pro Tag aktu­ell nur ca. 6 EUR erschür­fen – Strom­kos­ten und Anschaf­fung noch nicht ein­ge­rech­net; Ryzen-Pro­zes­so­ren ent­spre­chend noch deut­lich weni­ger. Natür­lich gibt es immer “Hod­ler”, die hof­fen, dass der Wert ihrer Kryp­to­wäh­rung in 2 Jah­ren beim x‑1000-fachen ste­hen wird, aber das sind nicht die Mining-Far­men, die Märk­te leer­kau­fen wie vor 3 Jah­ren bei den GPUs. Mining-Far­men müs­sen ihre Inves­ti­tio­nen zeit­nah wie­der her­ein­brin­gen, daher wird dort nicht gehor­tet und auf bes­ser Zei­ten gehofft, son­dern geschürft und zu Geld gemacht. Und da ist bei Ryzen 5000 der­zeit kein Anreiz vor­han­den. Also gute Nach­rich­ten für alle Endkunden.