Dans les mainframes IBM , Workload Manager ( WLM ) est un composant de base du système d'exploitation mainframe MVS/ESA et de ses successeurs jusqu'à z/OS inclus . Il contrôle l'accès aux ressources système pour le travail exécuté sur z/OS en fonction des objectifs définis par l'administrateur. Des composants Workload Manager existent également pour d'autres systèmes d'exploitation. Par exemple, IBM Workload Manager est également un produit logiciel pour le système d'exploitation AIX .
Gestionnaire de charge de travail
Sur un ordinateur central, de nombreuses applications différentes s'exécutent en même temps. Les attentes en matière d'exécution des tâches sont des temps d'exécution cohérents et un accès prévisible aux bases de données. Sur z/OS, le composant Workload Manager (WLM) répond à ces besoins en contrôlant l'accès des tâches aux ressources système en fonction des spécifications externes de l'administrateur système...
L'administrateur système classe les travaux en classes de service . Le mécanisme de classification utilise des attributs de travail tels que les noms de transaction, les identifications d'utilisateur ou les noms de programme que des applications spécifiques sont connues pour utiliser. En outre, l'administrateur système définit des objectifs et des niveaux d'importance pour les classes de service représentant le travail de l'application. Les objectifs définissent les attentes en matière de performances pour le travail. Les objectifs peuvent être exprimés sous forme de temps de réponse , de vitesse relative (appelée vélocité ) ou de durée discrétionnaire s'il n'existe aucune exigence spécifique. Le temps de réponse décrit la durée des demandes de travail après leur entrée dans le système et jusqu'à ce que l'application signale à WLM que l'exécution est terminée. WLM s'intéresse maintenant à garantir que le temps de réponse moyen d'un ensemble de demandes de travail se termine dans le délai prévu ou qu'un pourcentage de demandes de travail répond aux attentes de l'utilisateur final.
La définition d'un temps de réponse nécessite également que les applications communiquent avec WLM. Si cela n'est pas possible, une mesure de vitesse relative - appelée vitesse d'exécution - est utilisée pour décrire les attentes de l'utilisateur final vis-à-vis du système.
Cette mesure est basée sur les états système qui sont collectés en continu. Les états système décrivent quand une demande de travail utilise une ressource système et quand elle doit l'attendre car elle est utilisée par d'autres travaux. Ce dernier est appelé état de retard. Le quotient de tous les états d'utilisation par tous les états productifs (états d'utilisation et de retard) multiplié par 100 est la vitesse d'exécution. Cette mesure ne nécessite aucune communication de l'application avec le composant WLM mais elle est également plus abstraite qu'un objectif de temps de réponse.
Enfin, l'administrateur système attribue une importance à chaque classe de service pour indiquer à WLM quelles classes de service doivent bénéficier d'un accès privilégié aux ressources système si la charge système est trop élevée pour permettre l'exécution de toutes les tâches. Les classes de service et les définitions d'objectifs sont organisées dans des politiques de service avec d'autres constructions pour la création de rapports et un contrôle supplémentaire et enregistrées sous forme de définition de service pour l'accès à WLM. La définition de service active est enregistrée sur un ensemble de données qui permet à tous les systèmes z/OS d'un cluster Parallel Sysplex d'accéder aux mêmes objectifs de performances et de les exécuter.
WLM est un mécanisme de contrôle fermé qui collecte en continu des données sur le travail et les ressources du système ; compare les mesures collectées et agrégées avec les définitions de l'utilisateur issues de la définition de service et ajuste l'accès du travail aux ressources du système si les attentes de l'utilisateur n'ont pas été satisfaites. Ce mécanisme fonctionne en continu dans des intervalles de temps prédéfinis. Afin de comparer les données collectées avec les définitions d'objectifs, un indice de performance est calculé.
L'indice de performance d'une classe de service est un chiffre unique qui indique si l'objectif défini a pu être atteint, a été dépassé ou a été manqué. WLM modifie l'accès aux classes de service en fonction de l'indice de performance atteint et de l'importance. Pour cela, il utilise les données collectées pour projeter la possibilité et le résultat d'un changement. Le changement est exécuté si la prévision aboutit au résultat qu'il est bénéfique pour le travail en fonction des attentes définies du client. WLM utilise une base de données allant de 20 secondes à 20 minutes pour contenir une base d'échantillons statistiquement pertinente pour ses calculs. De plus, dans un intervalle de décision, un changement est effectué au profit d'une classe de service afin de maintenir un système contrôlé et prévisible.
WLM contrôle l'accès du travail aux processeurs système, aux unités d'E/S, au stockage système et démarre et arrête les processus d'exécution du travail. L'accès aux processeurs système, par exemple, est contrôlé par une priorité de répartition qui définit un classement relatif entre les unités de travail qui veulent s'exécuter. La même priorité de répartition est attribuée à toutes les unités de travail qui ont été classées dans la même classe de service. Comme déjà indiqué, la priorité de répartition n'est pas fixe et ne dérive pas simplement de l'importance de la classe de service. Elle change en fonction de la réalisation des objectifs, de l'utilisation du système et de la demande de travail pour les processeurs système. Des mécanismes similaires existent pour contrôler toutes les autres ressources système. Cette façon dont z/OS Workload Manager contrôle l'accès du travail aux ressources système est appelée gestion de la charge de travail orientée vers les objectifs et s'oppose à la gestion de la charge de travail basée sur les droits aux ressources qui définit une relation beaucoup plus statique selon laquelle le travail peut accéder aux ressources système. La gestion de la charge de travail basée sur les droits aux ressources se trouve par exemple sur les systèmes d'exploitation UNIX plus volumineux .
Une différence majeure par rapport aux composants de gestion de la charge de travail sur d'autres systèmes d'exploitation est la coopération étroite entre z/OS Workload Manager et les principales applications, les intergiciels et les sous-systèmes exécutés sur z/OS. WLM propose des interfaces qui permettent aux sous-systèmes d'indiquer à WLM quand une unité de travail commence et se termine dans le système et de transmettre des attributs de classification qui peuvent être utilisés par l'administrateur système pour classer le travail sur le système. De plus, WLM propose des interfaces qui permettent aux composants d'équilibrage de charge de placer des demandes de travail sur le système le mieux adapté dans un cluster sysplex parallèle. Des instruments supplémentaires existent qui aident les gestionnaires de bases de données et de ressources à signaler les situations de conflit à WLM afin que WLM puisse aider le travail retardé en promouvant le détenteur des verrous et des verrous de ressources.
Au fil du temps, z/OS Workload Manager est devenu le composant de contrôle central pour tous les aspects liés aux performances dans un système d'exploitation z/OS. Dans un cluster Parallel Sysplex, les composants z/OS Workload Manager fonctionnent ensemble pour fournir une vue d'image unique pour les applications en cours d'exécution sur le cluster. Sur un System z avec plusieurs partitions virtuelles, z/OS WLM permet d'interagir avec l' hyperviseur LPAR pour influencer la pondération des partitions z/OS et pour contrôler la quantité de capacité CPU qui peut être consommée par les partitions logiques.
Littérature
- Paola Bari et al. : Guide du programmeur système pour la gestion de la charge de travail. IBM Redbook, SG24-6472