Diit.cz - Novinky a informace o hardware, software a internetu

Diskuse k Kam mohou směřovat asymetrické konfigurace procesorových čipletů AMD?

Řízení (scheduling) by v takové konfiguraci bylo ještě snazší než u Ryzen 9 79x0X3D ...... no ale za podmienky, ze 9. (slovom DEVIATE) vlakno by islo na fyzicke jadro Zen5c a nie iba do volnych HT prostriedkov uz vyhuleneho niektoreho z osmich fyzickych zen5 jadrier

inak: 1) najprv zatazit vsetky fyzicke jadra, 2) potom prejst na HT v Zen5 a az nakonec prejst na HT v Zen5c

+1
0
-1
Je komentář přínosný?

Nemusíte mít strach, CPU scheduling je jedno z výkonově nejkritičtějších míst, a na těch schedulerech pracují fakt chytří lidé :-)
U otevřených systémů se můžete podívat sám, jak ty algoritmy vypadají. Díky ARMu je už big little dávno zavedené, díky IBM máme v Linuxu podporu pro 8 vláken na fyzické jádro, několikaúrovňovou NUMA i vzdálenější a bližší jádra (například Tilera).

Tady se můžete podívat na nějaký základ linuxového scheduleru. Je to trochu složitější algoritmus, než jste popsal vy, ale jsem si jistý, že všeuměl jako vy se v tom rychle zorientuje:
https://www.halolinux.us/kernel-reference/the-scheduling-algorithm.html

+1
+6
-1
Je komentář přínosný?

No a pak do toho snažšího schedulingu hodí vidle SMT/HT.

+1
0
-1
Je komentář přínosný?

možno na Inteloch, kde je číslovanie jadier
0. fyzické jadro A
1. HT jadro A
2. fyzické jadro B
3. HT jadro B
4. fyzické jadro C
5. HT jadro C
6. fyzické jadro D
7. HT jadro D

na AMD je to od Zen inak
0. fyzické jadro A
1. fyzické jadro B
2. fyzické jadro C
3. fyzické jadro D
4. HT jadro A
5.HT jadro B
6. HT jadro C
7. HT jadro D

a preto, robilo scheduler Windows spočiatku na Zen-e koniny

Do tohto vidly nehodí scheduler.

+1
+4
-1
Je komentář přínosný?

A kdyz je tam vice cpu dies, tak je to v jakem poradi? Jsem ted delal nejake testy a prekvapilo me ze u htop prikazu se u intelu ukazuji teploty vsude, ale u amd jen na nekolika malo jadrech, jakoby to bralo teplotu jen u prvniho jadra na cipu.

+1
0
-1
Je komentář přínosný?

Tak isto najskôr fyzické, potom logické, ale poradie CPU dies určuej firmare. Najskôr idú všetky jadra z prvého CPU Die, potom druhého atď a až potom logické jadrá cez HT

+1
0
-1
Je komentář přínosný?

Proč? Stále to bude fungovat jako u současných procesorů. Prioritu mají nejvýkonnější jádra, po vytížení všech fyzických jader se přiřazuje druhé vlákno SMT opět stejným pořadím.

+1
+5
-1
Je komentář přínosný?

No já si jen tak povzdechl, protože každá další asymetričnost vede ke složitosti rozhodování, ale chápu, že je to budoucnost. Jsou aplikace, který to dokážou bez problémů využít. I když je jasná preference jader, tak to neznamená, že je jasné přiřazení vláken těmto jádrům. Rozhoduje se na základě nedávné potřeby výkonu vlákny, ale to neznamená, že to tak bude dobře i dále. Zrovna u her to je problematický. Ty udělají nejlíp, když si vytvoří maximálně těch 8 vláken a modlí se k OS, aby je dal na P cores a dokázaly běžet předvidatelně.

+1
+1
-1
Je komentář přínosný?

Asymetricnost uz zavedl hardware tim, ze kazde jadro muze byt i jinak taktovane. Tak ta otazka "kam s nim" je relativne jednoducha. Slozitejsi je urcit zda se oplati jadro nataktovat ci nikoliv.. a pak nastava dilema, zda neobsazeny procesor nezacit obsazovat od E jader a az pak prejit na P v momente kdyz planovac zjisti potrebu upclockingu kvuli trvale vysoke zatezi (vypocetni uloze, na rozdil od i/o bound problemu kde stejne jadro ceka na data z media).

+1
+1
-1
Je komentář přínosný?

Nemyslím si, že by asymetričnost nějak komplikovala rozhodování.
Ten scheduler je připravený spravovat 512 CPU výpočetních jednotek a stovky tisíc souběžně běžících vláken. Že jsou nějaká jádra výkonnější, to už ho asi moc nerozhodí; stejně mají různé takty, různě dlouhý přístup k paměti nebo cache, a obstarávají jiná přerušení.
Na CPU scheduleru je zajímavé to, že má fakt málo času na to dělat docela kritická rozhodnutí. Na druhou stranu málokdy je s ním problém. Samozřejmě pokud nepřijde AMD, nezačne prodávat procesor, a nediví se, že pro něj neexistuje podpora v Linuxu. A že když do Microsoftu pošle výrobní vzorek měsíc před zahájením prodeje, že ani ve Windows ta podpora není nic moc. AMD a softwarová podpora pro jejich CPU, to je fakt smutný příběh. Ale zlepšuje se to. První Zen byl průšvih jak hrom.

+1
0
-1
Je komentář přínosný?

Zato inteli CPU 12. a 13. generace zvlada Win10 a Win11 sheduler uplne skvele. :-DDDD
Jak dlouho uz ma MS funkcni vzorky k dispozici?

+1
+3
-1
Je komentář přínosný?

"Stále to bude fungovat jako u současných procesorů."
No právě že to dodnes moc nefunguje. Takže další komplikace to může jen zhoršit.
Teorie zní hezky. Ale pod běžným OS běží tisíce vláken. Jen prohlížeč internetu jich má stovky.
Pod Win10 se mi stalo, že moje ST aplikace běžela na stejném jádru jako antivir na pozadí.
I když byla další 3 jádra "volná"(byla přiřazena k neaktivním úlohám).
Vypnul jsem HT a už to funguje dobře.

"po vytížení všech fyzických jader se přiřazuje druhé vlákno SMT " Tohle v praxi nemusí nastat. Neb vytížená jádra za vteřinu budou volná. Ale úloha zůstane na druhém SMT vlákně.

+1
-1
-1
Je komentář přínosný?

a vite co znamena to S ve slove SMT? Symmetrical, kdyz mate jadro s HT, tak to jsou jakoze 2 procesorove jadra pro OS, a zatizit jednou ulohou muzete kterekoliv z nich.

To prirazeni po vytizeni vsech znamena ze se dostavame do zatizeni takto:
(10)(00)(00)(00)
(10)(10)(00)(00)
(10)(10)(10)(00)
(10)(10)(10)(10)
(11)(10)(10)(10)
(11)(11)(10)(10)
(11)(11)(11)(10)
(11)(11)(11)(11)

ale vy myslite zrejme situaci:
(11)(11)(11)(11)
(11)(11)(11)(10)
(11)(11)(11)(00)
... kde by jste ocekaval pak nejakou re-distribuci tasku na:
(11)(11)(10)(10)

Tohle je ale uz otazka konkretni implementace scheduleru, zda to dela implicitne, nebo po zvazeni dalsich informaci, napr. jako penalta za L1/L2 cache trashing pri presunu mezi jadry. V linuxu se na tu schedulery podivat muzete.. ve win to je blackbox bohuzel.

+1
+2
-1
Je komentář přínosný?

Ne. Myslím trochu něco jiného.
Běžný CPU intel s HT 4Core/8T s běžnou pracovní zátěži.
V mém případě úprava skenovanych textů v TIFF.
Na ploše běží ST úloha Core0 @ 100%
Na liště mám minimalizovaný:
Firefox Core1 @ 2%
Outlook Core2 @ 1%
VLC s hudbou Core3 @ 2%
Do toho se pustí libovolná ST zátěž. Např. antivir (pravidelná aktualizace a následně kontrola souborů v RAM)
Win vidí všechny 4 jádra aktivní. Logicky se spustí na Core0/T2 protože to je první volné.Nastane situace 11 00 00 00. =>
Výkon mojí ST úlohy padá na polovinu.
Při vypnutém HT se antivir spustí na Core2 spolu s Outlookem.
Protože volné thready došli a Core2 má nejméně práce.

SMT = Simultánní multithreading (Simultaneous multithreading). Je to to samé co HT u intelu. Akorát od AMD.

Zkoušel jsem si hrát s afinitou. Ale vůbec to nepomohlo. Spíš naopak. Nové úlohy měli tendenci se spustit na "volném" threadu.
I kdyby SMT uměla zázraky a jádro by zvládlo počítat dvě věci naráz. Stejně to ukousne cache a výkon půjde dolů.

+1
0
-1
Je komentář přínosný?

Bohužel HT od intelu přidá v ideálním případě 20%. Ale v praxi může ubrat i 50%.
V testech se to neprojeví protože nejsou realword. Propady jsou v herních testech, dokud výrobce nenastaví afinitu, většinou tak že zakáže HT.
S asymetrickými CPU to bude podobné. V testech a při těžké MT zátěži to bude fungovat dobře. To zvládnou programátoři vyladit. Ale v běžném provozu musíme doufat že rozdíl mezi jádry bude zanedbatelný.

+1
+1
-1
Je komentář přínosný?

Přiznám se, že jsem s tímhle ještě nikdy neexperimentoval, takže možná můj dotaz bude hloupý.
Pokud mám úlohu, které chci přidělit jedno jádro, je možné té úloze přidělit obě vlákna na tom jádru?

+1
0
-1
Je komentář přínosný?

Ano. Jestli je úloha ST, tak poběží na jednom vlákne a čas od času skočí na druhé.
Jestli umí využít obě, tak trochu vzroste výkon i teplota.

+1
0
-1
Je komentář přínosný?

Otazka je jaky je power plan a zda nemate nejaky uspornejsi - tohle by mohlo mit vliv na politiku prirazovani.

+1
0
-1
Je komentář přínosný?

Powerplan mám v létě úsporný. Hlavně když je vlna veder. Po zbytek roku Výkonný.
Jestli to má vliv nemám šanci zjistit. Děje se to náhodně a ojediněle.
HT mám vypnuté i kvůli bezpečnosti.
Situace kdy jede CPU na 100% jsou čím dál častější. 4 stará jádra jsou dnes už málo.
Když jich bude 8 nových, tak šance že se to stane bude nulová. A i kdyby náhodou, tak výkon bude stejný jak s původním CPU. Moderní stroje mají dvojnásobek ST výkonu.
Jen nový stroj musím koupit dokud jsou na trhu symetrické CPU.

+1
0
-1
Je komentář přínosný?

"Ve druhém pololetí příštího roku (H2 2024) má dorazit nová generace Intelu, Arrow Lake, která výrazně zvýší IPC a stane se novým desktopovým high-endem."

Tenhle optimismus se mi líbí. Ale obávám se, že k tomu nedojde.

+1
+1
-1
Je komentář přínosný?

Proslýchá se, že Intel vzdal snahu za každou cenu vyrábět x86 jádra ve vlastních továrnách a Arrow Lake má vzniknout na 3nm procesu TSMC. Takže to může vyjít.

+1
0
-1
Je komentář přínosný?

"Může to vyjít." Ale co?
1)To že intel vydá CPU které bude v jeho nabídce High-end? Tzn že bude výkonnější než předchůdci.

2)Nebo vyrobí CPU, které bude High-end na trhu? Tzn že bude výkonnější než konkurence.

Pety jistě myslel 2).
V článku se asi myslí 1).

+1
+3
-1
Je komentář přínosný?

Já tomu kupodivu docela věřím. S Meteor Lake ukáže, že mu fungujou dlaždice. Pro Arrow Lake si nechá vyrobit u TSMC dalždice, který jeho výrobní proces zatím nezvládne.

+1
0
-1
Je komentář přínosný?

Já tomu nevěřím.
O tom jaký je problém sladit návrh s technologií právě vyšel článek u konkurence.
Odkaz nedám, píše se tam, že intel bude vyrábět ARM. Čemu taky nevěřím. Je to jen další výkřik do tmy .... směrem k akcionářům.
Představa že intel bude u TSMC vyrábět CPU a ARM se přestěhuje k intelu je dost ujetá.
Pěkná ukázka, že vyladit výrobu a návrh je problém, je poslední generace GPU od AMD.

A ani nevěřím že intel má funkční dlaždice. Buď budou hrozně drahé a nebo budou mít šílenou spotřebu.

+1
0
-1
Je komentář přínosný?

Noooo. NE! :-)

Slabý výkon 7900X3D jasně ukázal, že asymetrie nefunguje.V jednom typu zátěže ten procák drtí 7800X3D a v druhém typu zátěže ho drtí zase 7900X.

Já vím, všichni doma hrajete a u toho střídavě kódujete a plně vám vyhovuje mít na všechno jeden počítač. Já si ty PC pořídim radši dva a místo jednoho drahého bazmeku budu mít dva procáky, které si jedou to svoje na plnou páru. :-)

Ale než se do mě zase pustíte, nevidim v nabídce asymetrických procáků tak, jak to předvádí AMD, žádný problém. Kdo chce, vybere si plnohodnotnej procák, a jinej si zase vezme asymetrickej. S tím nemám problém. Jen bych prostě nerad, aby to sklouzlo jako u Intelu, že jsem se s nima musel rozloučit, protože jedna věc je, ta jejich výtopna, která je dobrá jen na zimu, ale druhá věc je, že nabízí jen to svý zkriplený biglittle a normální procesory dělat přestali. Prostě, pokud bude AMD nabízet obojí, tak OK, s tím problém nemám.

+1
0
-1
Je komentář přínosný?

@ Slabý výkon 7900X3D jasně ukázal, že asymetrie nefunguje.V jednom typu zátěže ten procák drtí 7800X3D a v druhém typu zátěže ho drtí zase 7900X.

Tady nekdo hrube nepochopil rozdil mezi procesorem s a bez 3D cache. Odkud bere napeti 3D cache? Z CPU.
Snese tato cache maximalni napeti ve kterem dokaze tato architektura bezet? NE
Proto CPU z 3D cache nedokaze jit s frekvenci tak nahoru a z toho vyplyvaji rozdily v benchmarcich. Napr. tam kde vliv extra cache je maly tak vyhrava 7900X. Ale typicky ve hrach muze byt lepsi 7900X3D.

+1
+1
-1
Je komentář přínosný?

7900X je 12ti jádro, 7900X3D je složený ze "dvou" 6jádrových čipletů. Jsou přitom oba rozdílné: 6 jader má 3D cache a nižší frekvenci a 6 jader nemá cache a má vyšší frekvenci.
Problém nastává, když aplikace umí používat víc jak 6 jader a to dnes zase takový problém není. U 7900X, kde je 12 stejných jader, není problém, ale co má dělat 7900X3D? Který čiplet bude plně využívat a kterým potřebu jader doplní? Nebo se na to vykašle a použije jen 6 jader pro danou zátěž vhodnějšího čipletu? Je to složité rozhodování a nejde to moc dobře rozhodnout. :-)

Z toho důvodu je zřejmé, že typicky ve hrách má 7800X3D (8;3D+0) lepší výsledky než 7900X3D (6;3D+6). Naopak tam, kde není vliv 3D cache, jak správně píšeš, vyhrává nejen 7900X (0;3D+12), ale občas i 7700X (0;3D+8).

+1
0
-1
Je komentář přínosný?

Ve skutečnosti jsou v závislosti na výtěžnosti ty procesory 8 jader 3D a 8 jader bez 3D.
Pokud je celých 8+8 ok, je to 7950X3D.
Pokud je v jednom čipletu libovolně chyb a druhý je bezvadný, je to 7800X3D.
Pokud jsou v obou čipletech dvě a méně chyby, je to 7900X3D.
Pokud jsou alespoň v jednom čipletu tři chyby, tak se to zahazuje. :-)

Neřikám, že to takhle konfigurovatelné musí být vždy, ale je z toho zřejmý důvod existence 7900X3D, který jinak narozdíl od 7800X3D a 7950X3D nedává smysl, protože jeho využití je při ceně, kterou za něj chtějí, silně omezené na lidi, kteří chtějí na 6 jádrech hrát a na 6 pracovat. Pro každého jiného člověka je lepší zvolit cokoli jiného /snad vyjma Intel procesorů. :-)

+1
0
-1
Je komentář přínosný?

@ Slabý výkon 7900X3D jasně ukázal, že asymetrie nefunguje.V jednom typu zátěže ten procák drtí 7800X3D a v druhém typu zátěže ho drtí zase 7900X.

Odkud jsou tyhle data? Protože mně se zdá, že AMD je moc redakcím na testování neposílala. Třeba TechPowerUp nebo Guru3D ho nerecenzovali. Jestli tam nebylo něco s ovladači. Testoval ho Phoronix, ale ten zas nemá srovnání s 7800X3D.

+1
+1
-1
Je komentář přínosný?

Určitě se najde případ kdy 6+6 jader bude pomalejší než 8 jader v jednom chipletu s velikou cache.
On RedMax rád přehání. Takže výrazem "drtí" je myšleno 10% rozdíl.
Ale jako důkaz že asymetrické řešení je o kompromisech to stačí.
I Když Ryzen 9 7950X3D je dost nekompromisní řešen.

+1
+1
-1
Je komentář přínosný?

https://www.youtube.com/watch?v=B31PwSpClk8

Review 7800X3D od GamersNexus, jsou tam i ostatní zmíněné procesory.
Mimochodem, když se zamyslíme nad těma výsledkama, co se z toho dá vyvodit. 7900X3D těžce pohořel, 7950X3D je nekompromisní řešení, proč?
Protože 8 jader je ideální, běžná aplikace víc využít neumí a naopak 6 jader je málo. Tudíž 8+8 jader toho 7950X3D pracuje nekompromisně. Když ale aplikace dokáže víc jader, tak je stejně 7950X výkonější. Naopak 6+6 jader toho 7900X3D je nedostačující a 6 jader je málo, musí se teda sahat do druhé "šestky" a tím výkon padá dolů. Proto vychází 7800X3D (8+0) lépe a stejně tak vychází v jiném typu zátěže lépe i 7700X (0+8).

Takže tu máme dva důkazy: 6 jader nestačí a asymetrická jádra jsou špatné řešení, pokud se musí posílat data na obojí zároveň, proto je 7900X3D tak špatný.

Když teď odhlédneme ke konkurenci k Intelu, tak 13700K je také 8+8 a 13900K je 8+16. Co vidíme v benchmarcích? Procesory mají buď stejný výkon nebo je jejich výkon rozdílný o stejný poměr jako je rozdíl frekvence na velkých jádrech. Z toho opět plyne, že malá jádra jsou tam úplně k prdu a pokud vysloveně nemáte specializovanou aplikaci, která to umí využít, tak se do výkonu téměř nezapojují.

Kolik je specializovaných aplikací pro více jak 8 jader a ještě k tomu umí využívat asymetrických jader s různým výkonem? Obecně takové aplikace nejsou běžné a ani do budoucna nebudou, protože by to byla pro vývojáře jen práce navíc to implementovat, která se jim nezaplatí.

Asymetrická jádra tak mohou být vhodná jen pro specializované aplikace, které najdeme v produkčním firemním prostředí, ale běžným uživatelům nepřináší výhody, které by ospravedlnily peníze navíc, které to stojí!

+1
-2
-1
Je komentář přínosný?

Pro psaní komentářů se, prosím, přihlaste nebo registrujte.