Styl architektury dużych wystąpień obliczeniowych

Azure
Azure Batch

Termin duże wystąpienia obliczeniowe opisuje obciążenia na dużą skalę, które wymagają dużej liczby rdzeni, często liczonej w setkach lub tysiącach. Scenariusze obejmują m.in. renderowanie obrazów, dynamikę płynów, modelowanie ryzyka finansowego, poszukiwanie ropy naftowej, projektowanie leków oraz inżynieryjną analizę naprężeń.

Diagram logiczny dla stylu architektury dużych obliczeń

Poniżej przedstawiono niektóre typowe cechy aplikacji dużych wystąpień obliczeniowych:

  • Praca może zostać podzielona na osobne zadania, które mogą być uruchamiane na wielu rdzeniach jednocześnie.
  • Każde zadanie jest skończone. Przyjmuje dane wejściowe, przetwarza je i generuje dane wyjściowe. Cała aplikacja jest uruchamiana na skończony czas (od minut do dni). Typowy wzorzec polega na zainicjowaniu obsługi dużej liczby rdzeni w serii, a następnie zmniejszaniu do zera po zakończeniu pracy aplikacji.
  • Aplikacja nie musi działać 24 godziny na dobę, 7 dni w tygodniu. Jednak system musi obsługiwać awarie węzłów lub aplikacji.
  • W przypadku niektórych aplikacji zadania są niezależne i mogą być uruchamiane równolegle. W innych przypadkach zadania są ściśle powiązane, co oznacza, że muszą współdziałać lub dokonywać wymiany wyników pośrednich. W takich przypadkach warto rozważyć użycie szybkich technologii sieciowych, takich jak InfiniBand i zdalny bezpośredni dostęp do pamięci (RDMA).
  • W zależności od obciążenia można użyć maszyn wirtualnych intensywnie korzystających z mocy obliczeniowej (H16r, H16mr i A9).

Kiedy stosować tę architekturę

  • Operacje wymagające dużej mocy obliczeniowej, takie jak symulacja i przetwarzanie liczb.
  • Symulacje, które wymagają dużej mocy obliczeniowej i muszą zostać podzielone pomiędzy procesory CPU na wielu różnych komputerach (10-1000).
  • Symulacje, które wymagają zbyt dużej ilości pamięci dla jednego komputera i muszą zostać podzielone między wiele komputerów.
  • Długotrwałe obliczenia, których ukończenie trwałoby zbyt długo na pojedynczym komputerze.
  • Mniejsze obliczenia, które muszą być wykonane setki lub tysiące razy, takie jak symulacje Monte Carlo.

Świadczenia

  • Wysoka wydajność wraz z „zaskakująco równoległym” przetwarzaniem.
  • Możliwość wykorzystania setek lub tysięcy rdzeni komputerowych do szybszego rozwiązywania rozległych problemów.
  • Dostęp do wyspecjalizowanego sprzętu o wysokiej wydajności z użyciem dedykowanych szybkich sieci InfiniBand.
  • Maszyny wirtualne można aprowizować w miarę potrzeb w zakresie pracy, a następnie je usuwać.

Wyzwania

  • Zarządzanie infrastrukturą maszyn wirtualnych.
  • Zarządzanie ilością buforowania liczby
  • Aprowizowanie tysięcy rdzeni w odpowiednim czasie.
  • W przypadku mocno powiązanych zadań dodawanie większej liczby rdzeni może przynosić mniejsze zyski. W celu znalezienia optymalnej liczby rdzeni konieczne może być poeksperymentowanie.

Duże wystąpienia obliczeniowe z użyciem usługi Azure Batch

Usługa Azure Batch to zarządzana usługa do uruchamiania aplikacji do dużych obliczeń o wysokiej wydajności (HPC).

Korzystając z usługi Azure Batch, można skonfigurować pulę maszyn wirtualnych i przesyłać aplikacje oraz pliki danych. Usługa Batch aprowizuje maszyny wirtualne, przypisuje do nich zadania, uruchamia te zadania i monitoruje ich postęp. Usługa Batch automatycznie skaluje w poziomie maszyny wirtualne odpowiednio do obciążeń. Usługa Batch umożliwia również planowanie zadań.

Diagram dużych obliczeń przy użyciu usługi Azure Batch

Duże wystąpienia obliczeniowe uruchomione na maszynach wirtualnych

Można użyć zestawu Microsoft HPC Pack do administrowania klastrem maszyn wirtualnych oraz planować i monitorować zadania HPC. To podejście wymaga aprowizowania i zarządzania maszynami wirtualnymi oraz infrastrukturą sieciową. To podejście należy wziąć pod uwagę, jeśli posiadamy istniejące obciążenia HPC i chcemy przenieść niektóre z nich lub wszystkie na platformę Azure. Możesz przenieść cały klaster HPC na platformę Azure lub zachować klaster HPC lokalnie, ale używać platformy Azure do zwiększenia wydajności. Aby uzyskać więcej informacji, zobacz Rozwiązania usługi Batch i HPC dla dużych obciążeń obliczeniowych.

Zestaw HPC Pack wdrożony na platformie Azure

W tym scenariuszu klaster HPC jest tworzony w całości w obrębie platformy Azure.

Diagram pakietu HPC Pack wdrożonego na platformie Azure

Węzeł główny zapewnia usługi zarządzania i planowania zadań dla klastra. Do zadań ściśle powiązanych należy użyć sieci RDMA, która zapewnia bardzo dużą przepustowość i małe opóźnienia w komunikacji między maszynami wirtualnymi. Aby uzyskać więcej informacji, zobacz Deploy an HPC Pack 2016 cluster in Azure (Wdrażanie klastra HPC Pack 2016 na platformie Azure).

Rozszerzenie klastra HPC na platformę Azure

W tym scenariuszu organizacja uruchamia zestaw HPC Pack lokalnie i używa platformy Azure do obsługi szczytowych obciążeń. Węzeł główny klastra zlokalizowany jest zazwyczaj lokalnie. Usługa ExpressRoute lub VPN Gateway łączy sieć lokalną z siecią wirtualną platformy Azure.

Diagram hybrydowego klastra dużych obliczeń

Następne kroki