Paralelní systémy souborů
Systém souborů NFS se vyvinul z podniku. Je navržený tak, aby zpracovával souběžný přístup k souborům v rostoucím měřítku. Existuje ale horní mez výkonu a škálování, které můžete získat s řešeními NFS. Existují také třídy úloh, které vyžadují mnohem větší paralelní přístup k souborům, včetně možnosti více souběžných procesů zapisovat do některé části souboru.
Během posledních dvou desetiletí se výrazně zvýšila potřeba čtení a zápisu ve velkém měřítku. Řešení paralelního systému souborů jsou hlavní volbou pro urychlení největších vysoce výkonných úloh. Paralelní systémy souborů pocházejí z superkomputujících center. Nyní jsou široce nasazené pro různé scénáře. Například seismická zpracování a interpretační řešení používaná hlavními společnostmi zabývajícími se ropou a plynem a sekundární/terciární analýzou genomických dat.
Tato lekce představuje lehkou léčbu paralelních systémů souborů. Pokud takové úlohy provozujete, pravděpodobně jste dobře obeznámeni s ovladači, potřebami a architekturou těchto řešení. Mezi distribuovanými řešeními NAS je šedá oblast, která obsluhuje systém souborů NFS a paralelní systémy souborů. Použití paralelních systémů souborů může lépe vyhovovat vašim požadavkům.
Po dokončení této lekce se seznámíte s hlavními funkcemi paralelních systémů souborů.
Paralelní systémy souborů byly historicky úplnou třídou funkcí, které vyžadují podrobné znalosti vstupně-výstupních operací aplikace. Tyto informace vám pomůžou lépe porozumět, nikoli odborným znalostem.
Distribuovaný systém souborů NAS (NFS) vs. paralelní systémy souborů
Distribuovaný systém NAS i paralelní systémy souborů jsou sdílené systémy souborů. Několik klientů načítá soubory souběžně, soubory se zapisují a zamknou, metadata je možné upravit a provádět další operace.
Oba tyto systémy můžete škálovat přidáním nebo upgradem hardwarových technologií úložiště, přidáním front-endových serverů pro škálování přístupu klientů nebo zlepšením síťového připojení.
Paralelní vstupně-výstupní operace
Paralelní systémy souborů rozdělují soubory do samostatných bloků nebo pruhů a distribuují tyto soubory napříč několika servery úložiště. Existují distribuované systémy souborů, které odstraňují data. Rozdíl je v tom, že paralelní systémy souborů pak zpřístupňují pruhy přímo klientům prostřednictvím komunikace s hostitelskými servery úložiště. Prokládání umožňuje významné paralelní vstupně-výstupní operace přes standardní distribuovaný systém NAS. Klienti NFS, kteří běží s nejběžnějšími prostředími NAS se škálováním na více systémů, musí přistupovat k souboru přes jeden server. Když klienti přistupují k jednomu serveru, způsobí problémy, když se počet souběžných požadavků zvýší nad rámec toho, co může server zpracovat. A přístup paralelních systémů souborů k paralelnímu přístupu a prokládání je skvěle hodí pro úlohy, které potřebují přístup k velkým souborům napříč velkým počtem souběžných klientů.
Tady jsou tři hlavní paralelní systémy souborů:
- GPFS ibm, označovaná jako Spectrum Scale
- Lustre, což je open source, ale má některé komerční implementace
- BeeGFS
Tyto systémy dosahuje paralelních vstupně-výstupních operací různými způsoby. GPFS používá servery označované jako síťová úložiště (NSD), které se připojují k síti SAN (Storage Area Network). Servery GPFS tedy mají jako záložní úložiště nezpracované vstupně-výstupní disky. BeeGFS má mnoho stejných komponent architektury jako Lustre, ale má také robustní distribuovanou architekturu metadat. BeeOND, zkratka pro BeeGFS On Demand, umožňuje prostředí BeeGFS na vyžádání, která používají úložiště na každém klientovi. Taková dočasná prostředí systému souborů lze použít k ukládání do vyrovnávací paměti.
V obou případech se ale paralelní systémy souborů můžou škálovat přidáním dalších serverů úložiště, které pak klientům nabízejí více paralelních vstupně-výstupních operací. A celkový počet klientů může být velký, od desítek tisíc.
Metadata
Rozhraní klientů NFS přímo se serverem NFS, který poskytuje informace o metadatech a načítá data pro klienty. Komponentu serveru je potřeba nastavit tak, aby odpovídala množství klientů a očekávané rychlosti provozu. Tato komponenta se může stát kritickým bodem. Dodavatelé NAS můžou implementovat některé optimalizace metadat, ale většina implementací NFS nerozpozná samostatnou službu metadat.
Paralelní systémy souborů naproti tomu obvykle implementují strategie pro lepší škálování přístupu k datům klientů. Lustre například implementuje samostatný server metadat (MDS). Klienti načítají všechna metadata z daného systému. Klienti Lustre můžou přímo přistupovat k serveru úložiště, kde se daný soubor nachází, a mohou číst a zapisovat více paralelních vláken. Tento přístup umožňuje architektuře škálovat šířku pásma na základě počtu nasazených serverů úložiště.
Velikost bloku
O velikosti bloku jsme mluvili dříve v kontextu systému souborů NFS. Velikosti bloků paralelního systému souborů můžou být větší než velikosti bloků NFS. Výchozí rsize/wsize pro klienty NFS je obvykle 64 000. Lustre má například blokové velikosti v MB. Tato větší velikost má dva efekty. Za prvé, čtení a zápis velkých souborů je vynikající v paralelním systému souborů. Paralelní systémy souborů ale nabízejí malou výhodu v případech, kdy jsou velikosti souborů malé a počet souborů je velký.
Složitost
Distribuovaná řešení systému souborů, na kterých běží systém souborů NFS, se dají snadno nastavit a spustit pro běžné případy použití. Stejně jako jakýkoli systém je možné ladit výkon, včetně manipulace s velikostmi bloků klientských serverů (rsize/wsize) na základě úloh.
Paralelní systémy souborů obvykle pracují se složitými úlohami ve škálovacích prostředích. Pravděpodobně budou vyžadovat konfiguraci a ladění, aby se zajistil dostatečný výkon a škálování.
Aspekty nasazení
Azure nabízí několik nabídek paralelního systému souborů. Na Azure Marketplace se můžete podívat na možnosti, mezi které patří BeeGFS a Lustre. (Vyhledejte Whamcloud.) Lustre můžete nainstalovat také na standardní virtuální počítače s Linuxem nebo můžete použít šablony Azure Resource Manageru (ARM), které najdete na webu Rychlého startu Azure.