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 03:33 | Komunita

    Proběhl Snapdragon Summit 2026. Společnost Qualcomm se mimo jiné pochlubila během Linuxu na čipech Snapdragon X2. Zatím pouze v ranní verzi vhodné pro vývojáře linuxových distribucí a přispěvatele do jádra Linux.

    Ladislav Hagara | Komentářů: 1
    včera 21:11 | Nová verze

    Byla vydána nová verze 2.0 klienta F-Droid určeného pro instalaci bezplatných a otevřených mobilních aplikací do Androidu ze softwarového repozitáře F-Droid (Wikipedie). Jedná se o alternativu k Google Play.

    Ladislav Hagara | Komentářů: 6
    včera 12:11 | Komunita

    Debian Inference Portal nabízí vývojářům Debianu bezplatný přístup ke službám AI/LLM. Sponzorem je společnost Scaleway.

    Ladislav Hagara | Komentářů: 1
    včera 11:44 | Bezpečnostní upozornění

    Robert Ressl nalezl ve WordPressu kritickou zranitelnost CVE-2026-87902 s CVSS 9.2. Útočníkům umožňuje neoprávněný přístup k souborům a vzdálené spuštění kódu (RCE). Opravena je ve verzích 7.1.2, 7.0.6, 6.9.9…

    Ladislav Hagara | Komentářů: 1
    včera 03:33 | IT novinky

    Společnost Meta na dvoudenní konferenci Meta Connect 2026 představuje své novinky. Vypíchnout lze lehké brýle s funkci VR Meta VR Glasses. Do prodeje půjdou na jaře 2027 za cenu 1299,99 dolarů.

    Ladislav Hagara | Komentářů: 1
    23.9. 14:44 | Nová verze

    Google Chrome 154 byl prohlášen za stabilní. Nejnovější stabilní verze 154.0.8037.57 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 108 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 6
    23.9. 14:33 | IT novinky

    Vláda sníží v příštím roce výdaje na IT služby státu o 1,4 miliardy korun. Úspory má umožnit lepší koordinace nákupu služeb napříč resorty prostřednictvím nového zmocněnce. Celkové roční výdaje státu na informační technologie a digitalizaci se podle údajů ministerstva průmyslu a obchodu pohybují okolo 20 až 25 miliard korun ročně, pro letošek bylo na 320 projektů vyčleněno 21 miliard.

    Ladislav Hagara | Komentářů: 10
    23.9. 14:22 | IT novinky

    Irská komise pro ochranu dat (DPC) uložila americké technologické společnosti Google ze skupiny Alphabet pokutu 403 milionů eur (9,8 miliardy Kč) za neoprávněné nakládání s údaji o poloze uživatelů. Firma podle komise porušila evropské nařízení o ochraně osobních údajů (GDPR). DPC uvedla, že při šetření zjistila, že si lidé nemuseli být vědomi skutečnosti, že jejich poloha byla využívána například k ovlivňování prostřednictvím reklam nebo k odvozování jejich zájmů, a mohli tak ztratit kontrolu nad svými osobními údaji.

    Ladislav Hagara | Komentářů: 2
    23.9. 02:11 | IT novinky

    Byla oznámena beta verze nového video kodeku Pyrowave pro streamování her v Steam Remote Play. S vysokou propustností a nízkou latencí. S podporou HDR a YUV 4:4:4.

    Ladislav Hagara | Komentářů: 0
    23.9. 01:11 | Nová verze

    Byl vydán Sublime Text 4 Build 4213. Sublime Text (Wikipedie) je proprietární multiplatformní editor textových souborů a zdrojových kódů. Ke stažení a k vyzkoušení je zdarma. Pro další používání je nutná licence v ceně 99 dolarů. Spolu se Sublime Merge je cena 168 dolarů.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2729 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Jaderné noviny – 12. 1. 2017: Hromadná alokace paměti bez nového alokátoru

    28. 1. 2017 | Redakce | Jaderné noviny | 2851×

    Stav vydání jádra. Citáty týdne: Andy Lutomirski a George Spelvin. Hromadná alokace paměti bez nového alokátoru.

    Stav vydání jádra

    V době psaní článku byl nejnovější vývojový kernel 4.10-rc3 vydaný 8. ledna. Linus k tomu řekl: „Jeví se menší než jiné rc3, ale na první rc po začleňovacím okně (tzn. přirovnal bych ho k běžné rc2) je vlastně celkem normální.“

    Stabilní aktualizace: 4.9.1, 4.8.16 a 4.4.40 byly vydány 6. ledna. 9. ledna následovala vydání 4.9.2, 4.8.17 a 4.4.41. Z toho 4.8.17 je poslední v řadě 4.8.x.

    Velké aktualizace 4.9.3 a 4.4.42 pak vyšly 12. ledna.

    Citáty týdne

    Pokaždé, když KASLR způsobí, že něco funguje jinak, stane se z koťátka Schrödingerova kočka.

    – Andy Lutomirski

    Pro mě představuje mm/ prázdné místo na mapě, označené jako „Zde jsou lvi.“ I když je to lepší než „Zanechte naděje, kdo vstupujete,“ pořád je to děsivé.

    – George Spelvin

    Hromadná alokace paměti bez nového alokátoru

    Jádro se potýká s celou řadou problémů se škálovatelností, což vyplývá z rostoucích přenosových rychlostí periferií jako úložiště a síťová rozhraní. Klíčem ke zlepšení propustnosti často bývá dělení práce do dávek. V mnoha případech není režie zpracování skupiny souvisejících operací o moc vyšší než při provádění jediné operace. Alokace paměti je právě případ, kdy dávkování nabízí potenciál pro výrazné zlepšení výkonu, zatím se však nepodařilo dojít ke shodě, jak by mělo probíhat. Nová sada patchů Mela Gormana by nám mohla ukázat, jak tento problém vyřešit.

    Síťová rozhraní mají tendenci vyžadovat hodně paměti. Ostatně, všechny ty příchozí pakety je potřeba někde ukládat. Ovšem režie alokace této paměti je vysoká natolik, že může omezit maximální propustnost systému jako celku. Vývojáři ovladačů se proto uchylují k obezličkám jako alokace (a následné rozdělení) stránek vyššího řádu, což ale může zatěžovat systém jako celek a je to v rozporu s běžnou praxí při vývoji jádra. Bylo by dobré mít nějakou lepší alternativu.

    Na loňském summitu věnovaném úložištím, souborovým systémům a správě paměti navrhl síťový vývojář Jesper Dangaard Brouer na zelené louce napsat nový alokátor paměti právě pro dávky operací. Ovladače by ho mohly používat k přidělení více stránek jediným voláním, čímž by se minimalizovala režie na stránku. Vývojáři správy paměti problém pochopili, ale nesouhlasili s vytvořením nového alokátoru. Podle nich by to totiž zhoršilo udržovatelnost subsystému správy paměti. Navíc by nový alokátor nejspíš opakoval chyby těch stávajících a jakmile by získal všechnu požadovanou funkcionalitu, už by nemusel být o nic rychlejší.

    Z hlediska správy paměti je správným řešením modifikace již existujícího alokátoru stránek, snížení režie a zjednodušení vícestránkových alokací. Zatím k tomu nedošlo z jednoho prostého důvodu: většina uživatelů paměti okamžitě vynuluje každou stránku, která je jim přidělena, a to je operace mnohem nákladnější než samotná alokace. Nulování stránek, které budou přepsány příchozími pakety ze síťového rozhraní, není nutné, takže na výkon náročné síťové úlohy jsou výrazněji ovlivněny právě režií alokátoru. Odbourání režie v existujícím alokátoru stránek by problém napravilo pro síťový subsystém a zároveň by se šlo vyhnout vytváření nového alokátoru – navíc by se zlepšil výkon ve všech částech jádra.

    Ten nápad dával smysl, ale měl jeden nedostatek: nikdo neudělal tu špinavou práci na vylepšení alokátoru. Situace se změnila až s představením Gormanovy sady patchů pro hromadnou alokaci stránek. Patche jsou poměrně malé, ale uváděné výsledky představují výrazné zlepšení výkonu alokace stránek.

    Aby byly podporovány oba druhy alokace, je zapotřebí dvou zásadních změn, které se sobě podobají. První se týká funkce buffered_rmqueue(), která v rámci přípravy na vydání při požadavku o alokaci stránku odstraní ze seznamu volných stránek procesoru. Jelikož je seznam vyhrazený pro každý procesor, není potřeba před provedením změn nic zamykat, ale stále je nutné zakázat přerušení na příslušném procesoru, aby se zabránilo souběžnému přístupu obsluhy přerušení. Zakázání a opětovné povolení přerušení trvá nezanedbatelně dlouho a tento čas se nasčítá v případě, že je třeba tak učinit opakovaně pro každou alokovanou stránku.

    Gormanova sada patchů tuto funkci rozděluje způsobem, který je při jaderném vývoji běžný. Nová funkce (__rmqueue_pcplist()) stránku odstraní ze seznamu, ale o vypnutí přerušení se nestará – očekává se, že se o to postará volající funkce. Volání rmqueue_pcplist() (bez úvodních podtržítek) zakáže přerušení a stránku alokuje běžným způsobem. Nově tedy jiný kód může jednou vypnout přerušení a poté zavolat funkci __rmqueue_pcplist() vícekrát, aby alokoval celou skupinu stránek.

    Podobně volání __alloc_pages_nodemask() stráví značné množství času zjišťováním, která oblast paměti by měla být použita, aby byl splněn požadavek, a pak vrátí stránku. I v tomto případě je možné dílčí dvě operace rozdělit, aby se výpočet oblastí dal použít pro více alokací stránek – namísto opakování pro každou stránku.

    Díky těmto dvěma změnám může Gormanova sada patchů přidat novou alokační funkci:

    unsigned long alloc_pages_bulk(gfp_t gfp_mask, unsigned int order,
                                   unsigned long nr_pages, struct list_head *list);

    Tato funkce se pokusí efektivně alokovat nr_pages stránek, uloží je do daného seznamu list. Argument order naznačuje, že bude možné provádět hromadné alokace různých velikostí, leč v současné podobě patche dojde k chybě, je-li hodnota nenulová, tudíž zatím jsou podporovány jen samostatné stránky.

    Gorman tvrdí, že výsledkem nasazení tohoto rozhraní je „zhruba 50-60% snížení ceny alokace stránek.“ To by mělo síťovým vývojářům pomoci ve snaze o zlepšení míry propustnosti paketů. Ale bude přitom zapotřebí trocha práce. Gorman předvedl možnost snížit režii alokace paměti, ale už se nedostal k vytvoření API se všemi funkcemi, které síťoví vývojáři potřebují. Jeho plán je sloučit přípravné patche bez API alloc_pages_bulk() s tím, že API pro hromadnou alokaci by měli navrhnout vývojáři, kteří ho potřebují. Takže jakmile se tyto změny dostanou do hlavního stromu, bude na týmu, který se sítěmi zabývá, aby s nimi udělal něco užitečného.

           

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

    29.1.2017 14:33 Michal2
    Rozbalit Rozbalit vše Re: Jaderné noviny – 12. 1. 2017: Hromadná alokace paměti bez nového alokátoru
    HP (hnidopišsķá poznámka):Hic sunt dracones = Zde jsou lvi? To jsou věci... ;-) Tady je překlad IMO kontraproduktivní; v originále je latina a měla by tam zůstat.
    29.1.2017 18:53 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Jaderné noviny – 12. 1. 2017: Hromadná alokace paměti bez nového alokátoru
    Hic sunt dracones = Zde jsou lvi? To jsou věci... ;-)

    V originále se někdy používají lvi, někdy draci, ale myslí se tím totéž. V češtině jsem variantu s draky asi ještě neslyšel, takže když už překládat, pak jsou lvi IMHO vhodnější.

    Tady je překlad IMO kontraproduktivní; v originále je latina a měla by tam zůstat.

    Naprosto souhlasím.

    ʚĭɞ 🍉 avatar 29.1.2017 19:06 ʚĭɞ 🍉 | skóre: 94 | blog:
    Rozbalit Rozbalit vše Re: Jaderné noviny – 12. 1. 2017: Hromadná alokace paměti bez nového alokátoru
    Ona by tam pak asi měla zůstat i ta italština, u níž si nejsem jistý, s jakým pochopením by se setkala.
    🇵🇸 ✊ Touch grass ✊ 🇺🇦 ✊ ani boha, ani pána
    29.1.2017 20:25 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Jaderné noviny – 12. 1. 2017: Hromadná alokace paměti bez nového alokátoru
    IMHO by měla - přinejmenším mně se u toho původního citátu okamžitě vybaví, o co jde, zatímco u české verze mi to sice nakonec došlo taky, ale ne tak bezprostředně.
    29.1.2017 19:16 Kvakor
    Rozbalit Rozbalit vše Re: Jaderné noviny – 12. 1. 2017: Hromadná alokace paměti bez nového alokátoru
    Lvi, tedy Hic sunt leones (resp. HIC SVNT LEONES) byly na starých středověkých mapách mnohem častější, draci byly jen na jedné nebo dvou, nicméně z nějakého důvodu jsou v anglosasské literatuře rozšířenější. Nicméně je zbytečné tam cpát originální latinu, to by se tam rovnou mohla dát i originální italšntina onoho citátu z Danteho Božské komedie :-)
    Gilhad avatar 29.1.2017 14:38 Gilhad | skóre: 20 | blog: gilhadoviny
    Rozbalit Rozbalit vše Re: Jaderné noviny – 12. 1. 2017: Hromadná alokace paměti bez nového alokátoru
    Tak me tak napadlo, jestli by bylo mozne, aby zlomyslny program (bez zvlastnich opravneni) opakovane naalokoval (ale nenuloval) spoustu stranek, procetl je a zase dealokoval v nadeji, ze z nejake vycte nejaka zajimava data (jak poznat, ze vubec zajimava jsou?) a ta pak zneuzije? (bezpecnostni programy byu mely nulovat veskerou pamet, nez ji dealokuji, ale je to zvykem i i "stredne bezpecnych"? Daji se takto treba ziskat POST hodnoty hesel k webu a podobne?)
    29.1.2017 17:11 Michal
    Rozbalit Rozbalit vše Re: Jaderné noviny – 12. 1. 2017: Hromadná alokace paměti bez nového alokátoru
    Příloha:
    Na linuxu tohle je treba resit na aplikacni strane. Je zajimave, ze na vidows to je resene systemove. Ten vraci vzdycky vynulovanou pamet (ma kernelovy thread s nizkou prioritou, ktery stranky nuluje pokud neni vynulovana pamet k dispozici, tak to udela ad hoc) viz prilozeny obrazek- dva separatni seznamy stranek free (volne ale jeste nevynulovane) typicky jen par kB-MB, zeroed- vynulovane (v tomto pripade nejakych 171 GB).
    29.1.2017 22:03 R
    Rozbalit Rozbalit vše Re: Jaderné noviny – 12. 1. 2017: Hromadná alokace paměti bez nového alokátoru
    Userspace proces nemoze dostat pamat, ktora by obsahovala nezmazane data z ineho procesu. To by bola diera ako hovado.
    30.1.2017 16:30 Jindřich Makovička | skóre: 17
    Rozbalit Rozbalit vše Re: Jaderné noviny – 12. 1. 2017: Hromadná alokace paměti bez nového alokátoru
    Za normálních podmínek to nejde, mmap() i sbrk() nově přidělenou paměť nulují. Vinou různých race conditions v mm se ale občas izolace procesů tak úplně nepovedla, takže rtorrent mi kdysi vesele sdílel kusy databáze z Chrome :)

    Založit nové vlákno • Nahoru

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