Workload manager
Workload manager (= WLM) je základní komponentou MVS/ESA (= MVS Enterprise System Architecture) u IBM mainframe operačních systémů a jejich nástupců včetně z/OS. Řídí přístup spuštěných úloh k systémovým zdrojům, a to podle administrátorem definovaných cílů. Komponenta workload manager existuje také pro jiné operační systémy. Například IBM Workload Manager je softwarovým produktem pro operační systém AIX.
z/OS Workload Manager
Na mainframe počítačích je současně spuštěno mnoho různých aplikací. Od zpracovávání úloh se očekává stálá doba zpracování a předvídatelná doba přístupu do databází. U z/OS je toto zajištěno pomocí Workload manageru tím, že podle vnějších požadavků daných systémovým administrátorem kontroluje přístup úloh k systémovým zdrojům.
Systémoví administrátoři rozdělují úlohy do servisních tříd (= service classes). Klasifikační mechanismus používá atributy jednotlivých úloh (např. jména programů, identifikace uživatelů, jména protokolů) k určení, která aplikace se má použít. Dodatečně pak systémoví administrátoři definují jednotlivé cíle (= goals) a úrovně priorit (= importance levels) servisních tříd, které představují činnost aplikací. Tyto cíle určují očekávaný pracovní výkon a mohou být definovány pomocí: doby odezvy (= response times goals), relativní rychlosti (= velocity goals) nebo, pokud neexistují žádné požadavky, jako volné (= discretionary goals). Doba odezvy udává trvání pracovního požadavku (= work request) mezi zadáním do systému a okamžikem, kdy aplikace ohlásí WLM, že operace je hotova. WLM se poté snaží zajistit, aby průměrná doba odezvy skupiny pracovních požadavků byl dle očekávání, nebo aby část pracovních požadavků splnila očekávání uživatelů.
Definice doby odezvy také vyžaduje, aby aplikace komunikovala s WLM. Pokud to není možné, použije se k vyjádření uživatelských požadavků měření relativní rychlosti zpracování (= execution velocity). Toto měření je založeno na systémových stavech (= system states), které jsou neustále zaznamenávány. Systémové stavy popisují, kdy pracovní požadavky používaly systémové zdroje a kdy na ně musely čekat, protože zdroje již byly využity. Systémové stavy, kdy zdroje musely čekat, se nazývají stavy zpoždění (= delay states). Podíl všech používaných stavů ke všem produktivním stavům (tj. používané stavy a stavy zpoždění) vynásobené 100 udává rychlost zpracování. Toto měření nevyžaduje žádnou komunikaci aplikace s WLM, avšak není tak přesné jako doba odezvy.
Nakonec administrátoři systému určí důležitost každé servisní třídy. Podle toho WLM rozezná, která servisní třída má přednostní přístup k systémovým zdrojům v situacích, kdy je zátěž systému příliš vysoká na zpracování všech požadavků. Servisní třídy a definice cílů jsou organizovány v politice služeb spolu s ostatními komponentami pro hlášení a následnou kontrolu. Toto vše je uloženo jako definice služeb (= service definition) pro přístup k WLM. Aktivní definice služeb je uložena na několika datových souborech, které umožňují systému z/OS využít Parallel Sysplex cluster k přístupu a spouštění.
WLM je kompletní kontrolní mechanismus, který průběžně shromažďuje data o činnosti a systémových zdrojích. Zároveň tyto nashromážděná data porovnává s uživatelskými definicemi z definic služeb a upravuje přístup k systémovým zdrojům, pokud nebylo dosaženo požadavků uživatelů. Tento mechanismus se spouští neustále v předem definovaných časových intervalech. K porovnání nashromážděných dat s definicemi cílů se vypočítává index výkonu (= performance index, PI).
Index výkonu je číslo, které udává, zda definice cílů pro danou servisní třídu byly splněny, nesplněny nebo překonány.
- Pro dobu odezvy:
- Pro rychlost zpracování:
WLM reguluje přístup servisních tříd podle jejich dosaženého indexu výkonu a jejich důležitosti. K tomu WLM používá nashromážděná data, pomocí kterých odhaduje výsledky případných změn. Změna se provede, pokud je odhad jejího dopadu příznivý pro uživatelem definované požadavky. WLM tyto odhady vypočítává z dat z rozsahu od 20 sekund do 20 minut, to by mělo zajistit statisticky odpovídající sadu dat. Změna může být také provedena v jednom rozhodovacím intervalu k udržení kontroly nad systémem.
WLM kontroluje přístup k procesorům systému, I/O jednotkám, systémovému úložišti a spouští a ukončuje procesy. Například přístup k systémovým procesorům kontroluje pomocí priority k vyřízení (= dispatch priority), která představuje relativní hodnocení činností, které mají být vykonány. Všechny činnosti, které jsou přiřazeny do stejné servisní třídy, mají stejnou prioritu k vyřízení. Priorita k vyřízení je dynamická a nezávisí pouze na prioritě servisní třídy. Její změny závisí na dosažených cílech, využití systému a na požadavcích o systémové procesory. Podobné mechanismy existují pro kontrolu všech ostatních systémových zdrojů. Tento způsob, kterým z/OS Workload Manager kontroluje přístup k systémovým zdrojům, se nazývá cílově orientované řízení zátěže (= goal oriented workload managment). Opačným způsobem je řízení zátěže založené na vyhrazování zdrojů (= resource entitlement based workload managment), které je mnohem více statické. Tento způsob se používá například u větších Unixových systémů.
Těsná spolupráce WLM u z/OS s důležitými aplikacemi (tj. middleware a podsystémy z/OS) je hlavním rozdílem oproti způsobu řízení zátěže u ostatních operačních systémů. WLM je vybaveno rozhraním, které umožňuje podsystémům sdělit WLM, kdy začínají a končí jednotlivé činnosti v systému a jejich klasifikační argumenty. Dodatečně WLM nabízí rozhraní k načtení vyrovnávacích komponent (= balancing component), ty slouží k umístění pracovních požadavků na nejvhodnější systém u paralelního zpracování. Dále existují dodatečné nástroje, které umožňují databázi a řízení zdrojů hlásit WLM vzniklé konflikty. Poté může WLM urychlit zpožděnou činnost zvýhodněním držitele zablokovaného zdroje.
Postupem času se z/OS Workload Manager stal hlavní řídící komponentou pro všechny výkonové aspekty v operačním systému z/OS.
Reference
V tomto článku byl použit překlad textu z článku Workload Manager na anglické Wikipedii.