Log -strukturovaný souborový systém - Log-structured file system

Souborový systém log strukturovaný je souborový systém , ve kterém jsou data a metadata písemné postupně do kruhové vyrovnávací paměti , nazývá protokolu . Design byl poprvé navržen v roce 1988 Johnem K. Ousterhoutem a Fredem Douglisem a poprvé implementován v roce 1992 Ousterhoutem a Mendelem Rosenblumem pro distribuovaný operační systém Sprite podobný Unixu .

Zdůvodnění

Konvenční souborové systémy mají tendenci ukládat soubory s velkou péčí o prostorovou lokalitu a provádět místní změny ve svých datových strukturách, aby dobře fungovaly na optických a magnetických discích, které mají tendenci hledat relativně pomalu.

Návrh logově strukturovaných souborových systémů je založen na hypotéze, že to již nebude účinné, protože stále větší velikosti paměti na moderních počítačích by vedly k tomu, že I/O bude náročné na zápis, protože čtení by bylo téměř vždy uspokojeno z mezipaměti paměti. Logem strukturovaný souborový systém tedy považuje své úložiště za kruhový protokol a zapisuje postupně do hlavy protokolu.

To má několik důležitých vedlejších účinků:

  • Zlepšuje se propustnost zápisu na optické a magnetické disky, protože je lze dávkovat do velkých sekvenčních běhů a nákladné hledání je omezeno na minimum.
  • Zápisy vytvářejí více, chronologicky postupujících verzí dat souboru i metadat. Některé implementace činí tyto staré verze souborů pojmenovatelnými a přístupnými, což je funkce, které se někdy říká cestování v čase nebo snapshotting . To je velmi podobné systému verzí souborů .
  • Obnova po haváriích je jednodušší. Po svém dalším připojení nemusí souborový systém procházet všechny své datové struktury, aby opravil jakékoli nesrovnalosti, ale může rekonstruovat svůj stav z posledního konzistentního bodu v protokolu.

Systémy souborů strukturované do protokolu však musí získat zpět volné místo na konci protokolu, aby se zabránilo úplnému zaplnění systému souborů, když se hlava protokolu zalomí, aby se s ním setkala. Ocas může uvolnit prostor a pohybovat se vpřed přeskakováním dat, pro která existují novější verze dále v protokolu. Pokud neexistují žádné novější verze, data se přesunou a připojí k hlavě.

Aby se snížila režie vzniklá touto smetí , většina implementací se vyhýbá čistě kruhovým protokolům a rozděluje jejich úložiště na segmenty. Hlava protokolu jednoduše postupuje do sousedních segmentů, které jsou již volné. Pokud je potřeba místo, nejprve se rekultivují nejméně zaplněné segmenty. To snižuje zátěž I/O (a snižuje zesílení zápisu ) popelářského kolektoru, ale stává se stále neúčinnějším, protože se souborový systém zaplňuje a blíží se kapacitě.

Nevýhody

Odůvodnění návrhu logově strukturovaných souborových systémů předpokládá, že většina čtení bude optimalizována pomocí stále se zvětšujících paměťových mezipamětí. Tento předpoklad nemusí vždy platit:

  • Na magnetických médiích-kde jsou hledání relativně drahé-může struktura protokolu ve skutečnosti nutit číst mnohem pomaleji, protože fragmentuje soubory, které konvenční systémy souborů obvykle udržují v sousedství s místními zápisy.
  • V paměti flash - kde jsou doby hledání obvykle zanedbatelné - nemusí struktura protokolu poskytovat hodnotné zvýšení výkonu, protože fragmentace zápisu má mnohem menší dopad na propustnost zápisu. Dalším problémem je stohování jednoho protokolu na jiný protokol, což není příliš dobrý nápad, protože vynucuje vícenásobné mazání s nezarovnaným přístupem. Mnoho zařízení založených na blesku však nedokáže přepsat část bloku a musí nejprve provést (pomalý) cyklus mazání každého bloku, než budou moci znovu zapisovat, takže vložením všech zápisů do jednoho bloku to může pomoci výkonu oproti na zápisy roztroušené do různých bloků, z nichž každý musí být zkopírován do vyrovnávací paměti, vymazán a zapsán zpět, což je jasná výhoda pro takzvanou „surovou“ flash paměť, kde je vrstva překladu blesku obejita.

Viz také

Reference

Další čtení