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í
×

dnes 20:33 | Komunita

MojeFedora.cz informuje (en), že Fedora 27 přináší snadný přístup k Red Hat Enteprise Linuxu. Virtualizační nástroj Boxy nyní umožňuje jednoduše stáhnout a nainstalovat Red Hat Enterprise Linux, který je pro vývojáře zdarma. Vytvořit lze neomezené množství virtuálních mašin s RHEL.

Ladislav Hagara | Komentářů: 0
dnes 19:00 | Komunita

Konsorcium Linux Foundation oficiálně představilo licence pro komunitní otevřená data Community Data License Agreement (CDLA). První licence je copyleftová CDLA-Sharing a druhá permisivní CDLA-Permissive. Odpovědi na často kladené otázky ve FAQ.

Ladislav Hagara | Komentářů: 0
dnes 13:55 | Pozvánky

Spolek OpenAlt zve příznivce otevřených technologií a otevřeného přístupu na 145. pražský sraz, který proběhne ve čtvrtek 26. října od 18:00 hodin v karlínském Pivovarském klubu. Najdete jej kousek od metra Florenc na adrese Křižíkova 17, Praha 8. Jedná se o poslední sraz před konferencí OpenAlt 2017, jež proběhne o víkendu 4. a 5. listopadu 2017 na FIT VUT v Brně. Běží registrace účastníků.

Ladislav Hagara | Komentářů: 0
dnes 06:00 | Zajímavý software

Byla vydána verze 0.56 open source platformy Home Assistant (GitHub) pro monitorování a řízení inteligentní domácnosti naprogramované v programovacím jazyce Python verze 3 a bežící také například na Raspberry Pi. Pro vyzkoušení je k dispozici demo [reddit].

Ladislav Hagara | Komentářů: 0
včera 16:55 | Nová verze

Byla vydána verze 1.0 klienta F-Droid určeného pro instalaci aplikací do Androidu ze softwarového repozitáře F-Droid (Wikipedie), alternativy k Google Play, nabízející pouze svobodný a otevřený software. Podrobnosti v přehledu změn [Hacker News].

Ladislav Hagara | Komentářů: 6
včera 00:55 | Nová verze

Po téměř 13 měsících vývoje od verze 0.11.0 byla vydána verze 0.12.0 hardwarově nenáročného desktopového prostředí LXQt (Lightweight Qt Desktop Environment, Wikipedie) vzniklého sloučením projektů Razor-qt a LXDE. Přehled novinek v příspěvku na blogu.

Ladislav Hagara | Komentářů: 10
21.10. 12:33 | Zajímavý software

Článek ne Medium představuje nejnovější stabilní verzi 2.0 svobodné decentralizované mikroblogovací platformy a sociální sítě podobné Twitteru Mastodon (Wikipedie). Detailní přehled novinek na GitHubu [Hacker News].

Ladislav Hagara | Komentářů: 0
21.10. 06:00 | Komunita

V Praze na půdě Elektrotechnické fakulty ČVUT dnes probíhá RT-Summit 2017 – setkání vývojářů linuxového jádra a uživatelů jeho real-time verze označované jako preempt-rt. Přednášky lze sledovat online na YouTube.

Ladislav Hagara | Komentářů: 0
20.10. 14:33 | Zajímavý projekt

Blender Animation Studio zveřejnilo první epizodu z připravovaného animovaného seriálu The Daily Dweebs o domácím mazlíčkovi jménem Dixey. Ke zhlédnutí také ve 3D s rozlišením 8K.

Ladislav Hagara | Komentářů: 0
20.10. 12:34 | Komunita

Aktualizovanou počítačovou hru Warhammer 40,000: Dawn of War III v ceně 39,99 eur běžící také na Linuxu lze o víkendu na Steamu hrát zdarma a případně ještě v pondělí koupit s 50% slevou. Do soboty 19:00 lze na Humble Bundle získat zdarma Steam klíč k počítačové hře Sid Meier's Civilization® III v ceně 4,99 eur běžící také ve Wine.

Ladislav Hagara | Komentářů: 0
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (10%)
 (0%)
 (0%)
 (1%)
 (75%)
 (13%)
Celkem 228 hlasů
 Komentářů: 8, poslední včera 23:02
    Rozcestník

    Jaderné noviny - 27. 10. 2016: Škálovatelný odkládací prostor

    9. 11. 2016 | Redakce | Jaderné noviny | 2375×

    Stav vydání jádra. Citáty týdne: Rusty Russel, Dave Chinner a Linus Torvalds. Škálovatelný odkládací prostor.

    Stav vydání jádra

    Současný vývojový kernel je 4.9-rc2, vydaný 23. října. Linus žádá, aby se lidé zaměřili na testování zvláště jedné funkce: „Moje nejoblíbenější novinka, kterou jsem vyzdvihl při oznámení rc1 (virtuálně mapované zásobníky), je nejspíš zapletená do některých pádů, kterými se zabýval Dave Jones, takže jestli chcete být užiteční a můžete přispět dalšími daty, povolte si prosím CONFIG_VMAP_STACK.“

    Aktuální seznam regresí v 4.9 obsahuje 14 známých problémů.

    Stabilní aktualizace: 4.8.3, 4.7.9 a 4.4.26, obsahující opravu „Dirty COW“, byly vydány 20. října. Verze 4.8.4, 4.7.10 a 4.4.27 následovaly o dva dny později. Verze 4.7.10 je poslední v řadě 4.7.x.

    Verze 4.8.5 (140 změn) a 4.4.28 (112 změn) byly v době psaní tohoto článku v procesu revidování a vyšly 28. října.

    Citáty týdne

    Mým největším kariérním úspěchem, který trval posledních 19 let, byla možnost být správcem linuxového jádra. Nyní však máme nadbytek vynikajících hackerů, takže můžu své místo bez výčitek předat dál.

    Rusty Russel končí

    Rychle se vzdalujeme ze světa, ve kterém je stránková cache nutná, aby aplikace měly slušný výkon. DAX stránkovou cache nemá; aplikace, které chtějí využít úložiště s vysokým IOPS (stovky tisíc až miliony), používají přímé IO, protože stránková cache akorát přidává zpoždění, problémy s využitím paměti a nedeterministické chování IO.

    Jestli nám jde o to udělat ze stránkové cache „jediný správný zdroj optimalizací IO“, lžeme si do kapsy, protože nové IO technologie ji už nevyžadují.

    Dave Chinner

    A ten patch samozřejmě není vůbec otestovaný. Nechtěl bych si kazit reputaci *testováním* patchů, které odešlu. Jaká by v tom byla legrace?

    Linus Torvalds, který daný patch následně otestoval (díky Borisi Petkovovi)

    První zveřejnění patche bus1

    Mechanismus pro předávání zpráv bus1 je nástupcem projektu „kdbus“. Na LWN se o něm psalo v srpnu. Patche jsou nyní zveřejněny k revizi. „Ačkoliv bus1 původně vzešel z projektu kdbus, je napsaný na zelené louce a dohromady toho oba koncepty nemají mnoho společného. Ve zkratce, bus1 poskytuje IPC systém na založený na schopnostech; v zásadě je podobný Android Binderu, Cap'n Proto nebo seL4."

    Škálovatelný odkládací prostor

    Odkládací (swap) subsystém je místo, kam odcházejí anonymní stránky (ty, které obsahují data programu bez zálohy v souborovém systému), když je nedostatek místa vytlačí z RAM. Široce zastoupený názor říká, že swapování je téměř vždy špatnou zprávou. V okamžiku, kdy se linuxový systém dostane do bodu, kdy swapuje anonymní stránky, je bitva o výkon většinou již prohraná. Takže není vůbec neobvyklé, že se setkáváme s linuxovými systémy, které jsou konfigurované zcela bez odkládacího prostoru. Zda je relativně slabý výkon swapování příčinou, nebo následkem tohoto přístupu, je otázkou k diskuzi. Stále jasnější je však fakt, že důvody pro použití swapování jsou stále silnější, takže rychlejší swapování by bylo přínosem.

    Swapování s rostoucí kapacitou úložných zařízení (SSD obzvláště) nabývá na popularitě. Není to tak dávno, co bylo přesouvání stránky z/na úložiště velmi pomalou operací – trvalo řádově déle než přímý přístup k paměti. Příchod zařízení s perzistentní pamětí tento poměr změnil takovým způsobem, že se rychlost úložišť blíží rychlosti hlavní paměti. Zároveň poskytuje rozšiřování cloud computingu poskytovatelům silnější podnět k tomu, aby na svých systémech dávali výraznou přednost hlavní paměti. Pokud se podaří swapování zrychlit dostatečně, stane se penalizace při agresivním používání paměti bezvýznamnou, což povede k lepšímu využití systému jako celku.

    Jak poznamenal Tim Chen v nedávno zveřejněné sadě patchů, jádro má v současné době značnou režii při výpadcích stránek, které vedou k získání stránky z odkládacího prostoru. Sada patchů tento problém řeší zlepšením škálovatelnosti odkládacího subsystému hned několika způsoby.

    V současných jádrech je odkládací zařízení (vyhrazený oddíl nebo speciální soubor v souborovém systému) reprezentováno strukturou swap_info_struct. Mezi položkami této struktury se nachází swap_map, ukazatel na pole bajtů, kde každý bajt obsahuje referenční čítač stránky uložené na odkládacím zařízení. Ona struktura vypadá nějak takto:

    [Swap file data structures]

    Část kódu swapování je docela stará, podstatná část sahá do doby zavádění Gitu. Dříve se jádro snažilo koncentrovat využití odkládacího prostoru směrem k začátku zařízení (levý konec pole swap_map vyobrazeného výše). Při swapování na rotačním úložišti dává tento přístup smysl, protože udržování dat v odkládacím prostoru popořádku by mělo minimalizovat množství hledání, které je zapotřebí k přístupu na požadované místo. Na SSD to funguje o něco hůře, a to z několika důvodů: (1) na těchto zařízeních neexistuje zpoždění při hledání (seek delay) a (2) požadavky na opotřebení SSD lépe odpovídají rovnoměrnému rozložení přes celé úložiště.

    V roce 2013 (resp. vydání 3.12) došlo ke změně kódu ve snaze o lepšit výkon na SSD. Když odkládací subsystém ví, že pracuje s SSD, rozdělí jej na clustery, viz ilustraci:

    [Swap file data structures]

    Ukazatel percpu_cluster ukazuje na jiný cluster pro každé CPU v systému. S tímto uspořádáním může každé CPU alokovat stránky z odkládacího zařízení v rámci vlastního clusteru. Výsledkem je rozprostření těchto alokací po celém zařízení. Teoreticky je tento přístup lépe škálovatelný. Tedy až na to, že v současných jádrech zatím nebylo dosaženo plného potenciálu škálování.

    Problémem je, jak už to v takových případech bývá, zamykání. CPU často nemají výhradní přístup k libovolnému clusteru (dokonce ani k tomu indikovanému v percpu_cluster), takže dřív než dojde ke změně, musejí získat zámek (spinlock) lock ve struktuře swap_info_struct. Běžně na jednom systému nebývá tolik odkládacích zařízení – často pouze jedno – takže dochází-li ke swapování, je o zámek velmi velký zájem.

    Soutěžení o zámky není právě cestou k lepší škálovatelnosti, v tomto případě dokonce ani soutěžení není vůbec nutné. Každý cluster je nezávislý a může se do něj alokovat bez zásahu do ostatních, takže skutečně není nutné čekat na jeden globální zámek. Stěžejním cílem sady patchů je tedy přidat nový zámek pro každý záznam v poli cluster_info. Aby se omezilo zabírání paměti navíc, jsou použity jednobitové zámky. Poté může kterékoli CPU alokovat stránky ze svého clusteru (nebo je uvolňovat do něj) bez soupeření s ostatními.

    I tak může dojít k mimořádné režii při zabírání zámku a při přístupu k zámku na jiných clusterech CPU může dojít k soutěžení o řádek cache (jak k tomu často při uvolňování stránek dochází, protože je nic nenutí k tomu, aby byly vhodně k dispozici v rámci uvolňujícího se clusteru CPU). Za účelem minimalizace této režie přidává sada patchů nové rozhraní k alokaci a uvolňování odkládacích stránek v dávkách. Jakmile CPU alokuje dávku odkládacích stránek, může je použít bez potřeby užití lokálního zámku clusteru. Uvolněné odkládací stránky jsou kumulovány v samostatné cache a vraceny v dávkách. Je zajímavé, že uvolněné stránky nejsou opětovně použité uvolňovaným CPU v naději, že jejich celkové uvolnění pomůže minimalizovat fragmentaci odkládacího prostoru.

    Ještě jeden bod, kde dochází k soutěžení, je třeba vyřešit. Vedle struktury swap_info_struct odkládací subsystém udržuje pro každé odkládací zařízení strukturu address_space. Tato struktura obsahuje mapování mezi stránkami v paměti a jejich odpovídající prostor v paměti na odkládacím zařízení. Změny v přidělování odkládacího prostoru vyžadují aktualizaci radixového stromu ve struktuře address_space, přičemž tento radixový strom je chráněn dalším zámkem. Vzhledem k tomu, že na systému je obvykle jen jedno odkládací zařízení, jedná se o další globální zámek, o nějž musí soutěžit všechna CPU.

    Řešením je v tomto případě varianta přístupu ke clusterům. Struktura address_space je replikována do mnoha struktur, jednou pro každých 64 MB odkládacího prostoru. Pokud má odkládací prostor (například) 10 GB, bude jedna struktura address_space rozdělena na 160 částí, každou s vlastním zámkem. Jasně to snižuje rozsah soupeření o každý dílčí zámek. Patch také dbá o to, že počáteční alokace odkládacích clusterů umístí každé CPU do samostatného address_space, čímž zajistí, že nedojde k soutěžení hned na začátku (ale jakmile bude systém nějakou dobu v chodu, budou vzorce odkládacího prostoru v podstatě náhodné).

    Podle Chena přidávají současná jádra přidávají asi 15µs režii ke každému výpadku stránky, která je řešena čtením z odkládacího SSD. To je podle něj srovnatelné s časem, který je potřeba k samotnému přečtení dat z tohoto zařízení. Po aplikaci patchů klesne režie na 4 µs, což je výrazné zlepšení. V době psaní tohoto článku nebyly k sadě patchů definitivní připomínky, ale vypadá to jako ten druh vylepšení, který odkládací subsystém potřebuje, aby mohl se současnými úložišti pracovat efektivně.

           

    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ář

    10.11.2016 10:37 troll master 4
    Rozbalit Rozbalit vše Re: Jaderné noviny - 27. 10. 2016: Škálovatelný odkládací prostor
    "Široce zastoupený názor říká, že swapování je téměř vždy špatnou zprávou." To ovšem neplatí pro Windows, tam se swapuje hned od bootu a je to úplně noumální.
    10.11.2016 14:44 Sten
    Rozbalit Rozbalit vše Re: Jaderné noviny - 27. 10. 2016: Škálovatelný odkládací prostor
    To je ten systém, kde potřebujete 32 GiB RAM, aby aplikace mohly použít 8 bez toho, aby začaly swapovat?
    David Ježek avatar 10.11.2016 15:00 David Ježek | skóre: 83 | blog: Mostly_IMDB | Poděbrady
    Rozbalit Rozbalit vše Re: Jaderné noviny - 27. 10. 2016: Škálovatelný odkládací prostor
    No, to je otázka. Tuhle jsem pouštěl Skyrim na Windows 8.1 x64 a měl jsem pár minut dojem, že se lokace načítají trošičku pomaleji, než jsem zvyklý. Letmá kontrola ukázala, že 1 z 2 osazených DIMMů nefunguje, takže to celé jede na 2 GB RAM. No, SSD se asi dost zapotilo, ale já to málem nepoznal.
    13.11.2016 19:59 pavele
    Rozbalit Rozbalit vše Re: Jaderné noviny - 27. 10. 2016: Škálovatelný odkládací prostor
    Ne, to je ten systém s 32 GB RAM, na kterém kopíruješ 50 GB dat a systém začne swapovat (i při nastavení swappiness na 3 a vfs_cache_pressure na 10000).

    Pak musíš šaškovat s ionice nebo cgroup.
    14.11.2016 06:49 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Jaderné noviny - 27. 10. 2016: Škálovatelný odkládací prostor
    Někteří lidé mají zajímavé představy o tom, co znamená "swapovat"…

    Založit nové vláknoNahoru

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