166
Software / Re:Škálování výkonu v dual-socket systému
« kdy: 04. 05. 2023, 12:59:32 »Myslím, že kompilaci kernelu nelze ideálně (lineárně) škálovat.Podle mých zkušeností naopak build jádra škáluje při běžném počtu CPU (nižší desítky) velmi dobře, pokud (1) je konfigurace dostatečně bohatá (třeba allmodconfig nebo distribuční jádra), (2) je dost paměti a (3) úzkým hrdlem je opravdu CPU, ne třeba disk (tj. překlad např. na tmpfs). Je potřeba si uvědomit, že většinu času se překládají jednotlivé soubory, které na sobě nezávisejí; v podstatě jediná část, která škáluje opravdu špatně, je linker (a i to se snad v dohledné době změní).
Jsou tam závislosti, na které se čeká, některé operace se neškálují, atd...
Presne tak. Ta konfigurace sice neni allconfig, ale mam zapnuto hodne modulu pro pripad co by kdyby jedou bylo treba a je to cca 2x delsi kompilace nez kdybych udelal jadro na miru konfigurace jednoho stroje.
Temer cela kompilace je vicevlaknova, jsou tam nizsi jednotky vterin nez se rozhodne o kompilacnim poradi na pocatku, a pak vyssi jednotky vterin se stravi jednovlaknove na linkeru a kompresi vysledneho jadra. Cele to bezi vzdy z cerstve rozbalene testovaci sady do /dev/shm.
Extremni vysledky z me testovaci sady stroju jsou 1m14s (Epyc Rome 7702P 64C/128T) vs 1h:57m09s (Celeron N3050 2C/2T). Pod 5 minut to da moderni highend, pod 10 minut to da bezna desktop sestava. Cokoliv nad 15-30min je z dnesniho pohledu spis pomalej komp.
Samozrjeme absolutni cas nebylo to co me zajimalo, ale efektivita - takze mam i data o idle/load spotrebe a nektere stare systemy celkem prekvapily - pokud se to ma vzit nejakym TCO vzorcem, tak porad existuji optimalni reseni (pro ruzne potreby to vychazi ruzne). Plus je zajimave videt, ze kdyz se operacni bod posune mimo boost/turbo, tak o kolik lepsi je dane reseni.