Pentium Silver, a.k.a. Atom, förvånadsvärds snabb

Trädvy Permalänk
Datavetare
Plats
Stockholm
Registrerad
Jun 2011

Pentium Silver, a.k.a. Atom, förvånadsvärds snabb

"Pentium Silver" är numera namnet på det som tidigare var Atom. Atom har så här långt fått tre uppdateringar i sin mikroarkitektur

  • första versionen som hade horribel IPC, fanns i två varianter. 45 nm "Bonnell" och 32 nm "Saltwell". Denna var en "in-order" design som inte funnits på x86 sidan sedan ursprungliga Pentium

  • nästa version ökade IPC >50%, Atom blev precis som alla andra moderna CPU-modeller "out-of-order". Namnet blev Silvermont och den tillverkades på 22 nm. Designen kunde köra upp till två instruktioner per cykel. Efterföljaren Airmont var i stort sett bara en krympning av samma design till 14 nm

  • Sedan försvann Atom namnet rätt mycket, det i samband med att Intel gav upp mobilsatsningen. Mikroarkitekturen lever dock vidare i form av billiga laptops och strömsnåla servers. Mikroarkitekturen uppdateras, namnet är Goldmont, så att CPUn nu kan köra upp till tre instruktioner per cykel. IPC ökade ~25-30 % över Silvermont/Airmont, men fortfarande en bit från "big-core" x86

  • Lade överhuvudtaget ingen notis om Goldmont+, tänket att det bara var samma Goldmont på 14 nm+. Visade sig att trots namnet hände rätt mycket, kretsen uppdaterades till att nu kunna köra fyra x86 instruktioner per cykel och IPC ökade med ~20 % vilket är tillräckligt för att matcha gamla Core2!

Är fortfarande så att t.ex. Pentium Silver J5005 inte helt kan mäta sig med Skylake och Zen. Atom är fortfarande en rätt enkel design och den är t.ex. väldigt långt efter på flyttal.

Har precis byggt ihop en ny liten servermaskin med NUC7PJYH (lysande namn..., är i alla fall en J5005 som är en fyrkärnig Goldmont+ @ 2,8 GHz).

Om någon undrar över valet av disk, tänkte först köpa Samsung EVO 860 då jag har väldigt bra erfarenhet av EVO-diskarna. Men detta avgjorde valet

Inte för att det lär spela någon större roll givet att det handlar om en relativt enkel CPU

Har inte hunnit testat jättemycket än, men blev rejält positivt överraskad av prestanda. J5005 har faktiskt ~ 90 % av IPC hos Zen och ~80 % av IPC hos Skylake i ett par enklare Python 3 program som enbart jobbar med heltal. OBS: IPC, J5005 har men maximal frekvens på 2,8 GHz så sett till enkeltrådprestanda ligger den rätt långt efter mina R7-2700X och i7-6770HQ maskiner.

Men J5005 NUC:en drar trots allt sällan över 10 W från väggen, har aldrig sett mer än 15 W!

Var aldrig speciellt nöjd med min pekplatta som körde 4C/4T Silvermont @ 2,4 GHz. Den kändes alltid lite seg. Frågan är ändå om inte Goldmont+ nått en nivå när det börjar bli "tillräckligt" bra för dagligt arbete. Laptops med den CPUn borde kunna leva rätt länge på en laddning.

Är i alla fall rätt nöjd med J5005 som Ubuntu server

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

Trädvy Permalänk
Medlem
Plats
Karlskrona
Registrerad
Feb 2007

Coolt, jag köpte en nuc med Braswell (N3700). Ser ut som att det var en Airmont. Rejält stor skillnad mot den du tipsar om då.

2000KR inkl moms är inte fy skam. Nu behöver jag inte mer prestanda. Skit med..

Kör min som lek-server också, inga prestandaproblem med det.

Med en sådan CPU så hade nog de nya tunnare och billigare Surface hybriderna klarat sig mycket bra tror jag.

AMD 1800X@Noctua NH-U12F | asus prime x370pro | MSI ARMOR 1070 8GB| 2x8GB Corsair Vengeance DDR4 3GHZ | NZXT H440 | CoolerMaster V850 | SSD 120GB+240GB*2 | DELL 2713HM | DELL 2209WA | Coolermaster quickfire | Razer Deathadder 2013.

Phenom X6 1045T | Corsair TWIN2X PC6400C4DHX 2x2GB + Crucial Ballistix Sport 2x2GB | Gigabyte ma785gmt-us2h | Silverstone Temjin 08 | Corsair VX450

Trädvy Permalänk
Datavetare
Plats
Stockholm
Registrerad
Jun 2011

Lite surt att 8 GB är max för RAM, fast givet dagens RAM-priser är det samtidigt en liten lättnad

Just den här maskinen kommer främst agera filserver, så behöver egentligt inte supermycket CPU-kraft eller speciellt mycket RAM. Men tänkte det ändå var lika bra att maxa RAM och stoppa i en snabb systemdisk så det ändå är möjligt att göra lite annat med burken.

Funderar lite på att skaffa en något av de snabbaste NUC:arna som "jobba-hemma-maskin" (kan köra Ubuntu server på en sådan och använda den via SSH från min laptop). De är ju så smidiga sett till storleken. Är ju på väg ut NUC-modeller med 28 W TDP där maxfrekvensen når ända upp till 4,6 GHz!

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

Trädvy Permalänk
Medlem
Plats
Östersund
Registrerad
Jan 2010

OffT: var det inte MX500 som lider av samma problem som 840EVO med läckande celler?
https://www.sweclockers.com/forum/trad/1521761-crucial-mx500-...

Maximus X Hero - 8700k @5.1GHz - H115i - 32GB LPX@3466MHz - MSI 980Ti Gaming - EVGA SuperNova 750 G2 - Asus vg248qe - FD R5

Trädvy Permalänk
Datavetare
Plats
Stockholm
Registrerad
Jun 2011
Skrivet av Elghinnarisa:

OffT: var det inte MX500 som lider av samma problem som 840EVO med läckande celler?
https://m.sweclockers.com/forum/trad/1521761-crucial-mx500-fa...

Lär bli varse det... Är "bara" en systemdisk så kvittar för det som ska lagras på filservern, där blir det externa USB-diskar + backup mot annan disk över nätverket.

Om det är som för EVO 840 får man i se till att aldrig stänga av maskinen... Det blev ju lösningen för 840 EVO (hade en sådan i min XPS15 och disken fungerande lysande under alla år).

Med fixen Samsung gjorde för EVO 840 höll den disken prestanda bättre än många samtida diskar. Det förutsatt att man använde disken tillräckligt ofta. Lösningen resulterade dock i att cellerna skrevs om i bakgrunden, men under de tre år jag hade datorn + disken kom jag aldrig nära maximala antalet skrivningar (och då använder jag datorn väldigt mycket varje dag).

Det som skrivs här stämde rätt bra med vad jag själv upplevde efter att installerat den patchen. Så problemet gick att "lösa" på ett vettigt sätt.

"It looks like Samsung has finally figured this one out, and they have done so in a way that actually puts an 840 EVO above other SSDs. Allow me to explain. Typical SSDs will see random writes to some existing files (pagefile, etc). Those files will in turn lead to fragmentation of the flash memory structure those files are linked to by a metadata table stored within the SSD. If you were to rewrite those files sequentially, performance would increase, as there is less metadata to handle and the file would be stored more linearly within the flash it was associated with. Pretty much any SSD would see a slight performance boost if you were able to rewrite all of its data sequentially (i.e. cloning the OS and restoring that image back to the same SSD). In trying to fix their stale data issue, Samsung now has a built-in tool that can trigger a background refresh procedure that accomplishes this same task, so in trying to fix one problem, they have actually added a useful feature to this product line."

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

Trädvy Permalänk
Medlem
Plats
Östersund
Registrerad
Jan 2010
Skrivet av Yoshman:

Lär bli varse det... Är "bara" en systemdisk så kvittar för det som ska lagras på filservern, där blir det externa USB-diskar + backup mot annan disk över nätverket.

Om det är som för EVO 840 får man i se till att aldrig stänga av maskinen... Det blev ju lösningen för 840 EVO (hade en sådan i min XPS15 och disken fungerande lysande under alla år).

Med fixen Samsung gjorde för EVO 840 höll den disken prestanda bättre än många samtida diskar. Det förutsatt att man använde disken tillräckligt ofta. Lösningen resulterade dock i att cellerna skrevs om i bakgrunden, men under de tre år jag hade datorn + disken kom jag aldrig nära maximala antalet skrivningar (och då använder jag datorn väldigt mycket varje dag).

Jag hade tvärtom med min 840EVO, även med fixen och en dator som var på 24/7, och att den användes som systemdisk fungerade inte alls. Så fort man gjorde något så fick den 4-5 sekunders svarstid och allt frös. Den flög ut genom fönstret ganska snabbt då den blev helt oanvändbar som systemdisk.

edit: Performance restoration fungerade inte på min 840EVO heller. Eventuellt att det bliv kortsiktigt bättre men jag hade problem med den disken nästan varje dag.

Maximus X Hero - 8700k @5.1GHz - H115i - 32GB LPX@3466MHz - MSI 980Ti Gaming - EVGA SuperNova 750 G2 - Asus vg248qe - FD R5

Trädvy Permalänk
Datavetare
Plats
Stockholm
Registrerad
Jun 2011
Skrivet av Elghinnarisa:

Jag hade tvärtom med min 840EVO, även med fixen och en dator som var på 24/7, och att den användes som systemdisk fungerade inte alls. Så fort man gjorde något så fick den 4-5 sekunders svarstid och allt frös. Den flög ut genom fönstret ganska snabbt då den blev helt oanvändbar som systemdisk.

Trist. Skumt att det kunde fungera så olika på olika maskiner. Hade i.o.f.s. mSATA versionen av 840 EVO (men svårt att se hur de skulle vara en fördel) + en till 500 GB 2,5" SATA disk. EVOn var systemdisk, d.v.s. den som Windows var installerad på. Programmen var dock spridda över båda diskarna.

En förmildrande omständighet kan i.o.f.a vara att alla mina datorer tenderar ha >50 % av diskarna tomma. Kanske inte var >50 % på XPS:en, men var i alla fall >25 % ledigt.

På J5005 maskinen lär det bli rätt långt över 50 % ledigt under överskådligt tid.

Edit: kollade på den Surface Pro 4 jag använder nu. Även där är det ~50 % av disken (500 GB) som används. Kanske det som är "tricket"?

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

Trädvy Permalänk
Medlem
Plats
Östersund
Registrerad
Jan 2010
Skrivet av Yoshman:

Trist. Skumt att det kunde fungera så olika på olika maskiner. Hade i.o.f.s. mSATA versionen av 840 EVO (men svårt att se hur de skulle vara en fördel) + en till 500 GB 2,5" SATA disk. EVOn var systemdisk, d.v.s. den som Windows var installerad på. Programmen var dock spridda över båda diskarna.

Man var ju hoppfull att det skulle lösa problem, nå väl den fungerade ju bra ett tag allafall. Jag trodde under längre tid att det var något annat, men en dag prövade jag att köra en annan SSD som OS disk och allt bara fungerade perfekt. Så EVOn fick åka helt enkelt. Den fungerade ju ifs bra i ett par år så.

Edit: Det kan helt klart vara en skillnad. Mina är oftast fyllda ganska rejält. Kommer ej ihåg hur det var under perioden med min EVO men ganska säker på att den oftast låg mellan 10-20% ledigt, upp och ned lite.

Maximus X Hero - 8700k @5.1GHz - H115i - 32GB LPX@3466MHz - MSI 980Ti Gaming - EVGA SuperNova 750 G2 - Asus vg248qe - FD R5

Trädvy Permalänk
Medlem
Plats
Märsta
Registrerad
Jul 2001

Frågan är om denna kan räcka som HTPC eller om man kan behöva en i3/i5 ändå... Priset lockar för att slippa köra speldatorn som filmburk när damen vill titta på något.

Trädvy Permalänk
Datavetare
Plats
Stockholm
Registrerad
Jun 2011
Skrivet av PsyCor:

Frågan är om denna kan räcka som HTPC eller om man kan behöva en i3/i5 ändå... Priset lockar för att slippa köra speldatorn som filmburk när damen vill titta på något.

Kan inte svara säkert på det, har dels inte testat använda den som HTPC och dels gissar jag att ditt användarfall innefattar Windows?

Det lilla UI-test jag gjorde var att boota Ubuntu desktop för att sedan köra det lite direkt från USB-minnet. Det gjordes på en 27" 4k skärm. En av de saker jag inte gillade med Silvermont plattan (som initialt körde Win8 och senare Win10) var just att det fanns alltid ett litet litet lagg i vissa lägen i standarduppgifter som webbläsaren.

Nu var det en pekplatta och lagg märks mer när man använder touch, å andra sidan körde den maskinen 1920x1080 och jag testade den här NUC:en i 3840x2160. Var i.o.f.s. även olika versioner av webbläsaren, kör primärt Firefox (vilket var det enda jag testade på NUC:en) men använder även Chrome.

Har kvar Silvermont plattan i sommarstugan. Den fixar utan problem Netflix i 1920x1080 (med Win10 appen, är specifikt en Z3770 i den) så svårt att se hur J5005 skulle ha några som helst problem med att visa film. Är garanterat inget problem i de lägen QuickSync kan användas då, då lär även 4k fungerar som en dans.

Men HTPC kan ju vara rätt mycket. Är helt övertygad att Intel HD 605 GPUn fallerar på i princip alla moderna spel givet att den Iris Graphics 540 som sitter i Surface Pro 4 maskinen (den GPUn är typ 2-3 gånger snabbare jämfört med 605) bara klara de riktigt enkla spelen (typ DOTA, LOL samt en av mina favoriter "Orcs must die 2" och liknande).

Kör Ubuntu server på maskinen nu, så behöver egentligen inte GPU-delen alls mer än för installation och för att moderna PC tenderar vägra boota om de saknar GPU

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

Trädvy Permalänk
Medlem
Plats
TX-225 GAVw
Registrerad
Dec 2017

Är lite nyfiken på hur denna processor står sig mot en Celeron N2807 om vi pratar streaming av film i Full HD både online och från disk.

🖥 Fractal Design Nano S. Fractal Design Integra M 550W. Intel Core i5-8400. GIGABYTE B360N WIFI. 2x8GB Crucial Ballistix Elite 2666MHz. GIGABYTE GTX 1080 Turbo OC. 525GB Crucial MX300. SAMSUNG SE-218.
AOC G2460FQ. GUNNAR VAYPER ONYX. Logitech G603. Logitech G240. Logitech G613. Logitech G933. Luxorparts Headphone Stand.

Trädvy Permalänk
Datavetare
Plats
Stockholm
Registrerad
Jun 2011
Skrivet av HC-8315:

Är lite nyfiken på hur denna processor står sig mot en Celeron N2807 om vi pratar streaming av film i Full HD både online och från disk.

Kan inte svara på ditt exakta use-case, men jämförelse i Geekbench 4 (som till skillnad från tidigare GB versioner faktiskt är en helt OK benchmark) pekar på att J5005 är runt dubbelt så snabb i per kärna och ~3,5 gånger snabbare om alla kärnor används (i denna benchmark som inte skalar perfekt med CPU-kärnor).

Vilket känns ungefär förväntat givet att N2807 är en Silvermont baserad 2C/2T CPU @ 2,16 GHz. Borde vara väl över 50 % bättre IPC hos Goldmont+ samt ~30% till från högre frekvens.

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

Trädvy Permalänk
Medlem
Plats
TX-225 GAVw
Registrerad
Dec 2017
Skrivet av Yoshman:

Kan inte svara på ditt exakta use-case, men jämförelse i Geekbench 4 (som till skillnad från tidigare GB versioner faktiskt är en helt OK benchmark) pekar på att J5005 är runt dubbelt så snabb i per kärna och ~3,5 gånger snabbare om alla kärnor används (i denna benchmark som inte skalar perfekt med CPU-kärnor).

Vilket känns ungefär förväntat givet att N2807 är en Silvermont baserad 2C/2T CPU @ 2,16 GHz. Borde vara väl över 50 % bättre IPC hos Goldmont+ samt ~30% till från högre frekvens.

Nice
Jag har börjat titta på en ny billig NUC för att ersätta min nuvarande med just en Celeron N2807. Den fyller fortfarande sin funktion till fullo, men den börjar bli lite gammal. Har haft den i fyra år nu.

🖥 Fractal Design Nano S. Fractal Design Integra M 550W. Intel Core i5-8400. GIGABYTE B360N WIFI. 2x8GB Crucial Ballistix Elite 2666MHz. GIGABYTE GTX 1080 Turbo OC. 525GB Crucial MX300. SAMSUNG SE-218.
AOC G2460FQ. GUNNAR VAYPER ONYX. Logitech G603. Logitech G240. Logitech G613. Logitech G933. Luxorparts Headphone Stand.

Trädvy Permalänk
Medlem
Plats
Lund
Registrerad
Jul 2001
Skrivet av PsyCor:

Frågan är om denna kan räcka som HTPC eller om man kan behöva en i3/i5 ändå... Priset lockar för att slippa köra speldatorn som filmburk när damen vill titta på något.

Jag har en Asus Nexus Player & där sitter en Atom i den & jag har inga problem att köra upp filmer iofs. kör jag bara 1080p.
https://www.asus.com/us/Home-Entertainment/Nexus_Player/overv...

An nescis, mi fili, quantilla prudentia mundus regatur?
PC
HTPC
Mediaspelare

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Sep 2013

@Yoshman: Tack för din recension! J5005 verkar minst sagt en väldigt fin liten CPU - min senaste Atom-baserade enhet var en Dell Venue 8 Pro Windows Tablet med en Intel Atom Bay Trail Z3740D som kändes slöare än sirap. Intressant att IPC:n har ökat så pass mycket sedan Bay Trail!

Hur kommer det sig att du valde en NUC med Pentium Silver över t.ex. en i3 som kostar ett par hundralappar mer? T.ex. följande med en i3-7300U verkar inte dra så mycket mer ström än den du köpte (15W TDP):

https://www.prisjakt.nu/produkt.php?p=4095134

Main || Intel Core i7 980X @ 4.12GHz || ASUS Rampage III Gene || Corsair Vengeance 6x4GB @ 1800MHz || EVGA GTX 780 Reference || Creative Sound Blaster ZxR || 2x Intel 530 240 GB || Western Digital Blue WD10EZEX 1000 GB || ASUS VG248QE (no G-sync) ||
Laptop || Lenovo Thinkpad X220 4291-37G ||
Project: Pentium Clockbox || Intel Pentium G3258 ||

Trädvy Permalänk
Medlem
Registrerad
Jul 2011
Skrivet av Yoshman:

"Pentium Silver" är numera namnet på det som tidigare var Atom. Atom har så här långt fått tre uppdateringar i sin mikroarkitektur
(...)

Veckans överraskning! Atoms prestandahöjningar har helt krupit under radarn för mig. Kanske också ska skaffa något liknande som din NUC!

Trädvy Permalänk
Medlem
Plats
Karlstad
Registrerad
Nov 2010

Det finns ett stort behov av enklare cpuer, alltifrån htpc, mediaspelare, nas, minipc som instickspc m.m
Jag tyckte det var mycket tragisk att Intel pratade på att lägga ner Atom som fortfarande säljs i väldigt många prylar.

Angående Pentium silver så ser jag det som ett budget alternativ emot Pentium Gold. Där jag tycker det är mycket märkligt hur en processor som kostar runt 640kr (komplett.se) kan ha ECC stöd, när deras 8700K och troligen 9900K inte kommer ha detsamma. https://ark.intel.com/products/129951/Intel-Pentium-Gold-G540...
Recommended Customer Price: $64.00 så det är inte ens rea fast den är så otroligt billig.

Jag tycker Pentium Gold G5400 är ett riktigt bra val till den lilla nasen om man bara hittar en LGA 1151 moderkort med ECC stöd. Snabb som tusan och nästan lika pålitlig som en enterprise lösning. (jag tvivlar på moderkorten)
Pentium Gold stöder 64GB ECC ram-minne och skaran som köper en 600kr cpu och stoppar i ram för mer än 10 000kr i den idag är helt försumbar.

i7 7700K & Ryzen 1800X. Båda har 64GB ram, 500 GB 960 Evo m.2. Grafikkort är något jag hittade i en container..

Trädvy Permalänk
Datavetare
Plats
Stockholm
Registrerad
Jun 2011
Skrivet av Icte:

Hur kommer det sig att du valde en NUC med Pentium Silver över t.ex. en i3 som kostar ett par hundralappar mer? T.ex. följande med en i3-7300U verkar inte dra så mycket mer ström än den du köpte (15W TDP):

Som jag skrev ovan så är CPU-prestanda i praktiken totalt irrelevant för vad enheten ska användas till. Har ju redan testat en liten enhet med i3-7100U (tror du skrev fel, är en i3-7100U i enheten du länkar har inte en i5-7300U som är klart snabbare).

Så i detta fall var nog den primära anledning just att jag specifikt ville testa Goldmont+
Prestandamässigt hade nog en RPi3 räckt om den bara haft USB3 och SATA...

Det skrivet. Sett till hela systemkostnaden blir trots all i3-7100U systemet ~20 % dyrare (om man skulle valt samma RAM och SSD konfiguration). Vidare drog i alla fall Gigabyte Brix enheten med i3-7100U 15-20 W från väggen med toppar över 20 W medan J5005 drar strax under 10 W med toppar upp mot 15 W.

I praktiken drar båda extremt lite och skulle jag använda enheten interaktivt skulle både J5005 och i3-7100U gå bort då man vill ha så hög enkeltrådprestanda som möjligt i de lägena. Som enkel server tycker jag nästan J5005 är det bättre valet, drar mindre ström och är ju i princip identisk prestanda om man använder alla CPU-trådar (dock rätt stor fördel vid enkeltrådprestanda för i3-7100U så det är definitivt den bättre desktop CPUn).

Har gjort lite mer tester på J5005, specifikt mätt IPC på en rad moment som ofta förekommer under en arbetsdag för mig.

OBS: har mätt IPC med Linux "perf" vilket verkligen ger en perfekt mätning av hur många x86 instruktioner som i genomsnitt körts av CPUn för att utföra de kommandon jag testar.

OBS2: det är alltså IPC per CPU-tråd. IPC värdet är inte direkt relaterat till det som egentligen spelar roll: hur lång tid tar uppgiften i "wall-clock-time". Det senare beror ju på IPC, frekvens, antal CPU-kärnor/trådar samt hur uppgiften skalar med CPU-trådar. Jag tittar bara på IPC här!

Har tyvärr inte hunnit uppgradera min Skylake NUC som jag har på jobbet till Ubuntu 18.04LTS, så jämförde i stället mot en i5-4570 maskin. För att det skulle bli så mycket "äpplen mot äpplen" jämförelser är konfigurerade jag min Ryzen-maskin till att vara 4C/4T så alla kör med lika många CPU-trådar.

SMT minskar IPC sett till IPC per CPU-tråd men det ökar i princip alltid IPC sett till mängd instruktioner som hanteras per fysisk kärna. Så för interaktiva saker och realtidskrävande program kan SMT vara en nackdel, för det jag normalt gör på jobbet är SMT en jättefördel då t.ex. kompilering tenderar skala väldigt bra med SMT.

Det som imponerar hos Goldmont+ är hur den hanterar enklare uppgifter som körs i något scriptspråk. Tog det jag postade i denna tråd (väldigt enkel metod för att ta fram primtal i Python3). IPC här är alltså x86 instruktioner per cykel och CPU-tråd, för att få faktiskt prestanda måste man multiplicera det med frekvenser (detta exempel använder bara en CPU-tråd)

  • Goldmont+: 2,17

  • Haswell: 2,73

  • Zen: 2,18

  • Skylake: 3,09

Performance counter stats for 'python3 prime.py': 3161,117529 task-clock (msec) # 1,000 CPUs utilized 4 context-switches # 0,001 K/sec 1 cpu-migrations # 0,000 K/sec 1 108 page-faults # 0,351 K/sec 10 596 757 681 cycles # 3,352 GHz 32 732 901 412 instructions # 3,09 insn per cycle 6 989 273 890 branches # 2211,014 M/sec 4 379 572 branch-misses # 0,06% of all branches 3,162022407 seconds time elapsed

Edit: Skylake tillagt, notera att detta är en Skylake med 128 MB eDRAM vilket kan göra skillnad i viss fall

Processen att skapa en nytt projekt för det jag jobbar med är också något Goldmont+ klarar fint (ett realtids OS, tar ett par sekunder att köra och av historiska skäl körs rätt mycket TCL och BASH script då). IPC är väldigt mycket lägre här för vi testar unte längre microbenchmarks utan något med långt mer data att hantera

  • Goldmont+: 1,35

  • Haswell: 2,04

  • Zen: 1,47

  • Skylake: 2,06

Men ska nog inte byta ut Skylake (som jag använder på jobbet och i laptop) eller Zen (som jag använder när jag jobbar hemma) mot Goldmont+. Det ovan var rätt mycket "best-case", det är trots allt en en väldigt enkel CPU och den verkar inte riktigt gilla fall med väldigt hög andel systemanrop.

Git-status på ett gäng gigabyte repo (självklart samma repo i alla lägen)

  • Goldmont+: 1,11

  • Haswell: 1,92

  • Zen: 1,31

  • Skylake: 2,13

Köra alla unit-tester (C++ program som genererar en hel del utdata samt skapar rapporter med saker som code-coverage, branch-coverage och självklart test-resultat). Detta skala lysande med CPU-trådar då varje "modul" testas som ett separat Linux-program, finns väldigt många moduler

  • Goldmont+: 0,81

  • Haswell: 1,32

  • Zen: 1,27

  • Skylake: 1,39

Bygga alla unit-tester (C++), skalar inte perfekt med CPU-kärnor p.g.a. relativt frekvent länkning men skalar ändå väldigt bra

  • Goldmont+: 0,78

  • Haswell: 1,23

  • Zen: 1,17

  • Skylake: 1,36

Generera unit-test projektet, CMake baserat. Genererar ett antal 100-tals MB filer totalt sett, skalar rätt dåligt med CPU-kärnor p.g.a. mängden I/O och alla beroenden mellan det som ska skapas

  • Goldmont+: 1,33

  • Haswell: 1,99

  • Zen: 1,62

  • Skylake: 2,08

Bygga huvudprodukten (lite blandat med programspråk, men överlägset mest C)

  • Goldmont+: 0,87

  • Haswell: 1,30

  • Zen: 1,21

  • Skylake: 1,44

Testade också en Mandelbrot generator jag skrivit med OpenCL. Den går inte riktigt att mäta IPC på då Goldmont+ inte stödjer AVX. OpenCL maskineriet kommer använda AVX/AVX2 samt FMA (som också saknas på Goldmont+) på Zen och Haswell, så de gör ju upp till fyra gånger fler flytalsoperationer per cykel. Så IPC siffran blir inte jämförbar mellan CPU-modellerna här.

Bryr man sig om flyttal kan man dock konstatera är Atom fel produkt. Den blir totalt slaktad av "big-core" x86 på detta, är >x2 mer kapacitet hos "big core" per cykel och ovanpå det tillkommer ju då att "big-core" CPUerna är högre klockade.

Man ser även det om man kikar i Geekbench, ser rätt bra ut för heltal men Atom hänger inte med på de delar som är flyttals intensiva.

Edit: För den som undrar, så här ser en "perf stat" mätning ut

Performance counter stats for 'git status': 464,442836 task-clock (msec) # 1,320 CPUs utilized 118 context-switches # 0,254 K/sec 16 cpu-migrations # 0,034 K/sec 9 682 page-faults # 0,021 M/sec 1 205 901 986 cycles # 2,596 GHz 1 340 093 698 instructions # 1,11 insn per cycle 247 931 004 branches # 533,825 M/sec 4 683 343 branch-misses # 1,89% of all branches 0,351882828 seconds time elapsed

IPC värdet fetmarkerat

"2,596 GHz" är också intressant information, det är genomsnittlig frekvens som används för uppgiften.
"1,320 CPUs utilized" berättar att denna uppgift använde i genomsnitt 1,320 CPU-trådar. D.v.s. en fingervisning om hur bra/dåligt saker skalar med kärnor (i detta fall är max 4,0 då det är 4C/4T).

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

Trädvy Permalänk
Datavetare
Plats
Stockholm
Registrerad
Jun 2011

För att göra ett konkret exempel på vad SMT har för effekt på IPC (kan bara göra detta på Zen just nu, har på "att-göra-listan" att uppdatera till Ubuntu 18.04 på jobbdatorn med i7-6770HQ och ska mäta även på den då). Haswell-datorn är en i5:a utan SMT stöd.

Tar man fallet där hela produkten byggs, något som tar relativt lång tid då det är åtskilliga tusen filer som ska kompileras, så skalar det naturligtvis lysande med CPU-trådar (i alla fall upp till 6-8C, sedan börjar man slå i I/O flaskhalsar allt oftare).

Men för att verkligen bara testa effekten av SMT vs "riktiga" kärnor testar jag 4C/4T samt även 2C/4T fallet (lika många CPU-trådar) för Zen

  • Goldmont+ (4C/4T): 0,87

  • Haswell (4C/4T): 1,30

  • Zen (4C/4T): 1,21

  • Zen (2C/4T): 0,84

  • Skylake (4C/4T): 1,44

  • Skylake (2C/4T): 0,95

0,84 i IPC kanske inte ser så kul ut (men är i detta fall rätt nära Goldmont+, kompilering är inte Atoms starka sida...). Fast tänk då på att det är per CPU tråd. IPC som utförs per fysisk kärna har i detta fall ökat till 0,84 * 2 = 1,68 förutsatt att uppgiften i fråga skalar perfekt med CPU-kärnor (vilket i praktiken är fallet här när det handlar om 2C/4T).

D.v.s. gör man saker som skalar riktigt bra med kärnor och som gör mycket I/O och/eller har så stort data-set att CPU-cachen inte kommer räcka till vill man absolut ha SMT! Kompilering är ett sådant fall.

Men IPC minskar sett till CPU-tråd, så tiden att utföra en specifik uppgift tar per tråd längre tid. SMT är därför ibland inte jättebra för realtidsapplikationer och andra applikationer som behöver riktigt korta svarstider.

Edit: lade till Skylake IPC i tabellen

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