Harmonogram zadań — Job scheduler

Harmonogramu pracy to program komputerowy do sterowania bez nadzoru wykonanie programu Tło pracy . Jest to powszechnie nazywane planowaniem wsadowym , ponieważ wykonywanie zadań nieinteraktywnych jest często nazywane przetwarzaniem wsadowym , chociaż tradycyjne zadanie i wsadowe są rozróżniane i przeciwstawiane; zobacz tę stronę, aby uzyskać szczegółowe informacje. Inne synonimy to system wsadowy , rozproszony system zarządzania zasobami ( DRMS ), rozproszony menedżer zasobów ( DRM ) i, powszechnie dzisiaj, automatyzacja obciążenia ( WLA ). Struktura danych zadań do uruchomienia nazywana jest kolejką zadań .

Nowoczesne programy do planowania zadań zazwyczaj zapewniają graficzny interfejs użytkownika i pojedynczy punkt kontroli do definiowania i monitorowania wykonywania w tle w rozproszonej sieci komputerów. Coraz częściej wymagane jest planowanie zadań w celu zorganizowania integracji działań biznesowych w czasie rzeczywistym z tradycyjnym przetwarzaniem informatycznym w tle na różnych platformach systemów operacyjnych i środowiskach aplikacji biznesowych.

Planowanie zadań nie powinno być mylone z planowaniem procesów , które polega na przypisaniu aktualnie uruchomionych procesów do procesorów przez system operacyjny .

Przegląd

Podstawowe funkcje oczekiwane od oprogramowania do planowania zadań obejmują:

  • interfejsy pomagające w definiowaniu przepływów pracy i/lub zależności pracy
  • automatyczne składanie egzekucji
  • interfejsy do monitorowania egzekucji
  • priorytety i/lub kolejki do kontrolowania kolejności wykonywania niepowiązanych zadań

Jeśli oprogramowanie z zupełnie innego obszaru zawiera wszystkie lub niektóre z tych funkcji, można uznać, że posiada ono funkcje planowania zadań.

Większość systemów operacyjnych , takich jak Unix i Windows , udostępnia podstawowe funkcje planowania zadań, w szczególności za pomocą at i batch , cron oraz Harmonogramu zadań systemu Windows . Usługi hostingowe zapewniają możliwość planowania zadań za pośrednictwem panelu sterowania lub rozwiązania webcron . Wiele programów, takich jak DBMS , backup , ERP i BPM , zawiera również odpowiednie funkcje planowania zadań. Planowanie zadań dostarczane przez system operacyjny („OS”) lub program punktowy zwykle nie zapewnia możliwości planowania poza pojedynczą instancję systemu operacyjnego lub poza zakres określonego programu. Organizacje, które muszą zautomatyzować niepowiązane obciążenia informatyczne, mogą również korzystać z innych zaawansowanych funkcji harmonogramu zadań, takich jak:

  • planowanie w czasie rzeczywistym w oparciu o zewnętrzne, nieprzewidywalne zdarzenia
  • automatyczny restart i odzyskiwanie w przypadku awarii
  • alarmowanie i powiadamianie personelu operacyjnego
  • generowanie raportów o incydentach
  • ścieżki audytu dla celów zgodności z przepisami

Te zaawansowane możliwości mogą być napisane przez wewnętrznych programistów, ale częściej dostarczane są przez dostawców specjalizujących się w oprogramowaniu do zarządzania systemami .

Główne koncepcje

Istnieje wiele koncepcji, które są kluczowe dla prawie każdej implementacji harmonogramu zadań i są powszechnie rozpoznawane z minimalnymi różnicami: zadania, zależności, strumienie zadań i użytkownicy.

Oprócz podstawowych narzędzi do planowania pojedynczych wystąpień systemu operacyjnego istnieją dwie główne architektury oprogramowania do planowania zadań.

  • Architektura Master/Agent — historyczna architektura oprogramowania do planowania zadań. Oprogramowanie Job Scheduling jest instalowane na pojedynczej maszynie (Master), podczas gdy na maszynach produkcyjnych instalowany jest tylko bardzo mały komponent (Agent), który oczekuje na polecenia od Mastera, wykonuje je, a następnie zwraca kod wyjścia z powrotem do Mastera.
  • Architektura kooperacyjna — zdecentralizowany model, w którym każda maszyna może pomóc w planowaniu i przenosić zadania zaplanowane lokalnie na inne współpracujące maszyny. Umożliwia to dynamiczne równoważenie obciążenia w celu maksymalizacji wykorzystania zasobów sprzętowych i wysokiej dostępności w celu zapewnienia świadczenia usług.

Kolejkowanie wsadowe dla klastrów HPC

Ważną niszą dla planistów zadań jest zarządzanie kolejką zadań dla klastra komputerów. Zazwyczaj program planujący planuje zadania z kolejki, gdy wystarczające zasoby (węzły klastra) staną się bezczynne. Niektóre powszechnie stosowane systemy wsadowe klastrów są

Historia

Planowanie pracy ma długą historię. Harmonogramy zadań są jednym z głównych elementów infrastruktury IT od czasów wczesnych systemów mainframe. Początkowo stosy kart dziurkowanych były przetwarzane jeden po drugim, stąd określenie „ przetwarzanie wsadowe ”.

Z historycznego punktu widzenia możemy wyróżnić dwie główne epoki dotyczące Job Schedulers:

  1. Era komputerów mainframe
  2. Otwarte systemy era
    • Nowoczesne programy planujące w różnych architekturach i systemach operacyjnych. Wraz ze standardowymi narzędziami do planowania ograniczonymi do poleceń, takich jak at i batch , wraz ze wzrostem popularności rozproszonych środowisk obliczeniowych wzrosło zapotrzebowanie na standardowe programy do planowania zadań na komputerach mainframe.

Pod względem rodzaju planowania istnieją również odrębne epoki:

  1. Przetwarzanie wsadowe — tradycyjne wykonywanie zadań w tle w oparciu o datę i godzinę na podstawie zdefiniowanego okresu, w którym zasoby były dostępne do przetwarzania wsadowego ( okno wsadowe ). W efekcie oryginalne podejście do komputerów mainframe zostało przeniesione na środowisko systemów otwartych.
  2. Automatyzacja procesów oparta na zdarzeniach — gdzie procesów w tle nie można po prostu uruchomić w określonym czasie, ponieważ charakter działalności wymaga, aby obciążenie pracą opierało się na występowaniu zdarzeń zewnętrznych (takich jak przybycie zamówienia od klienta lub magazynu aktualizacja z oddziału sklepu) lub z powodu braku / niewystarczającego okna partii.
  3. Planowanie zadań zorientowane na usługi — ostatnie zmiany w architekturze zorientowanej na usługi (SOA) doprowadziły do ​​wdrożenia planowania zadań jako usługi infrastruktury IT wielokrotnego użytku, która może odegrać rolę w integracji istniejących obciążeń aplikacji biznesowych z nowymi aplikacjami czasu rzeczywistego opartymi na usługach sieci Web .

Planowanie

Różne schematy są używane do decydowania, które konkretne zadanie należy uruchomić. Parametry, które można wziąć pod uwagę, obejmują:

  • Priorytet pracy
  • Dostępność zasobów obliczeniowych
  • Klucz licencyjny, jeśli zadanie korzysta z licencjonowanego oprogramowania
  • Czas wykonania przydzielony użytkownikowi
  • Liczba jednoczesnych zadań dozwolonych dla użytkownika
  • Szacowany czas realizacji
  • Czas realizacji, który upłynął
  • Dostępność urządzeń peryferyjnych
  • Wystąpienie przepisanych zdarzeń
  • Uzależnienie od pracy
  • Zależność pliku
  • Zależność od operatora

Zobacz też

Bibliografia