DwarFS, a redundáns adatok csökkentésére tervezett fájlrendszer

Marcus Holland Moritz (Facebook szoftvermérnök) tudtára adta kiadvány útján a DwarFS első verziói, csak olvasható fájlrendszer, amelynek célja a tömörítés maximalizálása és a redundáns adatok csökkentése.

Ez a fájlrendszer a FUSE mechanizmust használja és a felhasználói térben fut, a kódot C ++ nyelven írják, és a GPLv3 licenc alatt terjesztik.

A DwarFS-ről

Törpe olyan fájlrendszerekre hasonlít, mint a SquashFS, a cramfs és a CromFS a feladatok során, és felhasználható élő képek létrehozására és a fájlok méretének csökkentésére nagyszámú ismétlődő és ismétlődő adat felhasználásával (például virtuális gépek képeinek tárolására vagy a programok különböző verzióinak gyűjteményeire).

A sebesség szempontjából adatokhoz való hozzáférés, A DwarFS nagyjából ugyanazon a szinten van, mint a SquashFS, de a tömörítés hatékonyságát és a képalkotási sebességet tekintve többször is megelőzi ezt az FS-t.

A projektet a tárolás optimalizálásának problémájának megoldására fejlesztették ki a Perl különböző verzióival (a DwarFS szerzője részt vesz a CPAN fájl karbantartásában).

Kezdetben a Cromfs-t próbáltuk használni a tömörítéshez, De a kép elkészítése túl sokáig tartott, a stabilitás pedig sok kívánnivalót hagyott maga után. A SquashFS stabilan működött és észrevehetően gyorsabbá tette a képeket, de a tömörítés szintje elfogadhatatlan volt.

A DwarFS kód nagy része 2013-ban íródott. Ebben az évben a szerző talált időt arra, hogy a kódot nyilvánosság elé terjessze és dokumentációt írjon. A DwarFS a Boost és a Folly könyvtárakat használja.

A lefagyott Thrift Facebook fiókkönyvtár a metaadatok tárolására szolgál. További függőségek a FUSE3, valamint az lz4, zstd és liblzma tömörítési könyvtárak.

A DwarFS nyolcszoros teljesítményt nyújtott a SquashFS-ben a tömörítési arány szempontjából, és a kép létrehozásának sebességét tekintve négyszer, amikor 4 különböző Perl-telepítést tartalmazó képet készítenek, amelyből a Perl 1139 változata létezik.

Törpe 47 GB-ról 582 MB-ra tudta csökkenteni a referenciaértéket (Az eredeti méret 1,1% -a), míg a kapott SquashFS képméret 4,7 GB volt. A SquashFS 69 percet vett igénybe a kép elkészítéséhez, míg DwarFS 15 perc alatt elvégezte a munkát.

Mindkét fájlrendszer a ZSTD algoritmust használta a tömörítéshez. Az LZMA használatával a DwarFS kép mérete további 18% -kal (kb. 479 MB) csökkent, de az adott kép elérési sebessége jelentősen csökkent.

A kevesebb ismétléssel rendelkező adatokkal végzett tesztek előnyt mutattak nem olyan jelentős, de mégis figyelemre méltó a DwarFS-től. Például a Paspberry Pi OS root FS képmérete a DwarFS esetében 298 MB, a SquashFS esetében pedig 364 MB volt, a felépítési idő pedig 1 perc 36 másodperc, illetve 1 perc 54 másodperc volt.

A a DwarFS főbb jellemzői a következők emelkednek ki:

  • Az energiaellátási képesség kiküszöböli a redundanciát azáltal, hogy hasonló adatokat csoportosít (a fájlhatároktól függetlenül) LSH hash függvényekkel hasonló objektumok azonosítására.
  • A fájlrendszer blokkolásának elemzése a tömörítetlen fájlrendszer méretének csökkentése és a processzor gyorsítótár-használatának hatékonyságának növelése miatt, mivel több szükséges adat kerül be.
  • A képalkotó segédprogram és a FUSE modul többszálas megvalósítása, amely az összes rendelkezésre álló CPU-magot fel tudja használni futás közben.
  • Kísérleti támogatás a tartalom szűrésére és rendezésére használható Lua vezérlők csatlakoztatásának képességéhez.
  • Újracsomagolási mód, amely lehetővé teszi egy már létrehozott kép tömörítési algoritmusának megváltoztatását (például újracsomagolhat a ZSTD helyett az LZMA vagy az LZ4 használatával).
  • A képeket az mkdwarfs segédprogram segítségével hozzák létre, és a törpék segédprogrammal szerelik fel.

Végül, ha többet szeretne megtudni erről a fájlrendszerről, vagy érdekli, hogy össze tudja-e állítani a forráskódját, megtekintheti az információkat, vagy beszerezheti a forráskódot A következő linken.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: AB Internet Networks 2008 SL
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.