abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 18:44 | Bezpečnostní upozornění

Twitter upozornil, že pokud se uživatel Twitteru přihlašoval ve Firefoxu na sdíleném nebo veřejném počítači, tak po odhlášení se z Twitteru mohla na disku zůstat nakešovaná citlivá data, a proto toto kešování pro Firefox zakázal. Reakce Mozilly: Twitter by měl prostě dodržovat standardy.

Ladislav Hagara | Komentářů: 4
včera 17:44 | Zajímavý článek

Článek na Jitsi je věnován bezpečnosti a soukromí uživatelů při používání videokonferenčního softwaru Jitsi Meet. Doporučuje se zamyslet nad názvem místnosti. Upozorňuje, že místnost existuje, pouze pokud se v ní někdo nachází. V případě nastavení hesla, je toto heslo s ukončením místnosti zapomenuto a při opětovném použití místnosti je nutno jej opět zadat.

Ladislav Hagara | Komentářů: 2
včera 06:00 | IT novinky

Na Indiegogo byla spuštěna kampaň na podporu chytrého telefonu a kapesního počítače Astro Slide 5G Transformer od společnosti Planet Computers. Požadovaná částka 180 000 eur byla vybrána během 4 hodin. Stejně jako u předchozích zařízení Gemini PDA a Cosmo Communicator od této společnosti je slíbená podpora Linuxu.

Ladislav Hagara | Komentářů: 18
3.4. 19:22 | Zajímavý software

CryptPad je svobodný online kancelářský balík. Zdrojové kódy jsou k dispozici na GitHubu pod licencí AGPL-3.0. Oficiální instance nově nabízí 1 GB prostoru. Mozilla Foundation tento týden věnovala projektu 10 000 $.

Ladislav Hagara | Komentářů: 2
3.4. 18:22 | Nová verze

Byla vydána finální beta verze Ubuntu 20.04 LTS s kódovým názvem Focal Fossa. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 20.04 mělo vyjít 23. dubna 2020.

Ladislav Hagara | Komentářů: 4
3.4. 17:22 | Nová verze

Vyšel XCP-ng 8.1 (seznam změn), alternativní sestavení Citrix Hypervisor (dříve XenServer), tedy serverová distribuce hypervizoru Xen (4.13), toolstacku XAPI a systému CentOS v privilegované doméně. XCP-ng na rozdíl od bezplatné verze Citrix Hypervisoru nemá četná omezení funkcionality, vývojáři ale nabízejí i komerční podporu. Novinkou (zatím) pouze v XCP-ng je možnost zálohovat VM včetně aktuálního stavu jejich paměti; funkce je integrována také v administračním nástroji Xen Orchestra.

Fluttershy, yay! | Komentářů: 0
2.4. 17:55 | Nová verze

Byl vydán LineageOS ve verzi 17.1. LineageOS (Wikipedie) je svobodný operační systém pro chytré telefony, tablety a set-top boxy založený na Androidu. Jedná se o nástupce CyanogenModu. LineageOS 17.1 je založený na Androidu 10.

Ladislav Hagara | Komentářů: 12
2.4. 17:22 | Zajímavý projekt

Lukasz Erecinski na blogu Pine64 oznámil možnost předobjednání telefonu PinePhone v edici UBports Community Edition. Telefon bude mít speciální kryt s logem a nápisem UBports Edition. Základní deska bude podle nového schématu (v1.2) vylepšená podle zpětné vazby od majitelů BraveHeart edice. Bude mít FCC i CE certifikace.

joejoe | Komentářů: 3
2.4. 15:33 | IT novinky

Společnost Cloudflare před dvěma lety spustila DNS resolver 1.1.1.1. Včera spustila 1.1.1.1 pro rodiny aneb nové resolvery 1.1.1.2 (2606:4700:4700::1112) a 1.1.1.3 (2606:4700:4700::1113) blokující stránky s malwarem a obsahem pro dospělé. Dnes se omluvila, že nechtěně blokovala také LGBTQIA+ stránky.

Ladislav Hagara | Komentářů: 42
2.4. 14:55 | Nová verze

Společnost Red Hat oznámila vydání Red Hat Enterprise Linuxu 7.8, který přináší vedle nových vlastností a oprav chyb také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Podrobnosti v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
Chodíte do práce?
 (26%)
 (2%)
 (4%)
 (2%)
 (47%)
 (14%)
 (5%)
Celkem 119 hlasů
 Komentářů: 4, poslední 2.4. 14:20
Rozcestník

www.AutoDoc.Cz

Jaderné noviny – 18. 8. 2016: Případ pozdržené kontroly CPU

28. 8. 2016 | Redakce | Jaderné noviny | 2472×

Stav vydání jádra. Citáty týdne: Linus Torvalds, Konstantin Ryabitsev, Lara Abbott. Případ pozdržené kontroly CPU.

Stav vývoje jádra

Současný vývojový kernel je 4.8-rc2 vydaný 14. srpna. Linus k tomu řekl: „Vypadá to, že se neděje nic divného, takže prosím testujte a hlaste jakékoli chyby, na které narazíte. Očividně jsme na počátku řady rc vydání, ale nemyslím si, že v začleňovacím okně bylo něco znepokojivého, takže se nestyďte.“

Co se týče známých regresích ve vydání 4.8, viz tento report.

Stabilní aktualizace: 4.7.1, 4.6.7, 4.4.18 a 3.14.76 byly vydány 16. srpna. Řada 4.6.x verzí 4.6.7 končí.

Citáty týdne

Přiznejme si to, s uživatelskými programy, které dělají divné a nepříliš efektivní věci, se do budoucna musí počítat. Šílených uživatelských programů se nikdy nezbavíme, takže bychom mohli opravit problémy s výkonem i v situacích, kdy se nedá říct nic jiného než, že „to je hovadina.“

-Linus Torvalds

[I] když vám někdo na bugzilla.kernel.org řekne, abyste něco provedli se svým jádrem, ještě to neznamená, že ten člověk ví, co dělá.

-Konstantin Ryabitsev

Ráda bych rozptýlila tuto představu jednou pro vždy. Pro práci na jádře nepotřebujete mít extra talent, pokud jako talent nepočítáte vytrvalost a trpělivost. Práce v nízkoúrovňovém Céčku má své zvláštnosti stejně jako jiné jazyky. Šablony v C++ mě děsí a typový systém (resp. jeho absence) v JavaScriptu mě mate. Dovednosti potřebné k práci na jádře se můžete naučit.

-Laura Abbott

Případ pozdržené kontroly CPU

Dlouhotrvající technické neshody nejsou v jaderné komunitě ničím novým. Obvykle se je nakonec podaří vyřešit a zúčastnění vývojáři se mohou přesunout k novým problémům. Jenže občas může protahovaný status quo vést k rozkolu mezi jádrem a komunitou uživatelů. Probíhající spor ohledně ovladače CPU v nové hierarchii kontrolních skupin začíná vypadat jako jeden z těchto nepříjemných případů.

Kontrolní skupiny (cgroups) jádro podporuje již téměř deset let. Poskytují mechanismus, který umožňuje hierarchické seskupování procesů a následně jejich regulaci. Netrvalo dlouho a uživatelé si společně s vývojáři po zavedení kontrolních skupin začali uvědomovat, že jejich návrh má jisté zásadní vady. Diskuze o jejich nápravě nabyla na vážnosti začátkem roku 2012. Vedla k popisu druhé verze API kontrolních skupin a začátku procesu, který měl vést k přechodu na toto API. Aktuálně je přechod na druhou verzi API téměř hotov – zbývá jediná nápadná výjimka, a to kontrola CPU.

Kontrola CPU, jak ze jména samotného zřejmé, řídí přístup k CPU. Umožňuje různým skupinám procesů alokovat konkrétní kvanta procesorového času a zároveň jim brání v tom, aby si navzájem překážely. Nízkoúrovňový kód kontroly CPU může bez problému nové API podporovat, ale vývojáři plánovače prozatím zabránili začlenění API samotného. Nyní tak kontrola CPU zůstává nejvýznamnějším modulem bez podpory druhé verze rozhraní. Ve snaze postrčit věci kupředu (a říct, co se stane, když k posunu nedojde) zveřejnil správce cgroup Tehun Heo podrobné shrnutí situace tak, jak ji vidí on. Pro ty, kdo o toto téma mají zájem, se jedná o zajímavý dokument k přečtení.

Námitky proti kontrole CPU

Stručně řečeno, vývojáři plánovače proti novému API protestují ze dvou důvodů, které mají původ v zažitém nesouladu mezi jejich představou o principech kontroly CPU a API samotným. Oba důvody se vztahují k základním rozhodnutím v návrhu druhé verze API kontrolních skupin.

V původní implementaci kontrolních skupin je možné vložit každé jednotlivé vlákno (proces jich může obsahovat spoustu) do samostatné kontrolní skupiny. Druhá verze API místo toho vyžaduje, aby byla všechna vlákna jednoho procesu ve stejné skupině. V některých jiných případech oddělení vláken nedává velký smysl; týká se to např. kontroly využití paměti, jelikož vlákna jednoho procesu z principu paměť sdílejí, tudíž by jejich oddělení pozbývalo významu. Pro přiřazení různých politik využití CPU různým vláknům ovšem existují rozumné důvody, leč jednotná hierarchie, která je základním aspektem návrhu druhé verze API, vyžaduje, aby všechny kontrolní moduly viděly stejné uspořádání kontrolních skupin. Takže z pohledu kontroly CPU musí být všechna vlákna ve stejné kontrolní skupině.

Podle všeho je tento požadavek z pohledu vývojářů plánovače principiálně špatný. Nic přímo v plánovači nerozezná abstrakci „procesu“ – na této úrovni je vše vláknem. Aplikace „hrubší“ politiky na úrovni kontrolních skupin z jejich pohledu ubírá důležitou míru flexibility a nepřináší podle nich žádné výhody.

Jsou uživatelé, kteří chtějí mít možnost aplikovat různé politiky na různá vlákna. Správa poolu vláken (thread pool) je jedním z často jmenovaných případů užití. Avšak Heo stojí za rozhodnutím podle návrhu; také si myslí, že by se stejné rozhraní nemělo používat pro úroveň správce a v rámci dílčích procesů. Navrhl mechanismus, který nazval skupiny zdrojů (resource groups) pro použití uvnitř procesů. Zatím se nesetkal s velkým ohlasem.

Další věc, která se vývojářům plánovače na druhé verzi API nelíbí, je ta, že kontrolní skupina může obsahovat buď další kontrolní skupiny, nebo procesy – nikoli obojí. Procesy se v hierarchii kontrolních skupin mohou objevit pouze na samém konci jako listy. Opět platí, že toto rozhodnutí bylo přijato s cílem usnadnit podporu kontroly věcí jiných než CPU. Pokud se podskupiny a procesy ocitnou ve stejné skupině, pak tyto dva typy objektů musí soupeřit o stejný zdroj. V případě CPU se dá toto soupeření jednoduše spravovat. Když je „naplánována“ kontrolní skupina, plánovač se rekurzivně vrátí do skupiny a vybere z ní jeden z objektů ke spuštění. Jiné kontrolní mechanismy ovšem s procesy a podskupinami podobným způsobem pracovat nedovedou.

Hlavní námitka se týká toho, že toto omezení ničí některá elegantní řešení návrhu plánovače CPU. Rozhodnutí při plánování jsou aplikována na „plánované entity“, což mohou být jak procesy, tak skupiny – plánovač se nemusí starat, co je co. Nová verze API některé kontrolní politiky znesnadňuje, ba až znemožňuje. To však podle Hea nemusí příliš vadit:

Nicméně není jasné, jaké by bylo praktické využití rozložení s přímou konkurencí mezi úkoly a kontrolními skupinami, když uvážíme, že počet a chování úkolů si ovládají aplikace samotné, zatímco kontrolní skupiny se primárně zabývají přerozdělováním zdrojů na úrovni systému. Změny v počtu aktivních vláken by přímo ovlivnily distribuci zdrojů. Během diskuzí se nepodařilo přijít na příklady z praxe, ve kterých by takové rozložení našlo využití.

V souhrnu lze konstatovat, říká Heo, že pro rozhodnutí ohledně druhé verze API existují solidní důvody. Většina věci funguje tak, jak jsou, a přidání nové funkce, jako jsou skupiny zdrojů, může vyplnit zbývající mezeru. Pokud někdo stále nemůže pracovat s druhou verzí API, první verze bude udržována, dokud bude mít uživatele. Přechod je téměř kompletní: nechybí nízkoúrovňová podpora, jen zbývá začlenit kód na úrovni API, aby kontrola CPU mohla pracovat v jednotné hierarchii nové verze. Tento kód však byl zablokován a zdá se, že není cesty vpřed.

Co teď

Heo zjevně doufá, že se znovuotevřením diskuze podaří dojít k jejímu závěru a připravit cestu pro začlenění zbývajících patchů. Prozatím to ale na brzký konec nevypadá. Pokud se k řešení nedospěje tímto způsobem, chystá se Heo zpřístupnit svou funkcionalitu uživatelům jinak.

Jednou z možností je udržovat potřebné patche tak, že kdokoli, kdo bude chtít kontrolu CPU s druhou verzí API, si je bude moci snadno přidat do svého jádra. Přestože to zatím nikdo neřekl explicitně, je zjevné, že Heo doufá, že distributoři tyto patche zahrnou, aby byly uživatelům k dispozici. Tento přístup byl použit k vyřešení podobných záseků i v minulosti. Je-li patch široce aplikován distributory a využíván, nastává okamžik, kdy nemá smysl bránit mu ve vstupu do upstreamu. Tyto úvahy přivedly do upstreamu mimo jiné také Android.

Další věcí, kterou je třeba zajistit, je, aby nejrozšířenější nasazení kontrolních skupin – systemd – mohlo novou verzi API používat. Proto zveřejnil žádost o začlenění přidání této funkcionality do systemd se slovy: „Tento commit implementuje podporu systemd kontroly CPU v jednotné hierarchii, takže uživatelé, kteří se rozhodnou nasadit podporu pro druhou verzi kontroly CPU kontrolními skupinami, ji mohou jednoduše využívat.“ Tento kód byl začleněn do upstreamu systemd 14. srpna.

Tento krok vyvolal mírné neshody v komunitě systemd, jelikož tam je zvykem, že funkcionalita je dříve v „upstreamu“, než se [do systemd] začlení kód, který ji začne využívat. Ačkoliv, nutno podotknout, že většina protestů v tomto případě přichází od jediného hlučného vývojáře. Lennart Poettering tento krok bránil s tím, že vývojáři systemd chtějí, aby se funkce dostala do rukou uživatelů, a že doufá v začlenění jaderných patchů do Fedory. Greg Kroah-Hartman poznamenal, že se nejedná o první případ, kdy byla přidána podpora nezačleněné funkcionality, a že se tak často děje z dobrých důvodů:

Někdy je třeba přidat kód k projektům, aby bylo možné kód jádra pořádně otestovat. A aby lidé mohli snáze upgradovat svá jádra v budoucnu a aby vše správně fungovalo na jejich stávajících, starších, systémových nástrojích. Tohle se děje pořád, nechápu, proč jste tím najednou tak překvapeni.

Takhle nějak to vypadalo v době psaní tohoto článku. Předvídání může být nebezpečné, hlavně když jde o budoucnost, ale v tomto případě to vypadá, že se jaderné patche skutečně do různých distribučních jader dostanou. Díky nim bude druhá verze API používanější a protože většina distributorů již používá systemd, je jeden z významných uživatelů připraven API využít. Tlak ze strany uživatelské komunity je sice takovým tupým nástrojem, který by však v tomto případě mohl zaseknutým patchům pomoci.

       

Hodnocení: 100 %

        špatnédobré        

Nástroje: Tisk bez diskuse

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

Komentáře

Vložit další komentář

28.8.2016 23:18 Fox
Rozbalit Rozbalit vše Re: Jaderné noviny – 18. 8. 2016: Případ pozdržené kontroly CPU
Control neni kontrola...
Fluttershy, yay! avatar 28.8.2016 23:26 Fluttershy, yay! | skóre: 86 | blog:
Rozbalit Rozbalit vše Re: Jaderné noviny – 18. 8. 2016: Případ pozdržené kontroly CPU
Pokud je mi známo, kontrolní skupiny jsou zavedený překlad a zde o kontrolu ve stejném slova smyslu jde.
✊ The old world is dying, and the new world struggles to be born. Now is the time of monsters. ✊
29.8.2016 11:46 trekker.dk | skóre: 71
Rozbalit Rozbalit vše Re: Jaderné noviny – 18. 8. 2016: Případ pozdržené kontroly CPU
Pokud zavedený překlad v tomto kontextu znamená to, co zde bylo zavedeno dříve, tak zavedený překlad za posledních přinejmenším 6 let jsou řídící skupiny. UTFG, pokud mi nevěříte.
Quando omni flunkus moritati
Josef Kufner avatar 29.8.2016 12:39 Josef Kufner | skóre: 69
Rozbalit Rozbalit vše Re: Jaderné noviny – 18. 8. 2016: Případ pozdržené kontroly CPU
Řídicí, nikoliv řídící. Jsou to skupiny určené k řízení, nikoliv skupiný, které právě něco řídí. Tedy pokud je o nich jednáno v obecné rovině.
Hello world ! Segmentation fault (core dumped)
Fluttershy, yay! avatar 29.8.2016 12:43 Fluttershy, yay! | skóre: 86 | blog:
Rozbalit Rozbalit vše Re: Jaderné noviny – 18. 8. 2016: Případ pozdržené kontroly CPU
UTFG proběhlo a kontrolní skupiny se vyskytly tady, na Rootu i jinde (zadání diplomek, školení) o poznání dříve.

Co se týče jazykozpytné diskuze, viz komentáře na Rootu.
✊ The old world is dying, and the new world struggles to be born. Now is the time of monsters. ✊
29.8.2016 14:03 trekker.dk | skóre: 71
Rozbalit Rozbalit vše Re: Jaderné noviny – 18. 8. 2016: Případ pozdržené kontroly CPU
Ano, vyskytly se tady, ale v jaderných novinách byl ustálený překlad řídicí skupiny. Mimo jiné i proto - a v tom blogu na rootu se to píše podobně - že kontrolní (kontrolovat) má jako prvotní význam "ověřit (jak něco dopadlo)"
Quando omni flunkus moritati
Fluttershy, yay! avatar 29.8.2016 14:20 Fluttershy, yay! | skóre: 86 | blog:
Rozbalit Rozbalit vše Re: Jaderné noviny – 18. 8. 2016: Případ pozdržené kontroly CPU
jako prvotní význam "ověřit (jak něco dopadlo)"

Těžký život inženýra.

Navíc všechny slovníky, které mám při ruce, v prvé řadě hovoří o dozoru či dohledu.

✊ The old world is dying, and the new world struggles to be born. Now is the time of monsters. ✊
29.8.2016 14:34 trekker.dk | skóre: 71
Rozbalit Rozbalit vše Re: Jaderné noviny – 18. 8. 2016: Případ pozdržené kontroly CPU
Njn, ne všichni mají žaludek na to věčně studovat nesmysly, vyhýbat se práci a nechat si to platit od jiných.
Quando omni flunkus moritati
Fluttershy, yay! avatar 29.8.2016 15:08 Fluttershy, yay! | skóre: 86 | blog:
Rozbalit Rozbalit vše Re: Jaderné noviny – 18. 8. 2016: Případ pozdržené kontroly CPU
To eskalovalo rychle.
✊ The old world is dying, and the new world struggles to be born. Now is the time of monsters. ✊
29.8.2016 17:54 citanus | skóre: 12 | Cork (Ireland)
Rozbalit Rozbalit vše Re: Jaderné noviny – 18. 8. 2016: Případ pozdržené kontroly CPU

Kdyz uz se to musi prekladat, tak se taky primlouvam za ridici skupiny

2.9.2016 12:47 prcek
Rozbalit Rozbalit vše Re: Jaderné noviny – 18. 8. 2016: Případ pozdržené kontroly CPU
+1
29.8.2016 19:00 win.net | skóre: 23
Rozbalit Rozbalit vše Re: Jaderné noviny – 18. 8. 2016: Případ pozdržené kontroly CPU
Jen bych upozornil na chybku: "Netrvalo dlouho a uživatelé si společně s vývojáři vývojáři po zavedení kontrolních skupin" Jednou by ti vývojáři mohli stačit ;-)

O
Chi um nens la-kuu
Fluttershy, yay! avatar 29.8.2016 19:01 Fluttershy, yay! | skóre: 86 | blog:
Rozbalit Rozbalit vše Re: Jaderné noviny – 18. 8. 2016: Případ pozdržené kontroly CPU
Díky, opraveno.
✊ The old world is dying, and the new world struggles to be born. Now is the time of monsters. ✊
30.8.2016 11:38 Xerces
Rozbalit Rozbalit vše Re: Jaderné noviny – 18. 8. 2016: Případ pozdržené kontroly CPU
Na můj vkus je v článku o jádru příliš často použito slovo systemd a Android, ale každopádně díky za překlad.

Založit nové vláknoNahoru

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.