Portál AbcLinuxu, 25. dubna 2024 12:48


Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Vložit další komentář
Max avatar 12.12.2019 15:47 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: 32 jader a škálování při kompilaci a OpenSSL
Odpovědět | Sbalit | Link | Blokovat | Admin
Moc pěkné, díky.
Zdar Max
Měl jsem sen ... :(
12.12.2019 16:31 luky
Rozbalit Rozbalit vše Re: 32 jader a škálování při kompilaci a OpenSSL
Odpovědět | Sbalit | Link | Blokovat | Admin
Skoda, ze jsi -jN utnul u poctu jader, protoze driv doporucene N byl dvojnasobek jader. Hlavnim duvodem je zcela urcite IO wait, ktery v pripade ram je minimalni, ale i tak by bylo zajimave to videt.
12.12.2019 16:51 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: 32 jader a škálování při kompilaci a OpenSSL

Tohle mělo smysl, když se spoustu času strávilo čekáním na pomalé disky. Nedávno jsem s tím ze zvědavosti trochu experimentoval a vyšlo mi, že při překladu na tmpfs nemá smysl dávat větší počet úloh, než je k dispozici logických CPU.

Konkrétně jsem překládal jádro SLE15-SP2 (což je podobně nové, ale s o dost bohatší konfigurací než defconfig z blogpostu) na Ryzenu 3900X (12 jader, 2 thready na jádro). Od -j24 výš byly rozdíly pod úrovní statistické chyby a i rozdíl mezi -j23 a -j24 už byl menší než jedno procento. Podobně na stroji se staršími Xeony X7560 (4 sloty po 8 jádrech, 2 thready na jádro, tj. 64 logických CPU) se optima dosáhlo někde mezi 60 a 63.

13.12.2019 00:08 kvr
Rozbalit Rozbalit vše Re: 32 jader a škálování při kompilaci a OpenSSL
Přesně. Ono ani v době pomalých disků to nebylo extra pozitivní. Buď bylo dost paměti a stejně se všechno rychle dostalo do cache. Nebo bylo málo paměti a runtime nejen vytlačil sdílené zdrojáky, ale ještě se navzájem vytlačil do swap.

Navíc, nedávno jsem paralelizoval jeden (dlouhý) test, jednoduchý, který dělal to samé pro množství vstupních dat. Se čtyřma logickýma CPU (2*2 thready) se čas zmenšil na cca 50% (i přes poměrně dobrou eliminaci parallel overhead). Takže navíc záleží na tom, jak se kód rve o vnitřní zdroje CPU. Naštěstí jsou kompilátory trochu komplexnější...

Čistě ze zvědavosti, co s těma mašinama provádíte? Ne, že bych občas nedělal big data apod a zpracovával šílené množství vstupů, ale reálný běh už pak běží na serveru, na vývoj mi obvykle stačí laptop...
12.12.2019 16:53 miho | skóre: 24 | blog: Mihovy_sochory | Orlová
Rozbalit Rozbalit vše Re: 32 jader a škálování při kompilaci a OpenSSL
Utnul protože s tím mám už zkušenost :-) V roce 2009 na osmijádru (2x4 xeon bez HT) to mělo vliv zcela marginální viz
http://www.abclinuxu.cz/blog/Mihovy_sochory/2009/10/skalovani-procesoru-pri-kompilaci-jadra

V roce 2014 na šesnáctijádru s HT (2x8 xeon * HT) nulový a to i na SSD
http://www.abclinuxu.cz/blog/Mihovy_sochory/2014/2/sesnactijadro-s-ht-a-skalovani-pri-kompilaci-a-openssl

Od té dobny to už ani nezkouším. Ale pro klid duše jsem to teď narychlo testnul a real je při -j128 o desetinu vteřiny horší než při -j64 akorát narostl user o 18s - takže vyšší zatížení a tím spotřeba s nulovým přínosem.
12.12.2019 18:45 kralyk z abclinuxu | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: 32 jader a škálování při kompilaci a OpenSSL
Skoda, ze jsi -jN utnul u poctu jader, protoze driv doporucene N byl dvojnasobek jader. Hlavnim duvodem je zcela urcite IO wait, ktery v pripade ram je minimalni, ale i tak by bylo zajimave to videt.
Moje zkušenost s tímhle je spíš negativní, zejména u C++ věcí se složitějším kódem, kde je kompilace náročná na paměť. Zvyšování paralelizace nad nproc pak vedlo akorát k tomu, že to žralo brutální množství ramky, ale rychlost lepší nebyla...
12.12.2019 20:24 User682 | skóre: 38 | blog: aqarium | Praha
Rozbalit Rozbalit vše Re: 32 jader a škálování při kompilaci a OpenSSL
Odpovědět | Sbalit | Link | Blokovat | Admin
zdravim,

diky. Super zapisek. To potesi videt dalsi a lepsi 32 jadro....

Zkusim do konce tydne neco napsat. Uvazuji v lete prechod z 32-core (2990WX) na (64-core) 3990WX. A do serveru si asi dokoupit nejaky AMD EPYC(16 core).

Koukal jsem na benchmarky a vypada to velice dobre.

gf
13.12.2019 12:23 User682 | skóre: 38 | blog: aqarium | Praha
Rozbalit Rozbalit vše Re: 32 jader a škálování při kompilaci a OpenSSL
zdravim,

s temi preklady kernelu to u mne vypada na 2990WX takto. Asi by se to dalo vyladit vice nebo resit pres RAMdisk.
-j 32

real    0m57,139s
user    20m19,768s
sys     2m2,336s

-j 64

real    0m49,738s
user    31m30,032s
sys     3m3,312s

gf
13.12.2019 13:36 miho | skóre: 24 | blog: Mihovy_sochory | Orlová
Rozbalit Rozbalit vše Re: 32 jader a škálování při kompilaci a OpenSSL
To odpovídá 12,1 kompilacím za deset minut při -j64. Na 3970X mi to vychází na 24,7.To je příliš velký rozdíl, někde něco nehraje. Byl to defconfig? Probíhalo to v tmpfs?
13.12.2019 13:43 User682 | skóre: 38 | blog: aqarium | Praha
Rozbalit Rozbalit vše Re: 32 jader a škálování při kompilaci a OpenSSL
Zkusil jsem to i s make defconfig, tak se dostavam na 49s. RAMdisk jsem nezkousel. Ale to se zlepsi mozna o nejakou drobnou vterinu.
13.12.2019 13:40 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: 32 jader a škálování při kompilaci a OpenSSL

Pokud chcete, aby výsledky něco vypovídaly o výkonu procesoru, překlad v tmpfs je nutnost (a i jinak není moc důvodů v tmpfs nepřekládat, pokud máte dost paměti, aby to šlo). Když se podívám na ty vaše výsledky metrikou celkového času CPU (user + sys) děleného dobou překladu (tj. jakési "míry paralelizace"), dostanu v prvním případě 23.5 a ve druhém 41.7, což není úplně moc (ideál by byl 32 a 64). V podstatě to znamená, že 26 resp. 35 procent času procesor na něco čekal.

Pro srovnání, při překladu na tmpfs na 3900X dostanu (i při paměti prozatím běžící s dost neuspokojivým SPD časováním)

          real        user        sys
   -----------------------------------------------
   -j12   1m3,751s    9m48,272s   1m16,665s   10.4
   -j24   0m48,999s   14m4,137s   1m51,504s   19.5

Vezmu-li v úvahu, že ten procesor má dvanáct jader, stál třetinu a má poloviční TDP, je to námět k zamyšlení.

Pro úplnost bych ale ještě dodal, že test buildu s defconfigem není moc šťastně zvolený. Když build zkusím s realističtější distribuční konfigurací, vyjde mi ten poměr s -j12 11.7 a s -j24 22.2, což je o dost lepší.

13.12.2019 13:58 User682 | skóre: 38 | blog: aqarium | Praha
Rozbalit Rozbalit vše Re: 32 jader a škálování při kompilaci a OpenSSL
Tak i s ramdiskem skoro zadna zmena.

Jako, ze 3.generace je znacne vylepsena oproti 2.generaci Threadripperu (muzete doplnit i Ryzen 3X00X) se vi. A i jsem s tim castecne pocital, ze to jednou prijde. To je udel pionyru, tech technologickych.

To same bylo lehce nemile prekvapeni v lehkem snizeni single-thread vykonu pri zmene AMD 1950X na AMD 2990WX.

gf
13.12.2019 14:46 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: 32 jader a škálování při kompilaci a OpenSSL

Nedalo mi to a zkusil jsem ještě osmijádrový 2700X, což by měla být podobná architektura jako 2990WX:

    -j8    2m1,050s    13m7,965s    1m40,901s    7.3
    -j16   1m28,412s   18m40,589s   2m18,100s   14.2

Oproti 3900X jsou časy přibližně dvakrát pomalejší (podle počtu jader a frekvence by to mělo být 1.54), takže pokrok tam vidět je (kvantitativně asi tak o třetinu).

Teď jsem si ale uvědomil, že při porovnávání výsledků z různých systémů může hrát významnou roli i verze gcc (moje výsledky jsou s gcc 7.4).

13.12.2019 15:04 User682 | skóre: 38 | blog: aqarium | Praha
Rozbalit Rozbalit vše Re: 32 jader a škálování při kompilaci a OpenSSL
gcc version 6.3.0, Debian stable. Muze byt. System tu nemam uplne nejnovejsi.
19.12.2019 14:34 User682 | skóre: 38 | blog: aqarium | Praha
Rozbalit Rozbalit vše Re: 32 jader a škálování při kompilaci a OpenSSL
Jeste jsem pred asi tydnem premyslel o tom, zda jsou benchmarky s kompilaci, ktera bezi 30-60 minut dostatecny test.

Me se osobne dost libil test, kdy si clovek zkopiluje LibreOffice nebo Chromium. Coz je tak 15-60 minut zateze. Hodne casto na 100%.

Co jsem koukal na buildy mensich projektu (30-100 MB workspace/velikost projektu, tak se misty CPU dost flaka). Je to videt na malych knihovnach, kde ta uroven paraelizace neni az takova.

To nic ale nemeni na tom, ze novejsi generace ThreadRipper procesoru budou rychlejsi i na mensim poctu jader.

gf
13.12.2019 12:37 User682 | skóre: 38 | blog: aqarium | Praha
Rozbalit Rozbalit vše Re: 32 jader a škálování při kompilaci a OpenSSL
Pridam nejak info z provozu AMD 2990WX a neco o upgrade.

AMD 2990WX je fajn procesor. Je videt, ze se zacina dusit pri hodne vlaknech a pri vypoctech s hodne pameti. Zlepseni casovani pameti - vymena (64 na 128GB) z 2400 na 3000 pomohla o par procent.

Hodne uvazuju o 64 jadru (3990WX). Co jsem videl benchmarky 3.generace Threadripperu, tak vypadaji uplne skvele. A vyresi se tim hodne problemu 2.generace. Hlavne konecne podobny single-thread vykon jako Core i9 procesory od Intelu.

Nejsem si uplne jisty, zda budou ty benchmarky tak uplne pekne jako u 24 nebo 32 core 3.generace ThreadRipperu.

Cena asi nebude uplne nejlepsi. Cekal jsem puvodne 3200 USD za 64-core, ale i 4000 USD bez dane se zkousne. Precijenom uz neni konkurence co se tyce vykonu. Do toho upgrade zakladni desky asi AsRock Creator TR4X, protoze ma lepsi chlazeni M.2 SSD disku nez AsRock Taichi X399, ktera lepe vypada a kterou ted mam.

Prekvapilo me moznost celkoveho osazeni 256GB RAM + PCI-X-4.0 sbernice hlavne pro SSD disky=taky asi podle toho upgrade M.2 SSD disku.

Uvidim koncem jara. Zatim mam jine financni priority.

Dost me prekvapilo po delsi dobe, co jsem upgradoval InteliJ IDEA, tak ze zamakali na paraelizaci. Bezi to o neco lepe. Zejmena start je moc fajn, kdy Vam nabehne ve status baru 156 threadu a mate za par vterin u 2M codebase nacteny projekt. Ale ta indexace celeho projektu je tedy pomala a neni moc optimalizovana (1-1.5 minuty je moc na tuto masinu).

gf
13.12.2019 13:44 miho | skóre: 24 | blog: Mihovy_sochory | Orlová
Rozbalit Rozbalit vše Re: 32 jader a škálování při kompilaci a OpenSSL
Z toho procesoru bych měl pár obav:
1) Jaké budou takty s dvojnásobným počtem jader když TDP už nemůžou už moc zvedat?
2) Stačí 4 paměťové kanály na 64 jader? Nebo bude jiná platforma s 8 kanály (pak bude ale deska za 1000$)?
3) Cena mezi 24 a 32 neroste lineárně a mezi 32 a 64 to bude asi stejné. Lze tedy usuzovat, že 4000$ je velmi optimistický odhad. Já bych čekal 5000$ a u nás 140 s daní.
13.12.2019 14:48 User682 | skóre: 38 | blog: aqarium | Praha
Rozbalit Rozbalit vše Re: 32 jader a škálování při kompilaci a OpenSSL
Diky za nazor.

U me je cenovy strop nekde 90 za CPU a 15 za MB. Oboji v CZK bez dane.

Kdyztak budu vyckavat, zda se cena nesrovna. Je to uz trochu drazsi HW a bude to chtit hodne si spocitat, zda se to vyplati.

Kdybych si nechal AMD 1950x, tak jdu ted koupit z fleku AMD 2970x (32 jadro) a teme neresim asi upgrade.

Pro me je dulezite provadet vicejadrove hodne vypoctu/algoritmu, videt rychle vysledek na treba 30 prvcich a predevsim rychle zpracovat velke mnozstvi testu. Dohledavat a hlavne ladit pak par dni jednu chybu v algoritmu (data caputure+ocr), aby algoritmy fungovaly pro vetsinu dokumentu, me stoji hodne casu.
7.1.2020 00:02 miho | skóre: 24 | blog: Mihovy_sochory | Orlová
Rozbalit Rozbalit vše Re: 32 jader a škálování při kompilaci a OpenSSL
Tak jsem se s tou cenou pletl, bude fakt 4k$ takže můžeš hned 7.unora nakoupit ;-) Ale frekvence jsou oproti 3970X podle předpokladu nižší (2,9 GHz base oproti 3,7 GHz) a hrubý výpočetní výkon bude cca 35% nad 3970x. Musíš mít tedy naprostou jistotu, že tvůj workload dobře škáluje jinak bude reálný výkon horší než u toho 32jádra.
7.1.2020 08:42 User682 | skóre: 38 | blog: aqarium | Praha
Rozbalit Rozbalit vše Re: 32 jader a škálování při kompilaci a OpenSSL
zdravim,

ted to taky ctu. Je to hodne lakave....

Uvidim, jak budou vypadat benchmarky. Pak padne nejake rozhodnuti.

Financne OK. Unor to nebude. Tak dobre na tom nejsem. Mel bych na nej mit 6-8/2020 podle toho, jake budu mit priority...

gf

18.12.2019 00:03 Ovoce | skóre: 16 | blog: Vyplizlo_ze_zivota
Rozbalit Rozbalit vše Re: 32 jader a škálování při kompilaci a OpenSSL
ASRock Creator má IIRC slabou napájecí kaskádu, jenom osm nebo tak (i její chladič), tuším snad nejhorší ze všech modelů na trhu, jestli se nepletu. Když už stojí to CPU $3000, tak bych doporučoval radši TRX40 Taichi, to má snad 2x víc fází.
19.12.2019 14:30 User682 | skóre: 38 | blog: aqarium | Praha
Rozbalit Rozbalit vše Re: 32 jader a škálování při kompilaci a OpenSSL
Me se vcelku dost libil 'ASRock Creator' kvuli chlazeni disku, ale je mozne ze to prehodnotim, az si neco na podobne tema prectu. Taichi X399 verzi ted aktualne mam.

kazdopadne diky, gf.
13.12.2019 11:05 miho | skóre: 24 | blog: Mihovy_sochory | Orlová
Rozbalit Rozbalit vše Re: 32 jader a škálování při kompilaci a OpenSSL
Odpovědět | Sbalit | Link | Blokovat | Admin
Přidal jsem pár výsledků z windows, hlavně Cinebench R20 včetně srovnání s 7960X.
13.12.2019 13:27 Tomas
Rozbalit Rozbalit vše Re: 32 jader a škálování při kompilaci a OpenSSL
Hezke... ale nepobezi na takovem krasnem stroji pak windows, ze ne? :-)
13.12.2019 14:02 miho | skóre: 24 | blog: Mihovy_sochory | Orlová
Rozbalit Rozbalit vše Re: 32 jader a škálování při kompilaci a OpenSSL
Bude tam skoro jistě widnows... Majitel, dlouholetý uživatel linuxu na desktopu, vzdal před cca třemi lety boj se systemd když prohlásil, že zbytek svých vlasů kvůli tomu riskovat nebude. Zatím se nevrátil, takže předpokládám, že Windows působí na pleš méně destruktivně.

Když tak o tom přemýšlím, tak systemd způsobil nebo se velkou mírou přičinil k diaspoře minimálně čtyř linuxáků z mého okolí.
13.12.2019 14:22 debian+
Rozbalit Rozbalit vše Re: 32 jader a škálování při kompilaci a OpenSSL
Resp. nie je to tym ako amatersky spravca VPS vs komercny hosting? A pokial chcem seriozne robit weby, tak nedokazem naplno aj spavu serveru aj web-developing?
13.12.2019 14:34 debian+
Rozbalit Rozbalit vše Re: 32 jader a škálování při kompilaci a OpenSSL
Resp. moj pocitac, moja sprava.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.