Vojenské zpravodajství (VZ) se v březnu zapojilo do mezinárodní operace proti aktivitám hackerské skupiny APT28, která je spojovaná s ruskou vojenskou zpravodajskou službou GRU a která přes slabě zabezpečené routery prováděla kybernetické útoky na státní a další organizace v ČR i zahraničí. Operaci vedl americký Federální úřad pro vyšetřování (FBI) a jejím cílem bylo odebrat útočníkům přístup k napadeným zařízením a ty následně … více »
Tvůrcem nejpopulárnější kryptoměny bitcoin, který se skrývá za pseudonymem Satoši Nakamoto (Satoshi Nakamoto), je britský kryptograf Adam Back. Na základě vlastní investigativní práce to tvrdí americký deník The New York Times (NYT). Několik indicií podle autorů jasně ukazuje na to, že Back a Nakamoto jsou stejný člověk. Jde mimo jiné o podobný odborný a osobnostní profil či totožné chyby a manýry v psaném projevu.
Google Chrome 147 byl prohlášen za stabilní. Nejnovější stabilní verze 147.0.7727.55 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Vylepšeny byly také nástroje pro vývojáře. Přehled novinek v Chrome DevTools 145 až 147 také na YouTube.
Vývojáři z Laboratoří CZ.NIC vydali nové verze aplikací Datovka (Datovka 4.29.0, Mobilní Datovka 2.6.2). V případě desktopové verze přibyly možnosti projít všechny uložené zprávy, zkontrolovat časy expirací časových razítek a přerazítkovat datové zprávy, které lze v ISDS přerazítkovat. Novinkou je také možnost vytahovat myší ze seznamu ZFO soubory datových zpráv, tento úkon jde udělat i pomocí tlačítek Ctrl+C. Nová verze Mobilní Datovky přináší jen drobné úpravy.
MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.28.0. Z novinek lze vypíchnout novou třídu machine.CAN.
Michael Meeks, CEO společnosti Collabora, na apríla oznámil, nebyl to ale apríl, že nadace The Document Foundation zastřešující vývoj kancelářského balíku LibreOffice vyloučila ze svých řad všechny zaměstnance a partnery společnosti Collabora, tj. více než třicet lidí, kteří po mnoho let přispívali do LibreOffice. Nadace The Document Foundation po několika dnech publikovala oficiální vyjádření. Přiznává pochybení při zakládání
… více »Protože je už po aprílu, můžou strahováci opět zveřejnit program další Virtuální Bastlírny, aniž by připravená témata působila dojmem, že jde o žert. Vězte tedy, že v úterý 14. dubna (změna!!!) od 20:00 proběhne VB, kde se setkají bastlíři, technici, učitelé i nadšenci do techniky a kde i vy se můžete zapojit do družného hovoru, jako by všichni seděli u pomyslného piva. Co mají bastlíři tento měsíc na srdci? Pravděpodobně by nás musel zasáhnout
… více »Byla vydána verze 26.1 aneb čtvrtletní aktualizace open source počítačového planetária Stellarium (Wikipedie, GitHub). Vyzkoušet lze webovou verzi Stellaria na Stellarium Web.
VOID (Video Object and Interaction Deletion) je nový open-source VLM model pro editaci videa, který dokáže z videí odstraňovat objekty včetně všech jejich fyzikálních interakcí v rámci scény (pády, kolize, stíny...) pomocí quadmaskingu (čtyřhodnotová maska, která člení pixely scény do čtyř kategorií: objekt určený k odstranění, překrývající se oblasti, objektem ovlivněné oblasti a pozadí scény) a dvoufázového inpaintingu. Za projektem stojí výzkumníci ze společnosti Netflix.
Design (GitHub) je 2D CAD pro GNOME. Instalovat lze i z Flathubu. Běží také ve webovém prohlížeči.
Aktuální vývojová verze jádra je 3.6-rc3 vydaná 22. srpna. Krátký seznam změn najdete níže, ale není tam nic, kvůli čemu bych vykřikoval 'OMG! Děs běs!' nebo bych cítil potřebu to vyzdvihovat. Jsou tam jen běžné aktualizace a opravy.
Ještě předtím vyšlo 3.6-rc2, a to 16. srpna. Tak či tak to ale nebylo tak zlé. Ano, ignoroval jsem několik žádostí o přetažení, ale musím říct, že jich nebylo tolik a jinak to byla docela pohoda. Jasně, je tam přes 330 commitů, ale vzhledem k tomu, že to bylo za dva týdny, nejde u raných -rc o žádné překvapení (a spíš je to málo). Ano, u 3.5 toho bylo v -rc2 méně, ale to byla výjimka.
Stabilní aktualizace: verze 2.6.34.13 a 3.2.28 vyšly 20. srpna.
To, že je naše spotřeba energie horší než na jiných operačních systémech, je téměř výhradně jen kvůli tomu, že pouze jeden z našich tří ovladačů GPU implementuje použitelnou správu výkonu.
Přesun 'pravidel' do uživatelského prostoru bylo naprosté selhání, hlavně kvůli tomu, že za získání dobrých výsledků není zodpovědný žádný projekt/subsystém. To je důvod, proč názoru „pravidla by neměla být v jádře“ tak vzdoruji.
Z „inline“ je teď vágní, ubohá a nepoužitelná věc. Problém je v tom, že čtenář netuší, zda autor opravdu vyžadoval inline.
Pokud jsme dobře zvážili rozhodnutí mít funkci inline, měli bychom nyní vždy používat __always_inline. Pokud jsme dobře zvážili to, že funkce nemá být inline, měli bychom použít noinline. Pokud je nám to jedno, neměli bychom to označovat nijak.
Pro „inline“ tu tedy už není místo?
Copy & paste je hlavní přičinou nenápadných chyb.
Greg Kroah-Hartman oznámil, že jádro řady 3.4 bude dostávat stabilní aktualizace po dobu alespoň dvou let. Přidává se tak k řadě 3.0 (které zbývá ještě rok podpory).
Jádro je zpravidla tím, co určuje maximální rychlost, jakou může zátěž běžet, proto není divu, že jsou vývojáři vždy na pozoru, jak by se dalo systém zrychlit. Spoustu práce se dá vynaložit na optimalizacích, které se na pohled mohou zdát malé. Takže jakmile se vyskytne příležitost jádro zrychlit, aniž by se musely přepisovat výkonnostně kritické části, je o to pochopitelně solidní zájem. Zda „optimalizace za doby linkování“ (LTO; Link-Time Optimization) podporovaná v posledních GCC představuje takovou příležitost, to ještě nikdo nedokázal, ale Andi Kleen je odhodlán na to přijít.
Myšlenkou LTO je prozkoumat celý program po kompilaci všech souborů a využít všech dodatečných příležitostí k optimalizacím. Nejvýznamnější příležitostí je asi změna malých funkcí na inline. Kompilátor se také může chovat agresivněji, co se detekce a odstranění nepoužitého kódu a dat týče. Pod kapotou funguje LTO tak, že do výsledného objektového souboru ukládá interní mezikód kompilátoru (GIMPLE), kdykoliv je kompilován zdrojový kód. Samotný krok LTO se pak provádí tak, že se načte všechen GIMPLE kód do jediného obrazu a znovu se zapíše (pravděpodobně) více optimalizovaný objektový kód.
Funkce LTO se objevila poprvé v GCC 4.5, ale skutečně užitečná je až od verze 4.7. Stále má řadu omezení; jedním z nich je to, že všechny objektové soubory musejí být zkompilovány pomocí stejných voleb na příkazové řádce. Jak se ukázalo, toto omezení představuje problém pro jádro.
Andiho LTO patch se skládá ze 74 sad změn – to není zrovna málo. Ale ukazuje se, že většina těchto změn dělá tu samou základní věc: zajišťuje, že kompilátor ví, že některé symboly jsou potřeba, i když vypadají jako nepoužité; to zabraňuje LTO, aby je odstranilo. Například jde o symboly exportované modulům, které nemusejí mít v jádře samotném žádné použití, ale je nezbytné je zachovat právě pro později načtené moduly. Andiho první patch proto definuje nový atribut (__visible), kterým jsou takové symboly označovány; většina ostatních patchů slouží k doplnění atributů __visible všude tam, kde je to nutné.
Mimo to se tam najdou nějaké ty opravy konkrétních problémů, na které se přišlo při sestavování s LTO. Vypadá to, že funkce s dlouhým výčtem argumentů mohou dostat poškozené argumenty, pokud jsou tyto funkce převedeny ve fázi LTO na inline; tomu je třeba se vyhnout pomocí noinline. Andi si postěžoval: Kéž by byl obecný způsob, jak toto ošetřit. Vypadá to jako tikající bomba.. Obecně uznává, že LTO může do jádra zanést nové chyby související s optimalizacemi; jejich nalezení bude asi docela výzva.
Pak přicházíme k požadavku, že všechny soubory musejí být sestaveny se stejnými volbami. Současná jádra takto sestavována nejsou; v odlišných částech stromu se používají jiné volby. Někde se tento problém dá obejít zákazem určitých optimalizací, které závisí na použití jiných voleb než ve zbytku stromu. Jinde se zase musejí zakázat určité funkce, aby se LTO mohlo použít. Mezi ně patří funkce „modversions“ (umožňující používání jaderných modulů s více než jednou verzí jádra) a trasovač funkcí. Problém s modversions asi má řešení; rozchození ftrace si ale může vyžádat změny v GCC.
Pro využití GCC LTO je ale pochopitelně potřeba udělat změny v sestavovacím systému. V době psaní tohoto textu je nutné použít poslední verzi GCC; pro funkčnost LTO je taktéž nutné nainstalovat vývojovou verzi balíčku binutils. Dokonce i minimalistická podoba jádra vyžaduje cca. 4 GB paměti pro průchod LTO; sestavení „allyesconfig“ si může vyžádat až 9 GB. Vzhledem k tomu je používání 32bitových systémů pro sestavování s LTO vyloučené; je ale samozřejmě možné sestavit 32bitové jádro na 64bitovém systému. Sestavení také potrvá až čtyřikrát déle než bez LTO. Proto je nepravděpodobné, že by sami vývojáři LTO používali pro svou práci, ale zájem o to mít mohou distributoři a další, kdo sestavují produkční jádra.
Skutečnost, že většina lidí nebude chtít LTO použít, představuje problém. Vzhledem k potenciálu LTO zanášet drobné chyby, ať už vinou nedorozumění v optimalizacích nebo chyb v LTO jako takovém, je před použitím LTO v produkčních jádrech rozhodně nutné rozsáhlé testování. Jenže když nebudou vývojáři a testeři ochotni dělat taková těžkotonážní sestavení, tak se jádru testování nemusí dostávat. Proto bude těžké dosáhnout takové úrovně důvěryhodnosti, aby se LTO běžně dostávalo do jader v produkčním nasazení.
Vzhledem k výše uvedeným skutečnostem, velikosti patche a trvalému břemenu v podobě údržby funkčnosti LTO to může vyvolávat otázku, zda to za tu práci vůbec stojí. A v tento moment se tedy dostáváme k číslům: o kolik je jádro s LTO rychlejší? Ostrá čísla teď nejsou zrovna k dispozici; patch pro LTO je stále nový a musí se toho ještě hodně opravit. Andi hlásí, že při běhu hrubého testu dělalo zrychlení nějakých 5 %, ale na sestavování jádra byl dopad skoro nulový. V některých síťových testech dělalo zrychlení až 18 %. Našly se i určité „drobné regrese“. Čísla jsou jen orientační, ale Andi věří, že jsou dostatečně povzbuzující na to, aby to stálo za to v práci pokračovat dál; také očekává, že se implementace LTO v GCC časem zlepší.
Andi dále poznamenal, že LTO by v dlouhodobém horizontu mohlo zvýšit kvalitu kódu jádra tím, že by už nebylo nutné dávat inline funkce do include souborů.
Tak jako tak je patch v dosti rané fázi vývoje; je nepravděpodobné, že by došlo v dohledné době k začlenění, třeba i v podobě experimentální funkce. V delším horizontu by to ale mohlo přinést rychlejší jádra; užívání LTO v jádře by také mohlo pomoci hnát vpřed vývoj implementace v GCC, což by ve výsledku prospělo všem projektům. Z těchto důvodů jde bez pochyby o úsilí, jež stojí za pozornost.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
pouze jeden z našich tří ovladačů GPU implementuje použitelnou správu výkonu, ke kterymu ovladaci Garrett referuje?
Pravděpodobně Intel.