Aspekty výkonu systému souborů
Pokud spouštíte úlohy PROSTŘEDÍ HPC, pravděpodobně jste viděli operace s termíny operace, velikost bloku, IOPS, propustnost a latenci. Při výběru úložiště jste tyto faktory pravděpodobně považovali za tyto faktory.
Na konci této části byste měli mít funkční přehled o těchto pěti faktorech výkonu a o tom, jak ovlivňují vaše úlohy prostředí HPC.
Operace
Termín Operace odkazuje na jakoukoli aktivitu mezi hostitelem nebo počítačem a systémem souborů nebo diskem.
Pravděpodobně znáte například tyto operace, které zahrnují operační systém a jeho místní disk:
- Vytvoření (soubor)
- Odstranění
- Otevření
- Zavřít
- Čtení
- Zápis
- Připojit
- Získání atributu
- Nastavit atribut
- Přejmenovat
Systém souborů NFS představuje interakci na úrovni sítě mezi souborovým klientem a serverem. Všimněte si, že některé z těchto operací vypadají podobně jako místní operace. Vzhledem k tomu, že nfs je síťové rozhraní API, můžou tyto síťové operace zahrnovat několik místních operací.
create
(soubor nebo odkaz)mkdir
readdir
neboreaddirplus
getattr
setattr
lookup
(vyhledejte souborhandle v adresáři)link
/symlink
/readlink
read
rename
remove
rmdir
write
Jak operace ovlivňují úložiště PROSTŘEDÍ HPC?
Je užitečné pochopit, jak operace ovlivňují váš systém úložiště. Předpokládejme například, že vaše úloha PROSTŘEDÍ HPC vytvoří velký počet malých souborů ve vnořených adresářových strukturách. V tomto scénáři by vaše úloha vyžadovala větší počet operací, než by to bylo u úlohy, která čte několik velkých sekvenčních souborů.
Tyto vzory přístupu probereme v další lekci. A create
zahrnuje více operací, takže čím více souborů vaše úloha vytvoří, tím větší bude mít vliv na výkon.
Velikost bloku
Velikost bloku odkazuje na nejmenší velikost dat (v bajtech), kterou může systém souborů číst nebo zapisovat jako jednu operaci.
Pro naše účely odkazuje velikost bloku také na velikost datové části systému souborů NFS (čtení/zápis), kterou je možné přenášet mezi klienty NFS a servery.
Servery NFS a klienti vyjednávají velikost bloku a přijímají největší možnou velikost, kterou vzájemně podporují. Výchozí nastavení může být v rozsahu od 4 kB do 64 kB. Aktuální maximální konfigurovatelná hodnota je 1 MB. Jednotlivé datové pakety mohou mít datové části větší než nastavená hodnota.
U klientů můžete explicitně nakonfigurovat velikost bloku. Zkontrolujte úplný mount
příkaz na počítačích clusteru HPC a určete hodnotu. Výchozí velikosti jsou nastavené. Hodnoty v mount
příkazu explicitně nenakonfigurujete.
Dva argumenty používané ke konfiguraci velikosti bloku NFS jsou rsize
(velikost čtení) a wsize
(velikost zápisu).
Pokud nakonfigurujete malou velikost bloku. Nebo volba systémů souborů má malou maximální velikost bloku a vaše úloha se skládá z velkých souborů. Výkon se snižuje kvůli nadbytečné blokaci velkých souborů.
IOPS
Pojem IOPS představuje vstupně-výstupní operace za sekundu. Počet IOPS v prostředí úložiště závisí na těchto atributech:
- Typ úložného média. Například pevné disky (HDD) a jednotky SSD (Solid-State Drive).
- Latence zavedená připojením k síti
- Velikost bloku používaná systémem souborů.
- Množství souběžného přístupu dostupného systému souborů.
Řešení úložiště má jedno číslo IOPS. Pokud například používáte spravovaný disk Azure, který podporuje 5 000 IOPS, můžete mít až 5 000 operací za sekundu. Číslo IOPS je ale míra celkového maxima pro všechny operace čtení nebo zápisu na disku, včetně systémových režijních nákladů na čtení a zápisy.
Hodnota IOPS je průvodce možným maximálním počtem operací, které může vaše diskové nebo prostředí NAS podporovat.
Měření se obvykle rozdělují mezi náhodnými a sekvenčními operacemi čtení a zápisu.
- Náhodná operace je čtení nebo zápis dat v různých náhodných bodech disku nebo souboru. Můžete třeba upravit konkrétní rozsah bajtů někde v souboru.
- Sekvenční operace je souvislý přístup k souboru, který čte od začátku souboru.
Propustnost
Propustnost odkazuje na celkovou možnou přenosovou rychlost, kterou může systém souborů zpracovat v bajtech za sekundu.
Pokud chcete provést základní výpočet propustnosti, vynásobte počet IOPS systému velikostí bloku.
Pokud máte například disk, který podporuje 3 000 IOPS a velikost bloku je 4 KB, celková možná propustnost je 12 MB/s.
Tento výpočet poskytuje základní znalosti obecných možností výkonu systému souborů. Skutečná propustnost se ale může lišit. Další faktory ovlivňují propustnost, včetně nákladů na síť, pokud vytváříte nebo odstraňujete velký počet malých souborů.
Latence
Latence označuje dobu potřebnou k dokončení operace. Čím vyšší je latence, tím vyšší je pravděpodobnost pomalejších spuštění úloh.
V rámci jedné architektury může existovat více zdrojů latence, z nichž každá přispívá k celkovému efektu latence.
Latence systému souborů může nastat za těchto podmínek:
- Pomalé síťové připojení mezi klientem a serverem.
- Přetížení sítě nebo souborového serveru způsobené velkým počtem souběžných požadavků.
- Přirozená latence kvůli vzdálenosti mezi klienty a servery (například přes síť WAN).
- Pomalý přístup k subsystému disků na samotném souborovém serveru.
Latence není vždy konzistentní nebo jasně zdokumentovaná. Ke zjištění latence mezi počítači clusteru HPC a koncovým bodem úložiště je potřeba spustit testy.
Latence je také kumulativní problém. Výkon sítě může být jeden přispěvatel, ale můžou existovat i další faktory, jako je chybná konfigurace operačního systému počítače nebo nefektivnost samotného kódu úlohy. Každý z těchto faktorů ovlivňuje celkovou latenci.
Latence je nejdůležitějším faktorem při posuzování skutečného výkonu systému souborů. Vyšší latence se překládají na méně vstupně-výstupních operací za sekundu. Menší počet vstupně-výstupních operací za sekundu může přeložit na nižší propustnost.
Testování a výpočet hodnot směrného plánu
Když zvolíte přesnou konfiguraci výkonu pro úlohy PROSTŘEDÍ HPC, má samotná úloha významný vliv.
Nabídky systému souborů Azure představují očekávané hodnoty IOPS a propustnosti. Pokud se rozhodnete vytvořit vlastní řešení NAS, použijte metriky zdokumentované pro každý virtuální počítač a skladovou položku spravovaného disku.
Konfiguraci místního datacentra HPC můžete použít jako výchozí bod pro očekávání výkonu. Mějte na paměti, že cloudová řešení umožňují vytvářet více prostředí, která spouštějí úlohy. V Azure tedy můžete mít větší flexibilitu pro jednotlivé úlohy. Naproti tomu vaše místní prostředí bylo založeno na konkrétní kapacitě, která není snadno (dynamicky) rozšířená.
Můžete použít základní nástroje, jako je ping
, iozone
fio
a iometer
určit směrné hodnoty systému souborů Azure.
Profilace aplikací
Možná máte úlohu náročnou na vstupně-výstupní operace, která vyžaduje efektivní provoz vstupně-výstupních operací za sekundu a propustnosti. Nebo vaše úloha může spouštět, číst knihovny a zdrojová data do paměti a pokračovat minimálními vstupně-výstupními operacemi úložiště. Možná první úloha v předchozím seznamu zapíše zprostředkující data, která musí číst jiné počítače HPC. Každá z těchto dynamics přispívá k přístupu k řešení úložiště. Pokud chcete zajistit, aby počítače mohly data číst co nejrychleji, zaměřte se na snížení latence čtení. Pokud ale vaše úloha zapisuje průběžné nebo pomocné informace na disky, chcete zajistit, aby každý počítač HPC mohl rychle přistupovat k místním diskům nebo rychlému sdílenému řešení NAS pro tyto zápisy. V závislosti na tom, které počítače můžou potřebovat číst tyto zprostředkující zápisy.
Pravděpodobně chcete investovat do profilace aplikací pro jejich použití vstupně-výstupních operací úložiště. Profilace se stává důležitější, protože váš cluster HPC roste ve velikosti a počtu úloh.
Profilace zahrnuje použití nástrojů spuštěných na počítačích HPC a v prostředí úložiště. Tyto nástroje hlásí množství, typ a velikost operací, které se spouštějí v prostředí úložiště.
Profilace úlohy může být obtížná kvůli množství dat, která se můžou vygenerovat. Nástroje jako iostat
a sar
můžou v průběhu času vytvářet významný výstup. Možná budete muset analyzovat výsledky a možná budete muset výsledky dále analyzovat a generovat histogramy.
Pokud používáte řešení NAS, musíte během spuštění profilace shromáždit statistiky z rozhraní dodavatele. Potom korelujte informace s daty počítačů HPC a ověřte vzory vstupně-výstupních operací.
Nástroje pro profilaci třetích stran jsou k dispozici pro pomoc s analýzou vstupně-výstupních operací, které nabízejí dodavatelé aplikací HPC.