AMD förklarar hur Windows 10 väljer ut den "snabbaste kärnan"

Permalänk
Melding Plague

AMD förklarar hur Windows 10 väljer ut den "snabbaste kärnan"

Hur kärnorna som klarar högst klockfrekvenser väljs ut av Windows 10 är inte helt glasklart, något AMD nu förtydligar.

Läs hela artikeln här

Visa signatur

Observera att samma trivselregler gäller i kommentarstrådarna som i övriga forumet och att brott mot dessa kan leda till avstängning. Kontakta redaktionen om du vill uppmärksamma fel i artikeln eller framföra andra synpunkter.

Permalänk
Medlem

Hur gör Linux?

Permalänk
Medlem

Tråkigt att ingen av mina "bästa" kärnor är del av det bästa paret.

Permalänk
Medlem
Skrivet av ronnylov:

Hur gör Linux?

Linux scheduler överlag är bra mycket bättre på att hantera processorer med många kärnor. Har för mig Level1Tech hade tester med ett program som fanns på både Windows och Linux och skillnaden var rätt stor på en 24 kärnors Threadripper.

Visa signatur

Huvudriggen är en Gigabyte Aorus Xtreme | 128gb DDR5 6000 | Ryzen 7950X | 3080Ti
Utöver det är det för många datorer, boxar och servar för att lista :P

Permalänk
Hjälpsam

Låter som en ganska marginell skillnad i prestanda.

Visa signatur

AMD Ryzen 7 1700 | Saphire RX 5700 Pulse XT (Silent Mode) | 64 GB Kingston ECC | https://valid.x86.fr/z2ljhr | Stockkylaren | Bitfenix Whisper M 750W.
AMD Ryzen 9 5900X | AMD RX 5700 | 64 GB Micron ECC | https://valid.x86.fr/5krwxf
HTPC | https://valid.x86.fr/uuzli0 |

Permalänk
Medlem

Förvirrande kärna, då tänkte jag på kernel visste inte att windows hade flera. Sen plötsligt handlade det om processor kärnor.

Visa signatur

CachyOs. MSI MPG Z490 GAMING PLUS// Intel Core i5-10600K@4800Mhz// Radeon rx 6800 16gb // Corsair VENGEANCE LPX 32GB.

Permalänk

Tror ni det blir lite bättre om man stänger av AMDs motsvarade "Hypertrading". Har ju det avstängt på min urgamla intelspeldator då det verkar fungera bättre på det viset.

Vore det inte bättre om man själv kunde välja manuellt.

Om man kunde låsa dom program man jobbar med till vissa kärnor och någon annan kärna får ta hand om övriga processer. Då vore ju problemet löst helt och hållet.

Visa signatur

Kraschfield

Permalänk
Rekordmedlem
Skrivet av Scirocco:

Förvirrande kärna, då tänkte jag på kernel visste inte att windows hade flera. Sen plötsligt handlade det om processor kärnor.

Du menar att win väljer att det ska köras på en Linux kernel så det går snabbare än i win ?

Visa signatur

R5 5600G, Asus ROG STRIX X470-F Gaming, WD SN850X 2TB, Seasonic Focus+ Gold 650W, Aerocool Graphite v3, Tittar på en Acer ET430Kbmiippx 43" 4K. Lyssnar på Behringer DCX2496, Truth B3031A, Truth B2092A. Har också oscilloskop, mätmikrofon och colorimeter.

Permalänk
Medlem

Så här säger HWinfo respektive Ryzen Master om min processors kärnor:

Plats - Kärna - HWinfo - Ryzen Master

  • CCD0/CCX0 - 1 - #6 - Tom

  • CCD0/CCX0 - 2 - #2 - Silverstjärna

  • CCD0/CCX0 - 3 - #5 - Prick

  • CCD0/CCX1 - 4 - #4 - Tom

  • CCD0/CCX1 - 5 - #3 - Prick

  • CCD0/CCX1 - 6 - #1 - Guldstjärna

  • CCD1/CCX0 - 7 - #8 - Prick

  • CCD1/CCX0 - 8 - #7 - Guldstjärna

  • CCD1/CCX0 - 9 - #10 - Tom

  • CCD1/CCX1 - 10 - #9 - Silverstjärna

  • CCD1/CCX1 - 11 - #12 - Tom

  • CCD1/CCX1 - 12 - #11 - Prick

Av detta kan jag dra slutsatsen att CCD0 är den "bra" och CCD1 den "dåliga".
Och baserat på vad artikeln säger borde CCD0/CCX1 vara den bästa, som Windows ser det. 1/2/4 smäller högre än 2/5/6.

Detta förutsatt att rankingen i HWinfo är korrekt.

Visa signatur

Moderkort: Gigabyte X570 Aorus Master | CPU: AMD Ryzen R9 5900X | CPU-kylare: Noctua NH-D15 chromax.black | RAM: Corsair Vengeance LPX 64 GB (4x16) DDR4-3600 CL18 | GPU: Gigabyte RTX 4080 Eagle OC | SSD: 2 x Samsung 970 EVO Plus 1 TB NVMe + Kingston A400 480 GB + Samsung QVO860 1 TB | PSU: EVGA SuperNOVA G2 1000 W Gold | Chassi: Lian Li O11 Dynamic XL | Skärm: BenQ PD3200U @ 3840x2160 + ASUS ROG Strix XG32VQ @ 2560x1440 | Tangentbord: Corsair K68 RGB Cherry MX Red | Mus: Logitech MX Master 2S

Permalänk
Medlem
Citat:

Windows roterar sedan arbetsuppgifter mellan dessa så att den snabbaste kärnan inte tilldelas för många uppgifter.

"Dessa" är då samtliga kärnor i det klustret? Och varför inte lägga uppgifter på den snabbaste? Jag antar att vi kommit ifrån enkeltrådiga operativsystem, så alternativet hade varit att ignorera kluster och istället välja snabbaste kärnor oavsett var de ligger? Och det skulle vara bättre för att sänka latenser eller vad? För snabbare kärnor är ju per definition snabbare... Och en utspridd arbetsfördelning borde ju också innebära mer fördelad värmeutveckling

Skickades från m.sweclockers.com

Visa signatur

Ryzen 7600X - Geforce RTX 4080 - Custom Loop - Samsung 34" Ultra Wide
Intel i7 9700K - Radeon VII

Permalänk
Medlem
Skrivet av Starric:

"Dessa" är då samtliga kärnor i det klustret? Och varför inte lägga uppgifter på den snabbaste? Jag antar att vi kommit ifrån enkeltrådiga operativsystem, så alternativet hade varit att ignorera kluster och istället välja snabbaste kärnor oavsett var de ligger? Och det skulle vara bättre för att sänka latenser eller vad? För snabbare kärnor är ju per definition snabbare... Och en utspridd arbetsfördelning borde ju också innebära mer fördelad värmeutveckling

Skickades från m.sweclockers.com

Gissar att det har med klusterspecifikt minne att göra. Kärnor i samma kluster delar L3-cache, så att växla mellan kluster ger sannolikt mer förluster.

Visa signatur

Moderkort: Gigabyte X570 Aorus Master | CPU: AMD Ryzen R9 5900X | CPU-kylare: Noctua NH-D15 chromax.black | RAM: Corsair Vengeance LPX 64 GB (4x16) DDR4-3600 CL18 | GPU: Gigabyte RTX 4080 Eagle OC | SSD: 2 x Samsung 970 EVO Plus 1 TB NVMe + Kingston A400 480 GB + Samsung QVO860 1 TB | PSU: EVGA SuperNOVA G2 1000 W Gold | Chassi: Lian Li O11 Dynamic XL | Skärm: BenQ PD3200U @ 3840x2160 + ASUS ROG Strix XG32VQ @ 2560x1440 | Tangentbord: Corsair K68 RGB Cherry MX Red | Mus: Logitech MX Master 2S

Permalänk
Hjälpsam
Skrivet av Starric:

"Dessa" är då samtliga kärnor i det klustret? Och varför inte lägga uppgifter på den snabbaste? Jag antar att vi kommit ifrån enkeltrådiga operativsystem, så alternativet hade varit att ignorera kluster och istället välja snabbaste kärnor oavsett var de ligger? Och det skulle vara bättre för att sänka latenser eller vad? För snabbare kärnor är ju per definition snabbare... Och en utspridd arbetsfördelning borde ju också innebära mer fördelad värmeutveckling

Skickades från m.sweclockers.com

Skrivet av cyklonen:

Gissar att det har med klusterspecifikt minne att göra. Kärnor i samma kluster delar L3-cache, så att växla mellan kluster ger sannolikt mer förluster.

Kanske också lastbalansering för att undvika "hotspots", bäst för tempen om chippet belastas jämnt.
Skall inte ta gift på detta, men har för mig att det är på det viset.

Funderar på hur mycket snabbare den "snabbaste kärnan" är, 5%?, antagligen ingen stor skillnad.

Visa signatur

AMD Ryzen 7 1700 | Saphire RX 5700 Pulse XT (Silent Mode) | 64 GB Kingston ECC | https://valid.x86.fr/z2ljhr | Stockkylaren | Bitfenix Whisper M 750W.
AMD Ryzen 9 5900X | AMD RX 5700 | 64 GB Micron ECC | https://valid.x86.fr/5krwxf
HTPC | https://valid.x86.fr/uuzli0 |

Permalänk
Medlem
Skrivet av ronnylov:

Hur gör Linux?

Nu kommer du troligen få till svar att "Linux är bäst på allt", problemet är ju bara att Linus och spel aldrig har blivit något man behöver bry sig om.

Permalänk
Datavetare
Skrivet av ronnylov:

Hur gör Linux?

Grundstommen i Linux schemaläggare är något som kallas scheduling domains.

Ryzen-modeller med SMT delas in i två grupper. Topp-gruppen är vilken CCX CPU-tråden tillhör, så alla CPU-trådar i en viss CCX ligger i samma grupp. Modeller med två chiplets har totalt fyra topp-grupper medan de med en har två topp-grupper.

Inom den gruppen grupperas sedan alla CPU-trådar så att två CPU-trådar i samma grupp hamnar i en egen grupp.

D.v.s. en hierarkisk gruppering för att återspegla HW på ett sätt relevant för OS-schemaläggaren. Har man en Threadripper med flera NUMA-zoner läggs ännu en nivå till på toppen ovanför grupperingen av CCX.

Logiken är sedan i stort sätt: på toppnivå, se till att lasten är balanserad mellan alla grupper på den nivån. Sedan går man rekursivt ned nivå för nivå och balanserar mellan grupperna i delträden. Resultatet på en Ryzen blir då: lasten sprids jämt över alla CCX, om två trådar är aktiva kommer de alltid köra på olika CCX.

Den andra tråden på en CPU kommer inte användas så länge som det finns minst en kärna där ingen tråd används.

Just nu tror jag inte Linux har någon drivare att lura ut "bästa kärna", men kanske kommer. Ändå lite intressant att Windows och Linux verkar välja rätt olika strategi med avseende på hur man sprider över CCX. Ingen är egentligen "bäst", utan beror på typ av last. Linux modell är optimal för "många sinsemellan oberoende uppgifter" medan Windows modell är bättre för "ett program som har flera trådar".

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Medlem
Skrivet av Dunde:

Nu kommer du troligen få till svar att "Linux är bäst på allt", problemet är ju bara att Linus och spel aldrig har blivit något man behöver bry sig om.

Linux har sina för och nackdelar som allt annat. Det är valfritt vad man vill använda, kör det du gillar.
Använder själv mest Linux så jag var nyfiken om man lyckats optimera trådarna för Ryzen 3000 där också.

Permalänk
Medlem
Skrivet av Yoshman:

En massa text

+100. Ruskigt bra förklarat!

Skickades från m.sweclockers.com

Visa signatur

Modermodem från ONOFF och bildskärmsutrustning från Electrolux. US Robotics 28.8K telefonuppringd internetförbindelse. Har en förkärlek för tysk tjejpop.

Permalänk
Medlem

Skickades från m.sweclockers.com

Visa signatur

[AMD Ryzen 9 3900X] [ASUS GeForce RTX 2080 Ti] [LG OLED 55 C9 som skärm] [Samsung HW-Q96R till ljudet]