Cloudflare, tj. společnost poskytující "cloudové služby, které zajišťují bezpečnost, výkon a spolehlivost internetových aplikací", má výpadek.
Letos se uskuteční již 11. ročník soutěže v programování Kasiopea. Tato soutěž, (primárně) pro středoškoláky, nabízí skvělou příležitost procvičit logické myšlení a dozvědět se něco nového ze světa algoritmů – a to nejen pro zkušené programátory, ale i pro úplné začátečníky. Domácí kolo proběhne online od 22. 11. do 7. 12. 2025 a skládá se z 9 zajímavých úloh různé obtížnosti. Na výběru programovacího jazyka přitom nezáleží – úlohy jsou
… více »Byla vydána nová verze 2.52.0 distribuovaného systému správy verzí Git. Přispělo 94 vývojářů, z toho 33 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.
VKD3D-Proton byl vydán ve verzi 3.0. Jedná se fork knihovny vkd3d z projektu Wine pro Proton. Knihovna slouží pro překlad volání Direct3D 12 na Vulkan. V přehledu novinek je vypíchnuta podpora AMD FSR 4 (AMD FidelityFX Super Resolution 4).
Poštovní klient Thunderbird byl vydán v nové verzi 145.0. Podporuje DNS přes HTTPS nebo Microsoft Exchange skrze Exchange Web Services. Ukončena byla podpora 32bitového Thunderbirdu pro Linux.
U příležitosti státního svátku 17. listopadu probíhá na Steamu i GOG.com již šestý ročník Czech & Slovak Games Week aneb týdenní oslava a také slevová akce českých a slovenských počítačových her.
Byla vydána nová verze 9.19 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Vypíchnout lze například nový balíček BirdNET-Go, tj. AI řešení pro nepřetržité monitorování a identifikaci ptáků.
Byla vydána nová verze 3.38 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.10 souvisejícího programovacího jazyka Dart (Wikipedie).
Organizace Apache Software Foundation (ASF) vydala verzi 28 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.
Byl vydán Debian 13.2, tj. druhá opravná verze Debianu 13 s kódovým názvem Trixie. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.
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