přejít na obsah přejít na navigaci

Linux E X P R E S, Lennart Poettering: Budeme se snažit vyrovnat se dalším IPC systémům

Lennart Poettering: Budeme se snažit vyrovnat se dalším IPC systémům

lennart.png

Lennart je v linuxovém světě poměrně známou osobností – vytvořil součásti používané napříč distribucemi, jako je PulseAudio (svobodný multiplatformní zvukový server) a Avahi (svobodná implementace zeroconf). Aktuálně pracuje na init systému systemd (systémový démon), který používají nebo v budoucnu budou používat všechny velké distribuce.


Mohl by ses představit a popsat svou práci?

Jmenuji se Lennart Poettering a jsem autorem AvahiPulseAudio a teď se spolu s dalšími kolegy soustředím na práci na systemd.

Na konferenci jsi mluvil o kdbusu, mohl bys jej popsat?

Na Linuxu je zajímavé, že nikdy neměl dostatečně dobrý IPC (inter-process communication – meziprocesová komunikace) systém. Třeba microkernel má dobře navrhnutý IPC systém a vše ostatním je postavené nad ním. S kdbusem se tohle snažím zlepšit a poskytnout vysokoúrovňový a přátelský IPC systém přímo z jádra, který bude dostupný už od bootu.

Kdbus je postaven na klasickém návrhu D-Bus, který byl testován a vylepšován už 10 let. D-Bus sice poskytuje dostatek funkcí, ale není tak rychlý a je zde mnoho možností pro zlepšení. Budeme se snažit vyrovnat se dalším IPC systémům, třeba Microsoft má IPC systém dobře propracovaný.

Během rozhodování o init systému v distribuci Debian došlo k poměrně ostrým diskuzím. Mohl bys prosím popsat výhody, které podle tebe systemd nabízí oproti ostatním init systémům?

Z technického hlediska jsem si jistý, že návrh Upstartu je špatný. Tento init systém totiž neposkytuje systém závislostí, ale jenom systém událostí. Programátor v tomto případě musí přesně specifikovat, co se má udát a kdy. Na druhou stranu, v systemd stačí napsat, co potřebuje co, a systemd rozhodne, kdy se daný kód provede.

Nejedná se ale jenom o rozdíl technický, ale i filozofický. Spolu s dalšími vývojáři jsme zanalyzovali proces bootování a dospěli jsme k závěru, že ke spuštění je potřeba i mnoho Bash skriptů. Hodně distribucí mělo toto implementováno po svém a každá implementace poskytovala jiné možnosti, někdy lepší a někdy zase horší. Celkově však situace nebyla tak dobrá, jak by mohla být v případě jednotného řešení.

A tak jsme se rozhodli, že tyto části zavádění přidáme přímo do systemd, takže dnes obsahuje části, o kterých si myslíme, že jsou užitečné pro postavení operačního systému nad systemd. Naproti tomu se Upstart soustředí jen na klasický init systém.

Vývojáři GNOME a KDE uvažují a hlubší integraci systemd do těchto prostředí, co od toho může očekávat uživatel?

Systém spustí prostředí, třeba GNOME, a čas zavedení se na moderních strojích může pohybovat okolo 4 sekund. Když se na bootování podíváme blíže, tak zjistíme, že nejdelší čas zabírá samotné prostředí, dokonce i rozdíly mezi jednotlivými desktopy jsou velké. To lze ale zredukovat tím, že mezi sebou budou sdílet více kódu.

Zrychlení ale není tím hlavním, proč by k této integraci mělo dojít. Jde tady třeba o funkce známé ze systému Android. Aplikace v popředí mohou mít vyšší prioritu, a ty v pozadí nižší, nebo je lze úplně uspat. Díky tomu, že systemd má přístup k těmto nízkoúrovňovým věcem, toho lze dosáhnout. Kromě této funkce lze přidat třeba sandbox a další věci.

Za pomoc při tvorbě reportáže a rozhovorů z DevConf.cz děkujeme společnosti Red Hat. Za poskytnutí fotografií děkujeme Tomášovi Bžatkovi.

RedHat.png

Nahoru

Příspěvky

Lennart Poettering: Budeme se snažit vyrovnat se dalším IPC systémům
Honza Jaroš 14. 04. 2014, 15:57:12
Odpovědět  Odkaz 
Věta "Vývojáři GNOME a KDE uvažují a hlubší integraci systemd do těchto prostředí" mě, jakožto spokojeného uživatele KDE na Gentoo s OpenRC, začíná docela děsit. Mám to chápat tak, že vedle Gnome už za chvíli bez systemd nespustím ani KDE? :-(
Re: Lennart Poettering: Budeme se snažit vyrovnat se dalším IPC systémům
Pavel Šimerda 14. 04. 2014, 16:02:30
Odpovědět  Odkaz 
Jestliže vývojáři KDE nezůstanou jen u uvažování a jestliže vznikne tvrdá závislost na systemd, tak asi bude nutné mít systemd nainstalované.
Re: Re: Lennart Poettering: Budeme se snažit vyrovnat se dalším IPC systémům
Honza Jaroš 14. 04. 2014, 16:08:54
Odpovědět  Odkaz 
Jestli jen nainstalované, tak budiž. Jde o to, jestli bude muset být i spuštěné... :-/
Re: Re: Re: Lennart Poettering: Budeme se snažit vyrovnat se dalším IPC systémům
tommy 14. 04. 2014, 16:20:30
Odpovědět  Odkaz 
Pcohopitelně bude muset být systemd spuštěné.

Výsledek je bohužel přesně opačný než říká Lennart. Ve všech případech, co sem zkoušel, tak systemd znamená výrazné zpomalení startu systému - ve shodě s publikovanými recenzemi distrubucí, které na systemd přešly.

Přitom sem nenašel jakýkoliv přínos systemd pro uživatele.
Re: Re: Re: Re: Lennart Poettering: Budeme se snažit vyrovnat se dalším IPC systémům
Honza Jaroš 14. 04. 2014, 17:51:08
Odpovědět  Odkaz 
No a to je právě to, čeho se děsím... :-(
Tomáš Crhonek Re: Re: Re: Re: Lennart Poettering: Budeme se snažit vyrovnat se dalším IPC systémům
Tomáš Crhonek 16. 04. 2014, 14:54:12
Odpovědět  Odkaz 
Upřímně řečeno, u mě se start se systemd oproti původnímu init systému v debianu (měl jsem nastaveno paralelní spouštění služeb) zrychlil z původních 5s v user space na cca 1.4s. Takže od bootování jádra jsem za necelých 5s (ano, boot jádra mi trvá déle než systemd user space boot) v GUI (xfce - mám nastaven autologin v lightdm).

Jedná se o SSD. Na klasickém HDD bych tipoval, že masivně paralelní start bude naopak výrazně pomalejší, protože bude více seeků.

Ale o to nejde. Pamatuji si doby, kdy počítače bootovaly minuty a taky jsme žili. Viděl jsem server, který bootoval přes 40 minut. Navíc na serveru, který má uptime v řádu desítek až stovek dnů (mezi updaty jádra) na nějaké té minutě nesejde. Navíc k čemu je boot za 5s, když POST jen na desktopu trvá cca půl minuty. Na serveru potom i 10minut.

Žádnou další výhodu jsem u systemd nenašel. A co víc, dokonce žádnou další výhodu ani nikdo jiný neprezentuje. Přednášky o co všechno systemd, na rozdíl od ostatních init systémů umí mě pouze utvrzují v tom, že pánové kolem těchto věcí nemají vůbec žádný rozhled a historické znalosti (a to se jedná o pouhých 40let).
Re: Re: Re: Re: Re: Lennart Poettering: Budeme se snažit vyrovnat se dalším IPC systémům
Michal Sedlak 17. 04. 2014, 10:40:34
Odpovědět  Odkaz 
Tak si predstav ze mas farmu s 1000 virtualkami a potrebujes to vsetko opatchovat a restartovat. Keby bol rozdiel medzi systemd a nesystemd 10 sekund, tak zbytocne tocis procesor a hlavne storage 1000*10 sekund.

Podobny stav bude s ARM servermi kde POST netrva cele minuty. To je obrovska uspora.

OS sa nerebootuje len pri patchovani kernelu castejsie je to nutne kvoli patchovaniu firmewarov v hardvery. Ked si predstavis ze musis opatchovat cele datacentrum kvoli critical chybe vo firmwary BIOS, HBA, raid controller, alebo sietovke ktory musis spravit z nejakeho dovodu offline, tak budes rad za kazde percento urychlenia startu OS do aplikacie, lebo kazda minuta downtimu moze stat tisice dolarov.

Podla mna je najvacsou vyhodou pre uzivatela journal. Logovanie od bootu po vypnutie na jednom mieste a journal v ktorom sa da vyhladavat a je spatne nemodifikovatelny a spravy sa mu nedaju podvrhnut.

A dalsie veci ako socket activated containers, integracia s kdbusom. To umozni dalsie technologie ako portaly [http://lwn.net/Articles/551969/]
Tomáš Crhonek Re: Re: Re: Re: Re: Re: Lennart Poettering: Budeme se snažit vyrovnat se dalším IPC systémům
Tomáš Crhonek 17. 04. 2014, 13:35:51
Odpovědět  Odkaz 
Pokud mám farmu s 1000 virtuálkami, tak mám pravděpodobně takový HW, pro který 1000x boot proces nebude problém.

"Podla mna je najvacsou vyhodou pre uzivatela journal. Logovanie od bootu po vypnutie na jednom mieste a journal v ktorom sa da vyhladavat a je spatne nemodifikovatelny a spravy sa mu nedaju podvrhnut."

Logování od bootu po vypnutí měly všechny distribuce, které jsem viděl. (Debian, RH a jeho klony.) Na jedné přednášce o journalu jsem zaslechl informaci, že journal nepodporuje posílání logů přes sít a pokud to někdo chce, tak má udělat redirect logů ze systemd do klasického syslogu a tam si udělat posílání na jiný stroj na síti. Přiznám se, že jsem čekal cokoliv, ale tohle mě uzemnilo. To, co umí logovací nástroje desítky let se teď odpáralo. Při posílání logů na jiný stroj na síti lze snadno řešit i onu zpětnou nemodifikovatelnost.

Nehledě na to, že posílání logů po síti řeší i stav, kdy není k diposici logovací storage a právě tuto informaci o chybě storage se může admin dozvědět.

Takže klasický postup Lennarta, udělá megabastl (PA byl jen bastl, tohle už jde do jádra), který funguje hůř než předchozí systémy a vlastnosti, které předchozí systémy řešily levou zadní, tak bude dosahovat dalším bastlem.
Re: Re: Re: Re: Re: Re: Re: Lennart Poettering: Budeme se snažit vyrovnat se dalším IPC systémům
Michal Sedlak 17. 04. 2014, 15:23:08
Odpovědět  Odkaz 
>"Pokud mám farmu s 1000 virtuálkami, tak mám pravděpodobně takový HW, pro který 1000x boot proces nebude problém."

Boot 1000 strojov je vzdy problem a preco si neznizit naklady a downtime? Faktom je ze su aj vacsie environmenty ako s 1000 strojmi.

Dalsi dovodom na rychly start je on demand scaling. Ked treba viac vykonu pre nejaku aplikaciu mozes si on demand spravit virtualky za niekolko sekund, namiesto niekolko minut. V cloudovych sluzbach tie virtualky/kontainery ani nemusia bezat kym niekto nespravi request na tu sluzbu, ked prvy request bude trvat len 1 sekundu kym nabootuje system a nebehne sluzba. Pri cloudovych sluzbach s tisickami tyckychto virtualok/kontainerov je to velka uspora.

>"Logování od bootu po vypnutí měly všechny distribuce, které jsem viděl. (Debian, RH a jeho klony.)"
Ano ale minimalne v troch roznych logoch, nehovoriac o tom ze nevies co zapisala ktora sluzba.


>"Na jedné přednášce o journalu jsem zaslechl informaci, že journal nepodporuje posílání logů přes sít a pokud to někdo chce, tak má udělat redirect logů ze systemd do klasického syslogu a tam si udělat posílání na jiný stroj na síti."

To je pravda. Journal remote logging zatial "nevie", ale stale moze veci forwardovat do syslogu a ten to moze posielat po sieti ako doteraz.
Avsak uz sa na tom pracuje, neviem ci je to v produkcnom stave:
https://fedoraproject.org/wiki/Changes/Remote_Journal_Logging
http://www.freedesktop.org/software/systemd/man/systemd-journal-remote.html
František Zatloukal Re: Lennart Poettering: Budeme se snažit vyrovnat se dalším IPC systémům
František Zatloukal 14. 04. 2014, 16:02:53
Odpovědět  Odkaz 
Není potřeba se čehokoliv obávat. Jestli k hlubší integraci(tzn ani jedno porstředí bez systemd nepůjde spustit) opravdu nakonec dojde, tak to bude nejdříve za několik let.
Re: Re: Lennart Poettering: Budeme se snažit vyrovnat se dalším IPC systémům
Honza Jaroš 14. 04. 2014, 16:10:47
Odpovědět  Odkaz 
No nevím, nebyly s Gnome v tomhle ohledu problémy už teď? Mám pocit, že se to právě u Gentoo nějak řešilo, nevím, jak to nakonec dopadlo. U KDE se zatím bez systemd obejdu...
Re: Lennart Poettering: Budeme se snažit vyrovnat se dalším IPC systémům
j 16. 04. 2014, 09:40:20
Odpovědět  Odkaz 
Obavam se, ze gentoo uz do kopru jde taky, uz sem v /etc zaznamenal nejaky zarodek tohodle svinstva.
Lennart Poettering: Budeme se snažit vyrovnat se dalším IPC systémům
Cqs 14. 04. 2014, 16:27:35
Odpovědět  Odkaz 
V mojom pripade znamenalo systemd vyrazne spomalenie systemu, az o niekolko hodin, kym som nezistil co vsetko sysd zkurvilo a nedal to do kupy (Arch L.)

Len.P. je trojsky kon pre OSS.. uz je nacase, aby si Lenart nasiel nejaku dalsiu zabavku a isiel kurvit nieco ine. Co tak Freebsd? ;)
Re: Lennart Poettering: Budeme se snažit vyrovnat se dalším IPC systémům
Lukas 14. 04. 2014, 17:51:40
Odpovědět  Odkaz 
Zajímavé, takže Lennart může za to, že jste si rozdrbal svoji instalaci Arch Linuxu. Hmmmm. Někde se určitě stala chyba, ale nejsem si jistý, jestli za ni může Lennart :-)
Re: Re: Lennart Poettering: Budeme se snažit vyrovnat se dalším IPC systémům
j 16. 04. 2014, 09:44:41
Odpovědět  Odkaz 
Srry, ale ten idiot je primo zodpovedny za to, ze naprosto VSEM prestalo fungovat sitovani. Proc ze to? Protoze naprosto vsichni pouzivali navazani ethX na MAC adresu, coz kvuli tomuto dmntovi a jeho integraci udev do teto srajdy ... fungovat prestalo. Protoze to fungovalo "politicky nekorektne" ... Nekteri se to samo dozvi az s pristi vetsi aktualizici systemu, uzivatele gentoo na to narazili doslova jako blesk z cistyho nebe ... protoze varovani se objevilo asi tyden expost ... nebot to zjevne nevedeli ani maintaineri.
Lennart Poettering: Budeme se snažit vyrovnat se dalším IPC systémům
Rover623 14. 04. 2014, 16:51:53
Odpovědět  Odkaz 
Ten člověk je cvok, všechno co kdy navrhl zatáhlo do Linuxu jen další nepotřebný polofunkční balast. Vrcholem jeho snažení je fakt, že ostatní vývojáři odmítají opravovat to co on a jemu podobní pomatenci do systému zatáhnou. Komu by se taky chtělo opravovat něco co pořádně nefunguje jen proto, že už je to od začátku blbě napsané nebo si tenhle cvok myslí, že se vývojáři jádra zblázní a vydají patch pokaždé, když tenhle pomatenec vydá další blbě napsanou verzi systemd
Re: Lennart Poettering: Budeme se snažit vyrovnat se dalším IPC systémům
lzap 14. 04. 2014, 17:49:41
Odpovědět  Odkaz 
Nevidíte věci ve všech souvislostech.
Re: Re: Lennart Poettering: Budeme se snažit vyrovnat se dalším IPC systémům
Honza Jaroš 14. 04. 2014, 17:52:19
Odpovědět  Odkaz 
Vysvětlíte nám to?
Lukáš Jelínek Re: Re: Lennart Poettering: Budeme se snažit vyrovnat se dalším IPC systémům
Lukáš Jelínek 14. 04. 2014, 18:10:27
Odpovědět  Odkaz 
To je hláška jak z filmu Vážení přátelé, ano :-) (Případně jako když tehdejší mluvčí vlády Oskar Krejčí vysvětloval pánům Horáčkovi a Kocábovi, v jaké situaci je premiér Adamec.)
Tomáš Crhonek Re: Re: Lennart Poettering: Budeme se snažit vyrovnat se dalším IPC systémům
Tomáš Crhonek 15. 04. 2014, 11:22:46
Odpovědět  Odkaz 
Také se přidávám se žádostí o ony souvislosti. Z toho co (z různých neoficiálních zákulisnich zdrojů) vím i o ostatních Lennart projektech, tak jsem čím dál tím víc nalomen Linux opustit a vydat se směrem (Free)BSD.
Re: Re: Lennart Poettering: Budeme se snažit vyrovnat se dalším IPC systémům
Rover623 15. 04. 2014, 20:16:28
Odpovědět  Odkaz 
Jistě že ne, já jsem totiž jeden z těch "chudáků" co kvůli tomuhle pomatenci patchují jádro. Ovšem poslední sadu patchů pro systemd, Linus vyhodil s tím, že nebude do jádra začleňovat opravy něčeho co někdo jiný zmrvil (systemd). Takže opravdu nevidím souvislosti, jen opravuji co tenhle cvok napáchá
A čo iné systémy s KDE a GNOME?
Vladimír Drgoňa 15. 04. 2014, 08:04:28
Odpovědět  Odkaz 
Som zvedavý, ako na tom bude napríklad moje obľúbené FreeBSD, keď na spustenie KDE bude potrebovať systemd.
Lennart Poettering: Budeme se snažit vyrovnat se dalším IPC systémům
mm 15. 04. 2014, 10:09:09
Odpovědět  Odkaz 
Aha, takže zanedlouho bude zmrvená a zamlžená i komunikace mezi procesy.
Já už jen čekám, kdy ten magor zavede v cestách zpětná lomítka a označování blokových zařízení písmeny. A bude tvrdit, jak je to děsně cool :-(
Lennart Poettering: Budeme se snažit vyrovnat se dalším IPC systémům
j 16. 04. 2014, 09:38:55
Odpovědět  Odkaz 
"který používají nebo v budoucnu budou používat všechny velké distribuce"

... proboha jen to ne, horsi shit v systemu nez toto neznam.
Lennart Poettering: Budeme se snažit vyrovnat se dalším IPC systémům
q 16. 04. 2014, 21:14:48
Odpovědět  Odkaz 
vseci co krituzuju systemd mozu tak druzat hubu pretoze by sami nic lepsie nenapisali
Re: Lennart Poettering: Budeme se snažit vyrovnat se dalším IPC systémům
Honza Jaroš 17. 04. 2014, 08:56:33
Odpovědět  Odkaz 
Nemusím být pekař, abych poznal, že rohlíky stojí za kulové. To jen k vaší poznámce.

K samotnému systemd jen tolik, že by většině lidí ukradené, pokud by nekanibalizovalo svoje konkurenty a nevcůcávalo i projekty, které s ním v podstatě nesouvisí. V Linuxu bývala možnost volby a zaměnitelnosti jednotlivých komponent. Tuto tradici systemd a projekty, které se na něm stávají závislé, boří.
Re: Re: Lennart Poettering: Budeme se snažit vyrovnat se dalším IPC systémům
cqs 17. 04. 2014, 12:21:28
Odpovědět  Odkaz 
"a nevcůcávalo i projekty"

Presne o toto ide, nejake systemd by bolo kazdemu ukradnute keby nezamykalo moznost volby, vec, ktorou Linux pritiahol nielen mna. Naozaj nemam zaujem o jeden prsten ktory vsetkym vladne... ale obavam sa, ze uz je neskoro a Linux ako sme ho poznali sa uz nevrati.
Lennart Poettering: Budeme se snažit vyrovnat se dalším IPC systémům
tom 18. 04. 2014, 12:16:25
Odpovědět  Odkaz 
Ideální by bylo, kdyby si Lennart založil vlastní distro plné jeho bastlů, a nekurvil všechna ostatní.
Lennart Poettering: Budeme se snažit vyrovnat se dalším IPC systémům
Tomáš Pavlík 30. 05. 2014, 01:05:37
Odpovědět  Odkaz 
Dobrý den, také bych rád přispěl do diskuze.
Linux jako takový je kouzelný už jen díky tomu, že nikomu nevnucuje své představy "co a jak má fungovat", a nechává dostatečně transparentní volby na samotném uživateli. systemd tuto filosofii podkopává. Vnucuje se do GNOME, teď už i do KDE. Začínal jsem na Debianu, přešel na Arch, a od Archu ke Gentoo. Debian se zdál být příliš jednoduchý, Arch mi od začátku vnucoval systemd, a openRC z AUR fungoval napůl, ačkoliv si jsem naprosto jist že jsem ho do své distribuce implementoval naprosto korektně. Gentoo mi volbu nevnucuje, jasně mi nabízí a já si jasně mohu vybrat. Totéž se ale nedá říci o distribucích kde je již systemd defaultně. Arch, Debian, Ubuntu, OpenMandriva (co dál?). Je to vnucená featura kterou, řekněme si to narovinu, žádný alespoň lehce nadprůměrně inteligentní a zkušený uživatel Linuxu zkrátka nechce. Pan Lennart by si měl svůj píseček přesunout daleko, daleko a předaleko. Děsím se toho že bude systemd v budoucnu standard.

Přidat názor

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz

František Zatloukal

František Zatloukal

Mladý open-source nadšenec, vývojář, Fedora Ambassador pro ČR. Aktuálně pracuje jako Associate Software Engineer v Red Hatu a dělá šéfredaktora na mojefedora.cz. Ve volném čase se věnuje sportu.


  • Distribuce: Fedora
  • Grafické prostředí: GNOME

| blog