Mirol is lesz itt szo?
Szerencses vagyok, tobb szempontbol is. Eloszor is: szeretem a munkamat. Programozo vagyok, de ez nem teljesen fedi le, mit is csinalok. Legyen inkabb a szoftvermernok.
Masodszor: ott vagyok szoftvermernok, ahol mindenki az, a Szilicium-volgyben (szilikon volgy, az
).
Harmadszor pedig: lehetosegem van egyutt dolgozni az Intel-lel, AMD-vel, Marvell-el, Broadcom-mal, mert distinguished engineer-kent (kituntetett mernok
) reszt veszek uj tuzfalak fejleszteseben, amik a halozati forgalomba valo belekukucskalas nagy reszet processzorbol oldjak meg, marpedig ehhez a CPU-t jo elore ki kell valasztani. Ez azt jelenti, hogy gyakran megjelenes elott allo procikkal dolgozom, engineering sample (ES), qualification sample (QS) vagy olyan korai batch-ekkel, amik csak keves ceghez jutnak el.
Hogy, hogy nem, ezeket a procikat legtobb esetben nem kell visszaadni. Es itt erkeztunk el egyik kedvenc hobbimhoz, a gep-epiteshez 
Ket masik osszetevoje is van a dolognak: kukabuvarkodas es jo baratsag azokkal a mernokokkel, akik a memoriakert es a tarolokert (hdd, ssd) felelosek.
A kukabuvarkodas - szegyen, nem szegyen - eleg regi keletu dolog: valahogy ugy latszik, hogy multiknal az e-waste (elektromos hulladek szamara kialakitott szemetes) mindig tele van 'kincsekkel'. Rengeteg mukodo es szamomra hasznos alkatreszt mentettem meg hosszu palyafutasom alatt az elektromos hulladekok kozul, olyat is ami egybol mukodott es olyanokat is, amik kis szeretgetessel voltak eletre kelthetoek.
Szervereket - vagy legalabbis szerver feladatot ellato gepeket - kezdtem osszerakosgatni, hogy ne kelljen mindig a ceges eroforrasokra varni (labor, VM, traffgen, stb). az elso ilyen jellegu gepek egy komplett szeria tagjai tagjai lettek, 8-magos Sandy Bridge procikkal, ddr3 ecc ram-okkal, Intel 82599 (2x10G, akkoriban nagy szam volt) halokartyakkal es engineering sample Intel x710-zel (4x10G).
Es mivel minden rendes szervernek van neve, ok lettek a cardboard1, 2 es 3, mert akkor meg kartondobozon lettek osszerakva es uzemeltetve, haz nelkul. Szedett-vedett hutessel, ventikkel a hutobordakon, a halokartyak elott es a chipseteken is.
Egy ido utan a hardverekert felelos emberkek mar maguktol kerestek meg, hogy epp kidobnanak a laborbol ezt-azt, nem akarom-e atnezni elotte, illetve lett nekik valami processzoruk ami mar nem kell, erdekel-e. hatmarhogyacsudabane!
Ebay-en, newegg-en vagy amazonon vadasztam hozzajuk hasznalt vagy openbox alaplapot es processzorhutoket, neha halokartyat is, vettem hazat es tapot, aztan uzsgyi!
Onnan kezdve a nevadas megvaltozott, a szerverek az adott kollega nevet kaptak hosztnevnek, igy lett a heimdall1 (dual socket Broadwell 14 mag), heimdall2 (dual socket Skylake 20 mag), colin1 (single socket Skylake 24 mag), george1 (single socket Zen3 64 mag), george2 (single socket Zen2 64 mag), mark1 (dual socket Zen2 48 mag), stb stb.
Ma pedig epul alberto1, jelen cikk targya. A proci, ami kore epitkezem egy EPYC 9754***, 128 maggal. Tettem oda 3 csillagot is, erre majd meg visszaterunk.
A haz kivalasztasat mar most elszurtam
- az evek meg a rutin. Ugyanis a sima ATX alaplap pont befer a PCIe oldalaval a felso kamraba, ami azt jelenti, hogy a legutolso PCIe slot-ba max egy kartyahely-szeles bovitokartya mehet. Ami akkor lenne fajdalmas, ha pl komoly GPU-t is szeretnek bele, mas kartyakkal egyutt. de egyelore nem 
Beepites
Nagyon franko hazikot valasztottam a szornynek: Lancool 217. Jelentos minosegbeli ugras pl a korabbi Matrexx 55-hoz kepest. Jo lenne belelapatolni az alkatreszeket, hogy ne hemperegnenek szerteszejjel.
De. Ez egy desktop haz, desktop felhasznalasra kihegyezve (gondolom tipikusan egyetlen, de akar 3.75slot meretu videokartyaval is szamolva) par olyasmi ficsorrel, amik engem pillanatnyilag hidegen hagynak, pl hogy van lehetoseg a gpu telepitesere riser-rel 90fokban elforgatva es akkor a ventik latszanak az uveg oldallap mogott, ami akar jol is nezhet ki.
Viszont a gyarilag telepitett ventik figyelemre meltoak, nem csoda h sokan lelkesednek ezert a hazert. Nagyon kellemes huzatot csinalnak, amire az en halokartyaimnak szuksege is lesz, mert passziv hutesuek, de eleg sok teljesitmenyt futenek el. A szerelhetosege is peldas, bar a logikaja itt-ott egyedi, de csak egyszer kell megjegyezni (pl hogy az oldallapok hogyan jonnek le). Es nagyon odafigyeltek arra is, hogy ne legyenek sorjas elek sem sehol. Jo cucc, na. Az enyem fekete, a kommersz barna fa diszitesekkel. Uncsi, uncsi, de nem azert vettem.
Beszuszakolom az alaplapot a helyere, pont jo, minden kenyelmes. Es akkor feluti a fejet a gyanu: lyukszamlalas! lampaval bevilagitok minden egyes lyukon az alaplapon, hogy van-e alatta tavtarto. Nagyreszt volt, 7 lik, 7 csavar. Johet a negativ teszt: kivettem az alaplapot es megszamoltam a tavtartokat: 9
Na ha becsavaroztam volna igy az alaplapot, akkor jo esetben nem indul el, rossz esetben elfustolok valamit, mivel 2 fem tavtarto ebben az esetben kozvetlenul az alaplapnak tamaszkodott, pont a memoria-foglalatok forrasztasainal. Hat jah, regi a kapcsolatunk a Supermicro-val es mar az X9-es laphoz is kellett kulon menetet furnom a nemszabvanyos tajolasu lyuknak
szoval kiszedtem a ket szuksegtelen tavtartot. Ha jol emlekszem, regebben voltak olyan muanyag pockok is, amiknek lapos volt a feje es csak az volt a dolguk h az alaplap sulyat megtartsak. Lehet kene olyat betennem vagy sima muanyag tavtartokat, hogy legalabb az alaplap 'hullamzasat' csokkentsek. Csunya tomege - es forgatonyomateka? - van ennek a hutonek. Igen, igen, lesz majd alkatreszlista a vegen. Galeriaval. A kezdeti telepitest es tesztelest legtobbszor a hazba epites elott csinalom, mert elofordul h cserelni kell ezt-azt, ezert-azert
Most az alaplapra integralt halokartya okozott rovidebb fennakadast. Ugye alapveto, hogy az ember Windowst ugy installal specialis ezkozokkel rendelkezo rendszerre, hogy integralja a telepitobe a driver-t es le van a gond. Termeszetesen kihagytam ezt a lepest, de van mentsegem: nem gondoltam volna, hogy az alaplapi Broadcom BCM57416 2x10G nem tamogatott alapbol, pedig de. Mindegy, lelkes amatoroknek mindig van pl egy i350 PCIe kartyaja is az ilyen esetekre, bedug, indit, orul. Felkuszott a chipset driver es a broadcom is, most mar az adja a halozati hozzaferest, az i350 mehetett vissza a fiokba. Nem Windows lesz az elsodleges operencias rendszer rajta, de azon konnyu csillivilli bencsmarkokat futtatni es az LM Studio pedig egy konnyen es jol hasznalhato felulet AI-hoz, tehat eleinte tobbet megy majd a Windows, mint a Linux.
Csendelet, telepitessel
Meg is vannak az elso tesztek, 'kozkivanatra' 
AIDA64 Extreme v7.70.7500 TRIAL
12 csatorna, ddr5-4800 (AIDA szerint 4644MHz-en jarnak)
40-39-39-77 CR1 idozitesekkel
Memoria olvasas: 337739 MB/s
Memoria iras: 356811 MB/s
Memoria masolas: 340522 MB/s
Memoria kesleltetes: 118.6 ns
Csak osszehasonlitaskeppen a mostani gepemmel ugyanezek az adatok (de masik AIDA verzioval!):
AIDA64 Extreme v8.20.8100 teljes verzio
8 csatorna, ddr4-3200
24-22-22-52 CR1 idozitesekkel
Memoria olvasas: 149651 MB/s
Memoria iras: 154141 MB/s
Memoria masolas: 150528 MB/s
Memoria kesleltetes: 104.6 ns
szoval egy abszolut nem jo osszehasonlito teszt alapjan tobb, mint duplaja lett a memoria sebessege (+4 csatorna, ddr4->ddr5 valtas), amire pontosan szuksegem volt. Viszont, ha ugy vesszuk, akkor a magonkenti savszelesseg eppcsak kicsit nott.
'Az halokartyakrul'
Lehet megis blogot kellett volna irni inkabb 
A projekt szempontjabol elengedhetetlen a jo halokartya, tobb ok miatt is: szoftveres megoldasok (mint pl az open vSwitch) vagy nem eleg gyorsak, vagy tul sok eroforrast (processzormagot) igenyelnek, foleg akkor, amikor en tobb tiz gigabitet, de idealis esetben akar 150-180Gbps-t is szeretnek athajtani a rendszeren. Masodszor pedig megiscsak egy homelab-rol van szo, sosem lehet tudni mivel kene eppen szembedugni a cuccost. Pl ha az egesz doboz egyetlen tuzfal (vagy inkabb ketto), akkor valamivel kell generalni a forgalmat, marpedig akkor generalni kell valahol 100Gbps http forgalmat es azt be is kell kuldeni valahogy alberto1-nek.
Ne jatsszunk kicsiben, ket darab 2x100G-s halokartya lesz, raadasul 'okos' : NVIDIA Bluefield-2 (hehe, Battlefield 2).
A Mellanox-ot lehet nem szeretni, de megkerulhetetlen szereploi a piacnak (baszki, ennyire azert ne legyunk mar hivatalosak
) de ugyes kartyakat csinalnak. Engem csak az a mennyisegu szoftver zavar, ami linuxon szukseges a mukodesukhoz, egyebkent mar a Connectx-2 ota nagyon frankok a halokartyaik. A linkelt servthehome cikk nagyon reszletesen es szepen targyalja mi is ez a SmartNIC/DPU, en nem kezdek el okoskodni errol. A lenyeg az, hogy ossze van gyogyitva egy Connectx-6 es 8 darab A72-es ARM mag, ami elvileg azt jelenti, hogy a halokartyan levo magokon mar eleve lehet feldolgozni forgalmat (legyen ez most pre-processzing), amivel egyreszt a kesleltetest lehet csokkenteni idealis esetben, masreszt pedig a host processzoron szamottevo mennyisegu ciklust lehet megsporolni.
A terv a kovetkezo: eleinte a halokartyak sima PCIe passthrough-val at lesznek adva a VM-eknek, sima 'buta' halokartyakent hasznalva. Egyik kartya mindket portja megy a tuzfal VM-nek, a masik halokartya ket portjan pedig osztozkodik egy kliens-VM es egy szerver-VM. A szerver VM-ben fut egy finomhangolt apache2, ami kepes kiszolgalni eleg nagy mennyisegu kerest elegendoen nagy savszelesseggel, a kliens VM pedig gyartja a lekerdezeseket, pl wrk-val, ostinato-val, PktGen DPDK-val, T-Rex-szel, h2load-dal, meg ilyesmivel. Sot, bevetjuk a jol bevalt iperf-et is.
Felmerulhet a kerdes, mi a csudanak ennyifele traffgen? Teljesen jogos, mivel idealis esetben egyetlen - de max harom - traffgen elegendo kene legyen
nem az. Alapveto, elso lepeses profilozashoz szinte barmelyik jo, sajat kepessegeinek megfeleloen meg tudja hajtani a kozben levo tuzfalat. Viszont ahogy szeretne az ember mindenfele eltartott kisujjas forgalmat is generalni, kulonbozo tunelek, protokollok, enkodolas, ezmegaz, hol az egyik eszkoz bizonyul ugyesebbnek, hol a masik. Sot, a progik felparameterezhetosege is kulonbozik, illetve a szolgaltatott informacio reszletessege is, az eroforras-igenyuk is. Igazibol meg a wrk es a wrk2 is maskepp muxik 
Tehat egy port megy a kliens VM-nek, onnan droton atmegy a forgalom a masik halokartya egyik portjaba (100G DAC, ebay, tokeletes - de a DAC-okrol hadd ne most ertekezzek
), ott bejut a tuzfal VM-be, a masik porton kijon a tuzfalbol es a masik DAC-on visszamegy az elozo halokartya masik portjara, ahol viszont a szerver VM figyel. Magyarul a kliens es a szerver VM kozott ucsorog a tuzfal.
Ez a tipikus teszt, amit szoktunk csinalni (jah, kiralyi tobbes, baratommal es kollegammal boldogitjuk a ceget), szerencsere hozza lehet idomitani szinte barmilyen szerverhez, igazibol meg asztali gephez is, kelloen leskalazva. Csupan funkcionalitast tesztelni eleg egyetlen mag a kliens-nek, masik mag a szerver-nek es pl ket mag a tuzfalnak, kesz is.
Igazibol ha az ember minel kevesebb zavaro tenyezot akar a tuzfal profilozasakor, akkor a tuzfalnak sajat socket-et ad (teljes processzort) es a kliens/szerver masik socket-en vagy masik gepen fut. (Ne felejtsem majd el megemliteni a 'noisy neighbor'-t) Ezert szeretem annyira a dual-socket szervereinket, mert ott egyik oldal a forgalomgeneralas, masik oldal a tuzfal, ugyanugy egy-egy halokartyaval.
Szoval ez most a terv ezen a gepen. Es ha ez hozza az elvart teljesitmenyt, akkor johet az extra jo jatek a Bluefield-ekre szamuzni valamennyi feldolgozast. Egy tipikus pelda lehet szoftveres tuzfal eseten, ha a tuzfal egy bizonyos forgalomrol mar eldontotte, hogy az biztonsagos (vagy ellenkezoleg, hogy tiltott), akkor a biztonsagos forgalmat mar a Bluefield is vissza tudja forditani, nem kell eljutnia a host processzorig, illetve a tiltott forgalmat mar a Bluefield is tudja dobni (blackholing), ezzel is tehermentesitve a tuzfalat.
Jah, tudom mit felejtettem el: megemliteni az Intelt
Szoval az Intel halokartyak regota tudnak egy trukkot Intel szerver processzorokkal: a DDIO-t. Nagyon leegyszerusitve ez azt tudja, hogy a csomag ahelyett, hogy a halokartyabolt DMA-val a memoriaba kerulne, inkabb a proci L3 cache-ebe megy, ami szuperjo dolog, mert igy nagyot csokken a kesleltetes, nem kell meg bekuncsorogni a RAM-bol a pacsmagot. Sot, ugye lehet ugy is konfigolni h pl az elso 64/128 byte keruljon csak a cache-be, ami azert jo, mert nagyon sok esetben csak az eleje kell (L2-L4 feldolgozashoz) es a tobbi legalabb nem szemeteli tele az L3$-t (megint ne felejtsem a 'noisy neighbor'-t)
Az AMD ezt nem tudta eddig. Viszont - ugy a keynote elott apofamat befogoooom - a Zen6-tal (aka Venice) jon par okossag, tobbek kozott valami ehhez nagyon hasonlo is. Es meg par dolog a DMA engine-nel, ha lesz majd mukodo prototipusom, lehet irok arrol is.
Az Intel-nek es az AMD-nek is van igazibol altalanos celu DMA drivere, raadasul csinaltak a DPDK-hoz is, de ha minden igaz, akkor az AMD-e most nagyot fejlodik hasznossagban.
Magok mindenhol
A proci csupan a felhasznalhato hardveres szalak szamat tekintve, ami 256, elegge impozans. Vannak nala nagyobbak, de azert nem tipikus. Jojjon az lscpu, aztan kicsit csamcsogjunk rajta:
$ lscpu -e
CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE MAXMHZ MINMHZ MHZ
0 0 0 0 0:0:0:0 yes 2250.0000 1500.0000 1500.0000
1 0 0 1 1:1:1:0 yes 2250.0000 1500.0000 1500.0000
2 0 0 2 2:2:2:0 yes 2250.0000 1500.0000 1500.0000
3 0 0 3 3:3:3:0 yes 2250.0000 1500.0000 1500.0000
4 0 0 4 4:4:4:0 yes 2250.0000 1500.0000 1500.0000
5 0 0 5 5:5:5:0 yes 2250.0000 1500.0000 1500.0000
6 0 0 6 6:6:6:0 yes 2250.0000 1500.0000 1500.0000
7 0 0 7 7:7:7:0 yes 2250.0000 1500.0000 1500.0000
8 0 0 8 8:8:8:1 yes 2250.0000 1500.0000 1500.0000
9 0 0 9 9:9:9:1 yes 2250.0000 1500.0000 1500.0000
10 0 0 10 10:10:10:1 yes 2250.0000 1500.0000 1500.0000
11 0 0 11 11:11:11:1 yes 2250.0000 1500.0000 1500.0000
12 0 0 12 12:12:12:1 yes 2250.0000 1500.0000 1500.0000
13 0 0 13 13:13:13:1 yes 2250.0000 1500.0000 1500.0000
14 0 0 14 14:14:14:1 yes 2250.0000 1500.0000 1500.0000
15 0 0 15 15:15:15:1 yes 2250.0000 1500.0000 1500.0000
16 0 0 16 64:64:64:8 yes 2250.0000 1500.0000 1500.0000
17 0 0 17 65:65:65:8 yes 2250.0000 1500.0000 1500.0000
18 0 0 18 66:66:66:8 yes 2250.0000 1500.0000 1500.0000
19 0 0 19 67:67:67:8 yes 2250.0000 1500.0000 1500.0000
20 0 0 20 68:68:68:8 yes 2250.0000 1500.0000 1500.0000
21 0 0 21 69:69:69:8 yes 2250.0000 1500.0000 1500.0000
22 0 0 22 70:70:70:8 yes 2250.0000 1500.0000 1500.0000
23 0 0 23 71:71:71:8 yes 2250.0000 1500.0000 1500.0000
24 0 0 24 72:72:72:9 yes 2250.0000 1500.0000 1500.0000
25 0 0 25 73:73:73:9 yes 2250.0000 1500.0000 1500.0000
26 0 0 26 74:74:74:9 yes 2250.0000 1500.0000 1500.0000
27 0 0 27 75:75:75:9 yes 2250.0000 1500.0000 1497.5760
28 0 0 28 76:76:76:9 yes 2250.0000 1500.0000 1500.0000
29 0 0 29 77:77:77:9 yes 2250.0000 1500.0000 1500.0000
30 0 0 30 78:78:78:9 yes 2250.0000 1500.0000 1500.0000
31 0 0 31 79:79:79:9 yes 2250.0000 1500.0000 1500.0000
32 0 0 32 32:32:32:4 yes 2250.0000 1500.0000 1500.0000
33 0 0 33 33:33:33:4 yes 2250.0000 1500.0000 1500.0000
34 0 0 34 34:34:34:4 yes 2250.0000 1500.0000 1500.0000
35 0 0 35 35:35:35:4 yes 2250.0000 1500.0000 1500.0000
36 0 0 36 36:36:36:4 yes 2250.0000 1500.0000 1500.0000
37 0 0 37 37:37:37:4 yes 2250.0000 1500.0000 1500.0000
38 0 0 38 38:38:38:4 yes 2250.0000 1500.0000 1500.0000
39 0 0 39 39:39:39:4 yes 2250.0000 1500.0000 1500.0000
40 0 0 40 40:40:40:5 yes 2250.0000 1500.0000 1500.0000
41 0 0 41 41:41:41:5 yes 2250.0000 1500.0000 1500.0000
42 0 0 42 42:42:42:5 yes 2250.0000 1500.0000 1500.0000
43 0 0 43 43:43:43:5 yes 2250.0000 1500.0000 1500.0000
44 0 0 44 44:44:44:5 yes 2250.0000 1500.0000 1500.0000
45 0 0 45 45:45:45:5 yes 2250.0000 1500.0000 1500.0000
46 0 0 46 46:46:46:5 yes 2250.0000 1500.0000 1500.0000
47 0 0 47 47:47:47:5 yes 2250.0000 1500.0000 1500.0000
48 0 0 48 96:96:96:12 yes 2250.0000 1500.0000 1500.0000
49 0 0 49 97:97:97:12 yes 2250.0000 1500.0000 1500.0000
50 0 0 50 98:98:98:12 yes 2250.0000 1500.0000 1500.0000
51 0 0 51 99:99:99:12 yes 2250.0000 1500.0000 1500.0000
52 0 0 52 100:100:100:12 yes 2250.0000 1500.0000 1500.0000
53 0 0 53 101:101:101:12 yes 2250.0000 1500.0000 1500.0000
54 0 0 54 102:102:102:12 yes 2250.0000 1500.0000 1500.0000
55 0 0 55 103:103:103:12 yes 2250.0000 1500.0000 1500.0000
56 0 0 56 104:104:104:13 yes 2250.0000 1500.0000 1500.0000
57 0 0 57 105:105:105:13 yes 2250.0000 1500.0000 1500.0000
58 0 0 58 106:106:106:13 yes 2250.0000 1500.0000 1500.0000
59 0 0 59 107:107:107:13 yes 2250.0000 1500.0000 1500.0000
60 0 0 60 108:108:108:13 yes 2250.0000 1500.0000 1500.0000
61 0 0 61 109:109:109:13 yes 2250.0000 1500.0000 1500.0000
62 0 0 62 110:110:110:13 yes 2250.0000 1500.0000 1500.0000
63 0 0 63 111:111:111:13 yes 2250.0000 1500.0000 1500.0000
64 0 0 64 48:48:48:6 yes 2250.0000 1500.0000 1500.0000
65 0 0 65 49:49:49:6 yes 2250.0000 1500.0000 1500.0000
66 0 0 66 50:50:50:6 yes 2250.0000 1500.0000 1497.0260
67 0 0 67 51:51:51:6 yes 2250.0000 1500.0000 1500.0000
68 0 0 68 52:52:52:6 yes 2250.0000 1500.0000 1500.0000
69 0 0 69 53:53:53:6 yes 2250.0000 1500.0000 1500.0000
70 0 0 70 54:54:54:6 yes 2250.0000 1500.0000 1500.0000
71 0 0 71 55:55:55:6 yes 2250.0000 1500.0000 1500.0000
72 0 0 72 56:56:56:7 yes 2250.0000 1500.0000 1500.0000
73 0 0 73 57:57:57:7 yes 2250.0000 1500.0000 1500.0000
74 0 0 74 58:58:58:7 yes 2250.0000 1500.0000 1500.0000
75 0 0 75 59:59:59:7 yes 2250.0000 1500.0000 1500.0000
76 0 0 76 60:60:60:7 yes 2250.0000 1500.0000 1500.0000
77 0 0 77 61:61:61:7 yes 2250.0000 1500.0000 1500.0000
78 0 0 78 62:62:62:7 yes 2250.0000 1500.0000 1500.0000
79 0 0 79 63:63:63:7 yes 2250.0000 1500.0000 1500.0000
80 0 0 80 112:112:112:14 yes 2250.0000 1500.0000 1500.0000
81 0 0 81 113:113:113:14 yes 2250.0000 1500.0000 1500.0000
82 0 0 82 114:114:114:14 yes 2250.0000 1500.0000 1500.0000
83 0 0 83 115:115:115:14 yes 2250.0000 1500.0000 1500.0000
84 0 0 84 116:116:116:14 yes 2250.0000 1500.0000 1500.0000
85 0 0 85 117:117:117:14 yes 2250.0000 1500.0000 1500.0000
86 0 0 86 118:118:118:14 yes 2250.0000 1500.0000 1500.0000
87 0 0 87 119:119:119:14 yes 2250.0000 1500.0000 1500.0000
88 0 0 88 120:120:120:15 yes 2250.0000 1500.0000 1500.0000
89 0 0 89 121:121:121:15 yes 2250.0000 1500.0000 1500.0000
90 0 0 90 122:122:122:15 yes 2250.0000 1500.0000 1500.0000
91 0 0 91 123:123:123:15 yes 2250.0000 1500.0000 1500.0000
92 0 0 92 124:124:124:15 yes 2250.0000 1500.0000 1500.0000
93 0 0 93 125:125:125:15 yes 2250.0000 1500.0000 1500.0000
94 0 0 94 126:126:126:15 yes 2250.0000 1500.0000 1500.0000
95 0 0 95 127:127:127:15 yes 2250.0000 1500.0000 1500.0000
96 0 0 96 16:16:16:2 yes 2250.0000 1500.0000 1500.0000
97 0 0 97 17:17:17:2 yes 2250.0000 1500.0000 1500.0000
98 0 0 98 18:18:18:2 yes 2250.0000 1500.0000 1500.0000
99 0 0 99 19:19:19:2 yes 2250.0000 1500.0000 1500.0000
100 0 0 100 20:20:20:2 yes 2250.0000 1500.0000 1500.0000
101 0 0 101 21:21:21:2 yes 2250.0000 1500.0000 1500.0000
102 0 0 102 22:22:22:2 yes 2250.0000 1500.0000 1500.0000
103 0 0 103 23:23:23:2 yes 2250.0000 1500.0000 1500.0000
104 0 0 104 24:24:24:3 yes 2250.0000 1500.0000 1500.0000
105 0 0 105 25:25:25:3 yes 2250.0000 1500.0000 1500.0000
106 0 0 106 26:26:26:3 yes 2250.0000 1500.0000 1500.0000
107 0 0 107 27:27:27:3 yes 2250.0000 1500.0000 1500.0000
108 0 0 108 28:28:28:3 yes 2250.0000 1500.0000 1500.0000
109 0 0 109 29:29:29:3 yes 2250.0000 1500.0000 1500.0000
110 0 0 110 30:30:30:3 yes 2250.0000 1500.0000 1500.0000
111 0 0 111 31:31:31:3 yes 2250.0000 1500.0000 1500.0000
112 0 0 112 80:80:80:10 yes 2250.0000 1500.0000 1500.0000
113 0 0 113 81:81:81:10 yes 2250.0000 1500.0000 1500.0000
114 0 0 114 82:82:82:10 yes 2250.0000 1500.0000 1500.0000
115 0 0 115 83:83:83:10 yes 2250.0000 1500.0000 1500.0000
116 0 0 116 84:84:84:10 yes 2250.0000 1500.0000 1500.0000
117 0 0 117 85:85:85:10 yes 2250.0000 1500.0000 1500.0000
118 0 0 118 86:86:86:10 yes 2250.0000 1500.0000 1500.0000
119 0 0 119 87:87:87:10 yes 2250.0000 1500.0000 1500.0000
120 0 0 120 88:88:88:11 yes 2250.0000 1500.0000 1500.0000
121 0 0 121 89:89:89:11 yes 2250.0000 1500.0000 1500.0000
122 0 0 122 90:90:90:11 yes 2250.0000 1500.0000 1500.0000
123 0 0 123 91:91:91:11 yes 2250.0000 1500.0000 1500.0000
124 0 0 124 92:92:92:11 yes 2250.0000 1500.0000 1500.0000
125 0 0 125 93:93:93:11 yes 2250.0000 1500.0000 1500.0000
126 0 0 126 94:94:94:11 yes 2250.0000 1500.0000 1500.0000
127 0 0 127 95:95:95:11 yes 2250.0000 1500.0000 1500.0000
128 0 0 0 0:0:0:0 yes 2250.0000 1500.0000 1500.0000
129 0 0 1 1:1:1:0 yes 2250.0000 1500.0000 1500.0000
130 0 0 2 2:2:2:0 yes 2250.0000 1500.0000 1500.0000
131 0 0 3 3:3:3:0 yes 2250.0000 1500.0000 1500.0000
132 0 0 4 4:4:4:0 yes 2250.0000 1500.0000 1500.0000
133 0 0 5 5:5:5:0 yes 2250.0000 1500.0000 1500.0000
134 0 0 6 6:6:6:0 yes 2250.0000 1500.0000 1500.0000
135 0 0 7 7:7:7:0 yes 2250.0000 1500.0000 1500.0000
136 0 0 8 8:8:8:1 yes 2250.0000 1500.0000 1500.0000
137 0 0 9 9:9:9:1 yes 2250.0000 1500.0000 1500.0000
138 0 0 10 10:10:10:1 yes 2250.0000 1500.0000 1500.0000
139 0 0 11 11:11:11:1 yes 2250.0000 1500.0000 1500.0000
140 0 0 12 12:12:12:1 yes 2250.0000 1500.0000 1500.0000
141 0 0 13 13:13:13:1 yes 2250.0000 1500.0000 1500.0000
142 0 0 14 14:14:14:1 yes 2250.0000 1500.0000 1500.0000
143 0 0 15 15:15:15:1 yes 2250.0000 1500.0000 1500.0000
144 0 0 16 64:64:64:8 yes 2250.0000 1500.0000 1500.0000
145 0 0 17 65:65:65:8 yes 2250.0000 1500.0000 1500.0000
146 0 0 18 66:66:66:8 yes 2250.0000 1500.0000 1500.0000
147 0 0 19 67:67:67:8 yes 2250.0000 1500.0000 1500.0000
148 0 0 20 68:68:68:8 yes 2250.0000 1500.0000 1500.0000
149 0 0 21 69:69:69:8 yes 2250.0000 1500.0000 1500.0000
150 0 0 22 70:70:70:8 yes 2250.0000 1500.0000 1500.0000
151 0 0 23 71:71:71:8 yes 2250.0000 1500.0000 1500.0000
152 0 0 24 72:72:72:9 yes 2250.0000 1500.0000 1500.0000
153 0 0 25 73:73:73:9 yes 2250.0000 1500.0000 1500.0000
154 0 0 26 74:74:74:9 yes 2250.0000 1500.0000 1500.0000
155 0 0 27 75:75:75:9 yes 2250.0000 1500.0000 1500.0000
156 0 0 28 76:76:76:9 yes 2250.0000 1500.0000 1500.0000
157 0 0 29 77:77:77:9 yes 2250.0000 1500.0000 1500.0000
158 0 0 30 78:78:78:9 yes 2250.0000 1500.0000 1500.0000
159 0 0 31 79:79:79:9 yes 2250.0000 1500.0000 1500.0000
160 0 0 32 32:32:32:4 yes 2250.0000 1500.0000 1500.0000
161 0 0 33 33:33:33:4 yes 2250.0000 1500.0000 1500.0000
162 0 0 34 34:34:34:4 yes 2250.0000 1500.0000 1500.0000
163 0 0 35 35:35:35:4 yes 2250.0000 1500.0000 1500.0000
164 0 0 36 36:36:36:4 yes 2250.0000 1500.0000 1500.0000
165 0 0 37 37:37:37:4 yes 2250.0000 1500.0000 1500.0000
166 0 0 38 38:38:38:4 yes 2250.0000 1500.0000 1500.0000
167 0 0 39 39:39:39:4 yes 2250.0000 1500.0000 1500.0000
168 0 0 40 40:40:40:5 yes 2250.0000 1500.0000 1500.0000
169 0 0 41 41:41:41:5 yes 2250.0000 1500.0000 1500.0000
170 0 0 42 42:42:42:5 yes 2250.0000 1500.0000 3095.3730
171 0 0 43 43:43:43:5 yes 2250.0000 1500.0000 1500.0000
172 0 0 44 44:44:44:5 yes 2250.0000 1500.0000 1500.0000
173 0 0 45 45:45:45:5 yes 2250.0000 1500.0000 1500.0000
174 0 0 46 46:46:46:5 yes 2250.0000 1500.0000 1500.0000
175 0 0 47 47:47:47:5 yes 2250.0000 1500.0000 1500.0000
176 0 0 48 96:96:96:12 yes 2250.0000 1500.0000 1500.0000
177 0 0 49 97:97:97:12 yes 2250.0000 1500.0000 1500.0000
178 0 0 50 98:98:98:12 yes 2250.0000 1500.0000 1500.0000
179 0 0 51 99:99:99:12 yes 2250.0000 1500.0000 1500.0000
180 0 0 52 100:100:100:12 yes 2250.0000 1500.0000 1500.0000
181 0 0 53 101:101:101:12 yes 2250.0000 1500.0000 1500.0000
182 0 0 54 102:102:102:12 yes 2250.0000 1500.0000 1500.0000
183 0 0 55 103:103:103:12 yes 2250.0000 1500.0000 1500.0000
184 0 0 56 104:104:104:13 yes 2250.0000 1500.0000 1500.0000
185 0 0 57 105:105:105:13 yes 2250.0000 1500.0000 1500.0000
186 0 0 58 106:106:106:13 yes 2250.0000 1500.0000 1500.0000
187 0 0 59 107:107:107:13 yes 2250.0000 1500.0000 1500.0000
188 0 0 60 108:108:108:13 yes 2250.0000 1500.0000 1500.0000
189 0 0 61 109:109:109:13 yes 2250.0000 1500.0000 1500.0000
190 0 0 62 110:110:110:13 yes 2250.0000 1500.0000 1500.0000
191 0 0 63 111:111:111:13 yes 2250.0000 1500.0000 1500.0000
192 0 0 64 48:48:48:6 yes 2250.0000 1500.0000 1500.0000
193 0 0 65 49:49:49:6 yes 2250.0000 1500.0000 1500.0000
194 0 0 66 50:50:50:6 yes 2250.0000 1500.0000 1500.0000
195 0 0 67 51:51:51:6 yes 2250.0000 1500.0000 1500.0000
196 0 0 68 52:52:52:6 yes 2250.0000 1500.0000 1500.0000
197 0 0 69 53:53:53:6 yes 2250.0000 1500.0000 1500.0000
198 0 0 70 54:54:54:6 yes 2250.0000 1500.0000 1500.0000
199 0 0 71 55:55:55:6 yes 2250.0000 1500.0000 1500.0000
200 0 0 72 56:56:56:7 yes 2250.0000 1500.0000 1500.0000
201 0 0 73 57:57:57:7 yes 2250.0000 1500.0000 1500.0000
202 0 0 74 58:58:58:7 yes 2250.0000 1500.0000 1500.0000
203 0 0 75 59:59:59:7 yes 2250.0000 1500.0000 1500.0000
204 0 0 76 60:60:60:7 yes 2250.0000 1500.0000 1500.0000
205 0 0 77 61:61:61:7 yes 2250.0000 1500.0000 1500.0000
206 0 0 78 62:62:62:7 yes 2250.0000 1500.0000 1500.0000
207 0 0 79 63:63:63:7 yes 2250.0000 1500.0000 1500.0000
208 0 0 80 112:112:112:14 yes 2250.0000 1500.0000 1500.0000
209 0 0 81 113:113:113:14 yes 2250.0000 1500.0000 1500.0000
210 0 0 82 114:114:114:14 yes 2250.0000 1500.0000 1500.0000
211 0 0 83 115:115:115:14 yes 2250.0000 1500.0000 1500.0000
212 0 0 84 116:116:116:14 yes 2250.0000 1500.0000 1500.0000
213 0 0 85 117:117:117:14 yes 2250.0000 1500.0000 1500.0000
214 0 0 86 118:118:118:14 yes 2250.0000 1500.0000 1500.0000
215 0 0 87 119:119:119:14 yes 2250.0000 1500.0000 1500.0000
216 0 0 88 120:120:120:15 yes 2250.0000 1500.0000 2250.0000
217 0 0 89 121:121:121:15 yes 2250.0000 1500.0000 1500.0000
218 0 0 90 122:122:122:15 yes 2250.0000 1500.0000 1500.0000
219 0 0 91 123:123:123:15 yes 2250.0000 1500.0000 1500.0000
220 0 0 92 124:124:124:15 yes 2250.0000 1500.0000 1500.0000
221 0 0 93 125:125:125:15 yes 2250.0000 1500.0000 1500.0000
222 0 0 94 126:126:126:15 yes 2250.0000 1500.0000 1500.0000
223 0 0 95 127:127:127:15 yes 2250.0000 1500.0000 2250.0000
224 0 0 96 16:16:16:2 yes 2250.0000 1500.0000 1500.0000
225 0 0 97 17:17:17:2 yes 2250.0000 1500.0000 1500.0000
226 0 0 98 18:18:18:2 yes 2250.0000 1500.0000 1500.0000
227 0 0 99 19:19:19:2 yes 2250.0000 1500.0000 1500.0000
228 0 0 100 20:20:20:2 yes 2250.0000 1500.0000 1500.0000
229 0 0 101 21:21:21:2 yes 2250.0000 1500.0000 1500.0000
230 0 0 102 22:22:22:2 yes 2250.0000 1500.0000 1500.0000
231 0 0 103 23:23:23:2 yes 2250.0000 1500.0000 1500.0000
232 0 0 104 24:24:24:3 yes 2250.0000 1500.0000 1500.0000
233 0 0 105 25:25:25:3 yes 2250.0000 1500.0000 1500.0000
234 0 0 106 26:26:26:3 yes 2250.0000 1500.0000 1500.0000
235 0 0 107 27:27:27:3 yes 2250.0000 1500.0000 1500.0000
236 0 0 108 28:28:28:3 yes 2250.0000 1500.0000 1500.0000
237 0 0 109 29:29:29:3 yes 2250.0000 1500.0000 1500.0000
238 0 0 110 30:30:30:3 yes 2250.0000 1500.0000 1500.0000
239 0 0 111 31:31:31:3 yes 2250.0000 1500.0000 1500.0000
240 0 0 112 80:80:80:10 yes 2250.0000 1500.0000 1500.0000
241 0 0 113 81:81:81:10 yes 2250.0000 1500.0000 1500.0000
242 0 0 114 82:82:82:10 yes 2250.0000 1500.0000 1500.0000
243 0 0 115 83:83:83:10 yes 2250.0000 1500.0000 1500.0000
244 0 0 116 84:84:84:10 yes 2250.0000 1500.0000 1500.0000
245 0 0 117 85:85:85:10 yes 2250.0000 1500.0000 1500.0000
246 0 0 118 86:86:86:10 yes 2250.0000 1500.0000 1500.0000
247 0 0 119 87:87:87:10 yes 2250.0000 1500.0000 1500.0000
248 0 0 120 88:88:88:11 yes 2250.0000 1500.0000 1500.0000
249 0 0 121 89:89:89:11 yes 2250.0000 1500.0000 1500.0000
250 0 0 122 90:90:90:11 yes 2250.0000 1500.0000 1500.0000
251 0 0 123 91:91:91:11 yes 2250.0000 1500.0000 1500.0000
252 0 0 124 92:92:92:11 yes 2250.0000 1500.0000 1500.0000
253 0 0 125 93:93:93:11 yes 2250.0000 1500.0000 1500.0000
254 0 0 126 94:94:94:11 yes 2250.0000 1500.0000 1500.0000
255 0 0 127 95:95:95:11 yes 2250.0000 1500.0000 1500.0000
Az elso harom oszlop az sima ugy, nem kulonosebben erdekes. Leszamoljuk a magokat 0-255, a NODE csupa 0 (egyetlen NUMA node az egesz proci) es a SOCKET is csupa 0, jah, egyetlen socket-rol beszelunk.
Aprobb erdekesseg, hogy az AMD EPYC procik BIOS-bol tudjak az NPS-t, ami kb 'Nodes Per Socket' azaz hany NUMA node-nak latszodjon egyetlen socket. Ez azert erdekes, mert a linux eroforras-foglalasa eleg ugyesen van megcsinalva, ami azt jelenti, hogy alap esetben probal ugy eroforrasokat foglalni (memoriat, szalat, stb), hogy ne kelljen hozza kereszteznie NUMA hatarokat. Ez igazi tobb socket-es rendszereknel nagyon fontos, mert pl egy feladatot futtatni az egyik foglalaton, mikozben hozza a memoriat a masik foglalaton keresztul foglaljuk, nagyban csokkenti a hatekonysagot. Raadasul pl tuzfalaknal, ahol a szentharomsag a proci-memoria-halokartya, a 'hibas' kombinaciok szama megugrik
legtobb esetben, ha adatot kell mozgatni ket socket kozott, az dragabb, mint socket-en belul. Bonusz ficsor: fizikai dual-socket is beallithato NPS0-nak, amitol egyutt a ket proci is egyetlen NUMA domain-nek latszik. Vagany.
Az AMD a Zen architektura bemutatasaval tobbek kozott azzal guritott nagyot, hogy chiplet-eket alkalmazott (aka CCD - core complex die), amin CCX-ek voltak (akkoriban egy CCD-n ket CCX) es egy CCX 4 magbol allt. Szoval 4-6-8 magos asztali procik siman keszulhettek egyetlen CCD felhasznalasaval, amin van nyolc mag es abbol letiltva egy-ketto lehetoleg egyforman CCX-enkent. Az ennel nagyobb magszamu asztali procik pedig ket CCD felhasznalasaval keszultek. Errol is vannak mindenfele jo cikkek, a PH!-n is, szoval nem reszletezem. A lenyeg az, hogy a CCX-eknek valahogy beszelgetniuk kell egymassal es az nincs ingyen, raadasul CCX-enkent van L3 cache is, ami nem egyszerusiti le a dolgot. A 12-16 magos Ryzen-ekkel megjeleneskor voltak is gondok, mert pl a Windows feladat-utemezoje nem volt meg rendesen felkeszitve ezekre a procikra, szepen szolva tudott 'szuboptimalis' lenni a teljesitmenyuk bizonyos feladatok kozben.
Az alberto1-et mukodteto processzor 128 magos, Zen4-es (aka Bergamo, Zen4c magokkal), amit a servethehome szinten szepen megenekelt, tehat en nem fogom.
A fenti lscpu kimeneteben tehat a 'CORE' oszlop a fizikai magokat jeloli, 0-127, aztan ismetlodik. Azaz az SMT parok pl a 2-es es 130-as mag vagy a 100-as es a 228-as (ezek a hardver szalak avagy logikai processzorok osztoznak ugyanazon a fizikai magon).
Az L3 oszlop lesz az igazan erdekes, mert az mondja meg, hogy melyik magok vannak ugyanazon a CCX-en (osztozkodnak kozos L3 cache-en), tehat 0-7, 8-15 stb, azaz 8 fizikai mag tartozik egy L3$-hez. Vegtelenul leegyszerusitve a dolgot egyetlen socket-be van bezsufolva 16 darab Ryzen 7 7700
(Nyilvan nem, mert korlatozva van a maximalis orajel is es felezve az L3, de kb). Kisebb, pl 96-magos Genoa-kra ez jobban igaz, de ertheto a korlatozas, hiszen 400W a Bergamo, szoval 65W-os procikbol max 6 ferne bele 
Na, csak ezt akartam elmondani.
Szoval az NPS beallitasa tobb esetben is erdekes lehet, peldaul ha jobb izolaciora van szukseg, esetleg egy adott progi nem skalazodik ennyire magasra magszammal. Pl egy NPS4 beallitassal csinalunk 4 darab 32-magos node-ot a procibol, igeny szerint 'sajat' memoria-vezerlovel. Erre az AMD minden verzional kiad egy tuning guide-ot, erdemes rakeresni ("TUNING GUIDE AMD EPYC 9004")
Huteni csak pontosan, szepen...
Specifikacio alapjan ezt a procit lehet konfigolni 320-400W koze, mig a default beallitasa 360W. Ugyanugy siman a BIOS-ban a cTDP-t (es PPT-t adott esetben) kell allitgatni es elszabadulhat a pokol. Van a Silverstone-nak vizhutese hozza, de mellbevago a $400-os ara (na nem az egesz gephez kepest) ahhoz kepest, amennyiert altalaban csendesen es kielegitoen hutom a procijaimat. (Egyszer azert megiscsak lehet lesz egy olyanom, mert a hazba felulre tokeletesen passzolna az a radi... de most volt karacsony, mit mondjak a fonoknek, mire vegye meg?
)
Mar korabban is szemeztem viszont az Arctic Freezer 4U-SP5-tel es egyszercsak vicces $65-os aron sikerult megrendelni. Szoval o kene hutse a processzort es szerintem nem indul eselytelenul ebben a kuzdelemben,tiz heatpipe az tiz heatpipe.
Mikozben kutakodtam huto utan erdekes volt egy-ket hozzaszolast olvasni, hogy 'tok sz@r a huto, nem is fedi le a teljes kupakot'. Igaz, marmint a nemfedile. Ezen azert tanakodtam egy picit. A megoldas viszonylag gyorsan jott, hiszen nagyon frappans otletnek tartottam a Noctua offset mount-jat, ezert bekukucskaltam a kupak ala, es tenyleg: a korabban linkelt cikkben szepen latszik a CCD-k es az IO-die elhelyezkedese:
ezek bizony egy 'csikban' vannak, kb az 1/3-at foglaljak el szelessegben a teljes socket-nek. Sejditettem h az Arctic-nal nem hulyek dolgoznak... 96-magos Genoa is igy nez ki, csak ott a chipletek szama 6-6 az IO-die ket oldalan (egy CCX CCD-nkent, 8 maggal)
(nini, egy kep!
)
Ezek utan mar batran alltam neki a hutes felszerelesenek, azt az aprocska kihivast, miszerint mekkora az 'X' (igen, igen, nagyon jo topik tema lenne a 'kenocs felvitelenek modozatai es formai a hutes hatekonysaganak fenyeben'), tehat unortodox modon a huto talpara aplikaltam a pasztat, nem a procira. Bevalt. Mutatom:
Ezek utan kifejezetten izgalmas volt varni egyetlen memoria modullal es a minimalis tappal (ATX es 2xCPU12V csatival) beroffenteni a vasat elso inditaskor. A jutalom nem is maradt el: "It will take few minutes to boot up" kozolte a Supermicro boot kepernyo, innen kezdve mar egesz jol allunk. Azota kis unszolasra mar felment a linux is (ubuntu szerver 24.03 LTS) es a virtual gepek futtatasahoz szukseges kornyezet.
Az viszont vicces, hogy Windows alatt a cinebench 24 nem indul el. megnezem majd a logokat, nem kizart h ennyi magra nem szamitottak
a 64-magos Zen3-on szepen szaladgal ugyanez.
Tovabbi hutes: a ket 2T-s m.2 SSD kap hamarosan alacsony bordakat (hogy ne zavarjak a PCIe eszkozoket), illetve ugy latszik kell majd fabrikalni valami 'szukitot' a haz elejeben levo 14cm-es ventitol a halokartyakig h kielegito legyen a hutesuk. Igy is kellemes legaramlat van korulottuk, de tartok tole h terheles alatt ez keves lesz.
Ja igen, ha mar ennyire tobzodunk a kepekben: az Arctic hutonek nem szabvany 12-es ventijei vannak, hanem csinaltak egy egybe-keretet nekik, szoval elmeletileg csak ugyanilyenekre lehet cserelni, ha megfaradnak. Viszont keszultem ra, hogy esetleg a ventik lesznek a szuk keresztmetszet es kerestem par borzalmas peldany, amiket jobb hijan kotegelovel, drottal, stb-vel raszerkentek a hutobordara szukseg eseten. Ime:
ezek egyiket sem lehet sem lustasaggal, sem csenddel sem vadolni
Egyelore ugy nez ki nem kell bevetnem oket, ami azt jelenti, hogy tovabbra is lakas-kompatibilis a szerkezet.
Kontent helyett
Nem nagyon tortenik most alberto1-gyel semmi, van par surgos melo, amit be kell fejezni, pedig nagyon csabito lenne. Megjelent kozben valaki, lerakott egy zsak 64GB-s memoriat
de sajnos ddr5-4800-asok, ami ennek a procinak a teteje, de ha valaha is a ***-bol egy Zen5-os proci lesz, akkor viszont korlatoznak a memoria savszelessegemet, amirol pedig szo sem lehet. Es igazibol ez a lenyeg: a Supermicro H13 es H14 sorozat kozott a kulonbseg annyi (legalabbis szamomra), hogy a H13 'csak' 400W-ig tamogat procikat, mig a H14 500W-ig! Es miert kellhet nekunk ilyen alaplap? Na miert? 
Nagyon vicces 256 szalat latni a Win feladatkezelojeben
16x16
Lefutott ket Cinebench is:
cb26: 25425 pont
cb24: 6129 pont
Latszik mennyire mazsola vagyok a windows-hoz: eleinte nem indult egyik cinebench sem. Nem meglepo modon arra gyanakodtam, hogy esetleg nem tud elkezelni ennyi magot (miert ne tudna, a Maxon-os sracok sem ma kezdtek), de vegul redditen megleltem a megoldast: Win 11 Pro N-em van, azaz a media pack nelkuli. Engedelyezni kellett az extra ficsorok kozott a Media Pack-ot, reboot es voila! Mar ment is.
Es a sima CPU Bench-en is csinalt 115016 pontot.
Ugye ez a proci nem igazan fog single-thread meg single-core rekordokat dontogetni, a 3.2 GHz koruli max freki nem erre valo. Azok a programok viszont, amik skalazodnak szepen akar ilyen nagy magszammal is, eleg jol hasitanak. Ez viszont egy orok problema: teljesitmeny szempontjabol mindig is konnyebb keves, de magas orajelu magon futni, mint sok lassabbon, nem mukodik a 'magszam szorozva orajellel' matematika
logikus: az feladatok szetosztasanak, szinkronizalasnak, adatmegosztasnak boven van overhead-je, szoval nagyon sok progi meg ma is boldogabb lenne egyetlen 24GHz-es maggal, mint 8 db 3GHz-essel. Viszont 8 darab 3GHz-eset konnyebb talalni...
Upgrade. Igen, maris.
"JOOOVOOOOOOK!" - uvoltotte a Jezuska es ramrugta az ajtot. Hat jah, nekem iden ilyen a Karacsony.
Ugy ertem megerkezett a haromcsillag, egy EPYC 9965 ES szemelyeben (DVT proci, szoval ez mar a vegleges specifikaciokkal jon).
Kuldtem egy riportot Fiery-nek, leallitottam alberto1-et, kiszedtem a halokartyakat, hogy ne zavarjanak a szerelesben es elkezdtem leszedni a hutobordat.
Elegedett voltam a hutopaszta nyomaval, ugy gondolom, hogy egesz hatekonyan terult el. Mondom ezt ugy, mintha ertenek hozza, pedig nem 

ilyesmi - szoval a korabbi oldalon reszletezett chiplet-elrendezest jo esellyel pont betakarja. Ami miatt viszont mar most muszaj elgondolkodni mas hutesen, az az, hogy a Turin belul kicsit jobban elterul...
Beraktam a socket-be az uj procit, meghuztam a varazslatos AMD-s nyomatekkulccsal (nem viccelek, lesz kep
) osszekenocsoltem megint a huto talpat, viszonylag rutinosan visszacsavaroztam a foglalatra, visszapattintottam a ventiket es izgultam mint a franc. Nem is tudom mar hany gepet raktam ossze, de valahogy az elso inditas, vagy procicsere utani inditas mindig izgalmas. Na ez a draga aranyos edes Supermicro pedig egy kicsit sem konnyiti meg a dolgomat, mivel osszessegeben 12 percen keresztul neztem vagy az ures kepernyot, vagy azt, hogy 'It will take few minutes to boot up...' vagy a BIOS POST kodokat. Bar amikor mar a POST kodok ugralnak, azert az mar megkonnyebbules, az azt jelenti, hogy legalabb megprobal feltapaszkodni a rendszer. Csakhogy ez meg ujra is indulgatott kozben ketszer. Ertheto, de idegolo. A Turin ugyesen mar 5600-on hajtja a memoriakat (ugye a Bergamo 'csak' 4800-on), amikor mar ezt is kiirta a BIOS, ugy ereztem gyoztunk 
Vegre siker, Windows bejelentkezesi kepernyo. Es belefutok olyan problemakba, amikbe valoszinuleg kevesen. Inditom az AIDA64 Extreme Edition demo valtozatot es kozli, hogy o 'csak' 256 magig jo
- ami maximalisan ertheto - szerezzek Biznisz vagy Engineer valtozatot. Ingyengyorsan lehet kerni demo valtozatot az AIDA64 honlapon, mar meg is jott a mail a linkkel, de kozben szombat este lett, szoval ez majd egy uj fejezet lesz itt.
Csocsaljuk kicsit meg ezt is: 192 darab processzormag, egyetlen tokban. Mind SMT-kepes, szoval osszessegeben 384 szal. Zen5c magok, tehat felezett L3 cache van magonkent - vagy ha ugy tetszik, ketszer annyi fizikai mag osztozkodik ugyanannyi L3 cache-en, mint a sima Zen5 eseten. Marpedig ez fontos. Mindjart kifejtem, csak elobb beszurok megegy kepet az STH-tol:
Szoval, amikor az ember azt hallja, hogy 'jajj jajj, csoffadt Zen5c magok, gyengek, hasznalhatatlanok, keszatveres!' akkor egy picit meg kell allni es atgondolni, mi is a kulonbseg, elonyok, hatranyok. Alapvetoen a karogoknak igaza van, mert hibrid procik eseten, ahol Zen5 es Zen5c magok is vannak, a dense magok (Zen5c) orajele nincs ugyanolyan magasra engedve, mint a Zen5-e, tehat eleve hatranyban vannak. Es akkor meg ahhoz jon a felezett cache.
Na ez a Turin-ra nem teljesen igy igaz. 3nm-en keszitett magokrol beszelunk, tehat a Bergamo-hoz kepest (Zen4c) csokkent a csikszelesseg, ami ugy latszik jotekony hatassal volt a maximalis elerheto orajelre. Szoval amig a 128 Zen4c mag 'csak' 3.1GHz-ig kuszott fel es csak a sima Zen4 magoknak engedtek 3.75GHz-et (vagy akar 4.3-at is, de az F-es procik kulon allatfaj, pl 32 mag, 320W-os TDP-vel), addig a Turin 192 maggal es 500W-os TDP-vel, megenged 3.7GHz-et! (ez borzalmasan hosszu mondat lett)
Persze elobb beveri a proci a fejet az 500W-os limitbe, mint hogy minden magot terhelve elerhesse a 3.7GHz-et, de pl a magok 2/3-at (csupan 128-at
) terhelve - es ez is fugg a terheles mikentjetol - ugy latszik tudja tartani azt a frekit. Ami eleg impozans, meg ha messze is van pl egy asztali 5.4GHz-tol (vagy az F-es procik 4.8, illetve 5GHz-etol).
A masik erdekessege, hogy tud igazi AVX512-t, meg ha a korabbi AVX512 implementacio is nagyon hatekony volt, ket db 256-bitesbol osszerakva. Es amig az Intel prociknal AVX512-vel beszakad a freki (bar egyre kevesbe talan), addig AMD-nel nem.
Szamomra van egy elonye is a Zen5c-nek a Zen5-tel szemben: azokban az esetekben, amikor egy feladat ugy van sok szalra es/vagy sok magra szetszorva, hogy osztozkodniuk kell adatokon, akkor az osztozkodas egyszeruen olcsobb lesz megfeleloen pinelt 16 mag kozott, mint Zen5-on, mert nem kell CCX-ek kozott adatot megosztani. Ha pedig az egesz procin egyetlen tuzfalat akarok futtatni, ez meg jol johet.
Gondoltam osszehasonlitaskeppen lefuttatom ezen is a CB24 es CB26 benchmarkokat. Ezzel szemben a benchmarkok ugy gondoltak, hogy ok is csak 128 magosnak ismerik fel a procit (es 384 szalasnak, fene sem erti), szoval nem is hasznaljak ki az osszes magot, jol latszik a feladatkezeloben. Szoval nem egy sikersztori 192 magot teljesitmeny-tesztelni vindozon egyelore 
Es, hogy miert hivhatjuk upgrade-nek:
AIDA64 Extreme v7.70.7500 TRIAL vs AIDA64 Engineer v8.20.8100 (tehat megint nem korrekt az osszehasonlitas!)
12 csatorna, ddr5-4800 (AIDA szerint 4644MHz-en jarnak) -> ddr5-5600
idozitesek: 40-39-39-77 CR1 -> 46-45-45-90 CR1
Memoria olvasas: 337739 MB/s -> 470022 MB/s +40%
Memoria iras: 356811 MB/s -> 440454 MB/s +23%
Memoria masolas: 340522 MB/s -> 429370 MB/s +26%
Memoria kesleltetes: 118.6 ns -> 122.3 ns -3%
ugy, hogy papiron a ddr5-5600 'csak' 16.6%-kal gyorsabb, mint a ddr5-4800.
De ami szamomra megdobbento volt, az par eredmeny:
CPU CheckMate: 131542 MP/s
CPU PhotoWorxx: 329174 MPixel/s
CPU ZLib: 17915.9 MB/s
CPU AES: 5280959 MB/s (wut?!)
CPU SHA3: 81872 MB/s
FPU Julia: 2625771
FPU Mandel: 1395271
FPU SinJulia: 284170
FP32 Ray-Trace: 498359 KRay/s
FP64 Ray-Trace: 260126 KRay/s
Ezek az ertekek elegge abnormalisan magasak
Igaz, hogy nehol csupan pl 4x egy 32-magos Threadripper Pro 7975WX-hez kepest, vagy csupan 6x egy 16-magos Ryzen9 9950X-hez kepest, de na. Elegedett vagyok
A CPU AES pl 7.35x a Threadripper Pro 7975WX-hez kepest
Ezt nyugodtan irhatjuk a Zen4->Zen5 upgrade szamlajara.
'Az DAC-okrul'
Hat jah, kicsit beverodott ez a Balassi dolog nalam. Ez a DAC nem a Digital/Analog Konverter lesz.
Halokartyak idetlen idok ota azert vannak, hogy osszekossenek gepeket igy vagy ugy. En eloszor koaxos halot lattam (Tolkien-ring
) amirol ma mar csak annyit kell tudni, hogy nem szabad lefelejteni az utolsorol a kupakot. Jott aztan az ethernet (most a modemeket nem szamoljuk bele, de fantasztikus elmeny volt 33600 Baud-on (bit per second) mp3-akat letolteni. Aztan volt 10Mbit, 100Mbit, 1Gbit, 10G, 25G, 40G, 100G, 200G, 400G... mindig kell megtobb. 10Mbit es 10Gbit kozotti tartomanyban meg egeszen jol elmuzsikalnak a sima ethernet kabelek, RJ45 csatival a vegukon. Azonban mar gigabit eseten is megjelentek az SFP csatlakozok, amikbe optikai szalat kell beledugni (uveget, azt) vagy RJ45-ot fogadnak, kulonbozo megkotesekkel.
Eeeeeees vegre elerkeztunk a DAC-hoz. Direct Attach Copper. Magyaran rezdrot, de nem akarhogy.
Nyilvan uveg eseten feny viszi az adatot, rez eseten pedig aram. Ez pedig fontos kulonbseg lesz a melegedes es fogyasztas szempontjabol is, mert a halokartya oldalan feszultsegbol villogast csinalni eleg gyorsan kemeny melo, szoval extra par wattocska, cserebe uvegen sokkal messzebbre tud utazni jelismetlok/erositok nelkul az adat. Ne legyenek illuzioink, optikai jelet is lehet (adott esetben kell is) erositeni 
Inkabb lopok ide is egy abrat:
Van tehat SFP (1G) SFP+ (10G), SFP28 (25G), QSFP (40G) es igy tovabb, es igy tovabb.
A jelolesben vagy egy erdekesseg, a 'Q', ami a quad-ot jelenti. Nem a berregos hegyremenost, hanem a 4-es szamot. Ami azert fontos, mert a 40G az gyakorlatilag 4 db 10G-s csatorna osszefogva, amiben az a kiralysag, hogy leteznek break-out kabelek (optikaiak is!) ahol az egyik oldalon egy 40G-s QSFP csati van, a masik oldalon pedig 4 db 10G-s SFP+. Ezzel egy csomo varialasi lehetoseg adodik. Sot, ugyanez igaz a 100G-re is, ami 4db 25G, tehat olyan break-out kabel is van, egyik vege 100G-s QSFP28, masik vege 4 db SFP28. Persze ehhez ugy is kell konfiguralni a halokartyat, ami kulon melo, nem automatikus.

Altalanossagban elmondhato, hogy mar a 10G-s switchek is eleg dragak, de 100G-re gondolni sem lehet, 400G meg csak az arab sejkek garazsaban van. Szoval nalam tipikusan kozvetlenul vannak osszekotve a gepek, pl ket gep altalaban ket porton nezi egymast (regebben 2x10G-n keresztul, aztan 2x40, manapsag meg 2x100G). Ha valamiert muszaj tobb gepet csinalni, akkor kell megtobb port (kiveve, ha jo haromszogbe kotve egy-egy porton keresztul), de nem ritka negy gep sem
az azert mar tud kaoszt csinalni. Egeszen hangyanyit csokkent a kaoszon, ha egydobozos homelab-ja van az embernek, mert ilyenkor egyetlen gepbe kerul tobb halokartya, egeszen rovid DAC-okkal, amik olcsobbak is es kevesebb helyet is foglalnak.
A DAC-ok nyilvanvalo elonye az aruk, mivel a jo minosegu - es sokmindenkivel kompatibilis! - uveghez valo QSFP28-ak pl kb $100-tol kezdodnek, de vannak sokkal dragabban is, raadasul par evvel ezelott meg horrorisztikusabb volt az aruk. Je, vegre valaminek lefele ment! 
Ne aggodjunk, a 400Gbps-es DD-k kozott ma meg (igy 2026 legelejen) van $1600-os is. Darabja. Ezzel szemben en pl ebay-en bontatlan 2m-es 200G-s QSFP56-os DAC-ot vettem $15-ert.
A DAC-ok nyilvanvalo hatranya pedig egyreszt az athidalhato tavolsag, mar 3m is hosszabb, mint az atlag, de 5m aztan vegkepp nem tipikus. Masik hatrany pedig a helyigenyuk, ami elsore hulyen hangzik, de el lehet kepzelni, hogy ahol elfer pl 20 db optikai kabel, ott DAC-bol talan 4-5. Az igazan hosszuakkal pedig kifejezetten nehez dolgozni, mert merevek es nehezek. Nagyon megterhel(het)ik a halokartyat is mechanikusan, ha nincs a kabel megfeleloen alatamasztva, masreszt ahhoz is sok hely kell, hogy egyaltalan visszakanyarodjon egy ilyen. Ennyire merev pl az altalam hasznalt 5m-es 100G-s, hogy kis ugyeskedessel egeszen hosszu darab is megall fuggolegesen:
Ezert nagyon ovatosan kell banni a DAC-okkal, foleg amikor optikai kabelekkel vegyesen vannak, mert egy nehez es merev DAC elvezetesekor rack-szekrenyben nem igazan lehet erezni, hogy beakad-e pl egy optikai kabelbe, amivel azt akar tonkre is lehet tenni. (Ha megtorik az optikai kabel, reszeltek a 'messzire viszi a fenyt' kepessegnek).
Igy alberto1-ben a ket darab 2x100G-s halokartyat ket egeszen rovid DAC-cal tudom szembekotni (es megsem lesz kivegzes
), hogy a mar korabban emlitett konfigban fussanak: egyik halokartya egyik portjat megkapja a kliens VM ami generalja a lekerdezeseket, onnan a masik halokartya egyik portjan be, azt atnezi a tuzfal, masik portjan ki, es a korabbi halokartya masik portjan ucsorog a szerver VM, aki kiszolgalja a kerest. Ugyanezen a porton vissza a tuzfalhoz, abba megint belenez a tuzfal majd a valasz visszaer a kliens-hez. Ennyi.
Az 'egydobozos' az annyiban santit majd neha, hogy pl a kliens/szerver altal generalando forgalom es a tuzfal VM osztozkodik az egyetlen procin, akkor elofordul(hat), hogy hatassal vannak egymasra (veszekednek az eroforrasokert). Ezt a legkonnyebb ugy ellenorizni, hogy osszehasonlitjuk kivulrol meghajtva az eredmenyeket (szoval egy masik gepen fut a kliens/szerver VM) es ha ugyesen osztottuk a magokat es a hugepage-eket, akkor kevesse piszkaljak egymast. 192 magon azert biztosan talalok olyan felallast, ahol elhanyagolhato ez a jelenseg 
Tehat mar van egy gepunk sok-sok maggal es elegendo memoriaval, ket halokartyank es ossze is tudjuk a portokat kotni. Eddig jo.
Magok mindenhol 2
A korabbi 128-magos Zen4c-rol volt lscpu, legyen hat az EPYC 9965 Zen5c-rol is:
CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE MAXMHZ MINMHZ MHZ
0 0 0 0 0:0:0:0 yes 2250.0000 1500.0000 1500.0000
1 0 0 1 1:1:1:0 yes 2250.0000 1500.0000 1500.0000
2 0 0 2 2:2:2:0 yes 2250.0000 1500.0000 1500.0000
3 0 0 3 3:3:3:0 yes 2250.0000 1500.0000 1500.0000
4 0 0 4 4:4:4:0 yes 2250.0000 1500.0000 1500.0000
5 0 0 5 5:5:5:0 yes 2250.0000 1500.0000 1500.0000
6 0 0 6 6:6:6:0 yes 2250.0000 1500.0000 1500.0000
7 0 0 7 7:7:7:0 yes 2250.0000 1500.0000 1500.0000
8 0 0 8 8:8:8:0 yes 2250.0000 1500.0000 1500.0000
9 0 0 9 9:9:9:0 yes 2250.0000 1500.0000 1500.0000
10 0 0 10 10:10:10:0 yes 2250.0000 1500.0000 1500.0000
11 0 0 11 11:11:11:0 yes 2250.0000 1500.0000 1500.0000
12 0 0 12 12:12:12:0 yes 2250.0000 1500.0000 1500.0000
13 0 0 13 13:13:13:0 yes 2250.0000 1500.0000 1500.0000
14 0 0 14 14:14:14:0 yes 2250.0000 1500.0000 1500.0000
15 0 0 15 15:15:15:0 yes 2250.0000 1500.0000 1500.0000
16 0 0 16 64:64:64:4 yes 2250.0000 1500.0000 1500.0000
17 0 0 17 65:65:65:4 yes 2250.0000 1500.0000 1500.0000
18 0 0 18 66:66:66:4 yes 2250.0000 1500.0000 1500.0000
19 0 0 19 67:67:67:4 yes 2250.0000 1500.0000 1500.0000
20 0 0 20 68:68:68:4 yes 2250.0000 1500.0000 1500.0000
21 0 0 21 69:69:69:4 yes 2250.0000 1500.0000 1500.0000
22 0 0 22 70:70:70:4 yes 2250.0000 1500.0000 1500.0000
23 0 0 23 71:71:71:4 yes 2250.0000 1500.0000 1500.0000
24 0 0 24 72:72:72:4 yes 2250.0000 1500.0000 1500.0000
25 0 0 25 73:73:73:4 yes 2250.0000 1500.0000 1500.0000
26 0 0 26 74:74:74:4 yes 2250.0000 1500.0000 1500.0000
27 0 0 27 75:75:75:4 yes 2250.0000 1500.0000 1500.0000
28 0 0 28 76:76:76:4 yes 2250.0000 1500.0000 1500.0000
29 0 0 29 77:77:77:4 yes 2250.0000 1500.0000 1500.0000
30 0 0 30 78:78:78:4 yes 2250.0000 1500.0000 1500.0000
31 0 0 31 79:79:79:4 yes 2250.0000 1500.0000 1500.0000
32 0 0 32 128:128:128:8 yes 2250.0000 1500.0000 1500.0000
33 0 0 33 129:129:129:8 yes 2250.0000 1500.0000 1500.0000
34 0 0 34 130:130:130:8 yes 2250.0000 1500.0000 1500.0000
35 0 0 35 131:131:131:8 yes 2250.0000 1500.0000 1500.0000
36 0 0 36 132:132:132:8 yes 2250.0000 1500.0000 1500.0000
37 0 0 37 133:133:133:8 yes 2250.0000 1500.0000 1500.0000
38 0 0 38 134:134:134:8 yes 2250.0000 1500.0000 1500.0000
39 0 0 39 135:135:135:8 yes 2250.0000 1500.0000 1500.0000
40 0 0 40 136:136:136:8 yes 2250.0000 1500.0000 1500.0000
41 0 0 41 137:137:137:8 yes 2250.0000 1500.0000 1500.0000
42 0 0 42 138:138:138:8 yes 2250.0000 1500.0000 1500.0000
43 0 0 43 139:139:139:8 yes 2250.0000 1500.0000 1500.0000
44 0 0 44 140:140:140:8 yes 2250.0000 1500.0000 1500.0000
45 0 0 45 141:141:141:8 yes 2250.0000 1500.0000 1500.0000
46 0 0 46 142:142:142:8 yes 2250.0000 1500.0000 1500.0000
47 0 0 47 143:143:143:8 yes 2250.0000 1500.0000 1500.0000
48 0 0 48 32:32:32:2 yes 2250.0000 1500.0000 1500.0000
49 0 0 49 33:33:33:2 yes 2250.0000 1500.0000 1500.0000
50 0 0 50 34:34:34:2 yes 2250.0000 1500.0000 1500.0000
51 0 0 51 35:35:35:2 yes 2250.0000 1500.0000 1500.0000
52 0 0 52 36:36:36:2 yes 2250.0000 1500.0000 1500.0000
53 0 0 53 37:37:37:2 yes 2250.0000 1500.0000 1500.0000
54 0 0 54 38:38:38:2 yes 2250.0000 1500.0000 1500.0000
55 0 0 55 39:39:39:2 yes 2250.0000 1500.0000 1500.0000
56 0 0 56 40:40:40:2 yes 2250.0000 1500.0000 1500.0000
57 0 0 57 41:41:41:2 yes 2250.0000 1500.0000 1500.0000
58 0 0 58 42:42:42:2 yes 2250.0000 1500.0000 1500.0000
59 0 0 59 43:43:43:2 yes 2250.0000 1500.0000 1500.0000
60 0 0 60 44:44:44:2 yes 2250.0000 1500.0000 1500.0000
61 0 0 61 45:45:45:2 yes 2250.0000 1500.0000 1500.0000
62 0 0 62 46:46:46:2 yes 2250.0000 1500.0000 1500.0000
63 0 0 63 47:47:47:2 yes 2250.0000 1500.0000 1500.0000
64 0 0 64 96:96:96:6 yes 2250.0000 1500.0000 1500.0000
65 0 0 65 97:97:97:6 yes 2250.0000 1500.0000 1500.0000
66 0 0 66 98:98:98:6 yes 2250.0000 1500.0000 1500.0000
67 0 0 67 99:99:99:6 yes 2250.0000 1500.0000 1500.0000
68 0 0 68 100:100:100:6 yes 2250.0000 1500.0000 1500.0000
69 0 0 69 101:101:101:6 yes 2250.0000 1500.0000 1500.0000
70 0 0 70 102:102:102:6 yes 2250.0000 1500.0000 1500.0000
71 0 0 71 103:103:103:6 yes 2250.0000 1500.0000 1500.0000
72 0 0 72 104:104:104:6 yes 2250.0000 1500.0000 1500.0000
73 0 0 73 105:105:105:6 yes 2250.0000 1500.0000 1500.0000
74 0 0 74 106:106:106:6 yes 2250.0000 1500.0000 1500.0000
75 0 0 75 107:107:107:6 yes 2250.0000 1500.0000 1500.0000
76 0 0 76 108:108:108:6 yes 2250.0000 1500.0000 1500.0000
77 0 0 77 109:109:109:6 yes 2250.0000 1500.0000 1500.0000
78 0 0 78 110:110:110:6 yes 2250.0000 1500.0000 1500.0000
79 0 0 79 111:111:111:6 yes 2250.0000 1500.0000 1500.0000
80 0 0 80 160:160:160:10 yes 2250.0000 1500.0000 2250.0000
81 0 0 81 161:161:161:10 yes 2250.0000 1500.0000 1500.0000
82 0 0 82 162:162:162:10 yes 2250.0000 1500.0000 1500.0000
83 0 0 83 163:163:163:10 yes 2250.0000 1500.0000 1500.0000
84 0 0 84 164:164:164:10 yes 2250.0000 1500.0000 1500.0000
85 0 0 85 165:165:165:10 yes 2250.0000 1500.0000 1500.0000
86 0 0 86 166:166:166:10 yes 2250.0000 1500.0000 1500.0000
87 0 0 87 167:167:167:10 yes 2250.0000 1500.0000 1500.0000
88 0 0 88 168:168:168:10 yes 2250.0000 1500.0000 1500.0000
89 0 0 89 169:169:169:10 yes 2250.0000 1500.0000 1500.0000
90 0 0 90 170:170:170:10 yes 2250.0000 1500.0000 1500.0000
91 0 0 91 171:171:171:10 yes 2250.0000 1500.0000 1500.0000
92 0 0 92 172:172:172:10 yes 2250.0000 1500.0000 1500.0000
93 0 0 93 173:173:173:10 yes 2250.0000 1500.0000 1500.0000
94 0 0 94 174:174:174:10 yes 2250.0000 1500.0000 1500.0000
95 0 0 95 175:175:175:10 yes 2250.0000 1500.0000 1500.0000
96 0 0 96 48:48:48:3 yes 2250.0000 1500.0000 1500.0000
97 0 0 97 49:49:49:3 yes 2250.0000 1500.0000 1500.0000
98 0 0 98 50:50:50:3 yes 2250.0000 1500.0000 1500.0000
99 0 0 99 51:51:51:3 yes 2250.0000 1500.0000 1500.0000
100 0 0 100 52:52:52:3 yes 2250.0000 1500.0000 1500.0000
101 0 0 101 53:53:53:3 yes 2250.0000 1500.0000 1500.0000
102 0 0 102 54:54:54:3 yes 2250.0000 1500.0000 1500.0000
103 0 0 103 55:55:55:3 yes 2250.0000 1500.0000 1500.0000
104 0 0 104 56:56:56:3 yes 2250.0000 1500.0000 1500.0000
105 0 0 105 57:57:57:3 yes 2250.0000 1500.0000 1500.0000
106 0 0 106 58:58:58:3 yes 2250.0000 1500.0000 1500.0000
107 0 0 107 59:59:59:3 yes 2250.0000 1500.0000 1500.0000
108 0 0 108 60:60:60:3 yes 2250.0000 1500.0000 1500.0000
109 0 0 109 61:61:61:3 yes 2250.0000 1500.0000 1500.0000
110 0 0 110 62:62:62:3 yes 2250.0000 1500.0000 1500.0000
111 0 0 111 63:63:63:3 yes 2250.0000 1500.0000 1500.0000
112 0 0 112 112:112:112:7 yes 2250.0000 1500.0000 1500.0000
113 0 0 113 113:113:113:7 yes 2250.0000 1500.0000 1500.0000
114 0 0 114 114:114:114:7 yes 2250.0000 1500.0000 1500.0000
115 0 0 115 115:115:115:7 yes 2250.0000 1500.0000 1500.0000
116 0 0 116 116:116:116:7 yes 2250.0000 1500.0000 1500.0000
117 0 0 117 117:117:117:7 yes 2250.0000 1500.0000 1500.0000
118 0 0 118 118:118:118:7 yes 2250.0000 1500.0000 1500.0000
119 0 0 119 119:119:119:7 yes 2250.0000 1500.0000 1500.0000
120 0 0 120 120:120:120:7 yes 2250.0000 1500.0000 1500.0000
121 0 0 121 121:121:121:7 yes 2250.0000 1500.0000 1500.0000
122 0 0 122 122:122:122:7 yes 2250.0000 1500.0000 1500.0000
123 0 0 123 123:123:123:7 yes 2250.0000 1500.0000 1500.0000
124 0 0 124 124:124:124:7 yes 2250.0000 1500.0000 1500.0000
125 0 0 125 125:125:125:7 yes 2250.0000 1500.0000 1500.0000
126 0 0 126 126:126:126:7 yes 2250.0000 1500.0000 1500.0000
127 0 0 127 127:127:127:7 yes 2250.0000 1500.0000 1500.0000
128 0 0 128 176:176:176:11 yes 2250.0000 1500.0000 1500.0000
129 0 0 129 177:177:177:11 yes 2250.0000 1500.0000 1500.0000
130 0 0 130 178:178:178:11 yes 2250.0000 1500.0000 1500.0000
131 0 0 131 179:179:179:11 yes 2250.0000 1500.0000 1500.0000
132 0 0 132 180:180:180:11 yes 2250.0000 1500.0000 1500.0000
133 0 0 133 181:181:181:11 yes 2250.0000 1500.0000 1500.0000
134 0 0 134 182:182:182:11 yes 2250.0000 1500.0000 1500.0000
135 0 0 135 183:183:183:11 yes 2250.0000 1500.0000 1500.0000
136 0 0 136 184:184:184:11 yes 2250.0000 1500.0000 1500.0000
137 0 0 137 185:185:185:11 yes 2250.0000 1500.0000 1500.0000
138 0 0 138 186:186:186:11 yes 2250.0000 1500.0000 1500.0000
139 0 0 139 187:187:187:11 yes 2250.0000 1500.0000 1500.0000
140 0 0 140 188:188:188:11 yes 2250.0000 1500.0000 1500.0000
141 0 0 141 189:189:189:11 yes 2250.0000 1500.0000 1500.0000
142 0 0 142 190:190:190:11 yes 2250.0000 1500.0000 1500.0000
143 0 0 143 191:191:191:11 yes 2250.0000 1500.0000 1500.0000
144 0 0 144 16:16:16:1 yes 2250.0000 1500.0000 1500.0000
145 0 0 145 17:17:17:1 yes 2250.0000 1500.0000 1500.0000
146 0 0 146 18:18:18:1 yes 2250.0000 1500.0000 1500.0000
147 0 0 147 19:19:19:1 yes 2250.0000 1500.0000 1500.0000
148 0 0 148 20:20:20:1 yes 2250.0000 1500.0000 1500.0000
149 0 0 149 21:21:21:1 yes 2250.0000 1500.0000 1500.0000
150 0 0 150 22:22:22:1 yes 2250.0000 1500.0000 1500.0000
151 0 0 151 23:23:23:1 yes 2250.0000 1500.0000 1500.0000
152 0 0 152 24:24:24:1 yes 2250.0000 1500.0000 1500.0000
153 0 0 153 25:25:25:1 yes 2250.0000 1500.0000 1500.0000
154 0 0 154 26:26:26:1 yes 2250.0000 1500.0000 1500.0000
155 0 0 155 27:27:27:1 yes 2250.0000 1500.0000 1500.0000
156 0 0 156 28:28:28:1 yes 2250.0000 1500.0000 1500.0000
157 0 0 157 29:29:29:1 yes 2250.0000 1500.0000 1500.0000
158 0 0 158 30:30:30:1 yes 2250.0000 1500.0000 1500.0000
159 0 0 159 31:31:31:1 yes 2250.0000 1500.0000 1500.0000
160 0 0 160 80:80:80:5 yes 2250.0000 1500.0000 1500.0000
161 0 0 161 81:81:81:5 yes 2250.0000 1500.0000 1500.0000
162 0 0 162 82:82:82:5 yes 2250.0000 1500.0000 1500.0000
163 0 0 163 83:83:83:5 yes 2250.0000 1500.0000 1500.0000
164 0 0 164 84:84:84:5 yes 2250.0000 1500.0000 1500.0000
165 0 0 165 85:85:85:5 yes 2250.0000 1500.0000 1500.0000
166 0 0 166 86:86:86:5 yes 2250.0000 1500.0000 1500.0000
167 0 0 167 87:87:87:5 yes 2250.0000 1500.0000 1500.0000
168 0 0 168 88:88:88:5 yes 2250.0000 1500.0000 1500.0000
169 0 0 169 89:89:89:5 yes 2250.0000 1500.0000 1500.0000
170 0 0 170 90:90:90:5 yes 2250.0000 1500.0000 1500.0000
171 0 0 171 91:91:91:5 yes 2250.0000 1500.0000 1500.0000
172 0 0 172 92:92:92:5 yes 2250.0000 1500.0000 1500.0000
173 0 0 173 93:93:93:5 yes 2250.0000 1500.0000 1500.0000
174 0 0 174 94:94:94:5 yes 2250.0000 1500.0000 1500.0000
175 0 0 175 95:95:95:5 yes 2250.0000 1500.0000 1500.0000
176 0 0 176 144:144:144:9 yes 2250.0000 1500.0000 1500.0000
177 0 0 177 145:145:145:9 yes 2250.0000 1500.0000 1500.0000
178 0 0 178 146:146:146:9 yes 2250.0000 1500.0000 1500.0000
179 0 0 179 147:147:147:9 yes 2250.0000 1500.0000 1500.0000
180 0 0 180 148:148:148:9 yes 2250.0000 1500.0000 1500.0000
181 0 0 181 149:149:149:9 yes 2250.0000 1500.0000 1500.0000
182 0 0 182 150:150:150:9 yes 2250.0000 1500.0000 1500.0000
183 0 0 183 151:151:151:9 yes 2250.0000 1500.0000 1500.0000
184 0 0 184 152:152:152:9 yes 2250.0000 1500.0000 1500.0000
185 0 0 185 153:153:153:9 yes 2250.0000 1500.0000 1500.0000
186 0 0 186 154:154:154:9 yes 2250.0000 1500.0000 1500.0000
187 0 0 187 155:155:155:9 yes 2250.0000 1500.0000 1500.0000
188 0 0 188 156:156:156:9 yes 2250.0000 1500.0000 1500.0000
189 0 0 189 157:157:157:9 yes 2250.0000 1500.0000 1500.0000
190 0 0 190 158:158:158:9 yes 2250.0000 1500.0000 1500.0000
191 0 0 191 159:159:159:9 yes 2250.0000 1500.0000 1500.0000
192 0 0 0 0:0:0:0 yes 2250.0000 1500.0000 1500.0000
193 0 0 1 1:1:1:0 yes 2250.0000 1500.0000 1500.0000
194 0 0 2 2:2:2:0 yes 2250.0000 1500.0000 1500.0000
195 0 0 3 3:3:3:0 yes 2250.0000 1500.0000 1500.0000
196 0 0 4 4:4:4:0 yes 2250.0000 1500.0000 1500.0000
197 0 0 5 5:5:5:0 yes 2250.0000 1500.0000 1500.0000
198 0 0 6 6:6:6:0 yes 2250.0000 1500.0000 1500.0000
199 0 0 7 7:7:7:0 yes 2250.0000 1500.0000 1500.0000
200 0 0 8 8:8:8:0 yes 2250.0000 1500.0000 1500.0000
201 0 0 9 9:9:9:0 yes 2250.0000 1500.0000 1500.0000
202 0 0 10 10:10:10:0 yes 2250.0000 1500.0000 1500.0000
203 0 0 11 11:11:11:0 yes 2250.0000 1500.0000 1500.0000
204 0 0 12 12:12:12:0 yes 2250.0000 1500.0000 1500.0000
205 0 0 13 13:13:13:0 yes 2250.0000 1500.0000 1500.0000
206 0 0 14 14:14:14:0 yes 2250.0000 1500.0000 1500.0000
207 0 0 15 15:15:15:0 yes 2250.0000 1500.0000 1500.0000
208 0 0 16 64:64:64:4 yes 2250.0000 1500.0000 1500.0000
209 0 0 17 65:65:65:4 yes 2250.0000 1500.0000 1500.0000
210 0 0 18 66:66:66:4 yes 2250.0000 1500.0000 1500.0000
211 0 0 19 67:67:67:4 yes 2250.0000 1500.0000 1500.0000
212 0 0 20 68:68:68:4 yes 2250.0000 1500.0000 1500.0000
213 0 0 21 69:69:69:4 yes 2250.0000 1500.0000 1500.0000
214 0 0 22 70:70:70:4 yes 2250.0000 1500.0000 1500.0000
215 0 0 23 71:71:71:4 yes 2250.0000 1500.0000 1500.0000
216 0 0 24 72:72:72:4 yes 2250.0000 1500.0000 1500.0000
217 0 0 25 73:73:73:4 yes 2250.0000 1500.0000 1500.0000
218 0 0 26 74:74:74:4 yes 2250.0000 1500.0000 1500.0000
219 0 0 27 75:75:75:4 yes 2250.0000 1500.0000 1500.0000
220 0 0 28 76:76:76:4 yes 2250.0000 1500.0000 1500.0000
221 0 0 29 77:77:77:4 yes 2250.0000 1500.0000 1500.0000
222 0 0 30 78:78:78:4 yes 2250.0000 1500.0000 1500.0000
223 0 0 31 79:79:79:4 yes 2250.0000 1500.0000 1500.0000
224 0 0 32 128:128:128:8 yes 2250.0000 1500.0000 1500.0000
225 0 0 33 129:129:129:8 yes 2250.0000 1500.0000 1500.0000
226 0 0 34 130:130:130:8 yes 2250.0000 1500.0000 1500.0000
227 0 0 35 131:131:131:8 yes 2250.0000 1500.0000 1500.0000
228 0 0 36 132:132:132:8 yes 2250.0000 1500.0000 1500.0000
229 0 0 37 133:133:133:8 yes 2250.0000 1500.0000 1500.0000
230 0 0 38 134:134:134:8 yes 2250.0000 1500.0000 1500.0000
231 0 0 39 135:135:135:8 yes 2250.0000 1500.0000 1500.0000
232 0 0 40 136:136:136:8 yes 2250.0000 1500.0000 1500.0000
233 0 0 41 137:137:137:8 yes 2250.0000 1500.0000 1500.0000
234 0 0 42 138:138:138:8 yes 2250.0000 1500.0000 1500.0000
235 0 0 43 139:139:139:8 yes 2250.0000 1500.0000 1500.0000
236 0 0 44 140:140:140:8 yes 2250.0000 1500.0000 1500.0000
237 0 0 45 141:141:141:8 yes 2250.0000 1500.0000 1500.0000
238 0 0 46 142:142:142:8 yes 2250.0000 1500.0000 1500.0000
239 0 0 47 143:143:143:8 yes 2250.0000 1500.0000 1500.0000
240 0 0 48 32:32:32:2 yes 2250.0000 1500.0000 1500.0000
241 0 0 49 33:33:33:2 yes 2250.0000 1500.0000 1500.0000
242 0 0 50 34:34:34:2 yes 2250.0000 1500.0000 1500.0000
243 0 0 51 35:35:35:2 yes 2250.0000 1500.0000 1500.0000
244 0 0 52 36:36:36:2 yes 2250.0000 1500.0000 1500.0000
245 0 0 53 37:37:37:2 yes 2250.0000 1500.0000 1500.0000
246 0 0 54 38:38:38:2 yes 2250.0000 1500.0000 1500.0000
247 0 0 55 39:39:39:2 yes 2250.0000 1500.0000 1500.0000
248 0 0 56 40:40:40:2 yes 2250.0000 1500.0000 1500.0000
249 0 0 57 41:41:41:2 yes 2250.0000 1500.0000 1500.0000
250 0 0 58 42:42:42:2 yes 2250.0000 1500.0000 1500.0000
251 0 0 59 43:43:43:2 yes 2250.0000 1500.0000 1500.0000
252 0 0 60 44:44:44:2 yes 2250.0000 1500.0000 1500.0000
253 0 0 61 45:45:45:2 yes 2250.0000 1500.0000 1500.0000
254 0 0 62 46:46:46:2 yes 2250.0000 1500.0000 1500.0000
255 0 0 63 47:47:47:2 yes 2250.0000 1500.0000 1500.0000
256 0 0 64 96:96:96:6 yes 2250.0000 1500.0000 1500.0000
257 0 0 65 97:97:97:6 yes 2250.0000 1500.0000 1500.0000
258 0 0 66 98:98:98:6 yes 2250.0000 1500.0000 1500.0000
259 0 0 67 99:99:99:6 yes 2250.0000 1500.0000 1500.0000
260 0 0 68 100:100:100:6 yes 2250.0000 1500.0000 1500.0000
261 0 0 69 101:101:101:6 yes 2250.0000 1500.0000 1500.0000
262 0 0 70 102:102:102:6 yes 2250.0000 1500.0000 1500.0000
263 0 0 71 103:103:103:6 yes 2250.0000 1500.0000 1500.0000
264 0 0 72 104:104:104:6 yes 2250.0000 1500.0000 1500.0000
265 0 0 73 105:105:105:6 yes 2250.0000 1500.0000 1500.0000
266 0 0 74 106:106:106:6 yes 2250.0000 1500.0000 1500.0000
267 0 0 75 107:107:107:6 yes 2250.0000 1500.0000 1500.0000
268 0 0 76 108:108:108:6 yes 2250.0000 1500.0000 1500.0000
269 0 0 77 109:109:109:6 yes 2250.0000 1500.0000 1500.0000
270 0 0 78 110:110:110:6 yes 2250.0000 1500.0000 1500.0000
271 0 0 79 111:111:111:6 yes 2250.0000 1500.0000 1500.0000
272 0 0 80 160:160:160:10 yes 2250.0000 1500.0000 1500.0000
273 0 0 81 161:161:161:10 yes 2250.0000 1500.0000 1500.0000
274 0 0 82 162:162:162:10 yes 2250.0000 1500.0000 1500.0000
275 0 0 83 163:163:163:10 yes 2250.0000 1500.0000 1390.9580
276 0 0 84 164:164:164:10 yes 2250.0000 1500.0000 1500.0000
277 0 0 85 165:165:165:10 yes 2250.0000 1500.0000 1500.0000
278 0 0 86 166:166:166:10 yes 2250.0000 1500.0000 1500.0000
279 0 0 87 167:167:167:10 yes 2250.0000 1500.0000 1500.0000
280 0 0 88 168:168:168:10 yes 2250.0000 1500.0000 1500.0000
281 0 0 89 169:169:169:10 yes 2250.0000 1500.0000 1500.0000
282 0 0 90 170:170:170:10 yes 2250.0000 1500.0000 1500.0000
283 0 0 91 171:171:171:10 yes 2250.0000 1500.0000 1500.0000
284 0 0 92 172:172:172:10 yes 2250.0000 1500.0000 1500.0000
285 0 0 93 173:173:173:10 yes 2250.0000 1500.0000 1500.0000
286 0 0 94 174:174:174:10 yes 2250.0000 1500.0000 2250.0000
287 0 0 95 175:175:175:10 yes 2250.0000 1500.0000 1500.0000
288 0 0 96 48:48:48:3 yes 2250.0000 1500.0000 1500.0000
289 0 0 97 49:49:49:3 yes 2250.0000 1500.0000 1500.0000
290 0 0 98 50:50:50:3 yes 2250.0000 1500.0000 1500.0000
291 0 0 99 51:51:51:3 yes 2250.0000 1500.0000 1500.0000
292 0 0 100 52:52:52:3 yes 2250.0000 1500.0000 1500.0000
293 0 0 101 53:53:53:3 yes 2250.0000 1500.0000 1500.0000
294 0 0 102 54:54:54:3 yes 2250.0000 1500.0000 1500.0000
295 0 0 103 55:55:55:3 yes 2250.0000 1500.0000 1500.0000
296 0 0 104 56:56:56:3 yes 2250.0000 1500.0000 1500.0000
297 0 0 105 57:57:57:3 yes 2250.0000 1500.0000 1500.0000
298 0 0 106 58:58:58:3 yes 2250.0000 1500.0000 1500.0000
299 0 0 107 59:59:59:3 yes 2250.0000 1500.0000 1500.0000
300 0 0 108 60:60:60:3 yes 2250.0000 1500.0000 1500.0000
301 0 0 109 61:61:61:3 yes 2250.0000 1500.0000 1500.0000
302 0 0 110 62:62:62:3 yes 2250.0000 1500.0000 1500.0000
303 0 0 111 63:63:63:3 yes 2250.0000 1500.0000 1500.0000
304 0 0 112 112:112:112:7 yes 2250.0000 1500.0000 1500.0000
305 0 0 113 113:113:113:7 yes 2250.0000 1500.0000 1500.0000
306 0 0 114 114:114:114:7 yes 2250.0000 1500.0000 1500.0000
307 0 0 115 115:115:115:7 yes 2250.0000 1500.0000 1500.0000
308 0 0 116 116:116:116:7 yes 2250.0000 1500.0000 1500.0000
309 0 0 117 117:117:117:7 yes 2250.0000 1500.0000 1500.0000
310 0 0 118 118:118:118:7 yes 2250.0000 1500.0000 1500.0000
311 0 0 119 119:119:119:7 yes 2250.0000 1500.0000 1500.0000
312 0 0 120 120:120:120:7 yes 2250.0000 1500.0000 1500.0000
313 0 0 121 121:121:121:7 yes 2250.0000 1500.0000 1500.0000
314 0 0 122 122:122:122:7 yes 2250.0000 1500.0000 1500.0000
315 0 0 123 123:123:123:7 yes 2250.0000 1500.0000 1500.0000
316 0 0 124 124:124:124:7 yes 2250.0000 1500.0000 1500.0000
317 0 0 125 125:125:125:7 yes 2250.0000 1500.0000 1500.0000
318 0 0 126 126:126:126:7 yes 2250.0000 1500.0000 1500.0000
319 0 0 127 127:127:127:7 yes 2250.0000 1500.0000 1500.0000
320 0 0 128 176:176:176:11 yes 2250.0000 1500.0000 1500.0000
321 0 0 129 177:177:177:11 yes 2250.0000 1500.0000 1500.0000
322 0 0 130 178:178:178:11 yes 2250.0000 1500.0000 1500.0000
323 0 0 131 179:179:179:11 yes 2250.0000 1500.0000 1500.0000
324 0 0 132 180:180:180:11 yes 2250.0000 1500.0000 1500.0000
325 0 0 133 181:181:181:11 yes 2250.0000 1500.0000 1500.0000
326 0 0 134 182:182:182:11 yes 2250.0000 1500.0000 1500.0000
327 0 0 135 183:183:183:11 yes 2250.0000 1500.0000 1500.0000
328 0 0 136 184:184:184:11 yes 2250.0000 1500.0000 1500.0000
329 0 0 137 185:185:185:11 yes 2250.0000 1500.0000 1500.0000
330 0 0 138 186:186:186:11 yes 2250.0000 1500.0000 1500.0000
331 0 0 139 187:187:187:11 yes 2250.0000 1500.0000 1500.0000
332 0 0 140 188:188:188:11 yes 2250.0000 1500.0000 1500.0000
333 0 0 141 189:189:189:11 yes 2250.0000 1500.0000 1500.0000
334 0 0 142 190:190:190:11 yes 2250.0000 1500.0000 1500.0000
335 0 0 143 191:191:191:11 yes 2250.0000 1500.0000 1500.0000
336 0 0 144 16:16:16:1 yes 2250.0000 1500.0000 1500.0000
337 0 0 145 17:17:17:1 yes 2250.0000 1500.0000 1500.0000
338 0 0 146 18:18:18:1 yes 2250.0000 1500.0000 1500.0000
339 0 0 147 19:19:19:1 yes 2250.0000 1500.0000 1500.0000
340 0 0 148 20:20:20:1 yes 2250.0000 1500.0000 1500.0000
341 0 0 149 21:21:21:1 yes 2250.0000 1500.0000 1500.0000
342 0 0 150 22:22:22:1 yes 2250.0000 1500.0000 1500.0000
343 0 0 151 23:23:23:1 yes 2250.0000 1500.0000 1500.0000
344 0 0 152 24:24:24:1 yes 2250.0000 1500.0000 1500.0000
345 0 0 153 25:25:25:1 yes 2250.0000 1500.0000 1500.0000
346 0 0 154 26:26:26:1 yes 2250.0000 1500.0000 1500.0000
347 0 0 155 27:27:27:1 yes 2250.0000 1500.0000 1500.0000
348 0 0 156 28:28:28:1 yes 2250.0000 1500.0000 1500.0000
349 0 0 157 29:29:29:1 yes 2250.0000 1500.0000 1500.0000
350 0 0 158 30:30:30:1 yes 2250.0000 1500.0000 1500.0000
351 0 0 159 31:31:31:1 yes 2250.0000 1500.0000 1500.0000
352 0 0 160 80:80:80:5 yes 2250.0000 1500.0000 1500.0000
353 0 0 161 81:81:81:5 yes 2250.0000 1500.0000 1500.0000
354 0 0 162 82:82:82:5 yes 2250.0000 1500.0000 1500.0000
355 0 0 163 83:83:83:5 yes 2250.0000 1500.0000 1500.0000
356 0 0 164 84:84:84:5 yes 2250.0000 1500.0000 1500.0000
357 0 0 165 85:85:85:5 yes 2250.0000 1500.0000 1500.0000
358 0 0 166 86:86:86:5 yes 2250.0000 1500.0000 1500.0000
359 0 0 167 87:87:87:5 yes 2250.0000 1500.0000 1500.0000
360 0 0 168 88:88:88:5 yes 2250.0000 1500.0000 1500.0000
361 0 0 169 89:89:89:5 yes 2250.0000 1500.0000 1500.0000
362 0 0 170 90:90:90:5 yes 2250.0000 1500.0000 1500.0000
363 0 0 171 91:91:91:5 yes 2250.0000 1500.0000 1500.0000
364 0 0 172 92:92:92:5 yes 2250.0000 1500.0000 1500.0000
365 0 0 173 93:93:93:5 yes 2250.0000 1500.0000 1500.0000
366 0 0 174 94:94:94:5 yes 2250.0000 1500.0000 1500.0000
367 0 0 175 95:95:95:5 yes 2250.0000 1500.0000 1500.0000
368 0 0 176 144:144:144:9 yes 2250.0000 1500.0000 1500.0000
369 0 0 177 145:145:145:9 yes 2250.0000 1500.0000 1500.0000
370 0 0 178 146:146:146:9 yes 2250.0000 1500.0000 1500.0000
371 0 0 179 147:147:147:9 yes 2250.0000 1500.0000 1500.0000
372 0 0 180 148:148:148:9 yes 2250.0000 1500.0000 1500.0000
373 0 0 181 149:149:149:9 yes 2250.0000 1500.0000 1500.0000
374 0 0 182 150:150:150:9 yes 2250.0000 1500.0000 1500.0000
375 0 0 183 151:151:151:9 yes 2250.0000 1500.0000 1500.0000
376 0 0 184 152:152:152:9 yes 2250.0000 1500.0000 1500.0000
377 0 0 185 153:153:153:9 yes 2250.0000 1500.0000 1500.0000
378 0 0 186 154:154:154:9 yes 2250.0000 1500.0000 1500.0000
379 0 0 187 155:155:155:9 yes 2250.0000 1500.0000 1500.0000
380 0 0 188 156:156:156:9 yes 2250.0000 1500.0000 1500.0000
381 0 0 189 157:157:157:9 yes 2250.0000 1500.0000 1500.0000
382 0 0 190 158:158:158:9 yes 2250.0000 1500.0000 1500.0000
383 0 0 191 159:159:159:9 yes 2250.0000 1500.0000 3749.9441
Szepen latszik, hogy 12 db CCX-szel gazdalkodunk, 16-16 maggal mindegyiken. Ujfent kisse tulzoan fogalmazva van 12 darab leszedalt Ryzen9 9950x-unk egyetlen foglalatban.
Legyenek akkor itt a CPU flag-ek is:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 52 bits physical, 57 bits virtual
Byte Order: Little Endian
CPU(s): 384
On-line CPU(s) list: 0-383
Vendor ID: AuthenticAMD
Model name: AMD EPYC 9965 Emb
CPU family: 26
Model: 17
Thread(s) per core: 2
Core(s) per socket: 192
Socket(s): 1
Stepping: 0
Frequency boost: enabled
CPU(s) scaling MHz: 67%
CPU max MHz: 2250.0000
CPU min MHz: 1500.0000
BogoMIPS: 4499.72
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse s
se2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good amd_lbr_v2 nopl nons
top_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 pcid sse4_1 sse
4_2 x2apic movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy extapic cr8_legacy abm ss
e4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext pe
rfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba perfmon_v2 ibrs ibpb stibp ibrs_enhanced
vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm rdt_a avx512f avx512dq rdsee
d adx smap avx512ifma clflushopt clwb avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv
1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local user_shstk avx_vnni avx512_bf16 clz
ero irperf xsaveerptr rdpru wbnoinvd amd_ppin cppc amd_ibpb_ret arat npt lbrv svm_lock nrip_sa
ve tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload
vgif x2avic v_spec_ctrl vnmi avx512vbmi umip pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx5
12_vnni avx512_bitalg avx512_vpopcntdq la57 rdpid bus_lock_detect movdiri movdir64b overflow_r
ecov succor smca fsrm avx512_vp2intersect flush_l1d debug_swap
Caches (sum of all):
L1d: 9 MiB (192 instances)
L1i: 6 MiB (192 instances)
L2: 192 MiB (192 instances)
L3: 384 MiB (12 instances)
NUMA:
NUMA node(s): 1
NUMA node0 CPU(s): 0-383
Vulnerabilities:
Gather data sampling: Not affected
Itlb multihit: Not affected
L1tf: Not affected
Mds: Not affected
Meltdown: Not affected
Mmio stale data: Not affected
Reg file data sampling: Not affected
Retbleed: Not affected
Spec rstack overflow: Not affected
Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl
Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Spectre v2: Mitigation; Enhanced / Automatic IBRS; IBPB conditional; STIBP always-on; RSB filling; PBRSB-e
IBRS Not affected; BHI Not affected
Srbds: Not affected
Tsx async abort: Not affected
Vmscape: Not affected
A modellnevet nagyvonaluan lecsereltem 9965-re, ott igazibol az van, hogy 'AMD Eng Sample: 100-xxxxxxxxx-xx' valami szammal, de ugy nem lenne keresheto rendesen.
Orajeleim
Egyelore marhajo a cucc 
Nincs ra tul sok idom, de hebe-hoba piszkalom kicsit, pedig mozgatja a fantaziamat nagyon.
Ugye az AMD amiota bevezette Ryzen szeriat, szokatlanul sok parameteret kezdte nezni a processzornak, hogy mindig a leheto legnagyobb teljesitmenyt nyujtsa, tehat nem siman a 'bucket'-ek voltak, mint a regi Inteleknel, hogy a felhasznalt utasitaskeszlettol fuggoen allitgatta a max frekvenciat, hanem sokkal osszetettebb modszerrel. Tuningosok errol sokkal tobbet tudnak, erdemes bekukkolni egyes Zen verziok topikjaiba itt a PH!-n is, rengeteg tudas gyult ossze. Zenrol zenre volt par valtozas, elengedtek ezt-azt, bevezettek ezt-azt, de tovabbra is fontos a jo hutes es az elegendo kakao.
A jo hutes azert, mert nem siman csak van egy throttling homerseklet, ahol a proci a sajat vedelme erdekeben visszavesz (mar amikor...), hanem kozelitve bizonyos homerseklet-hatarokat az orajel folyamatosan csokken.
Nezzuk a katalogus adatokat:
Max boost freki: 3.7GHz-ig. Ez egyetlen magra vonatkozik, tehat a magok max orajele 3.7GHz-ben van maximalva. Maximizalva. Korlatozva, na. Boost freki az osszes magot terhelve: 3.35GHz. Es itt jon az erdekesseg, az AMD (de az Intel is) sajat kicsi megjegyzest fuz a mostani procikhoz, miszerint "az all-core boost az osszes mag frekvenciajanak az atlaga performance modban, kis aktivitasu terheles eseten". Magyarul letezik olyan terheles, ahol a 192 mag elmeletileg tartja a 3.35GHz-et, de jo esellyel az valami teljesen mas, mint amire en akarom hasznalni a vasat.
Es tenyleg.
Linux-on a /proc/cpuinfo-t monitorozva a kovetkezot latom: ha fellovok egyetlen szalon stress-ng-t, akkor az az egy mag felmegy 3760MHz-re es tartja is egy percig. (Azert szoktam egy percig merni legalabb, mert nagyon sok processzor az elso par masodpercben fellovi az orajelet az egbe, de aztan lassabban vagy gyorsabban, de csokkenti, ha a terheles megmarad. Ez teljesen normalis, altalanos felhasznalas alatt ettol lesz 'pattogos' a rendszer).
Megetetve az osszes magot egy sima stress-ng --cpu 384 --timeout 60s viszont kb 3040MHz-en all be, ami meg mindig tiszteletremelto eredmeny, megiscsak 192 magrol beszelunk 
A legalacsonyabb atlagfrekit viszont a stress-ng --cpu 384 --timeout 60s --matrix 0 eredmenyezte, ekkor a leggyorsabb mag is 'csak' 2690MHz-en jart, mig a leglassabb 2620-on. Termeszetesen neztem kozben a homersekleteket is es ha igaz amit a linux riportol, akkor nem ment 65C fole. Penge a hutes.
Igazibol a frekvencia azert erdekes, mert ha az ember saccolni szeretne teljesitmenyt (szamitasi kapacitast) a teljes socket-re, akkor nagyon nem mindegy, hogy a katalogus-adatokat hasznalja-e vagy valos meres eredmenyeit. Ha azt gondolnam, hogy 3.35GHz-en tud jarni teljes terheles alatt a proci, akkor tobb, mint 20%-ot tevednek a valos eredmenyhez kepest. De szerencsere nem 
Cinebench tul sok maggal
Csak amolyan probakeppen, a korabban emlitett mag-kihasznalas-problema illusztralasara: itt vannak a Cinebench 24 es 26 eredmenyek, a taskmanager screenshotokkal:
Ha figyelmesen szemleljuk a kepet, itt semmi sem stimmel
eloszor is: sokkal kevesebb lett az eredmeny 192 maggal, mint 128-cal, ugy, hogy a 192 mag egy generacioval ujabb es magasabb orajelen is jart. Gyanus, hogy a pontok szamolasanal is van valami trukk.
Masodszor pedig, 128c/384t hogyismondjamcsak... nem tipikus proci
128 mag es magonkent harom szal az ritka. Ha hozza nezzuk a terhelest is, kapunk kicsi magyarazatot (de messze nem eleget)
Jol lathato, hogy a 384 szalbol az elso 128 van kb maxon jaratva (no pun...), a masodik 128 77-91% kozott, a harmadik 128 pedig csak lebecol.
A CB26 picivel ugyesebb volt, de ugyanugy megmaradt 256 szalnal:
Igen, igen, 128 mag, 384 szal eszerint is. De legalabb csinalt 20425 pontot. Ami megintcsak nem stimmel, mert a 128 magos Bergamo-val meg 25425-ot. Felettebb gyanus h 425-re vegzodik mindketto, de nem vagyom ujrafuttatasra 
A terheles pedig:
Viszonylag egysegesen terhelte az 'elso' 256 szalat es a maradek 128 megintcsak semmittett. Mindekozben falbol a rendszer 640 Wattocska kornyeken eszegetett. (Idle elvan 200W-bol
)
A max 256 szal tamogatasa egyebkent nem hiba, hanem hivatalos, x86-on is ennyit tamogatnak hyper-threading / SMT eseten. A CB2026-os verziojara ARM magok eseten is megnoveltek 128-rol 256-ra a tamogatast (ugye ok nem tudnak SMT-t). Dual-socket szerverek eseten - ahol tipikusabb a 128 feletti magszam - lehetne futtatni ket cinebench-et, socket-enkent egyet, mert egyebkent is ugy igazsagos.
Es innen visszakanyarodhatunk az NPS2 beallitashoz is akar: amikoris az egyetlen socket-et ket NUMA node-kent riportolja a BIOS az operencias rendszernek.
Nos, az NPS2 beallitas muxik, linux alatt szepen listazza is az lscpu a socket0 es socket1-be tartozo magokat. Win alatt viszont a CB26 is szepen elfelezi a 384 szalat, majd az elso 192-bol is csak 128-at terhel es a masodik 192-bol is. Szoval ott vagyunk, ahol a part szakad.
Ittavege...
Tettem be par kepet h 'latvanyosabb' legyen, vagy inkabb csak konnyebben fogyaszthato.
Eljatszogattam a Bluefield-ekkel, erdekes cucc. Van tobb uzemmodjuk, egyikben sima SmartNIC-kent mukodnek (aka Connectx-6 DX), de a masik az erdekes, amikor a kartyara integralt 8 db ARM mag is bele tud kukucskalni a forgalomba.
Tehat van egy eSwitch, ami majd jol megmondja, hogy az adott forgalom merre menjen, kozvetlenul a hosztnak-e (klasszik halokartya uzemmod, zold nyil) vagy az ARM magoknak Open vSwitch-en keresztul (piros nyil). Az egesznek a felhuzasa es bekonfigolasa megerne egy kulon cikket, de szerencsere a neten mar tobb ilyen letezik, nem nekem kell megirnom 
Az utolso kep a kishaverrol van, csak a skalazodas miatt. Neki ugyanaz a dolga, mint alberto1-nek, csak kicsiben:
2x10G-s halokartya es egy negymagos (negy!! 4!4!) Lattepanda
usb pendrive-rol fut nativban a tuzfal rajta.
Ja, nem 
Irtam korabban, hogy a Bluefield-2 szerverbe valo kartya, elvaras a jo legaramlas. Namost az nalam nincs, de a terv az volt, hogy a gephaz elejeben levo ket 14cm-es venti kozul az egyiket kinevezem I/O hutesnek es legterelokkel a halokartyakra iranyitom a viszonylag eros szellot, amit generalnak. Ehelyett a takolos topik hagyomanyaihoz huen ugyan zold-sargat nem hasznaltam, de kartont azt igen.
Ebbol:
lett ez, egy 1U procihuto blower ventijenek a felhasznalasaval:
14fokot esett a kartya homerseklete, a zaj is meg mindig korrekt szinten maradt, mert alacsony fordulaton is eleg a kozvetlen venti. A karton alapjan mar tudok nyomtattatni korrekt meretekkel valami hoallobb muanyagbol egy rendes muanyag panelt, hogy ki is nezzen valahogy es tartos is legyen.
Na most koszonom a figyelmet!
Tobb folyt mar nem kov...
rxmiss.



