Co to jest usługa Azure Batch?

Usługa Azure Batch umożliwia wydajne uruchamianie równoległych zadań wsadowych oraz zadań wsadowych obliczeń o wysokiej wydajności na platformie Azure. Usługa Azure Batch tworzy pulę węzłów obliczeniowych (maszyn wirtualnych) i zarządza nią, instaluje aplikacje, które chcesz uruchamiać, i tworzy harmonogram zadań do uruchomienia na węzłach. Nie ma oprogramowania klastra ani harmonogramu zadań do instalowania, zarządzania ani skalowania. Zamiast tego korzysta się z interfejsu API usługi Batch i narzędzi, skryptów wiersza polecenia lub witryny Azure Portal, aby konfigurować i monitorować zadania oraz zarządzać nimi.

Deweloperzy mogą używać usługi Batch jako usługi platformy do tworzenia aplikacji SaaS lub aplikacji klienckich, dla których wymagane jest wykonywanie na dużą skalę. Na przykład możesz utworzyć usługę za pomocą usługi Batch, aby uruchomić symulację ryzyka Monte Carlo dla firmy usług finansowych lub usługę do przetwarzania wielu obrazów.

Za korzystanie z usługi Batch nie są naliczane dodatkowe opłaty. Płaci się wyłącznie za wykorzystane zasoby bazowe, takie jak maszyny wirtualne, magazyn i zasoby sieciowe.

Aby zapoznać się z porównaniem opcji usługi Batch i innych rozwiązań HPC na platformie Azure, zobacz Obliczenia o wysokiej wydajności (HPC) na platformie Azure.

Uruchamianie równoległych obciążeń

Z usługą Batch działają dobrze obciążenia wewnętrznie równoległe (zwane również „zaskakująco równoległymi”). Te obciążenia mają aplikacje, które mogą być uruchamiane niezależnie, przy każdym wystąpieniu kończącym część pracy. Gdy aplikacje są wykonywane, mogą uzyskiwać dostęp do niektórych typowych danych, ale nie komunikują się z innymi wystąpieniami aplikacji. Z tego względu obciążenia wewnętrznie równoległe mogą być uruchamiane na dużą skalę, zależną od ilości zasobów obliczeniowych dostępnych do jednoczesnego uruchamiania aplikacji.

Oto przykłady obciążeń wewnętrznie równoległych, które można uruchamiać w usłudze Batch:

  • Modelowanie ryzyka finansowego za pomocą symulacji Monte Carlo
  • Renderowanie filmowych efektów specjalnych i obrazów 3D
  • Analiza i przetwarzanie obrazów
  • Transkodowanie multimediów
  • Analiza sekwencji genetycznych
  • Optyczne rozpoznawanie znaków (OCR)
  • Pozyskiwanie i przetwarzanie danych oraz operacje ETL
  • Wykonywanie testów oprogramowania

Za pomocą usługi Batch można również uruchamiać ściśle powiązane obciążenia, w których uruchamiane aplikacje muszą komunikować się ze sobą, zamiast działać niezależnie. Ściśle sprzężone aplikacje zwykle korzystają z interfejsu API o nazwie Message Passing Interface (MPI). Ściśle sprzężone obciążenia można uruchamiać w usłudze Batch za pomocą interfejsu Microsoft MPI lub Intel MPI. Wydajność aplikacji można zwiększyć, używając specjalizowanych rozmiarów maszyn wirtualnych, przeznaczonych do obliczeń HPC i zoptymalizowanych pod kątem procesora GPU.

Przykłady ściśle sprzężonych obciążeń:

  • Analiza elementów skończonych
  • Dynamika cieczy
  • Wielowęzłowe szkolenie sztucznej inteligencji

Wiele ściśle sprzężonych zadań można uruchamiać równolegle za pomocą usługi Batch. Na przykład można wykonać wiele symulacji cieczy przepływającej przez rurę o różnych szerokościach rur.

Dodatkowe możliwości usługi Batch

Usługa Batch obsługuje obciążenia renderowania na dużą skalę przy użyciu narzędzi do renderowania, takich jak Autodesk Maya, 3ds Max, Arnold i V-Ray.

Zadania usługi Batch można też uruchamiać jako część większego przepływu pracy platformy Azure do przekształcania danych, który jest zarządzany przez narzędzia takie jak Azure Data Factory.

Jak to działa

Typowy scenariusz korzystania z usługi Batch obejmuje skalowanie w poziomie pracy wewnętrznie równoległej — np. renderowania obrazów dla scen 3D — w puli węzłów obliczeniowych. Ta pula może być "farmą renderowania", która zapewnia dziesiątki, setki, a nawet tysiące rdzeni do zadania renderowania.

Na poniższym diagramie przedstawiono kroki typowego przepływu pracy usługi Batch, w którym aplikacja kliencka lub usługa hostowana używa usługi Batch do uruchamiania obciążenia równoległego.

Diagram kroków w rozwiązaniu usługi Batch.

Krok Opis
1. Przekaż pliki wejściowe i aplikacje , aby przetworzyć te pliki na konto usługi Azure Storage. Pliki wejściowe mogą zawierać dowolne dane, które aplikacja może przetworzyć, np. dane modelowania finansowego lub pliki wideo do transkodowania. Pliki aplikacji mogą obejmować skrypty lub aplikacje przetwarzające dane, na przykład transkoder multimediów.
2. Utwórz pulę usługi Batch węzłów obliczeniowych na koncie usługi Batch, zadanie uruchamiania obciążenia w puli i zadania podrzędne w zadaniu. Węzły obliczeniowe to maszyny wirtualne, które wykonują zadania. Określ właściwości puli, takie jak liczba i rozmiar węzłów, obraz maszyny wirtualnej z systemem Windows lub Linux oraz aplikacja do zainstalowania podczas dołączania węzłów do puli. Zarządzanie kosztami i rozmiarem puli przy użyciu maszyn wirtualnych typu spot platformy Azure lub przez automatyczne skalowanie liczby węzłów w miarę zmiany obciążenia.

Po dodaniu podzadań do zadania usługa Batch automatycznie planuje wykonanie podzadań w węzłach obliczeniowych w puli. Każde podzadanie używa przekazanej aplikacji w celu przetwarzania plików wejściowych.
3. Pobieranie plików wejściowych i aplikacji do usługi Batch Przed wykonaniem każdego zadania może pobrać dane wejściowe, które będą przetwarzane do przypisanego węzła. Jeśli aplikacja jeszcze nie została zainstalowana na węzłach puli, można ją pobrać w tym miejscu. Po zakończeniu operacji pobierania z usługi Azure Storage zadanie podrzędne jest wykonywane na przypisanym węźle.
4. Monitorowanie wykonywania zadań Po uruchomieniu zadań podrzędnych wykonaj zapytanie do usługi Batch w celu monitorowania postępu zadania oraz jego zadań podrzędnych. Aplikacja lub usługa kliencka komunikuje się z usługą Batch za pośrednictwem protokołu HTTPS. Ponieważ monitorowane mogą być tysiące podzadań uruchomionych w ramach tysięcy węzłów obliczeniowych, upewnij się, że zapytanie względem usługi Batch jest wydajne.
5. Przekazywanie danych wyjściowych zadania Gdy podzadania zostaną ukończone, mogą przekazać dane wynikowe do usługi Azure Storage. Możesz również pobrać pliki bezpośrednio z systemu plików w ramach węzła obliczeniowego.
6. Pobieranie plików wyjściowych Jeśli podczas monitorowania zostanie wykryte, że zadania podrzędne w zadaniu zostały ukończone, aplikacja lub usługa kliencka może pobrać dane wyjściowe do dalszego przetwarzania.

Należy pamiętać, że opisany powyżej przepływ pracy jest tylko jednym ze sposobów korzystania z usługi Batch i istnieje wiele innych funkcji i opcji. Na przykład można uruchamiać wiele zadań podrzędnych równolegle na każdym węźle obliczeniowym. Możesz też użyć zadań przygotowywania i kończenia zadań , aby przygotować węzły do zadań, a następnie wyczyścić je później.

Zobacz Przepływ pracy i zasoby usługi Batch , aby zapoznać się z omówieniem funkcji, takich jak pule, węzły, zadania i zadania. Zobacz też najnowsze aktualizacje usługi Batch.

Miejsce przechowywania danych w regionie

Azure Batch nie przenosi ani nie przechowuje danych klientów z regionu, w którym jest wdrażany.

Następne kroki

Rozpocznij pracę z usługą Azure Batch, korzystając z jednego z tych przewodników Szybki start: