AMD Ryzen Threadripper 1950X — Part One

Artikel-Index:

UMA, NUMA und der Legacy Compatibility Mode

Ryzen Thre­ad­rip­per hat Schwä­chen. Was ziem­lich hart klingt, ist die Kehr­sei­te des gro­ßen Vor­teils der Ska­lier­bar­keit der Zep­pe­lin-Dies. Doch der Rei­he nach.

Wie wir wis­sen, besteht Thre­ad­rip­per aus zwei Zep­pe­lin-Dies (hat­ten wir das über­haupt schon erwähnt? 😉 ). Die­se wie­der­um bestehen aus jeweils zwei Core-Com­plex, kurz CCX. Die Kom­mu­ni­ka­ti­on zwi­schen zwei CCX führt bereits bei Ryzen zu der einen oder ande­ren sub­op­ti­ma­len Per­for­mance-Situa­ti­on. Bei Ryzen Thre­ad­rip­per erhöht sich die Kom­ple­xi­tät des The­mas dadurch, dass nicht nur jeweils zwei CCX per Infi­ni­ty Fabric kom­mu­ni­zie­ren müs­sen, son­dern zusätz­lich auch bei­de Dies. Alle Infi­ni­ty-Fabric-Domä­nen von Thre­ad­rip­per sind erneut mit dem Spei­cher­takt gekop­pelt. Die Ryzen-Faust­re­gel, dass ein höhe­rer Spei­cher­takt zu bes­se­rer Per­for­mance der Kom­mu­ni­ka­ti­on zwi­schen den CCX führt, gilt bei Thre­ad­rip­per also eben­falls. Doch das ist noch nicht alles.

Jedes Zep­pe­lin-Die bringt zwei Spei­cher­ka­nä­le in die CPU ein. Zwei Mal Dual-Chan­nel ergibt Quad-Chan­nel. Das bedeu­tet jedoch auch, dass nicht jeder Pro­zes­sor-Kern direkt auf den kom­plet­ten Spei­cher zugrei­fen kann, son­dern im Zwei­fels­fall erst per Infi­ni­ty Fabric mit dem zwei­ten Die und von dort aus mit dem Spei­cher kom­mu­ni­zie­ren muss. In sol­chen Situa­tio­nen erhöht sich die Spei­cher­la­tenz. Der Thre­ad­rip­per-Nut­zer hat von AMD des­halb ver­schie­de­ne Ein­fluss­mög­lich­kei­ten zur Ver­fü­gung gestellt bekom­men. Die Soft­ware AMD Ryzen Mas­ter bie­tet zwei neue Optio­nen, wel­che in ins­ge­samt drei ver­schie­de­nen Kom­bi­na­tio­nen ver­än­dert wer­den kön­nen. Die Ände­rung die­ser bei­den Optio­nen bedingt dabei immer einen Reboot, kann also nicht on the fly erfolgen.

AMD Ryzen Master für Threadripper

Der Schal­ter für den Memo­ry Access Mode kann zwi­schen den Ein­stel­lun­gen Dis­tri­bu­ted (Stan­dard) und Local ver­än­dert wer­den. Damit wird zwi­schen UMA und NUMA gewech­selt. Die Stan­dard­ein­stel­lung ver­setzt Thre­ad­rip­per somit in den Uniform-Memo­ry-Access-Modus. In die­sem Zustand wird der Spei­cher­zu­griff von allen Ker­nen de fac­to homo­ge­ni­siert. Zwar sind dabei die Laten­zen beim Zugriff auf den gesam­ten Spei­cher ein­heit­lich, die­se Situa­ti­on wird jedoch durch eine rela­tiv hohe Latenz erkauft. Wird der Schal­ter auf Local gestellt, so wird das Sys­tem in den Non-Uniform-Memo­ry-Access-Modus ver­setzt. Das bringt zwar bes­se­re Laten­zen beim Zugriff auf den Spei­cher, aller­dings nicht für alle Berei­che. Greift ein Kern auf den RAM zu, wel­cher in den Spei­cher­ka­nä­len des ande­ren Dies steckt, so wird die Latenz prin­zip­be­dingt deut­lich höher. Der Nut­zer wählt also zwi­schen zwei “Übeln”: Ent­we­der gleich­mä­ßi­ge, dafür aber rela­tiv lang­sa­me Laten­zen beim Spei­cher­zu­griff oder aber flot­te­re Laten­zen, dafür aber ungleich­mä­ßig. Bei­de Lösun­gen sind nicht ide­al, da Anwen­dun­gen unter­schied­lich auf die Ein­stel­lun­gen reagieren.

Die zwei­te Wahl­mög­lich­keit betrifft die Opti­on Lega­cy Com­pa­ti­bi­li­ty Mode. AMD hat nach eige­nen Aus­sa­gen näm­lich eini­ge Anwen­dun­gen iden­ti­fi­zie­ren kön­nen (allen vor­an eini­ge Spie­le), wel­che mit der rei­nen Thread-Anzahl Pro­ble­me haben. So sol­len angeb­lich GTA V, F1 2016 und noch eini­ge ande­re Spie­le nicht mehr star­ten, wenn mehr als 20 Threads zur Ver­fü­gung ste­hen. Hier­für kann der Lega­cy Com­pa­ti­bi­li­ty Mode ver­wen­det wer­den. Er deak­ti­viert die Hälf­te aller Kerne/Threads, sodass unser 1950X zu einem Ryzen 7 wird. Auch der Cache wird deak­ti­viert, die Spei­cher­ka­nä­le sowie die PCIe-Lanes blei­ben jedoch wei­ter­hin aktiviert.

Setzt man den Memo­ry Access Mode auf Local und den Lega­cy Com­pa­ti­bi­li­ty Mode auf On, so akti­viert man das von AMD Game Mode genann­te Pro­fil. Denn damit sol­len allen vor­an Spie­le schnel­ler lau­fen, was wir auch zum Teil auch bestä­ti­gen kön­nen. Und so mel­det sich unser 1950X dann im Win­dows (ankli­cken für eine grö­ße­re Version):

AMD Ryzen Threadripper: Game Mode

Lega­cy Com­pa­ti­bi­li­ty Mode On bedingt auto­ma­tisch die Opti­on Memo­ry Access Mode auf Local (=NUMA). Solan­ge Lega­cy Com­pa­ti­bi­li­ty Mode auf Off steht, kann auch sepa­rat zwi­schen Dis­tri­bu­ted und Local beim Memo­ry Access Mode gewech­selt wer­den. Dar­aus erge­ben sich also drei Kom­bi­na­ti­ons­mög­lich­kei­ten. Zwei die­ser Vari­an­ten haben wir im Bench­mark-Teil bereits aus­pro­biert, die drit­te Vari­an­te wird in einem wei­te­ren Arti­kel beleuch­tet. Bis­her haben wir den Game Mode (Local + On) sowie den von AMD Crea­tor Mode (Dis­tri­bu­ted + Off) getauf­ten Aus­lie­fe­rungs­zu­stand beleuch­tet. Soviel vor­weg: Es gibt spe­zi­ell ein Ergeb­nis, was uns doch stark über­rascht hat. Mehr dazu im Bench­mark­teil die­ses Reviews.