Kompilácia sa oplatí

poiu

Kompilácia sa oplatí
« kdy: 12. 12. 2012, 01:19:53 »
Nazdar,
toto nie je prosba o radu - skor ide o 1 zistenu vec. Zistil som, ze sa kompilacia jadra naozaj oplati, aj ked mna mnohi presviedcali o opaku.

Viz obrazok, kde je vytazenie CPU so skompilovanym kernelom a potom s distribucnym Ubuntu jadrom (chcel som po dlhsej dobe skusit rozdiel).


Prakticky som v kompilovanom jadre len vyhadzal nepotrebne drivere a nastavil veci najblizsie mojmu pouzitiu tak, aby kernelu nic nechybalo. Islo o rovnaku hlavnu verziu a architekturu (Linux 2.6.32 na x86-64), nevylucujem rozdiely v maintenance update-och / Ubuntu specific patchoch (sam som kompiloval vanilkove jadro).

Na to by mal byt nejaky slogan: "Chcete zvysit rychlost systemu o 50%? Skompilujte si jadro a mate to hned, bez starosti!".
« Poslední změna: 12. 12. 2012, 10:14:06 od Petr Krčmář »


Trident

Re:Kompilacia sa oplati!
« Odpověď #1 kdy: 12. 12. 2012, 01:57:16 »
Jses si jistej? Krom toho ze jsem si z obrazku musel domyslet rozdil pred a po ( za takhle nejasne udelany srovnani se na vs skrtaj protokoly ), tak hraje roli mraky promennych.
1. Pouzity compiler
2. Pouzita verze compileru,moduly,knihovny
3. Patche v compileru
4. Drivery - jak vis co je presne v tvem pocitaci? Ja to vedel kdysi kdyz pccka nebyly tak slozity. Pet driveru stacilo k zivotu.
Dneska fakt nevim jaky svab mi obstarava senzory pres i2c a co za acpi driver je kde vim jen odhadem. Ruzny power management drivery muzou delat sakra rozdil. Tim spis ze tech pocitacu ma kolem sebe clovek mraky. O driverech pro embedded platformy ani nemluvim. Tam jsou treba ruzny virtualni zarizeni pro flashe,bootloadery etc. Ty to vis z hlavy? To ses teda krute dobrej.
5. Co je za moduly loadovano a co ne?
6. To neni tak jednoduchy kluku usata! Jak vis ze je system rychlejsi o xx%? Nemas ted nahodou jinej scheduler co? Jsou cisla co ti rika system a pak je skutecny stav. Co jsi jel za benchmarky?

Edit admin: Necitujte celé příspěvky nad sebou. Zbytečně se duplikuje obsah, znepřehledňuje se diskuse a zhoršuje se její čtení.
« Poslední změna: 12. 12. 2012, 10:13:16 od Petr Krčmář »

and

Re:Kompilacia sa oplati!
« Odpověď #2 kdy: 12. 12. 2012, 09:51:34 »

Jestli zacatek grafu do poloviny charakterizuje situaci s puvodnim jadrem a zbytek grafu situaci po novu, tak mi pripada, ze jsi dosahnul presne opacne situace, user procesy zerou mnohem vice casu, nez predtim a server jsi zpomalil....

Re:Kompilacia sa oplati!
« Odpověď #3 kdy: 12. 12. 2012, 09:52:56 »
Na to by mal byt nejaky slogan: "Chcete zvysit rychlost systemu o 50%? Skompilujte si jadro a mate to hned, bez starosti!".
A všiml sis, že rozdíl je jenom v user space, zatímco system je pořád stejný? Zajímavý, že :)

A jak přesně bys interpretoval zátěž procesoru na 300%? :)

Rax

Re:Kompilacia sa oplati!
« Odpověď #4 kdy: 12. 12. 2012, 11:42:39 »
V linuxu CPU na 300 % znamená tři jádra na 100 %, každé jádro má svých 100 % a ty procenta se pak sčítají. Jak toto numero interpretovat se neodvažuji ani pomyslet ;)


Re:Kompilácia sa oplatí
« Odpověď #5 kdy: 12. 12. 2012, 13:11:42 »
Jestli zacatek grafu do poloviny charakterizuje situaci s puvodnim jadrem a zbytek grafu situaci po novu, tak mi pripada, ze jsi dosahnul presne opacne situace, user procesy zerou mnohem vice casu, nez predtim a server jsi zpomalil....
Vždyť jasně píše: Viz obrazok, kde je vytazenie CPU so skompilovanym kernelom a potom s distribucnym Ubuntu jadrom (chcel som po dlhsej dobe skusit rozdiel).

Podle obrázku je opravdu rozdíl zanedbatelný. Jestli něco dokáže podstatně snížit zátěž CPU, tak je to vypnutí flashe. Možná bys získal lepší výsledky na Archu nebo Gentoo, když už máš zálibu v kompilování (což je chvályhodné).   :)

poiu

Re:Kompilacia sa oplati!
« Odpověď #6 kdy: 13. 12. 2012, 01:58:56 »
Jses si jistej? Krom toho ze jsem si z obrazku musel domyslet rozdil pred a po ( za takhle nejasne udelany srovnani se na vs skrtaj protokoly ), tak hraje roli mraky promennych.
Neslo mi o mraky premennych - islo mi o to, ze sa oplati kompilovat pri nejakej default konfiguracii takmer vsetkeho; jedina zmena bolo nastavenie configu jadra (+prakticky aj ze som to kompiloval ja a nie Ubuntu build servery).

4. Drivery - jak vis co je presne v tvem pocitaci? Ja to vedel kdysi kdyz pccka nebyly tak slozity. Pet driveru stacilo k zivotu.
Dneska fakt nevim jaky svab mi obstarava senzory pres i2c a co za acpi driver je kde vim jen odhadem. Ruzny power management drivery muzou delat sakra rozdil. Tim spis ze tech pocitacu ma kolem sebe clovek mraky. O driverech pro embedded platformy ani nemluvim. Tam jsou treba ruzny virtualni zarizeni pro flashe,bootloadery etc. Ty to vis z hlavy? To ses teda krute dobrej.
Par veci si pamatam, co si nepamatam som vyhadzal a system sa (co do funkcnosti) z mojho pohladu sprava rovnako, vratane inak nedolezitych zariadeni ako su senzory atd. Nezarucujem, ze su tam vsetky zariadenia rovnake - ale kedze mi vsetko pouzivane funguje, tak mi nevadi chybajuci ovladac pre jadrove hlavice alebo ktovie co tam vsetko je.

6. To neni tak jednoduchy kluku usata! Jak vis ze je system rychlejsi o xx%? Nemas ted nahodou jinej scheduler co? Jsou cisla co ti rika system a pak je skutecny stav. Co jsi jel za benchmarky?
Scheduler som nemenil, resp. nedaval som tam patch na jeho zmenu proti vanilla jadru.
Keby som aj mal iny scheduler, tak ako by mi to vadilo? Najskor bol pocit, ze to chodi s distribucnym jadrom nejak pomalsie a potom som sa pozrel sem a je to dost dobre vidiet na 5 minutovych priemeroch. Ci je za tym novy scheduler alebo cierna magia, to mi je jedno - ak to beha pomalsie a podobne tasky / loady zeru viac CPU a teda CPU ide v spickach "nadoraz" .

alfonza

Re:Kompilácia sa oplatí
« Odpověď #7 kdy: 13. 12. 2012, 08:02:50 »
Zdravím,

no trošku tedy nechápu co si mám představit pod pojmem, že jde CPU na doraz? Provede operaci rychleji, nebo disk již není úzké hrdlo, nebo se provede operace při větším taktu? Můžete blíže specifikovat, jak vidíte to, že počítač se opravdu chová "ekonomičtěji" (viz, spotřeba el. energie, opotřebení součástí, teplota vnitřního prostoru, rychlost zpracování více operací najednou vs rychlost zpracování jedné operace atd. )?



alfonza

Re:Kompilácia sa oplatí
« Odpověď #8 kdy: 13. 12. 2012, 08:05:54 »
na druhou stranu neříkám, že to není možné a funkční. Jak dlouho již používáš vlastní jádro? Zkoušel jsi i novější jádro?

Pavouk106

  • *****
  • 2 400
    • Zobrazit profil
    • Můj blog
    • E-mail
Re:Kompilacia sa oplati!
« Odpověď #9 kdy: 13. 12. 2012, 09:37:32 »
4. Drivery - jak vis co je presne v tvem pocitaci? Ja to vedel kdysi kdyz pccka nebyly tak slozity. Pet driveru stacilo k zivotu.
Dneska fakt nevim jaky svab mi obstarava senzory pres i2c a co za acpi driver je kde vim jen odhadem. Ruzny power management drivery muzou delat sakra rozdil. Tim spis ze tech pocitacu ma kolem sebe clovek mraky. O driverech pro embedded platformy ani nemluvim. Tam jsou treba ruzny virtualni zarizeni pro flashe,bootloadery etc. Ty to vis z hlavy? To ses teda krute dobrej.
5. Co je za moduly loadovano a co ne?
Člověče, třeba já s Gentoo mám jádro zkompilovaný (podle mě) krásně. Drivery jsou vyházený úplně maximálním způsobem. Mám jednu zvukovku, jednu síťovku, jednu wifi, jeden kontroler na zjišťování napětí/teploty, vyházel jsem podporu ATA, nastavil si maximální počty CPU, GPU. Naposledy jsem řádil v Kernel hacking sekci - neuvěřitelný, co je tam věcí, který běžně nepotřebuješ.

Moje jádro má teď asi 3,88MB, po dlouhý době se začalo konečně opět zmenšovat (jsem agresivnější, když kompiluju nový) a je téměř výhradně nemodulární - vše je v jádře, kromě wifi driveru. A ten příště zkusím taky zahrnout, nepotřebuje teoreticky externí firmware, aby to jelo.

Jakub Galgonek

Re:Kompilacia sa oplati!
« Odpověď #10 kdy: 13. 12. 2012, 09:54:38 »
a je téměř výhradně nemodulární

Jaké to má výhody? Třeba na mém notebooku mi systém s nemodulárním jádrem bootoval déle.

trubicoid2

Re:Kompilácia sa oplatí
« Odpověď #11 kdy: 13. 12. 2012, 10:39:30 »
Jaké to má výhody? Třeba na mém notebooku mi systém s nemodulárním jádrem bootoval déle.

no to je dost divny, az bych tomu skoro neveril

vyhody nemodularniho: nepotrebujes initrd; pokud jadro prenasis na jiny stroj, tak se nemusis babrat s /lib/modules
nevyhody: nejde udelat rmmod

pavouk: mam na 3 strojich jadro 3.3-3.5MB, taky zalezi na kompresi, ja mam xz

Re:Kompilácia sa oplatí
« Odpověď #12 kdy: 13. 12. 2012, 11:18:19 »
vyhody nemodularniho: nepotrebujes initrd
Off topic: kdyz jsem tady v jakesi diskusi tvrdil, ze initrd je zlo a rozumne udelany system ho nepotrebuje, byl jsem za vola... Ale to se stava :)

poiu

Re:Kompilacia sa oplati!
« Odpověď #13 kdy: 13. 12. 2012, 11:22:01 »
Moje jádro má teď asi 3,88MB, po dlouhý době se začalo konečně opět zmenšovat (jsem agresivnější, když kompiluju nový) a je téměř výhradně nemodulární - vše je v jádře, kromě wifi driveru. A ten příště zkusím taky zahrnout, nepotřebuje teoreticky externí firmware, aby to jelo.
Podobne to mam aj ja, ale bez wifi driveru.

no trošku tedy nechápu co si mám představit pod pojmem, že jde CPU na doraz? Provede operaci rychleji, nebo disk již není úzké hrdlo, nebo se provede operace při větším taktu? Můžete blíže specifikovat, jak vidíte to, že počítač se opravdu chová "ekonomičtěji" (viz, spotřeba el. energie, opotřebení součástí, teplota vnitřního prostoru, rychlost zpracování více operací najednou vs rychlost zpracování jedné operace atd. )
CPU s distribucnym jadrom v dobe spicky nestiha obsluzit vsetkych za taku kratku dobu ako so mnou skompilovanym jadrom. Pozna sa to na sluzbach, kde je dost citit oneskorenie (multimedia / hry). Takze je to z pohladu uzivatelov (vratane tych neznalych zmeny) mierne zasekavanie a z pohladu systemu je to vacsia zataz CPU s distribucnym jadrom.

na druhou stranu neříkám, že to není možné a funkční. Jak dlouho již používáš vlastní jádro? Zkoušel jsi i novější jádro?
Vo vseobecnosti (nie len tam) asi tak 5 rokov - ale to bolo len pri skusani a islo o dalsie patche atd, takze som bral pre tieto ucely kompilaciu jadra ako nutnost a to nie z vykonnostneho pohladu. Vsetci ma nejak presvedcovali, ze v distribucii moze byt rovnako dobre jadro, tak som im veril.
Kompilaciu tam som robil zase preto, ze aj ked sa pisalo rozdieloch v jednotkach %, tak som chcel dosiahnut aspon tie - nech sa ten HW vyuzije ked uz je taky aky je.
Toto pisem, lebo som nevedel, ze ide aj o desiatky %.

Novsie jadro ako 2.6.32 som neskusal, kedze si nie som nejak isty jeho stabilitou / otestovanostou s tymi utilitami, co su v stable Ubuntu. Raz s tym bol problem u nejakej utility (segfaultovala), preto sa aspon pri takychto nasadeniach drzim tej verzie jadra, co mi dodava distribucia.

Re:Kompilacia sa oplati!
« Odpověď #14 kdy: 13. 12. 2012, 11:28:53 »
CPU s distribucnym jadrom v dobe spicky nestiha obsluzit vsetkych za taku kratku dobu ako so mnou skompilovanym jadrom.
Zaver "je to diky uzivatelske kompilaci" je ale prilis silny - jak uz tady zaznelo, muze to byt jinou verzi zkompilovaneho jadra, nepritomnosti patchu, ktere tam z nejakeho duvodu distribuce ma, jinou verzi kompilatoru atd. atp.