Přizpůsobení zpětného zápisu souboru ve službě Azure HPC Cache

Uživatelé služby HPC Cache mohou požádat o zápis konkrétních jednotlivých souborů do back-endového úložiště na vyžádání pomocí nástroje flush_file.py. Tento nástroj je samostatně stažený softwarový balíček, který instalujete a používáte na klientských počítačích s Linuxem.

Tato funkce je navržená pro situace, kdy chcete, aby byly změny v souborech uložených v mezipaměti co nejdříve dostupné pro systémy, které mezipaměť nepřipevní.

Azure HPC Cache můžete například použít ke škálování výpočetních úloh v cloudu, ale trvale ukládat datovou sadu do místního datového centra. Pokud výpočetní úlohy probíhají v datovém centru, které závisí na změnách vytvořených pomocí služby Azure HPC Cache, můžete pomocí tohoto nástroje "odeslat" výstup nebo změny vygenerované cloudovou úlohou zpět do místního úložiště NAS. Díky tomu můžou nové soubory používat téměř okamžitě místní výpočetní prostředky.

Volba mezi vlastním zpětným zápisem a vyprázdněním

Data můžete vynutit, aby se zapisovaná zpět pomocí možnosti "vyprázdnění cíle úložiště" integrované do služby Azure HPC Cache – tento přístup ale nemusí být pro všechny situace správný.

  • Zápis všech upravených souborů zpět do systému úložiště může trvat několik minut nebo dokonce hodin v závislosti na množství dat a rychlosti síťového propojení zpět do místního systému. Nemůžete také zvolit pouze soubory, se kterými jste skončili, aby byly zapsány; soubory, které se stále aktivně upravují, budou zahrnuty do tohoto výpočtu.

  • Mezipaměť může během procesu vyprázdnění blokovat poskytování některých požadavků z tohoto cíle úložiště. To může zpozdit zpracování, pokud existují další výpočetní klienti používající soubory, které se nacházejí ve stejném cíli úložiště.

  • Aktivace této akce vyžaduje přístup přispěvatele k Azure Resource Manageru, který koncoví uživatelé nemusí mít.

Můžete mít například několik paralelních (ale nepřekrývajících se) výpočetních úloh, které spotřebovávají data umístěná ve stejném cíli úložiště služby HPC Cache. Po dokončení jedné úlohy chcete okamžitě napsat výstup této úlohy z mezipaměti do dlouhodobého úložiště na back-endu.

K dispozici jsou tři možnosti:

  • Počkejte, až se soubory uložené v mezipaměti automaticky zapíšou z mezipaměti, ale soubory se můžou v mezipaměti nacházet déle než hodinu, než se úplně zapíšou. Načasování závisí na zpoždění zpětného zápisu modelu využití mezipaměti spolu s dalšími faktory, jako je výkon síťového propojení a velikost souborů. (Číst Seznamte se s modely využití mezipaměti a získejte další informace o zpoždění zpětného zápisu.)

  • Okamžitě vyprázdněte soubory uložené v mezipaměti pro celý cíl úložiště, ale tím by došlo k narušení jiných výpočetních úloh, které používají také data tohoto cíle úložiště.

  • Pomocí tohoto přizpůsobeného nástroje pro zpětný zápis odešlete do mezipaměti speciální požadavek NFS, který zapisuje jenom požadované konkrétní soubory. Tento scénář nenaruší přístup pro ostatní klienty a může se aktivovat v libovolném bodě výpočetní úlohy.

O nástroji pro zpětný zápis

Nástroj pro zpětný zápis má skript, který můžete použít k určení jednotlivých souborů, které budou zapsány z mezipaměti do dlouhodobého systému úložiště.

Skript vezme vstupní datový proud souborů k zápisu, navíc cestu oboru názvů mezipaměti k exportu cíle úložiště a IP adresu připojení služby HPC Cache.

Skript používá volání "commit" NFSv3 se speciálními argumenty povolenými. Běžný klient systému Linux nfs nemůže tyto argumenty správně předat, takže nástroj flush_file.py používá emulátor klienta NFS v knihovně Pythonu ke komunikaci se službou NFS služby HPC Cache NFS. Knihovna obsahuje vše potřebné, což obchází všechna omezení, která můžou existovat v klientovi NFS založeném na linuxovém jádru vašeho výpočetního klienta.

Pokud chcete tuto funkci použít, musíte udělat toto:

  • Nainstalujte knihovnu hpc-cache-nfsv3-client z úložiště Microsoft HPC-Cache-NFSv3-client z GitHubu na adrese https://github.com/microsoft/hpc-cache-nfsv3-client. na jednom nebo více výpočetních klientech. Informace o požadavcích a pokyny jsou součástí souboru README úložiště.

  • Pomocí zahrnutého skriptu flush_file.py dejte mezipaměti vědět, že zapisuje přesné soubory, které potřebujete zpět do dlouhodobého systému úložiště.

Přečtěte si další informace o instalaci a používání skriptu flush_file.py v úložišti GitHub.