Dostosowywanie zapisywania zwrotnego plików w usłudze Azure HPC Cache
Użytkownicy usługi HPC Cache mogą zażądać, aby pamięć podręczna zapisywała określone pliki do magazynu zaplecza na żądanie przy użyciu narzędzia flush_file.py. To narzędzie to oddzielnie pobrany pakiet oprogramowania instalowany i używany na komputerach klienckich z systemem Linux.
Ta funkcja została zaprojektowana w sytuacjach, w których zmiany w buforowanych plikach mają być udostępniane jak najszybciej systemom, które nie zainstalują pamięci podręcznej.
Możesz na przykład użyć usługi Azure HPC Cache do skalowania zadań obliczeniowych w chmurze, ale przechowywać zestaw danych na stałe w lokalnym centrum danych. Jeśli zadania obliczeniowe wystąpią w centrum danych, które zależą od zmian utworzonych za pomocą usługi Azure HPC Cache, możesz użyć tego narzędzia do "wypychania" danych wyjściowych lub zmian wygenerowanych przez zadanie w chmurze z powrotem do lokalnego magazynu NAS. Dzięki temu nowe pliki mogą być używane niemal natychmiast przez lokalne zasoby obliczeniowe.
Wybieranie między niestandardowym zapisem zwrotnym i opróżnianie
Możesz wymusić zapisywanie danych z użyciem opcji "opróżniania docelowego magazynu" wbudowanej w usługę Azure HPC Cache — ale takie podejście może nie być odpowiednie dla wszystkich sytuacji.
Zapisywanie wszystkich zmodyfikowanych plików z powrotem do systemu magazynu może potrwać kilka minut lub nawet godzin, w zależności od ilości danych i szybkości łącza sieciowego z powrotem do systemu lokalnego. Ponadto nie można wybrać tylko plików, które zostały ukończone do zapisania; pliki, które są nadal aktywnie modyfikowane, zostaną uwzględnione w tym obliczeniu.
Pamięć podręczna może blokować obsługę niektórych żądań z tego miejsca docelowego magazynu podczas procesu opróżniania. Może to opóźnić przetwarzanie, jeśli istnieją inni klienci obliczeniowi przy użyciu plików znajdujących się w tym samym obiekcie docelowym magazynu.
Wyzwolenie tej akcji wymaga dostępu współautora do usługi Azure Resource Manager, której użytkownicy końcowi mogą nie mieć.
Na przykład można mieć wiele równoległych (ale nie nakładających się) zadań obliczeniowych korzystających z danych znajdujących się w tym samym miejscu docelowym magazynu usługi HPC Cache. Po zakończeniu jednego zadania chcesz natychmiast zapisać dane wyjściowe tego zadania z pamięci podręcznej do długoterminowego magazynu na zapleczu.
Dostępne są trzy opcje:
Poczekaj, aż buforowane pliki zostaną automatycznie zapisane z pamięci podręcznej — ale pliki mogą znajdować się w pamięci podręcznej przez ponad godzinę, zanim zostaną całkowicie zapisane. Czas zależy od opóźnienia zapisu w modelu użycia pamięci podręcznej wraz z innymi czynnikami, takimi jak wydajność łącza sieciowego i rozmiar plików. (Odczyt) Zapoznaj się z modelami użycia pamięci podręcznej, aby dowiedzieć się więcej o opóźnieniu zapisu.
Natychmiast opróżnij buforowane pliki dla całego miejsca docelowego magazynu , ale spowoduje to przerwanie innych zadań obliczeniowych, które również korzystają z danych tego miejsca docelowego magazynu.
Użyj tego dostosowanego narzędzia zapisu zwrotnego, aby wysłać specjalne żądanie NFS do pamięci podręcznej, aby zapisać tylko określone pliki. Ten scenariusz nie zakłóca dostępu dla innych klientów i może zostać wyzwolony w dowolnym momencie zadania obliczeniowego.
Informacje o narzędziu zapisywania zwrotnego
Narzędzie zapisywania zwrotnego zawiera skrypt, którego można użyć do określenia pojedynczych plików, które będą zapisywane z pamięci podręcznej do długoterminowego systemu magazynowania.
Skrypt pobiera strumień wejściowy plików do zapisu oraz ścieżkę przestrzeni nazw pamięci podręcznej do eksportu docelowego magazynu oraz adres IP instalacji pamięci podręcznej HPC Cache.
Skrypt używa wywołania "commit" NFSv3 z włączonymi specjalnymi argumentami. Klient nfs-common systemu Linux nie może odpowiednio przekazać tych argumentów, więc narzędzie flush_file.py używa emulatora klienta NFS w bibliotece języka Python do komunikowania się z usługą HPC Cache NFS. Biblioteka zawiera wszystkie potrzebne elementy, które pomija wszelkie ograniczenia, które mogą istnieć w kliencie systemu plików NFS opartym na jądrze systemu plików NFS klienta obliczeniowego.
Aby użyć tej funkcji, należy wykonać następujące czynności:
Zainstaluj bibliotekę
hpc-cache-nfsv3-client
z repozytorium microsoft HPC-Cache-NFSv3-client w witrynie GitHub pod adresem https://github.com/microsoft/hpc-cache-nfsv3-client. na co najmniej jednym kliencie obliczeniowym. Informacje o wymaganiach wstępnych i instrukcje są zawarte w pliku README repozytorium.Użyj dołączonego skryptu "flush_file.py", aby poinformować pamięć podręczną o zapisie dokładnych plików potrzebnych z powrotem do długoterminowego systemu magazynowania.
Dowiedz się więcej o instalowaniu i używaniu skryptu flush_file.py w repozytorium GitHub.