Společnost JetBrains se stala platinovým sponzorem multiplatformního open source herního enginu Godot. K vývoji her lze používat Rider for Godot. Zdarma pro nekomerční účely.
Byla vydána verze 9.0 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Verze 9.0 je založena na Debianu 13 Trixie. Přehled novinek v poznámkách k vydání a informačním videu.
Operátor O2 dává všem svým zákazníkům s mobilními službami poukaz v hodnotě 300 Kč na nákup telefonu nebo příslušenství jako omluvu za pondělní zhoršenou dostupnost služeb.
Společnost NVIDIA vydala verzi 13.0 toolkitu CUDA (Wikipedie) umožňujícího vývoj aplikací běžících na jejich grafických kartách. Přehled novinek v poznámkách k vydání.
Byly vyhlášeni vítězové a zveřejněny vítězné zdrojové kódy (YouTube, GitHub) již 28. ročníku soutěže International Obfuscated C Code Contest (IOCCC), tj. soutěže o nejnepřehlednější (nejobfuskovanější) zdrojový kód v jazyce C.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za červenec (YouTube).
Konečně se ochladilo, možná i díky tomu přestaly na chvíli padat rakety jako přezrálé hrušky, díky čemuž se na Virtuální Bastlírně dostane i na jiná, přízemnější témata. Pokud si chcete jako každý měsíc popovídat s dalšími bastlíři, techniky, vědci a profesory u virtuálního pokecu u piva, Virtuální Bastlírna je tu pro Vás.
Ještě před ochlazením se drát na vedení V411 roztáhl o 17 metrů (přesné číslo není známé, ale drát nepřežil) a způsobil tak… více »Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.
PixiEditor byl vydán ve verzi 2.0. Jedná se o multiplatformní univerzální all-in-one 2D grafický editor. Zvládne rastrovou i vektorovou grafiku, pixel art, k tomu animace a efekty pomocí uzlového grafu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí GNU LGPL 3.0.
Byly představeny novinky v Raspberry Pi Connect for Organisations. Vylepšen byl protokol auditu pro lepší zabezpečení. Raspberry Pi Connect je oficiální služba Raspberry Pi pro vzdálený přístup k jednodeskovým počítačům Raspberry Pi z webového prohlížeče. Verze pro organizace je placená. Cena je 0,50 dolaru za zařízení za měsíc.
Současné vývojové jádro je 4.11-rc2, vydané 12. března. Linus k tomu řekl: „Myslím, že na tuto fázi jsme na tom s vývojovým jádrem dobře. Nemělo by být nijak zvlášť děsivé říct: ‚Budu trochu podnikavější a vyzkouším rc2 jádra.' Ano, je to stále ještě jeden z prvních kandidátů na vydání, ale nebojte se pomoct nám ujistit se, že nám to jde dobře.“
Seznam regresí v cyklu 4.11 ze 14. března obsahuje devět známých problémů.
Stabilní aktualizace: 4.10.2, 4.9.14 a 4.4.53 byly vydány 12. března. Následovaly je 4.10.3, 4.9.15 a 4.4.54 dne 15. března.
Když je špatně cizí e-mailová adresa, může to být jenom chyba při kopírování. Když je špatně vaše vlastní e-mailová adresa, může jít o raný příznak krize identity.
To je přesně ten důvod, proč _musíte_ všechno, co děláte, nejprve prodiskutovat v upstreamu. Vaše vnitřní týmy prostě nemají autoritu něco navrhovat.
—Daniel Vetter (dostupné také v podobě trička)
Jaderný podcast ze 13. března Jona Masterse je venku. „V jaderném podcastu z tohoto týdne: Linus Torvalds oznamuje vydání 4.11-rc2 (včetně předběžného zprovoznění pětiúrovňového stránkování Intelu), readahead odkládacího prostoru založený na VMA a probíhající vývoj v dalším cyklu.“
CPU plánovač deadline za sebou má dlouhou cestu, řekl na Linaro Connest 2017 Juri Lelli, ale stále zbývá hodně práce, kterou je třeba udělat. Ačkoliv byl tento plánovač původně určen pro realtime nasazení, máme důvod věřit, že se hodí i do jiných podmínek, včetně embedded a mobilních zařízení. Ve své přednášce Lelli shrnul, co všechno plánovač deadline aktuálně umí a co za změny se plánuje do blízké (a ne až tak blízké) budoucnosti.
Plánovač deadline byl začleněn ve vývojovém cyklu 3.14. Přidává možnosti plánování v reálném čase, které jsou v mnoha ohledech mocnější než tradiční prioritní plánování. Umožňuje specifikaci explicitních omezení latencí a umí se z principu vyhnout hladovění procesů. Má také lepší informace o omezeních při aktuálním vytížení, a tak může činit lepší rozhodnutí.
Plánovač jádra je postaven na algoritmu earliest deadline first (EDF), podle kterého dojde ke spuštění toho procesu, jehož deadline („mezní termín splnění“) nastane nejdříve. EDF je vylepšený o algoritmus constant bandwidth server (CBS, blíže popsaný v tomto článku), který brání procesu, který nemůže běžet po většinu svého času, aby překážel ostatním procesům. CBS v podstatě říká procesům, že musí svůj procesorový čas využít v době, kdy je tak naplánováno, a nikoli otálet a očekávat jeho přidělení v plném rozsahu těsně před deadline. Výsledkem je plánovač, který poskytuje silnou časovou izolaci úloh, při kterých nemůže jeden proces zabránit dalšímu ve splnění jeho deadline.
V současné době komunita, která vyvíjí mobilní a embedded systémy, vkládá mnoho úsilí do plánování, při němž se zohledňují energetické nároky. Tato práce má cenný cíl – plánovat tak, aby spotřeba energie systému byla co nejmenší – ovšem ukázalo se, že je těžké dostat ji do upstreamu, i když byla začleněna do běžného jádra Androidu. V mnoha případech může nakonec být plánovač deadline vhodnější, když je potřeba šetřit energií, řekl Lelli.
Novinkou ve vývoji je funkce zpětného získání šířky pásma (bandwidth reclaiming). Jedním z hlavních rysů plánování deadline je, že v okamžiku, když proces překročí svůj rezervovaný procesorový čas (svou „šířku pásma“ procesoru), plánovač ho prostě přiškrtí až do dalšího úseku plánování. Toto přiškrcení je nezbytné k tomu, aby probíhající proces nemohl kolidovat s ostatními procesy v systému, ale může představovat problém ve chvíli, kdy je požadavek procesu na víc času, než mu bylo přiděleno, legitimní. Funkce zpětného získání šířky pásma tedy udělá, co se nabízí: dá procesu k dispozici více času, pokud ho nepotřebuje žádný jiný proces v systému.
Co je možná méně zřejmé, je určení množství procesorového času, který není doopravdy zapotřebí. To se provádí pomocí algoritmu GRUB („greedy utilization of unused bandwidth“), který je popsaný v tomto článku (PDF). Stručně řečeno, GRUB sleduje, kolik dostupného procesorového času běžící úlohy s deadline skutečně využívají, a na základě toho odhadne objem procesorového času, který nebude využit. Díky tomuto odhadu je uvolnění času navíc pro účely procesu, který ho potřebuje, relativně přímočaré.
Škálování frekvence procesoru je důležitým nástrojem v portfoliu řízení spotřeby, ale tradičně moc nespolupracuje s algoritmy pro plánování v reálném čase, včetně deadline. V současných jádrech se předpokládá, že úlohy v reálném čase potřebují plný výkon CPU, tudíž jejich přítomnost způsobí, že CPU poběží naplno. To může vést k plýtvání v případě, že běžící procesy [deadline] tolik procesorového času nepotřebují.
Řešení tohoto problému vyžaduje celou řadu změn – počínajíc skutečností, že samotný plánovač deadline počítá s tím, že procesor poběží naplno. Plánovač je nutné opravit, aby bylo možné škálovat rezervace časů tak, aby se rovnaly aktuální rychlosti procesoru. Dále je potřeba tuto změnu rozšířit na heterogenní víceprocesorové systémy (např. big.LITTLE, kde nejsou všechny procesory systému stejně rychlé).
Jakmile to bude hotové, hodilo by se mít možnost řídit výběr frekvence procesoru přímo z plánovače deadline. Plánovač CFS, který se používá pro běžné úlohy, používá k výběru frekvence mechanismus sledování zátěže dílčích entit, ale plánovač deadline v současné době pouze tlačí frekvenci procesoru na maximum. Jakmile bude kód pro získávání šířky pásma začleněn, bude možné měřit skutečnou zátěž, kterou přidají úlohy s deadline. Pak bude možné zvolit takovou frekvenci procesoru, která zvládne všechny požadované úlohy efektivně.
Samozřejmě bude vždy potřeba se vypořádat se spoustou maličkostí. Například na systémech ARM se frekvence procesoru mění v samostatném pracovním vlákně. Aby byla možná spolupráce škálování procesoru a plánování deadline, bude třeba umožnit preempci úloh s deadline (u nichž preempce obvykle není možná) v tomto vlákně.
Plánovač deadline v současné době pracuje na úrovni samostatných procesů, nefunguje s řídícími skupinami. Nastávají ale situace, kdy je rozumné dát rezervaci deadline skupině procesů. Lelli uvedl vlákna virtuálních strojů a vykreslovací řetězce jako příklady zátěží, které by skupinové plánování deadline využily. Představa implementace spočívá v podstatě v dvouúrovňové hybridní hierarchii. Na nejvyšší úrovni by algoritmus EDF vybral další skupinu k vykonání, ale uvnitř této skupiny by se použilo běžné realtime plánování (FIFO nebo round-robin). Jakmile bude tato funkce fungovat, mohla by vytlačit stávající realtime škrtící mechanismus.
V ještě vzdálenější budoucnosti je podle Lelliho plán na rozšíření mechanismu pro opětovné využití šířky pásma, aby bylo možné snižovat prioritu. Když by proces překročil svůj rezervovaný čas, běžel by i nadále, ale pouze jako obyčejný proces bez realtime priority. Priorita by mu byla navrácena v dalším plánovacím období. Je také velký zájem o plánování orientovaném na šetření energie v rámci plánovače deadline.
Další kýžená vlastnost spočívá v podpoře afinity procesu k procesoru. Mechanismus dědění priority by také snesl nějaká vylepšení. Aktuálně je to tak, že úloha, která blokuje úlohu s deadline, tuto deadline podědí. Bylo by žádoucí přejít na algoritmus, jako je multiprocesor bandwidth inheritance protocol (PDF). Existuje také poptávka po mechanismu dynamické zpětné vazby, který by mohl upravovat rezervace procesu na základě pozorovaných potřeb. Zatím ale na těchto záležitostech nikdo nepracuje.
Video z přednášky je dostupné zde.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
plánovače deadlinety už raději nechlastej - a nepřekládej!
15.3.
nemyslim si