AMD nimmt Stellung zu “Low-Res-Schwäche” von Ryzen

Am 2. März stell­te AMD sei­ne neu­en High-End-Pro­zes­so­ren der Serie Ryzen offi­zi­ell vor. Dabei konn­te AMDs neue Pro­zes­sor-Archi­tek­tur Zen die Erwar­tun­gen wei­test­ge­hend erfül­len und bot jede Men­ge Leis­tung zu gegen­über Intels 8‑Kern-Pro­zes­so­ren deut­lich gerin­ge­ren Prei­sen. Wäh­rend die Pro­zes­so­ren auch bei Spie­len sehr gute Leis­tung erbrach­ten, sofern wie bei uns in Full-HD-Auf­lö­sung oder andern­orts mit 4K getes­tet wur­de, lie­ßen man­che Publi­ka­tio­nen das Test­sys­tem in 720p lau­fen. Dabei offen­bar­ten sich bei eini­gen Spie­len deut­lich sicht­ba­re Schwä­chen. Ryzen hink­te den Intel-Sys­te­men in nied­ri­ger Auf­lö­sung hin­ter­her, wes­halb sofort der Begriff “Low-Res-Schwä­che” die Run­de machte.

Nun ist Spie­len in 720p für ein High-End-Ryzen-Sys­tem ver­mut­lich nicht das all­täg­li­che Ein­satz­sze­na­rio und bei ande­ren, rein CPU-las­ti­gen Tests hat­te sich Ryzen gut geschla­gen. Den­noch sind der­ar­ti­ge Tests legi­tim, auch wir hat­ten in der Ver­gan­gen­heit bei Main­board- und CPU-Reviews in einer Dis­zi­plin absicht­lich das uralte Qua­ke III Are­na in Auf­lö­sung 640x480 ver­wen­det, da es die Gra­fik­kar­te der­art wenig belas­tet, dass Schwä­chen bei der CPU oder bei der Infra­struk­tur (Durch­satz, Laten­zen) ziem­lich deut­lich offen­bart werden.

Was folg­te, waren eine gan­ze Rei­he an Spe­ku­la­tio­nen. Die schlech­ten L3-Cache- und Spei­cher-Laten­zen, die der AIDA64-Test aus­spuckt, sol­len dafür ver­ant­wort­lich sein. Oder der Win­dows-Sche­du­ler, der Threads wahl­los auf die ein­zel­nen Ker­ne ver­teilt – auch über einen CCX (CPU Core Com­plex) hin­weg – und damit für Leis­tungs­ver­lust sorgt. Zur Erin­ne­rung: Ryzen 7 “Sum­mit Ridge” besteht aus zwei CCX zu je 4 Ker­nen und 8 MiB L3-Cache. Die bei­den CCX sind via Fabric verbunden.

pcper.com hat daher ana­ly­siert, wie Win­dows 10 ein­zel­ne Threads ver­teilt. Dabei konn­te wider­legt wer­den, dass sich womög­lich der Bull­do­zer-Patch, der für Win­dows 7 nach­träg­lich zur Instal­la­ti­on bereit­ge­stellt wur­de und in Win­dows 10 ab Werk inte­griert sein soll, nega­tiv aus­wirkt. Der Win­dows-10-Sche­du­ler kann bei akti­vier­tem SMT durch­aus zwi­schen phy­si­schen und logi­schen Ker­nen unter­schei­den und belas­tet bevor­zugt “ech­te” Ker­ne und logi­sche erst dann, wenn kei­ne phy­si­schen mehr frei sind:


Quel­le: pcper.com

Doch dann ging es ans Ein­ge­mach­te. Die Redak­teu­re woll­ten wis­sen, ob der Win­dows-Sche­du­ler auch die bei­den CCXs erken­nen und die Threads so legen kann, dass War­te­zeit und unnö­ti­ger Daten­trans­fer zwi­schen den bei­den CCX via Fabric mög­lichst ver­mie­den wird.


Quel­le: pcper.com

Laut Mes­sun­gen der Tes­ter kommt es dabei zu enor­men Latenz­un­ter­schie­den. Wäh­rend die Kom­mu­ni­ka­ti­on zwi­schen den Ker­nen eines CCX nur ca. 45 ns dau­er­te, stie­gen die Latenz­zei­ten bei der Kom­mu­ni­ka­ti­on zwei­er Ker­ne in ver­schie­de­nen CCXs auf etwa 140 ns, also auf mehr als den 3‑fachen Wert. Daher wäre ein Sche­du­ler-Patch von Micro­soft, der die Ryzen-8-Kern-CPU wie ein Zwei-Sockel-Sys­tem bestehend aus zwei 4‑Kern-Pro­zes­so­ren betrach­tet, über­aus ange­bracht. Aller­dings kann der Win­dows-10-Sche­du­ler nach Mei­nung der Tes­ter die Zen-CPU bereits jetzt durch­aus kor­rekt ansteu­ern und das beschrie­be­ne Sze­na­rio ver­mei­den wo möglich:

it vali­da­tes that Win­dows 10 is cor­rect­ly enu­me­ra­ting the core struc­tu­re of Ryzen and thus the sche­du­ling com­pa­ri­sons we made abo­ve are 100% accu­ra­te. Win­dows 10 does not have a sche­du­ling con­flict on Ryzen processors.

AMD sel­ber bleibt bei sei­ner Aus­sa­ge im Rah­men eines AMA-Events auf Reddit.com direkt nach dem Launch, dass nicht der Win­dows-Sche­du­ler das Haupt­pro­blem sei, son­dern die Soft­ware selbst. Das schreibt AMD in einer Stel­lung­nah­me:

Final­ly, we have review­ed the limi­t­ed available evi­dence con­cer­ning per­for­mance del­tas bet­ween Win­dows® 7 and Win­dows® 10 on the AMD Ryzen™ CPU. We do not belie­ve the­re is an issue with sche­du­ling dif­fe­ren­ces bet­ween the two ver­si­ons of Win­dows. Any dif­fe­ren­ces in per­for­mance can be more likely attri­bu­ted to soft­ware archi­tec­tu­re dif­fe­ren­ces bet­ween the­se OSes.
[..]
AMD belie­ves that the Win­dows® 10 thread sche­du­ler is ope­ra­ting pro­per­ly for “Zen,”

Unab­hän­gig davon soll es (ver­mut­lich im April) einen Win­dows-Patch geben. Die­ser betrifft aller­dings nicht den Sche­du­ler, son­dern das Fea­ture Core Par­king, das ein­zel­ne Ker­ne schla­fen­le­gen und damit Strom spa­ren kann. Dabei über­treibt es Win­dows 10 aktu­ell anschei­nend ein wenig – im Gegen­satz zu Win­dows 7, wie Com­pu­ter­Ba­se aus­ge­tes­tet hat –, was zu Leis­tungs­ver­lust führt, wenn das Ener­gie­sche­ma auf “Aus­ba­lan­ciert” steht.


Quel­le: Com­pu­ter­Ba­se

Bis zur Ver­öf­fent­li­chung des Patches kön­nen sich Anwen­der behel­fen, in dem das Ener­gie­sche­ma auf “Höchst­leis­tung” gestellt wird. Aktu­el­le Intel-Pro­zes­so­ren sind davon nicht betrof­fen, da sowohl Kaby Lake als auch Sky­la­ke Core-Par­king nicht nutzen.