Portál AbcLinuxu, 5. května 2025 23:07
Opravy plánovače. Distribuovaný síťový souborový systém Ceph. Zapisovatelný mmap pro FUSE. 2.6.24-rc3, malé opravy a pročištění. Git ve Windows. CFS - backporty verze 24. Modulární IO plánovače. Citát: Andrew Morton: Nijak oslňující výkon. Theodore T'so: paměti relativně zlevňují. David Miller: Vývoj ledovcovým tempem. Linus Torvalds: Zdarma dvě kopie Linuxu navíc. Theo de Raadt: Překvapivě svobodná licence. Alan Cox: Smysluplné výchozí hodnoty. David Miller: Kvalita hlášení o chybách.
Následující obsah je © KernelTrap.
12. listopad, originál
Ingo Molnár zaslal Linusi Torvaldsovi požadavek k začlenění nejnovějších oprav CFS. CFS, zcela férový plánovač, byl do hlavní řady jádra začleněn v červenci 2007. Poprvé byl zařazen v jádře 2.6.23 vydaném v říjnu 2007. Zdá se, že plánovač se rychle stabilizuje, lze ho nalézt jen v málokterém seznamu oprav nejnovějšího kódu, který čeká na začlenění. Ingo změny shrnul:
Jsou tam dvě mezisubsystémové skupiny oprav - tři commity, které řeší opravu překladu KVM na !SMP - od Aviho mám potvrzeno, že se začlení přes git strom plánovače, protože mění centrální include soubor. Další je oprava regrese účtování času CPU [CPU time accounting] u powerpc od Paula Mackerrase.
Zbývajících 14 commitů: jedna oprava pádu (docházelo k ní přes nový souborový systém kontrolních skupin [control-groups filesystem]), oprava regrese účtování zpoždění [delay-accounting], dvě opravy regrese výkonu, oprava latence, dvě malé opravy regrese plánovacího chování a sedm pročištění.
15. listopad, originál
Ceph je distribuovaný síťový souborový systém vytvořený tak, aby poskytoval excelentní výkonnost, spolehlivost a škálovatelnost s POSIXovou sémantikou. V této konferenci často vidím frustraci z toho, že chybí škálovatelný distribuovaný GPL souborový systém s dostatečně robustní replikací a obnovením po pádu, který by běžel na běžném hardwaru. Rád bych si myslel, že - s trochou péče - by Ceph mohl tuto díru zaplnit, oznámil Sage Weil v LKML.
Zmínil, že souborový systém byl původně vyvinut v rámci jeho závěrečné PhD práce, a pokračoval seznamem jeho vlastností - POSIX sémantika, škálovatelnost od pár po tisíce uzlů [nodes], podpora pro petabajty dat, vysoce dostupný design bez bodů selhání, n-cestná replikace dat přes několik uzlů, automatické znovuvyrovnání dat podle toho, jak jsou uzly přidávány nebo odstraňovány, a na FUSE založený klient. K tomu dodal, že pracuje na lehkém jaderném klientovi, flexibilních snapshotech, kvótách a vylepšení bezpečnosti. Nakonec porovnal Ceph s jinými souborovými systémy:
Na rozdíl od clusterových souborových systémů, jako je GFS, OCFS2 a GPFS, které spoléhají na symetrický přístup všech klientů ke sdíleným blokovým zařízením, Ceph odděluje správu dat a metadat mezi nezávislé clustery serverů podobně jako Lustre. Nicméně na rozdíl od Lustre metadata a ukládací uzly [storage nodes] běží zcela v uživatelském prostoru a nepotřebují žádnou podporu v jádře. Ukládací uzly pro ukládání dat používají buď přímo blokové zařízení nebo velký soubor, nebo mohou použít existující souborový systém (XFS atd.) pro lokální ukládání (momentálně s oslabenou bezpečnostní sémantikou). Data souborů jsou rozdělena [striped] na velké kusy a rozprostřena mezi skladovací uzly, aby se zatížení rozdělilo mezi co nejvíce uzlů a tak se dosáhlo velké propustnosti. Když některý ze skladovacích uzlů selže, data jsou distribuovaným způsobem znovureplikována přímo ukládacími uzly (s nějakou koordinací od cluster monitoru), díky čemuž je celý systém extrémně efektivní a škálovatelný.
16. listopad, originál
Miklos Szeredi zaslal požadavek na komentáře k patchi nazvanému design zapisovatelného mmap pro FUSE. Vysvětlil: Mapování zapisovatelné sdílené paměti je něco, co jsem se ve FUSE pokoušel implementovat věčnost. Nyní to mám snad konečně vymyšlené, bude to fungovat s bash-sdíleným-mapováním a fsx-linux. Žádám o komentáře k tomu přístupu. Pokračoval popisem patche:
fuse_writepage() alokuje novou dočasnou stránku s GFP_NOFS|__GFP_HIGHMEM. Zkopíruje obsah originální stránky a zařadí do fronty uživatelského souborového systému, který tuto dočasnou stránku používá, požadavek na ZÁPIS. Z pohledu VM je zápis dokončen okamžitě: stránka je odstraněna z radix stromů a příznaky PageDirty a PageWriteback jsou vynulovány. Per-bdi čítač zápisů není dekrementován, dokud se zápis opravdu nedokončí. [...] Při "zašpiňování" stránky fuse čeká, dokud se nedokončí předchozí zápis, pak teprve pokračuje. Tím je zajištěno, že naráz může být použita jenom jedna dočasná stránka pro jednu stránku v cache.
17. listopad, originál
Linus Torvalds oznámil třetí release candidate nadcházejícího jádra 2.6.24 a shrnul: Hmmm... Spousta malých oprav, nějaká pročištění a pár věcí (jako aktualizace cris), které nejsou tak docela kompletní, ale běžného uživatele nijak neovlivní a snad je bude snazší synchronizovat v budoucnu. Opravy síťových ovladačů, několik aktualizací IDE a infiniband, nějaké pozdní aktualizace cpufreq a aktualizace hwmon.
Na straně architektur jsou kromě výše zmíněné aktualizace cris nějaké aktualizace sh, arm, powerpc a mips a také jedno konečné pročištění po sjednocení x86. (A myslím to skutečně vážně. Zbytek může počkat po 2.6.24, s tímhle už je konfigurace x86 skutečně téměř spojena a jak i386, tak x86_64 jsou v konfigurátoru pouze speciální případy architektury x86.)
19. listopad, originál
Tato krásně temná čtvrtá hodina ranní je stejně dobrá příležitost jako každá jiná k tomu, abych vám nabídl páté číslo msysGit Heraldu, ne-tak-úplně-čtrnáctideníku, který vás informuje o snaze přinést jeden z nejlepších systémů pro správu zdrojového kódu ubohým duším, které musejí pracovat ve Windows, psal Johannes Schindelin v mailové konferenci gitu. Dodal, že projekt se konečně koncentruje na snahu zajistit, aby git fungoval ve Windows, a že se konečně podařilo zprovoznit instalátor. Na domovské stránce projektu se píše:
Bohužel je Git na Windows oficiálně podporován jenom za použití Cygwinu. Nicméně existuje fork (který snad teď bude brzy spojen s "oficiálním" gitem), jenž umožňuje zkompilovat git s použitím MinGW/MSys. Je trochu složité zajistit všechno, co je pro běh potřeba (MSys, iconv, Tcl/Tk, gcc, make, zlib, regex, atd.), takže se projekt snaží dodávat jediný .zip (ve skutečnosti 7-zipem zabalený instalátor), který je možné rozbalit, a dvojklikem na msys.bat všechno nastavit. Pak můžete hned začít hackovat ve svém oblíbeném nástroji pro správu zdrojových kódů.
19. listopad, originál
Ingo Molnár oznámil, že 24. verze jeho zcela férového plánovače je nyní k dispozici portovaná pro jádra 2.6.24-rc3, 2.6.23.8, 2.6.22.13 a 2.6.21.7. Poznamenal, že od posledního backportu došlo k významným změnám: 36 souborů změněno, 2359 vložení (+), 1082 smazání (-). To je 187 samostatných commitů od 32 autorů. 99 % těchto změn je již v upstreamu v Linusově git stromu a budou uvolněny jako část 2.6.24 (čekají 4 commity, které jsou v malém patchi 2.6.24-rc3-v24). Také vyzdvihl několik významnějších zlepšení:
Vylepšená interaktivita díky vlastnosti "virtuální intervaly" [virtual slices] od Petera Ziljstra. Se zvyšující se zátěží plánovač zkracuje virtuální časové intervaly [timeslices], které úlohy dostanou, takže aplikace mají stále stejnou latenci, než se dostanou k CPU. (Což funguje, dokud intervaly nedosáhnou hodnoty minimální granularity.)
CONFIG_FAIR_USER_SCHED je nyní k dispozici ve všech portovaných jádrech a váhy pro jednotlivé uživatele jsou konfigurovatelné přes /sys/kernel/uids. Hodně bylo vylepšeno také skupinové plánování.
26. listopad, originál
Adrian Bunk zaslal patch, který mění linuxové IO plánovače na nemodulární volbu, jež by při kompilaci vybrala jeden IO plánovač s tím, že není žádná velká výhoda mít modulární plánovače a ani se nezdá, že by se to moc používalo. Dodal, že odstranění volby by v každém obrazu jádra ušetřilo 2 kB. Jens Axboe moc nadšený nebyl: Naprosto nACK, modulární plánovače používám pro testování neustále. Jenom to, že ty je náhodou nepoužíváš, není důvod, aby byly odstraněny. Když Adrian upozornil na to, že se nezdá, že by nějaké distro mělo IO plánovače k dispozici jako moduly, Jens prohlásil, že to je chyba, a rýpnul si: Je to už dlouho, co jsem naposledy považoval .config z distra za benchmark/příručku jakéhokoliv druhu.
Adrian pokračoval otázkou na technické důvody, proč pokračovat s podporou čtyř různých IO plánovačů, a vyjádřil obavu, že by to v jednotlivých plánovačích mohlo vést k chybám, které by nikdo nenahlásil. Jens řekl, že má v plánu vytvořit perfektní IO plánovač, ale že v současnosti různé plánovače nabízejí lepší výsledky pro různé typy zátěže.
Po tvrdé práci a testování bychom měli být schopni zbavit se předjímajícího [anticipatory] plánovače. Ten stále poráží CFQ pro některé zátěže, ve kterých je dobrý deadline, takže hned teď to nepůjde. Arjan van de Ven jeden důvod nabídl: Je nejmíň jeden technický důvod, proč mít víc než jeden plánovač: některé typy ukládacích zařízení (např. velké EMC stroje, stejně jako disky bez rotujících částí [solid state]) se chovají jako disky, ale nemají žádný postih při seekování; jakýkoliv čas CPU obětovaný na to, aby se zabránilo seekovaní, je u nich ztráta času, takže taková zařízení určitě potřebují jiný IO plánovač; takový, který bude značně odlehčen. Jens potom potvrdil: vždycky je riziko spojené s "duplikací", stejně jako u několika ovladačů pro stejný hardware. O tom se nehádám.
Trvalo mi dobrých pět hodin, abych tohle aspoň trochu přinutil ke zkompilování. Bylo potřeba 20 - 30 patchů a několik stromů a 5 - 10 patchů jsem zahodil. To není nijak oslňující výkon.
-- Andrew Morton, zpráva z 6. 11. 2007 na Linux kernel mailing list.
Paměti jsou momentálně levnější - mluvíme o možná třiceti až čtyřiceti dolarech za megabajt, pokud do stroje můžete dát SIMMy. Upgradovat počítač ze dvou na čtyři mega nestojí až tak moc peněz.
-- Theodore T'so, zpráva z 15. 11. 1991 na Linux Activists mailing list.
Jasně, když vyvíjíš v takovém tempu, v jakém se pohybují ledovce, jako to dělají u Solarisu, nepřidáváš do cyklického subsystému žádné vlastnosti ani nepracuješ na vylepšování škálovatelnosti, pak to jistě může být bezchybné a nemusí se na to 6 let sahat.
-- David Miller, zpráva z 14. 11. 2007 na Linux Kernel mailing list.
Jestli to chci do Linuxu přidat? Jestli někdo stránkování implementuje, dostane zdarma dvě kopie Linuxu navíc. Co říkáte na tuhle nabídku?
-- Linus Torvalds, zpráva ze 17. 11. 1991 na Linux Activists mailing list.
Firmware (pokud nebyl uložen v seeprom v zařízení) pro uticom(4). Byl někým zkompilován z kompletního zdrojového kódu, který TI zveřejnila pod překvapivě svobodnou licencí. (Která pravděpodobně není ani nijak vynutitelná, protože před ni zapomněli dát frázi o copyrightu... kde si najímají právníky? Každopádně z toho mají všichni prospěch.)
-- Theo de Raadt, zpráva ze 16. 11. 2007 na OpenBSD Source Changes mailing list.
To je velmi arogantní úhel pohledu. Nemusím být televizní technik na to, abych mohl televizi používat. Distribuce by měly ve standardní instalaci poskytovat smysluplné výchozí hodnoty. Jádro jim k tomu už poskytuje mechanismy.
-- Alan Cox, zpráva ze 17. 11. 2007 na Linux Kernel mailing list.
Tenhle případ bude dobrý příkladem v situaci, až příště začne další stupidní vlákno o tom, jak nikdo neřeší hlášení o chybách. Podle mě je to spíš záležitost kvality těch hlášení.
-- David Miller, zpráva z 15. 11. 2007 na Linux Kernel mailing list.
Na rozdíl od clusterových souborových systémů, jako je GFS, OCFS2 a GPFS, které spoléhají na symetrický přístup všech klientů ke sdíleným blokovým zařízením, Ceph odděluje správu dat a metadat mezi nezávislé clustery serverů podobně jako Lustre. Nicméně na rozdíl od Lustre metadata a ukládací uzly [storage nodes] běží zcela v uživatelském prostoru a nepotřebují žádnou podporu v jádře. Ukládací uzly pro ukládání dat používají buď přímo blokové zařízení nebo velký soubor, nebo mohou použít existující souborový systém (XFS atd.) pro lokální ukládání (momentálně s oslabenou bezpečnostní sémantikou).Tady se najednou bez přechozího vysvětlení objevuje spousta termínů, u kterých ale není z kontextu patrné, co by si pod tím měl čtenář představit – „nezávislé clustery serverů“, „ukládací uzly“, „(oslabená) bezpečnostní sémantika“. A opět stavba věty: „Ukládací uzly pro ukládání dat používají buď přímo blokové zařízení, nebo mohou použít existující souborový systém pro lokální ukládání.“ A to jsou tam ve skutečnosti ještě další vsuvky. Co třeba „Pro ukládání dat používají ukládací uzly buď přímo blokové zařízení nebo blokový soubor, nebo mohou pro uložení na místním počítači použít stávající souborový systém (např. XFS) – v tom případě je zatím oslabena bezpečnost“? Teď na druhé přečtení některých částí mi už připadají srozumitelnější, ale stejně to není moc „hladké“. Nechci jen planě kritizovat, doufám, že je aspoň trochu zřejmé, co mi vadí. Každopádně děkuji, že si dáváte práci s překladem do češtiny, ale pokud byste se mohl víc soustředit na českou stylistiku, uvítal bych to.
"Naprosto nACK, modulární plánovače…“ACK znamená potvzení (používá se hlavně u sítí), od slova acknowledged. nACK je not acknowledged. U sítí to znamená potvrzuji přijetí/nepotvrzuji přijetí, vývojáři jádra to používají pro souhlasím/nesouhlasím. Dalo by se to přeložit, ale když už cituju, tak se snažím, aby to bylo co nejvíc doslova; navíc podle mě je to pochopitelné (což je samozřejmě dáno znalostmi, ničim jiným) a pro toho, kdo neví, snadno dohledatelné. Co se citovaného odstavce týče, tam jsem měl dost velké problémy s tím to vůbec přeložit. Jednak se to špatně četlo už v originále, druhak citovaným pojmům taky moc nerozumím. A jako vždycky, když překladatel nerozumí tomu, co překládá, výsledek dopadl špatně. (Přemýšlel jsem o tom, že bych tenhl článek vynechal a měl jsem to udělat.)
Každopádně děkuji, že si dáváte práci s překladem do češtiny, ale pokud byste se mohl víc soustředit na českou stylistiku, uvítal bych to.Když to člověk po sobě čte po stodvacátý, tak už mu přijde, že je všechno dobrý, protože si zvykl. Pokusím se to vylepšit, ale nic neslibuji
…vysoce dostupný design bez bodů selhání, …
…k patchi nazvanému design zapisovatelného mmap pro FUSE.Prosím překládát (např. architektura).
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.