▼
Scroll to page 2
of
100
Guide de l'utilisateur REFERENCE 86 F2 63ER 01 NOVASCALE Dynamic Domains for Applications NOVASCALE Dynamic Domains for Applications Guide de l'utilisateur Logiciel Septembre 2006 BULL CEDOC 357 AVENUE PATTON B.P.20845 49008 ANGERS CEDEX 01 FRANCE REFERENCE 86 F2 63ER 01 L'avis juridique de copyright ciaprès place le présent document sous la protection des lois de Copyright qui prohibent, sans s'y limiter, des actions comme la copie, la distribution, la modification et la création de produits dérivés à partir du présent document. Copyright Bull SAS, 2006 Imprimé en France Nous vous encourageons à nous faire part de vos commentaires sur la forme, le contenu et la présentation du document. Un formulaire figure à la fin du document à cet effet. Pour commander des exemplaires supplémentaires du document ou d'autres documents techniques Bull, utilisez le bon de commande figurant à la fin du document. Marques déposées Toutes les marques déposées sont la propriété de leurs titulaires respectifs. Intel® et Itanium® sont des marques déposées d'Intel Corporation. Windows® et Microsoft® sont des marques déposées de Microsoft Corporation. UNIX® est une marque déposée aux EtatsUnis d'Amérique et dans d'autre pays et licensiée exclusivement par l'Open Group. Linux® est une marque déposée de Linus Torvalds. Les informations contenues dans ce document peuvent être modifiées sans préavis. Bull n'est pas responsable des erreurs éventuelles pouvant figurer dans ce document, ni des dommages pouvant résulter de son utilisation. Table des matières TABLE DES MATIERES ..............................................................................................III 1. INTRODUCTION ................................................................................................. 1 DESCRIPTION ........................................................................................................... 1 PRINCIPE ................................................................................................................ 1 ARCHITECTURE ......................................................................................................... 2 INSTALLATION .......................................................................................................... 3 VERIFICATION DE L'INSTALLATION................................................................................... 3 CONFIGURATION ET UTILISATION ................................................................................... 4 2. INSTALLATION ................................................................................................... 5 GENERALITES ........................................................................................................... 5 INSTALLATION DU LOGICIEL 'DYNAMIC DOMAINS'.............................................................. 5 EXEMPLE ................................................................................................................. 5 3. CONFIGURATION ET UTILISATION EN MODE NORMAL ........................................ 7 GENERALITES ........................................................................................................... 7 ACCUEIL ................................................................................................................ 7 GERER UN DOMAINE ................................................................................................. 8 Créer un nouveau domaine.................................................................................. 9 Modifier un domaine ........................................................................................ 11 Visualiser l'implantation du nouveau domaine ...................................................... 12 AJOUTER OU SUPPRIMER DES TACHES A UN DOMAINE ........................................................ 13 Assigner des utilisateurs..................................................................................... 14 Assigner par commande.................................................................................... 15 Afficher les tâches assignées à un domaine.......................................................... 16 MODIFIER LE MODE DE FONCTIONNEMENT DE L'INTERFACE ................................................. 17 4. CONFIGURATION ET UTILISATION EN MODE EXPERT ......................................... 19 GENERALITES ......................................................................................................... 19 GERER UN DOMAINE ............................................................................................... 19 Modifier la configuration d'un domaine............................................................... 20 Gestion dynamique d'un domaine ...................................................................... 21 AJOUTER OU SUPPRIMER DES TACHES A UN DOMAINE ....................................................... 23 Lancer une commande dans un domaine ............................................................. 24 Assigner une tâche par numéro de processus ....................................................... 25 Assigner une tâche par filtres multicritères............................................................ 26 Modifier un filtre............................................................................................... 27 Invalider un filtre .............................................................................................. 28 Dynamic Domains for Applications Guide de l'utilisateur iii 5. COMMANDES ................................................................................................. 29 DDADD................................................................................................................ 30 DESCRIPTION ......................................................................................................... 30 SYNTAXE .............................................................................................................. 30 Format général................................................................................................. 30 Paramètres ...................................................................................................... 30 Code retour ..................................................................................................... 31 EXEMPLES ............................................................................................................. 31 Création du domaine "default"........................................................................... 31 Création d'un domaine dynamique de taille de 1 à 4 processeurs .......................... 31 DDCHG ............................................................................................................... 32 DESCRIPTION ......................................................................................................... 32 SYNTAXE .............................................................................................................. 32 Format général................................................................................................. 32 Paramètres ...................................................................................................... 32 Code retour ..................................................................................................... 33 EXEMPLE ............................................................................................................... 33 Modification du domaine domain1 (ajout d'un processeur) .................................... 33 DDFLT .................................................................................................................. 34 DESCRIPTION ......................................................................................................... 34 SYNTAXE .............................................................................................................. 34 Format général................................................................................................. 34 Paramètres ...................................................................................................... 34 Code retour ..................................................................................................... 35 EXEMPLES ............................................................................................................. 35 Assigner les tâches prises en compte par les filtres dans les domaines respectifs ....... 35 Assigner les tâches qui sont prises en compte par les filtres dans les domaines respectifs et assigner les autres tâches dans le domaine "default" ......................................... 35 Assigner les tâches qui sont prises en compte par les filtres dans les domaines respectifs et assigner les autres tâches du domaine "domain1" dans le domaine "default" ....... 35 FILTRES MULTICRITERES .............................................................................................. 36 Paramètres ...................................................................................................... 36 Caractéristiques ............................................................................................... 36 Conditions d'application ................................................................................... 37 Exemple .......................................................................................................... 37 iv Dynamic Domains for Applications Guide de l'utilisateur DDLOAD .............................................................................................................. 38 DESCRIPTION ......................................................................................................... 38 SYNTAXE .............................................................................................................. 38 Format général................................................................................................. 38 Paramètres ...................................................................................................... 38 Code retour ..................................................................................................... 38 EXEMPLES ............................................................................................................. 38 Lancement de 4 processus dans le domaine "domain1" utilisant chacun 20% d'un processeur ....................................................................................................... 38 DDLS ................................................................................................................... 40 DESCRIPTION ......................................................................................................... 40 SYNTAXE .............................................................................................................. 40 Format général................................................................................................. 40 Paramètres ...................................................................................................... 40 Code retour ..................................................................................................... 41 EXEMPLES ............................................................................................................. 41 Affichage de la configuration des domaines ........................................................ 41 Affichage de la configuration du domaine "domain1"........................................... 41 Affichage de la configuration des filtres............................................................... 41 Affichage des threads du domaine oracle ............................................................ 41 Affichage des processus du domaine "domain1" avec définition des paramètres édités.............................................................................................................. 41 DDMON .............................................................................................................. 42 DESCRIPTION ......................................................................................................... 42 Contrôle de cohérence ...................................................................................... 42 Assignation périodique ..................................................................................... 42 Gestion des alarmes ......................................................................................... 42 Exemple de messages ....................................................................................... 42 Principe........................................................................................................... 43 Attribution dynamique des ressources.................................................................. 43 SYNTAXE .............................................................................................................. 44 Format général................................................................................................. 44 Paramètres ...................................................................................................... 44 Code retour ..................................................................................................... 44 EXEMPLE ............................................................................................................... 45 Lancement du démon avec initialisation des configurations .................................... 45 SERVICE DE CONTROLE DU DEMON .............................................................................. 45 Lancement du démon ........................................................................................ 45 Etat du démon.................................................................................................. 45 Arrêt du démon ................................................................................................ 45 Relance du démon (arrêt et lancement) ................................................................ 45 Dynamic Domains for Applications Guide de l'utilisateur v FICHIER DE CONFIGURATION DU DEMON ....................................................................... 46 Exemple de fichier de configuration .................................................................... 46 Signification des paramètres .............................................................................. 46 DDRM.................................................................................................................. 47 DESCRIPTION ......................................................................................................... 47 SYNTAXE .............................................................................................................. 47 Format général................................................................................................. 47 Paramètres ...................................................................................................... 47 Code retour ..................................................................................................... 47 EXEMPLE ............................................................................................................... 48 Suppression du domaine "domain1"................................................................... 48 DDSTAT ............................................................................................................... 49 DESCRIPTION ......................................................................................................... 49 SYNTAXE .............................................................................................................. 49 Format général................................................................................................. 49 Paramètres ...................................................................................................... 49 Code retour ..................................................................................................... 49 EXEMPLE ............................................................................................................... 49 Affichage de l'état du domaine "domain1".......................................................... 49 DDTASK............................................................................................................... 50 DESCRIPTION ......................................................................................................... 50 SYNTAXE .............................................................................................................. 50 Format général................................................................................................. 50 Paramètres ...................................................................................................... 50 Code retour ..................................................................................................... 50 EXEMPLES ............................................................................................................. 51 Assignation d'un processus et de ses threads par numéro de processus ................... 51 Assignation des processus et threads d'un utilisateur ............................................. 51 Exécution d'une commande dans un domaine ...................................................... 51 DDTOP ................................................................................................................ 52 DESCRIPTION ......................................................................................................... 52 SYNTAXE .............................................................................................................. 52 Format général................................................................................................. 52 Paramètres ...................................................................................................... 52 Code retour ..................................................................................................... 53 EXEMPLES ............................................................................................................. 54 Affichage du nom de domaine et de la charge des processeurs 3 à 5 ..................... 54 Affichage de la configuration des nœuds ............................................................ 54 Affichage des processeurs 4 à 7 avec choix des paramètres édités ......................... 54 vi Dynamic Domains for Applications Guide de l'utilisateur Affichage des processus qui contiennent "tst' dans leur commande avec ajout du nom de commande .................................................................................................. 54 Affichage des processus et de leurs threads qui contiennent "tst" dans leur commande avec ajout du nom de commande ....................................................................... 54 Affichage des processus et de leurs threads avec choix des PID ............................. 55 Affichage de la liste des threads pour les processus qui contiennent "tst" dans leur commande ...................................................................................................... 55 DDTOPD .............................................................................................................. 56 DESCRIPTION ......................................................................................................... 56 SYNTAXE .............................................................................................................. 56 Format général................................................................................................. 56 Paramètres ...................................................................................................... 56 Code retour ..................................................................................................... 57 EXEMPLES ............................................................................................................. 58 Edition du nom de domaine et de la charge des processeurs 3 à 5 toutes les 10 secondes ......................................................................................................... 58 Edition de la configuration des nœuds toutes les 2 secondes .................................. 58 Edition de la charge globale des processeurs 0 à 7 toutes les secondes................... 58 Edition globale de la charge des domaine toutes les secondes ............................... 58 Edition dans un fichier des processus et de leurs threads qui contiennent "test1" dans leur commande avec avec ajout du nom de commande......................................... 59 SERVICE DE CONTROLE DU DEMON .............................................................................. 59 Lancement du démon ........................................................................................ 59 Etat du démon.................................................................................................. 59 Arrêt du démon ................................................................................................ 59 Relance du démon (arrêt et lancement) ................................................................ 59 FICHIER DE CONFIGURATION DU DEMON ....................................................................... 59 Exemple de fichier de configuration .................................................................... 60 Signification des paramètres .............................................................................. 60 6. CARACTERISTIQUES DES DOMAINES ................................................................. 61 PARAMETRES D'UN DOMAINE ..................................................................................... 61 Taille du domaine............................................................................................. 61 Priorité du domaine .......................................................................................... 61 Seuils du domaine ............................................................................................ 61 Masque des processeurs.................................................................................... 61 DOMAINE STATIQUE ................................................................................................ 61 DOMAINE DYNAMIQUE ............................................................................................ 62 DOMAINE 'DEFAULT' ................................................................................................ 62 Dynamic Domains for Applications Guide de l'utilisateur vii A. VERIFICATION DE L'INSTALLATION..................................................................... 63 VERIFICATION DU DOMAINE 'DEFAULT' .......................................................................... 63 VERIFICATION DU DEMON ......................................................................................... 63 VERIFICATION DE L'ACCES VIA WEBMIN ........................................................................ 64 B. EXEMPLE D'UTILISATION .................................................................................... 67 LANCEMENT DE PROCESSUS POUR SIMULER DE LA CHARGE .................................................. 67 VERIFICATION DU FONCTIONNEMENT DES PROCESSUS DE SIMULATION DE CHARGES ................... 67 CONFIGURATION D'UN DOMAINE ............................................................................... 68 AJOUT D'UN PROCESSUS AU DOMAINE ......................................................................... 70 AJOUT D'UN PROCESSEUR A UN DOMAINE ..................................................................... 73 MODIFICATION D'UN DOMAINE (PASSAGE EN DOMAINE DYNAMIQUE)................................... 75 RETOUR AU MODE NORMAL ET SUPPRESSION DU DOMAINE "DOMAIN1" ................................. 80 C. SIMULATION DES DOMAINES DYNAMIQUES ..................................................... 81 INDEX ................................................................................................................. 85 viii Dynamic Domains for Applications Guide de l'utilisateur 1. Introduction Le logiciel "Dynamic Domains For Applications" est un outil permettant la simulation du partitionnement au niveau applicatif d'une machine multiprocesseurs sous le système d'exploitation Linux (dans la suite de ce manuel, l'appellation "Dynamic Domains For Applications" est remplacée par "Dynamic Domains"). Les "Dynamic Domains" sont utilisables avec les distributions standard (Red Hat RHEL 4, Suse SLES 9, Bull BAS 4, etc.). La gestion des "Dynamic Domains" peut se faire via l'outil d'administration standard Webmin. Description Les "Dynamic Domains" correspondent à un découpage des ressources d'une machine. Un domaine est composé d'un ensemble de ressources (un ou plusieurs processeurs). Lors de l'installation des "Dynamic Domains", un domaine par défaut est automatiquement créé. Ce domaine utilise l'ensemble des ressources de la machine et tous les processus de la machine lui sont assignés. La création d'un domaine récupère, du domaine par défaut, les ressources nécessaires au nouveau domaine. Principe Les "Dynamic Domains" permettent de réserver des ressources pour une application, un utilisateur, etc. et de limiter les ressources utilisables par les tâches moins prioritaires. Dans l'exemple ci-après, sans domaine, l'ensemble des ressources est partagé entre les processus. Dynamic Domains for Applications Guide de l'utilisateur 1 Avec les domaines, les processus moins prioritaires se partagent les ressources du domaine "default" alors que les ressources du domaine "D1" sont réservées à l'application "A", que l'application "B" est assignée au domaine "D2", etc. Les ressources peuvent être attribuées dynamiquement aux domaines en fonction du niveau d'utilisation de leurs besoins (notion de domaines dynamiques). La gestion dynamique des domaines est assurée par le démon de surveillance (voir Appendice C : Simulation des domaines dynamiques). Architecture L'interface graphique sous Webmin permet à l'utilisateur de créer de nouveaux domaines et d'assigner des processus à ces domaines par le nom d'utilisateur, le nom de la tâche ou des critères plus élaborés en mode expert. Cette interface est accessible par un nouveau module de Webmin, via la catégorie "System". 2 Dynamic Domains for Applications Guide de l'utilisateur Ce module comprend trois sous modules, soit en mode Normal (configuration par défaut), soit en mode Expert (utilisation de l'ensemble des fonctions du logiciel) : • • • "Domains Management" : Création, Modification, Suppression d'un domaine. "Tasks Assignment" : Assignation des processus aux domaines. "Configuration" : Configuration du module "Dynamic Domains". Le démon de surveillance et l'interface commande reposent sur un ensemble d'outils installés par le produit : • • • • • • • • • • • ddadd : utilitaire de création d'un nouveau domaine. ddchg : utilitaire de modification des caractéristiques d'un domaine. ddflt : utilitaire d'assignation des processus aux domaines en utilisant le fichier de filtres multicritères. ddload : utilitaire de simulation de la charge d'un domaine. ddls : utilitaire d'affichage de la configuration des domaines et des processus assignés aux domaines. ddmon : démon de surveillance des domaines et de gestion des domaines dynamiques. ddrm : utilitaire de destruction d'un domaine. ddstat : utilitaire d'affichage de l'état de la charge des domaines. ddtask : utilitaire d'assignation des processus aux domaines (équivalent à la commande "taskset" pour les domaines). ddtop : utilitaire d'affichage des charges des processeurs et des processus de la machine (équivalent aux commandes "top" ou "ps"). ddtopd : démon d'affichage périodique des charges des processeurs et des processus de la machine (démon de la commande "ddtop"). Voir Chapitre 5 : "Commandes" Installation Le logiciel "Dynamic Domains" est livré sous la forme d'un fichier rpm disponible sur le CDROM suivant : • Bull Extension Pack for RHEL4. Voir Chapitre 2 : "Installation". Vérification de l'installation Après avoir installé les pré requis et le logiciel "Dynamic Domains", il est conseillé de vérifier : • la présence du domaine 'default', • le fonctionnement du démon de surveillance, • l'accès à l'interface graphique. Voir Appendice A : "Vérification de l'installation". Dynamic Domains for Applications Guide de l'utilisateur 3 Configuration et utilisation La configuration ou l'administration du logiciel "Dynamic Domains" se fait à l'aide de l'outil "Webmin" (catégorie "System") via un navigateur (URL : http://<nomhote>:10000/ ou https://<nomhote>:10000/). Voir Chapitre 3 : "Configuration et utilisation en mode Normal", Chapitre 4 "Configuration et utilisation en mode Expert" et Appendice B "Exemple d'utilisation". 4 Dynamic Domains for Applications Guide de l'utilisateur 2. Installation Généralités Le logiciel "Dynamic Domains for Applications" est livré sur le CD-ROM suivant : • Bull Extension Pack for RHEL4. Il nécessite l'installation d'une distribution Linux Red Hat RHEL4 ou Suse SLES9 avec les pré requis suivants : • le shell sh, • l'outil d'administration Webmin (rpm disponible sur les CD-ROMS ci-dessus, dans le répertoire tools). Installation du logiciel 'Dynamic Domains' • installer les pré requis, • Installer le rpm du logiciel "Dynamic Domains" (exemple : ddomains-[vv.rrcc].ia64.rpm), situé sur les CD-ROMS ci-dessus dans le répertoire tools/ddfa : rpm -ivh ddomains-[vv.rr-cc].ia64.rpm L'installation du rpm vérifie que les pré requis nécessaires sont bien installés et prépare l'environnement de fonctionnement du logiciel (configure l'outil d'administration webmin). Exemple rpm -ivh ddomains-[vv.rr-cc].ia64.rpm Preparing... ########################################### [100%] 1:ddomains ########################################### [100%] Stopping Webmin server in /usr/libexec/Webmin Starting ddmon OK Dynamic Domains for Applications Guide de l'utilisateur 5 6 Dynamic Domains for Applications Guide de l'utilisateur 3. Configuration et utilisation en mode Normal Généralités La configuration ou l'administration du logiciel "Dynamic Domains" se fait à l'aide de l'outil "Webmin" (catégorie "System") via un navigateur (URL : http://<nomhote>:10000 ou https://<nomhote>:10000). L'outil d'administration est utilisable suivant deux modes de fonctionnement : • • Le mode "Normal" (c'est la configuration par défaut) Le mode "Expert" (mode qui donne accès à l'ensemble des fonctions du logiciel). Les écrans ci-après donnent des exemples de mise en oeuvre du logiciel. Accueil Accès, après l'installation du logiciel, avec Webmin : System->Dynamic Domains. Dynamic Domains for Applications Guide de l'utilisateur 7 Gérer un domaine Cliquer sur "Domains Management" pour ajouter, modifier ou supprimer un domaine : Dans l'exemple ci-dessus, le domaine "default" qui a été créé à l'installation du logiciel, utilise tous les processeurs de la machine (nombre de processeurs : Nb CPUs=4, liste des processeurs utilisés : CPUs = 0 à 3), toutes les tâches lui sont assignées et ses processeurs ne sont pas chargés (Load ~ 0%), la mémoire utilisée par le domaine (mémoire résidente des processus) représente ~15% de la mémoire totale. Aucune action (modification, suppression, etc.) n'est possible sur ce domaine. 8 Dynamic Domains for Applications Guide de l'utilisateur Créer un nouveau domaine Cliquer sur "Create a new domain" pour créer un nouveau domaine. • • • • Définir le nom du domaine (exemple : domain1), Choisir le nombre de processeurs du domaine (exemple : 1), Choisir le seuil d'alarme pour le domaine (défaut : 75%). Lorsque la charge du domaine dépasse ce seuil, le démon de surveillance édite un message d'alarme (voir la commande ddmon), Cliquer sur le bouton "Create Domain". Dynamic Domains for Applications Guide de l'utilisateur 9 Un nouveau domaine statique a été créé. Il utilise un processeur (le processeur 0) et aucune tâche n'est assignée à ce domaine. Le processeur utilisé par ce nouveau domaine a été pris au domaine "default". Le domaine "default" n'utilise plus que trois processeurs (les processeurs 1 à 3). • 10 Cliquer éventuellement sur : o "Add a cpu" pour ajouter un processeur au domaine (l'option est désactivée s'il n'y a plus de processeurs disponibles). Le processeur ajouté au domaine est pris au domaine "default". o "Remove a cpu" pour enlever un processeur au domaine (l'option est désactivée si le domaine n'a plus qu'un processeur). Le processeur enlevé du domaine est ajouté au domaine "default". o "Delete" pour supprimer le domaine. o "View" du champ "Load" pour afficher la charge des processeurs du domaine. o "Edit domain" pour modifier la configuration du domaine. Dynamic Domains for Applications Guide de l'utilisateur Modifier un domaine Cliquer sur "Edit domain" du domaine "domain1" pour modifier la configuration du domaine. Dans cet écran, l'utilisateur peut modifier le nom du domaine, le nombre de processeurs utilisés par le domaine et le seuil d'alarme du domaine. • Cliquer sur le bouton "Apply changes" pour prendre en compte les modifications ou cliquer sur "Return to Domains Management" pour retourner à la gestion des domaines sans appliquer les modifications. Dynamic Domains for Applications Guide de l'utilisateur 11 Visualiser l'implantation du nouveau domaine Cliquer sur "View machine's topology" pour visualiser l'implantation des domaines. La machine est constituée d'un seul noeud de quatre processeurs. Le domaine "domain1" utilise le processeur 0. La distance entre les éléments est fournie par le noyau Linux. Elle représente le temps d'accès à la mémoire du même noeud, d'un autre noeud du même module ou d'un autre module pour un processeur donné (le facteur NUMA : Non-Uniform Memory Access). Le choix des processeurs utilisés par un domaine tient compte de cette distance. Le domaine "default" utilise les processeurs libres de la machine (processeurs 1 à 3). • 12 Cliquer sur "Return to Dynamic Domains" pour retourner à l'écran principal. Dynamic Domains for Applications Guide de l'utilisateur Ajouter ou supprimer des tâches à un domaine Cliquer sur "Tasks Assignment" pour ajouter ou supprimer des processus à un domaine. Dynamic Domains for Applications Guide de l'utilisateur 13 Assigner des utilisateurs Cliquer sur "Assign users" du domaine "domain1" pour assigner les tâches d'un ou de plusieurs utilisateurs au domaine. • • 14 Cocher les utilisateurs pour lesquels les tâches sont à assigner au domaine en cours (exemple : utilisateur "htt"), Cliquer sur le bouton "Update assignment" pour valider les choix. Dynamic Domains for Applications Guide de l'utilisateur Assigner par commande Cliquer sur "Assign by command" du domaine "domain1" pour assigner les tâches qui contiennent dans leur commande une chaîne de caractères donnée. • • Choisir le mode de test et le contenu (exemple : assigner les tâches dont la commande contient "xfs"), Cliquer sur le bouton "Update assignment" pour valider les choix. Pour assigner plusieurs tâches avec des noms de commande différents, il faut définir plusieurs chaînes de caractères à rechercher à l'aide de "More matching strings". Attention : l'interface graphique étant utilisée en mode "normal", toutes les tâches qui ne répondent pas à au moins un des critères d'assignation par nom d'utilisateur ou par nom de commande, sont assignées au domaine "default" lors du clic sur "Update assignment". Cliquer sur "View tasks running on the machine" pour voir les tâches assignées aux différents domaines Cliquer sur "View" pour voir les charges des domaines ou la liste des tâches assignées aux domaines. Dynamic Domains for Applications Guide de l'utilisateur 15 Afficher les tâches assignées à un domaine Cliquer sur "View" de la colonne "Nb tasks" du domaine "domain1" pour afficher la liste des tâches assignées au domaine. Dans l'exemple, deux tâches de l'utilisateur "htt" et une tâche contenant "xfs" dans sa commande sont assignées au domaine "domain1". • 16 Cliquer sur "Return to Dynamic Domains" pour retourner à l'écran principal. Dynamic Domains for Applications Guide de l'utilisateur Modifier le mode de fonctionnement de l'interface Cliquer sur "Configuration" pour modifier le mode de fonctionnement de l'interface graphique. • Cocher la case "Enable advanced mode" pour valider le mode expert. Dynamic Domains for Applications Guide de l'utilisateur 17 • • 18 Eventuellement, définir les paramètres du démon (période scrutation, validation ou non du management des alarmes, des filtres et de la gestion dynamique) ou décocher la case "Enable advanced mode" pour valider le mode normal. Cliquer sur le bouton "Apply changes" pour prendre en compte les modifications ou cliquer sur "Return to Dynamic Domains" pour retourner à l'écran principal sans appliquer les modifications. Dynamic Domains for Applications Guide de l'utilisateur 4. Configuration et utilisation en mode Expert Généralités La configuration ou l'administration du logiciel "Dynamic Domains" se fait à l'aide de l'outil "Webmin" (catégorie "System") via un navigateur (URL : http://<nomhote>:10000 ou https://<nomhote>:10000). L'outil d'administration est utilisable suivant deux modes de fonctionnement : • • Le mode "Normal" (c'est la configuration par défaut) Le mode "Expert" (mode qui donne accès à l'ensemble des fonctions du logiciel). Accès, après avoir installé le logiciel et validé le mode "Expert" dans l'écran de configuration, avec Webmin : System->Dynamic Domains. Gérer un domaine Cliquer sur "Domains Management" pour ajouter, modifier ou supprimer un domaine. En mode expert, la notion de priorité est ajoutée à la gestion des domaines. Dynamic Domains for Applications Guide de l'utilisateur 19 Modifier la configuration d'un domaine Cliquer sur "Edit domain" du domaine "domain1" pour modifier la configuration du domaine. Dans cet écran, l'utilisateur peut modifier le nom du domaine, le nombre de processeurs utilisés, le seuil d'alarme, la priorité, les processeurs utilisés ou le type du domaine (gestion dynamique). 20 Dynamic Domains for Applications Guide de l'utilisateur Gestion dynamique d'un domaine Cliquer sur "Dynamic" pour pouvoir gérer le domaine dynamiquement. Dans cet écran, l'utilisateur peut modifier le nom du domaine, le nombre minimum de processeurs utilisés, le nombre maximum de processeurs utilisables, le seuil d'alarme ou d'ajout de processeurs, le seuil de libération de processeurs, la priorité, les processeurs utilisés ou revenir à une gestion statique du domaine. • • Changer le nombre maximum de processeurs "Maximum number of usable CPUs" (exemple : 4). Cliquer sur le bouton "Apply changes" pour prendre en compte les modifications. Dynamic Domains for Applications Guide de l'utilisateur 21 Le domaine "domain1" est devenu un domaine dynamique. Le démon lui ajoutera des processeurs si sa charge vient à dépasser son seuil d'alarme. 22 • Cliquer éventuellement sur : o "Add a cpu" pour ajouter un processeur au domaine (pour un domaine dynamique, l'option est désactivée s'il n'y a plus de processeurs disponibles ou si le domaine à atteint sa taille maximale). o "Remove a cpu" pour enlever un processeur au domaine (pour un domaine dynamique, l'option est désactivée si le domaine à atteint sa taille minimale). o "Delete" pour supprimer le domaine. o "Edit domain" pour modifier la configuration du domaine. o "View" du champ "Load" pour afficher la charge des processeurs du domaine. o Cliquer sur "View machine's topology" pour vérifier l'implantation du domaine. • Cliquer sur "Return to Dynamic Domains" pour retourner à l'écran principal. Dynamic Domains for Applications Guide de l'utilisateur Ajouter ou supprimer des tâches à un domaine Cliquer sur "Tasks Assignment" pour ajouter ou supprimer des processus à un domaine. La gestion des tâches en mode expert inclut l'assignation par numéro de processus (Assign by PID), le lancement d'une commande dans un domaine (Run command), la purge d'un domaine (Clean) et la gestion des filtres multicritères (Modify tasks assignment through filters). • Cliquer éventuellement sur : o "Clean" pour assigner les tâches du domaine qui ne répondent pas aux critères des filtres, dans le domaine "default". o "Run command" pour lancer une tâche dans le domaine. o "Assign by PID" pour assigner des tâches dans le domaine par numéro de processus. o "View" pour voir les charges des domaines ou la liste des tâches assignées aux domaines. o "Modify tasks assignment through filters" pour définir ou modifier les filtres multicritères. o "View tasks running on the machine" pour voir les tâches assignées aux différents domaines. Dynamic Domains for Applications Guide de l'utilisateur 23 Lancer une commande dans un domaine Cliquer sur "Run command" du domaine "domain1" pour lancer une tâche dans le domaine. • • Entrer le nom de la commande à exécuter (exemple "sleep 1000"). Cliquer sur le bouton "Run command" pour lancer cette commande dans le domaine "domain1". Une tâche supplémentaire doit être assignée au domaine "domain1". • Cliquer sur "Clean", La tâche "sleep 1000" doit avoir été assignée au domaine "default" (aucun filtre ne précise que cette tâche doit être assignée au domaine "domain1"), 24 Dynamic Domains for Applications Guide de l'utilisateur Assigner une tâche par numéro de processus Cliquer sur "Assign by PID" du domaine "domain1" pour réassigner la tâche "sleep 1000" au domaine. • • Cocher la ligne correspondant à la commande "sleep 1000". Cliquer sur le bouton "Update assignment" pour valider la sélection. La tâche "sleep 1000" doit être assignée au domaine "domain1". • Cliquer sur "Clean" et vérifier que la tâche "sleep 1000" reste assignée au domaine "domain1". Dynamic Domains for Applications Guide de l'utilisateur 25 Assigner une tâche par filtres multicritères Cliquer sur "Modify tasks assignment through filters" pour définir ou modifier les filtres multicritères. Ces filtres ont été créés automatiquement lors des opérations précédentes. Pour chacun des filtres, l'utilisateur peut le modifier (Edit), lui changer sa priorité (Inc[crease] Priority et Dec[crease] Priority), l'invalider (Yes de Enabled) ou le supprimer (Delete). Il peut aussi ajouter de nouveaux filtres (Create a new filter). 26 Dynamic Domains for Applications Guide de l'utilisateur Modifier un filtre Cliquer sur "Edit" du filtre "domain1_pid", par exemple C'est le filtre défini lors de l'assignation par numéro de processus (PID). L'utilisateur peut modifier, ajouter et supprimer des conditions de mise en oeuvre du filtre. • Cliquer sur le bouton "Update filter" pour prendre en compte les changements ou cliquer sur "Return to Filters management" pour retourner à la gestion des filtres sans modification. Dynamic Domains for Applications Guide de l'utilisateur 27 Invalider un filtre Cliquer sur "Yes" de "Enabled" du filtre "domain1_pid" pour, éventuellement, invalider le filtre. o o • 28 Choisir si les tâches assignées par le filtre restent dans le domaine "domain1" ou seront assignées au domaine "default". Cliquer sur "Disable filter" pour invalider le filtre ou cliquer sur "Return to Filters management" pour retourner à la gestion des filtres sans modification. Cliquer sur "Return to Dynamic Domains" pour retourner à l'écran principal. Dynamic Domains for Applications Guide de l'utilisateur 5. Commandes Les commandes installées par "Dynamic Domains" sont les suivantes : • • • • • • • • • • • ddadd : utilitaire de création d'un nouveau domaine. ddchg : utilitaire de modification des caractéristiques d'un domaine. ddflt : utilitaire d'assignation des processus aux domaines en utilisant le fichier de filtres multicritères. ddload : utilitaire de simulation de la charge d'un domaine. ddls : utilitaire d'affichage de la configuration des domaines et des processus assignés aux domaines. ddmon : démon de surveillance des domaines et de gestion des domaines dynamiques. ddrm : utilitaire de destruction d'un domaine. ddstat : utilitaire d'affichage de l'état de la charge des domaines. ddtask : utilitaire d'assignation des processus aux domaines (équivalent à la commande "taskset" pour les domaines). ddtop : utilitaire d'affichage des charges des processeurs et des processus de la machine (équivalent aux commandes "top" ou "ps"). ddtopd : démon d'affichage périodique des charges des processeurs et des processus de la machine (démon de la commande "ddtop"). Dynamic Domains for Applications Guide de l'utilisateur 29 ddadd Description L'utilitaire "ddadd" permet de créer un nouveau domaine et d'en définir les caractéristiques (taille, priorité, seuils, etc.). Les noms "-" et "all_cpus" sont réservés et le domaine "default" a des caractéristiques particulières. La définition des caractéristiques d'un domaine permet de définir le comportement du domaine (domaine statique ou domaine dynamique). Syntaxe Format général /usr/bin/ddadd [[-d|--domain] domain] [[-u|--nbused] nbused] [[-n|--nbmin] nbmin] [[-m|--nbmax] nbmax] [[-p|--priority] priority] [[-t|--threshold] threshold] [[-s|--nbshar] nbshar] [[-M|--maxcpus] maxcpus] [[-U|--usedcpus] usedcpus] [[-S|--shareven] shareven] [-a] [-dc cnf] [-v] Paramètres [-d] domain [-u] nbused [-n] nbmin [-m] nbmax [-p] priority [-t] threshold [-s] nbshar [-M] maxcpus [-U] usedcpus [-S] shareven [-a] [-dc cnf] [-v] 30 Nom du domaine à créer (par défaut : affichage de la configuration des domaines), Nombre de processeurs utilisés (par défaut : 0 pour le domaine default, 1 pour les autres domaines; 0 pour utiliser tous les processeurs utilisables), Nombre minimal de processeurs (par défaut : 1 ou nbused), Nombre maximal de processeurs (par défaut : tous les processeurs pour le domaine "default" et 1 pour les autres domaines; 0 pour tous les processeurs), Priorité du domaine (par défaut : 255 pour le domaine "default" et 25 pour les autres domaines), Seuil d'alarme pour la charge du domaine (par défaut : 100 pour le domaine "default" et 75 pour les autres domaines), Nombre de processeurs partageables (par défaut : 0), Liste des processeurs utilisables par le domaine (par défaut : tous les processeurs), Liste des processeurs utilisés par le domaine (par défaut : choix automatique), Seuil d'autorisation de libération ou de partage des processeurs du domaine (par défaut : 1/3 Threshold), En cas d'affichage, affichage des domaines "all_cpus" et "other_cpus", Fichier de configuration des domaines (par défaut : /var/ddomains/ddomains), Ajout de traces. Dynamic Domains for Applications Guide de l'utilisateur Code retour 0 : Exécution correcte, 1 : Erreur d'accès, 2 : Erreur dans un paramètre. Exemples Création du domaine "default" ddadd default ddls Domain NbMin NbUsed NbMax Priority Threshold SharEven UsedCpus Load NbProcs NbThrds default 1 4 4 255 100 33 0-3 0 39 43 Création d'un domaine dynamique de taille de 1 à 4 processeurs ddadd domain1 1 1 4 ddls Domain NbMin NbUsed NbMax Priority Threshold SharEven UsedCpus Load NbProcs NbThrds default 1 3 4 255 100 33 1-3 0 39 43 domain1 1 1 4 25 75 25 0 0 0 0 Dynamic Domains for Applications Guide de l'utilisateur 31 ddchg Description L'utilitaire "ddchg" permet de modifier les caractéristiques d'un domaine (taille, priorité, seuils, etc.). Les noms "-" et "all_cpus" sont réservés et le domaine "default" a des caractéristiques particulières. La modification des caractéristiques d'un domaine peut entraîner un changement de comportement du domaine (un domaine statique peut devenir domaine dynamique ou inversement). Syntaxe Format général /usr/bin/ddchg [[-d|--domain] domain] [[-u|--nbused] nbused] [[-n|--nbmin] nbmin] [[-m|--nbmax] nbmax] [[-p|--priority] priority] [[-t|--threshold] threshold] [[-s|--nbshar] nbshar] [[-S|--shareven] shareven] [[-A|--add] addcpus] [[-R|--release] release] [[-N|--newname] newname] [[-M|--maxcpus] maxcpus] [[-U|--usedcpus] usedcpus] [-a] [-dc cnf] [-v] Paramètres [-d] domain [-u] nbused [-n] nbmin [-m] nbmax [-p] priority [-t] threshold [-s] nbshar [-S] shareven [-A] addcpus [-R] release [-N] newname [-M] maxcpus [-U] usedcpus 32 Nom du domaine à modifier (par défaut : affichage de la configuration des domaines), Nombre de processeurs utilisés (par défaut : pas de changement; 0 pour tous les processeurs utilisables), Nombre minimal de processeurs (par défaut : pas de changement), Nombre maximal de processeurs (par défaut : pas de changement; 0 pour tous les processeurs), Priorité du domaine (par défaut : pas de changement), Seuil d'alarme pour la charge du domaine (par défaut : pas de changement), Nombre de processeurs partageables (par défaut : pas de changement), Seuil d'autorisation de libération ou de partage des processeurs du domaine (par défaut : pas de changement), Nombre de processeurs à ajouter au domaine (par défaut : 0), Nombre de processeurs à supprimer du domaine (par défaut : 0), Nouveau nom du domaine (par défaut : pas de changement), Liste des processeurs utilisables par le domaine (par défaut : pas de changement), Liste des processeurs utilisés par le domaine (par défaut : pas de changement), Dynamic Domains for Applications Guide de l'utilisateur [-a] [-dc cnf] [-v] En cas d'affichage, affichage des domaines "all_cpus" et "other_cpus", Fichier de configuration des domaines (par défaut : /var/ddomains/ddomains), Ajout de traces. Code retour 0 : Exécution correcte, 1 : Erreur d'accès, 2 : Erreur dans un paramètre. Exemple Modification du domaine domain1 (ajout d'un processeur) ddls Domain NbMin NbUsed NbMax Priority Threshold SharEven UsedCpus Load NbProcs NbThrds default 1 3 4 255 100 33 1-3 0 39 43 domain1 1 1 4 25 75 25 0 0 0 0 ddchg domain1 -A 1 ddls Domain NbMin NbUsed NbMax Priority Threshold SharEven UsedCpus Load NbProcs NbThrds default 1 2 4 255 100 33 2-3 0 39 43 domain1 1 2 4 25 75 25 0-1 0 0 0 Dynamic Domains for Applications Guide de l'utilisateur 33 ddflt Description L'utilisation de filtres multicritères permet d'assigner des tâches (processus ou threads) aux domaines en fonction des conditions décrites dans le fichier de configuration des filtres. L'utilitaire "ddflt" permet, après lecture du fichier de configuration des filtres, de : • • • • • Interpréter les filtres valides et d'assigner les processus ou threads qui répondent aux critères de chaque filtre au domaine désigné par le filtre. Assigner les tâches déjà assignées aux domaines qui ne répondent pas aux critères des filtres, dans le domaine "default" (option : --default) ou à tous les processeurs (option : --all_cpus). Assigner les tâches déjà assignées à un domaine (option : -d domain) qui ne répondent pas aux critères des filtres, dans le domaine "default" (option : --default) ou à tous les processeurs (option : --all_cpus). Assigner les tâches qui répondent aux critères d'un filtre (option : -F filter), dans le domaine "default" (option : --default) ou à tous les processeurs (option : --all_cpus). Lister les tâches qui peuvent être assignées par un filtre (option -p filter). Par défaut, l'utilitaire "ddflt" assigne les processus ou threads qui répondent aux critères des filtres dans les domaines respectifs sans modifier l'assignation des tâches (processus et threads) qui ne répondent pas aux critères des filtres. Syntaxe Format général /usr/bin/ddflt [-d|--domain domain] [-F|--filter filter] [-p|--preview filter] [-f fmt] [+f fmt] [-dc cnf] [-fc cnf] [-U] [-v] [-i|--noid] [-v] [--default] [--all_cpus] Paramètres [-d domain] [-F filter] [-p filter] [-f fmt] [+f fmt] 34 Nom du domaine pour lequel les tâches qui ne sont pas prises en compte par les filtres vont être assignées au domaine "default" ou à tous les processeurs (par défaut : tous les domaines), Nom du filtre dont les tâches vont être assignées au domaine "default" ou à tous les processeurs, Lister les tâches qui peuvent être assignées par le filtre "filter", Définition des paramètres édités pour la liste des tâches listées par le paramètre "-p filter", Ajout de paramètres édités pour la liste des tâches listées par le paramètre "-p filter", (format : pid[,...], type "ddls --format" pour plus de détails), Dynamic Domains for Applications Guide de l'utilisateur [-dc cnf] [-fc cnf] [-U] [-i] [-v] [--default] [--all_cpus] Fichier de configuration des domaines (par défaut : /var/ddomains/ddomains), Fichier de configuration des filtres (par défaut : /var/ddomains/filters), Edition des paramètres avec les unités, ou [--noid] : Pas d'édition de la signification des paramétres, Ajout de traces, Sans le paramètre [-F filter] : assignation dans le domaine "default" des tâches du domaine [-d domain] ou de tous les domaines qui ne sont pas prises en compte par les filtres; avec le paramètre [-F filter] : assignation des tâches prises en compte par le filtre dans le domaine "default", Sans le paramètre [-F filter] : assignation à tous processeurs des tâches qui ne sont pas prises en compte par les filtres; avec le paramètre [-F filter] : assignation des tâches prises en compte par le filtre à tous les processeurs. Code retour 0 : Exécution correcte, 1 : Erreur d'accès, 2 : Erreur dans un paramètre. Exemples Assigner les tâches prises en compte par les filtres dans les domaines respectifs ddflt Assigner les tâches qui sont prises en compte par les filtres dans les domaines respectifs et assigner les autres tâches dans le domaine "default" ddflt --default Assigner les tâches qui sont prises en compte par les filtres dans les domaines respectifs et assigner les autres tâches du domaine "domain1" dans le domaine "default" ddflt domain1 –default Dynamic Domains for Applications Guide de l'utilisateur 35 Filtres multicritères Paramètres Les filtres multicritères permettent l'assignation conditionnelle de tâches (Processus ou threads) aux domaines. Un filtre est caractérisé par un ensemble de paramètres qui permettent de définir son nom, le domaine associé, sa validité, sa priorité, ses conditions d'application, etc. Les conditions d'application d'un filtre définissent les critères d'assignation de telle ou telle tâche à tel ou tel domaine. Ces conditions peuvent être multiples. Caractéristiques Name Domain Enabled Priority Matching Thread Children Daemon 36 Nom du filtre. Nom du domaine associé au filtre. Validité du traitement du filtre (0 : invalide, 1 : valide). Priorité dans le traitement du filtre ou ordre de traitement (1 : plus prioritaire). Conditions d'application du filtre (any : une des conditions est remplie, all : toutes les conditions doivent être remplies). Application au processus désigné et à ses threads (0 : seulement au processus, 1 : processus plus threads). Application au processus désigné et à ses fils (0 : seulement au processus, 1 : processus plus à ses fils). Validité du traitement du filtre par le démon (0 : invalide, 1 : valide). Dynamic Domains for Applications Guide de l'utilisateur Conditions d'application Field pid tid ppid user group size args Nom du champ concerné par la condition : Numéro de processus, Numéro de thread, Numéro de processus parent, Nom de l'utilisateur de la tâche, Nom du groupe de la tâche, Taille mémoire utilisée par la tâche, Arguments de la commande de la tâche, Condition eq ne co nc be en lt le gt ge Condition de test : Le champ est égal à la valeur, Le champ est différent de la valeur, Le champ contient la valeur, Le champ ne contient pas la valeur, Le début du champ est égal à la valeur, La fin du champ est égale à la valeur, Le champ est plus petit que la valeur, Le champ est plus petit ou égal à la valeur, Le champ est plus grand que la valeur, Le champ est plus grand ou égal à la valeur. Value Valeur attendue. Exemple Pour assigner au domaine "domain1" les tâches de l'utilisateur "bin" qui utilisent au moins 512 K de mémoire et dont la commande contient "test", il faut définir un filtre associé au domaine "domain" (domain = domain1, matching = all) avec trois conditions (user eq bin, size ge 512, et args co test). Dynamic Domains for Applications Guide de l'utilisateur 37 ddload Description L'utilitaire "ddload" permet de simuler la charge d'un domaine. Syntaxe Format général /usr/bin/ddload [-i|--ident ident] [-d|-ld|--domain domain] [-t|--time time] [-l|--load load] [-p|--proc proc] [-m|--mem mem] [-dc cnf] [-v] Paramètres [-i ident] [-d domain] [-t time] [-l load] [-p proc] [-m mem] [-dc cnf] [-v] Nom pour l'identification du programme (par défaut : pas d'identification particulière), Nom du domaine à charger (par défaut : pas d'assignation particulière), Durée du traitement (par défaut : 10 secondes), Charge de chaque processus (par défaut : 75% du processeur utilisé), Nombre de processus lancés (par défaut : 1 processus), Taille de la mémoire utilisée en octets (par défaut : pas d'utilisation de mémoire particulière), Fichier de configuration des domaines (par défaut : /var/ddomains/ddomains), Ajout de traces. Code retour 0 : Exécution correcte, 1 : Erreur d'accès, 2 : Erreur dans un paramètre. Exemples Lancement de 4 processus dans le domaine "domain1" utilisant chacun 20% d'un processeur ddload -d domain1 -l 20 -p 4 & ddtop -s ddload -f domain,pid,%cpu,cmd Domain Pid %Cpu Command domain1 9242 19.41 "ddload -d domain1 domain1 9243 20.38 "ddload -d domain1 domain1 9244 20.38 "ddload -d domain1 domain1 9245 19.41 "ddload -d domain1 38 -l -l -l -l 20 20 20 20 -p -p -p -p 4" 4" 4" 4" Dynamic Domains for Applications Guide de l'utilisateur Lancement d'un processus dans le domaine "domain1" avec définition d'un identificateur : ddload -i simulation -d domain1 & ddtop -s simulat -f domain,pid,%cpu,cmd Domain Pid %Cpu Command domain1 9254 74.78 simulation Dynamic Domains for Applications Guide de l'utilisateur 39 ddls Description L'utilitaire "ddls" permet d'afficher la configuration des domaines, la liste des processus assignés par domaine, la configuration des filtres multicritères. Syntaxe Format général /usr/bin/ddls [-d|ld [d...]] [-P|-p [p...]] [-s str] [-u user] [-F] [-f fmt] [+f fmt] [-z] [-a] [-g] [-dc cnf] [-fc cnf] [-U] [-v] [-i|--noid] Paramètres [-d|ld] [d...] [-P] [-p] [p...] [-s str] [-u user] [-F] [-f fmt] [+f fmt] [-z] [-a] [-g] [-dc cnf] [-fc cnf] [-U] [-v] [-i] ou [--noid] 40 Affichage de la configuration des domaines, Liste des domaines concernés (par défaut : tous les domaines, format : domain_name1[,domain_name2][,...] or all), Affichage des processus et les threads assignés aux domaines, Affichage des processus (sans les threads) assignés aux domaines, Liste des processus (PID) ou des threads (TID) concernés (par défaut : tous; format : pid[-pid][,pid[-pid]][,...] ou all), Affichage des processus qui contiennent la chaîne str dans leur ligne de commande, Affichage des processus de l'utilisateur "user", Affichage de la configuration des filtres et conditions d'assignation, Définition des paramètres édités pour les domaines ou les processus, Ajout de paramètres édités pour les domaines ou les processus, (format : pid[,...], type "ddls --format" pour plus de détails), Affichage des processus qui n'utilisent pas de mémoire, Affichage des processus qui ne sont pas dans un domaine, Affichage des valeurs globales des domaines, Nom du fichier de configuration des domaines (par défaut : /var/ ddomains/ddomains), Nom du fichier de configuration des filtres (par défaut : /var/ ddomains/filters), Affichage des paramètres avec les unités, Ajout de traces, Pas d'affichage de la signification des paramètres. Dynamic Domains for Applications Guide de l'utilisateur Code retour 0 : Exécution correcte, 1 : Erreur d'accès, 2 : Erreur dans un paramètre. Exemples Affichage de la configuration des domaines ddls Domain NbMin NbUsed NbMax Priority Threshold SharEven UsedCpus Load NbProcs NbThrds default 1 2 4 255 100 33 2-3 50 43 47 domain1 1 2 4 25 75 25 0-1 0 3 3 Affichage de la configuration du domaine "domain1" ddls -d domain1 Domain NbMin NbUsed NbMax Priority Threshold SharEven UsedCpus Load NbProcs NbThrds domain1 1 2 4 25 75 25 0-1 0 3 3 Affichage de la configuration des filtres ddls -F Filter Type Enabled Priority filter1 user 1 1 Filter filter1 Domain Matching domain1 any Threads Children Daemon 0 0 0 Field Condition Value user eq root Affichage des threads du domaine oracle ddls -d domain1 -P Domain Filter Pid domain1 - 9325 domain1 - 9327 domain1 - 9328 domain1 - 9329 domain1 - 9330 domain1 - 9331 Tid 9325 9327 9328 9329 9330 9331 Uid root root root root root root Command simulation simulation simulation simulation simulation simulation Affichage des processus du domaine "domain1" avec définition des paramètres édités Pid 9327 9328 9329 9330 9331 ddls -d domain1 -P -f pid,tid,uid,gid,cmd Tid Uid Gid Command 9327 root root simulation 9328 root root simulation 9329 root root simulation 9330 root root simulation 9331 root root simulation Dynamic Domains for Applications Guide de l'utilisateur 41 ddmon Description Le démon de surveillance assure : • • • • le contrôle de la cohérence entre la configuration matérielle et la configuration des domaines après un redémarrage de la machine. l'assignation périodique des processus aux domaines en fonction du fichier de définition des filtres multicritères, la gestion des alarmes, l'attribution dynamique des ressources aux domaines en fonction des niveaux de charge. Contrôle de cohérence Au redémarrage de la machine, le démon vérifie la cohérence entre la configuration matérielle (nombre et numéros des processeurs) et la configuration des domaines. Sur une erreur dans le contrôle de cohérence et si l'option -R est présente, le démon essaye de reconfigurer automatiquement les domaines. Assignation périodique A chaque période de traitement du démon, le fichier de définition des filtres multicritères est traité. L'ensemble des filtres est contrôlé et, pour les filtres qui sont validés pour le démon (dont le paramètre "Daemon" = 1), les tâches (processus ou threads) prises en compte par ces filtres sont assignées aux domaines correspondants. Gestion des alarmes Lorsque le niveau de charge d'un domaine dépasse son seuil haut, un message d'alarme est édité dans le fichier de traces du démon. Un message d'information est édité dans le fichier de traces lors du retour à l'état normal (fin de l'alarme). La valeur du seuil haut d'un domaine est défini par les caractéristiques du domaine. Exemple de messages 06/01/30 10:07:59 ddmon*2 Domain domain1 : Alarm threshold (>75%) 06/01/30 10:08:09 ddmon*4 Domain domain1 : Normal threshold 42 Dynamic Domains for Applications Guide de l'utilisateur Principe Attribution dynamique des ressources Le traitement dynamique des ressources permet, en fonction de la charge des domaines, d'attribuer ou de libérer des ressources aux domaines. Seuls les domaines dynamiques sont gérés par cette fonctionnalité (voir 'Caractéristiques des domaines'). La gestion dynamique des ressources est fonction des seuils (haut et bas) et de la priorité des domaines. Voir Appendice C : "Simulation des domaines dynamiques" Dynamic Domains for Applications Guide de l'utilisateur 43 Syntaxe Format général /usr/bin/ddmon [-t|--time time] [-F|--filters] [-A|--alarms] [-D|--dynamic] [-dc cnf] [-fc cnf] [-c cnf] [-h his] [-l log] [--init] [-nc cnf] [-R|--reconfig] [-v] Par défaut, la commande ddmon sans paramètre (/usr/bin/ddmon) est équivalente à /usr/bin/ddmon -F -A -D. Paramètres [-t time] [-F] [-A] [-D] [-dc cnf] [-fc cnf] [-c cnf] [-h his] [-l log] [--init] [-R] [-v] Valeur de la période de traitement du démon (par défaut : 10 secondes), Traitement de l'assignation des tâches à l'aide du fichier de filtres multicritères, Traitement des alarmes sur dépassement de seuil, Traitement de la gestion des domaines dynamiques, Fichier de configuration des domaines (par défaut : /var/ddomains/ddomains), Fichier de configuration des filtres (par défaut : /var/ddomains/filters), Fichier de configuration du démon (par défaut : /var/ddtools/ddmon.conf), Fichier de traces (par défaut : console), Niveau d'affichage des traces (par défaut : 4), Création du fichier de configuration des domaines, du domaine "default" et assignation des tâches dans le domaine "default" (par défaut : pas de création ni d'assignation), Reconfiguration automatique des domaines sur erreur de cohérence (par défaut : pas de reconfiguration), Ajout de traces. Code retour 0 : Exécution correcte, 1 : Erreur d'accès, 2 : Erreur dans un paramètre. 44 Dynamic Domains for Applications Guide de l'utilisateur Exemple Lancement du démon avec initialisation des configurations ddmon ddmon ddmon ddmon ddmon ddmon ddmon ddmon --init : Initialization enabled : Assign tasks to domain default : Daemon started : Time between measures : 10.000s : Filters management started : Alarms management started : Dynamic management started Service de contrôle du démon Lors de l'installation du produit, le démon ddmon est activé via le service ddmon (fichier : /etc/init.d/ddmon). Ce service permet de contrôler le fonctionnement du démon (le démarrer, l'arrêter ou interroger son état). Lancement du démon /etc/init.d/ddmon start Starting ddmon OK Etat du démon /etc/init.d/ddmon status ddmon is running (pid=21264) since 06/06/20 08:25:35 Arrêt du démon /etc/init.d/ddmon stop Stopping ddmon OK Relance du démon (arrêt et lancement) /etc/init.d/ddmon restart Stopping ddmon OK Starting ddmon OK Dynamic Domains for Applications Guide de l'utilisateur 45 Fichier de configuration du démon Le fichier de configuration définit les paramètres et les traitements réalisés par le démon. Au lancement du démon, le fichier de configuration (s'il existe) définit les valeurs par défaut des paramètres du démon. A tout moment (démon arrêté ou en marche), l'utilisateur peut modifier certains paramètres de traitement du démon via le fichier de configuration (changer la période de scrutation, valider ou invalider un traitement, etc.). Exemple de fichier de configuration cat /var/ddtools/ddmon.conf ddmon_enable = 1 ddmon_pid = 21264 start_time = 1150784735 log_file = /var/ddtools/ddmon.log log_level = 4 init = 1 reconfig = 0 loop_time = 10.000 filters = 1 alarms = 1 dynamic = 1 ddmon_status = 1 Signification des paramètres ddmon_enable ddmon_pid start_time log_file log_level init reconfig loop_time filters alarms dynamic ddmon_status 46 Validation ou non du démon (valeur 0 ou 1; 1 : démon validé), Numéro de processus du démon (ne pas modifier), Date de lancement du démon (en secondes depuis 01/01/1970; ne pas modifier), Nom du fichier de traces du démon (par défaut : /var/ddtools/ddmon.log), Niveau d'édition des messages de trace (par défaut : 4), Traitement de l'initialisation au lancement (valeur 0 ou 1; 1 : initialisation validée), Traitement de la reconfiguration automatique des domaines au lancement (valeur 0 ou 1; 1 : reconfiguration validée), Période de traitement du démon en secondes (par défaut : 10 secondes), Traitement périodique des filtres (valeur 0 ou 1; 1 : traitement validé), Traitement périodique des alarmes(valeur 0 ou 1; 1 : traitement validé), Traitement périodique des domaines dynamiques (valeur 0 ou 1; 1 : traitement validé), Etat du démon (0 : arrêté, 1 : en marche, -1 : arrêté suite à une erreur). Dynamic Domains for Applications Guide de l'utilisateur ddrm Description L'utilitaire "ddrm" permet de supprimer un domaine du fichier de configuration des domaines. Par défaut, pour pouvoir supprimer un domaine, aucune tâche (processus ou thread) ne doit être assignée au domaine. Lorsqu'il reste des tâches assignées au domaine à supprimer, l'utilisateur a la possibilité de forcer la suppression du domaine (paramètre : -remove ou --rmonly) et de choisir si les tâches assignées seront ou pas réassignées au domaine "default". Syntaxe Format général /usr/bin/ddrm [[-d|--domain] domain] [--remove] [--rmonly] [-a] [-dc cnf] [-v] Paramètres [-d] domain [--remove] [--rmonly] [-a] [-dc cnf] [-v] Nom du domaine à supprimer (par défaut : affichage de la configuration des domaines), Forcer la suppression du domaine lorsqu'il reste des tâches assignées au domaine, Supprimer le domaine sans assigner les tâches du domaine dans le domaine "default", En cas d'affichage, affichage des domaines "all_cpus" et "other_cpus", Fichier de configuration des domaines (par défaut : /var/ddomains/ddomains), Ajout de traces. Code retour 0 : Exécution correcte, 1 : Erreur d'accès, 2 : Erreur dans un paramètre. Dynamic Domains for Applications Guide de l'utilisateur 47 Exemple Suppression du domaine "domain1" ddls Domain NbMin NbUsed NbMax Priority Threshold SharEven UsedCpus Load NbProcs NbThrds default 1 3 4 255 100 33 1-3 0 39 43 domain1 1 1 4 25 75 25 0 0 0 0 ddrm domain1 ddls Domain NbMin NbUsed NbMax Priority Threshold SharEven UsedCpus Load NbProcs NbThrds default 1 4 4 255 100 33 0-3 0 39 43 48 Dynamic Domains for Applications Guide de l'utilisateur ddstat Description L'utilitaire "ddstat" permet d'afficher l'état de la charge des domaines. Syntaxe Format général /usr/bin/ddstat [[-d|--domain] domain] [-t|--time time] [-a] [-dc cnf] [-v] Paramètres [-d] domain [-t] time [-a] [-dc cnf] [-v] Nom du domaine à afficher (par défaut : tous les domaines sauf le domaine "default"), Durée de la mesure de la charge (par défaut : 0.333 seconds), Affichage du domaine "default", éventuellement, en plus des autres domaines, Fichier de configuration des domaines (par défaut : /var/ddomains/ddomains), Ajout de traces. Code retour 0 : Exécution correcte (aucun domaine en alarme), 1 : Erreur d'accès, 2 : Erreur dans un paramètre, 3 et plus : un ou plusieurs domaines en alarme (nombre de domaines en alarme = code retour - 2). Exemple Affichage de l'état du domaine "domain1" ddstat domain1 ddstat : Domain domain1 : Load value : 25% - Normal threshold Dynamic Domains for Applications Guide de l'utilisateur 49 ddtask Description L'utilitaire "ddtask" permet d'assigner des tâches (processus ou threads) à un domaine. Cette assignation peut se faire par liste de numéros de processus (PID), par liste de numéros de thread (TID), par nom d'utilisateur (UID) ou par nom de commande (chaîne de caractères contenus dans la ligne de commande des processus). L'utilitaire permet aussi de lancer directement une tâche dans un domaine. Syntaxe Format général /usr/bin/ddtask domain [-dc cnf] [-v] [[-P|-p [p...]] [-s str] [-u user]] | [-c cmd[ args ...]] Paramètres domain [-dc cnf] [-v] [-P] [-p] [p...] [-s str] [-u user] [-c cmd] [args ...] Nom du domaine destinataire de l'assignation ou du lancement de la tâche, Fichier de configuration des domaines (par défaut : /var/ddomains/ddomains), Ajout de traces. Assignation des processus et de leurs threads, Assignation des processus seulement, Liste des processus (PID) ou threads (TID) (par défaut : tous (all), format : pid[-pid][,pid[-pid]][,...] ou all), Assignation des processus qui contiennent la chaîne "str" dans la commande, ou ^str si la commande commence par "str", ou str$ si la commande se termine par "str", ou ^str$ si la commande est égale à "str", Assignation des processus de l'utilisateur "user", Exécution directe de la commande "cmd" dans un domaine, Arguments de la commande "cmd". Code retour 0 : Exécution correcte, 1 : Erreur d'accès, 2 : Erreur dans un paramètre. 50 Dynamic Domains for Applications Guide de l'utilisateur Exemples Assignation d'un processus et de ses threads par numéro de processus ddtask jonas -P 25695 Assignation des processus et threads d'un utilisateur ddtask jonas -u invite Exécution d'une commande dans un domaine ddtask jonas -c sleep 10 Dynamic Domains for Applications Guide de l'utilisateur 51 ddtop Description L'utilitaire "ddtop" permet d'afficher différents paramètres des processeurs, des nœuds et des processus actifs de la machine. Les paramètres affichés sont fonction du niveau de détail demandé (options : -d et -D) ou peuvent être redéfinis par l'utilisateur (options : -f et +f). Les résultats attendus sont affichés dans un ordre chronologique (options : -C, -L, -P, -PM, -p, -pM, -M) ou classés par domaine (options : -CD, -LD, -PD, -PMD, -pD, -pMD, -MD). Syntaxe Format général /usr/bin/ddtop [-t time] [-C[D]|-N[C]|-m][-L[D]|-P[M][D]|-p[M][D]|-M[D]] [v...] [-ld dom] [-s str] [-u user] [-f fmt] [+f fmt] [-g|-G] [-d|-D] [-U] [-z] [-a] [-n cpu] [-r] [-dc cnf] [-fc cnf] [-c cnf] [-v] [-i|--noid] [--gbld] [--gbl] [--all] Par défaut, la commande ddtop sans paramètre (/usr/bin/ddtop) est équivalente à /usr/bin/ddtop -C -D -U. Paramètres [-t time] [-C[D]] [-N[C]] [-m] [-L[D]] [-P[M][D]] [-p[M][D]] [-M[D]] 52 Intervalle entre deux mesures ou affichage (par défaut : 1.00 seconds), Affichage de la charge des processeurs (numéro de processeur x, y,...), D : Trié par nom de domaine, Affichage de la configuration des nœuds (numéro de nœud x, y,...), C : avec la charge des processeurs, Affichage de la mémoire utilisée par nœud (numéro de nœud x, y,...), Affichage de la liste des threads par processus (PID x, y,...), D : Trié par nom de domaine, Affichage de la charge par processus et threads (PID x, y,...), M : ajout de la mémoire utilisée, D : Trié par nom de domaine, Affichage de la charge par processus sans les threads (PID x, y,...), M : ajout de la mémoire utilisée, D : Trié par nom de domaine, Affichage de la mémoire utilisée par processus (PID x, y,...), D : Trié par nom de domaine, Dynamic Domains for Applications Guide de l'utilisateur [v...] [-ld dom] [-s str] [-u user] [-f fmt] [+f fmt] [-g] [-G] [-d] [-D] [-U] [-z] [-a] [-n cpu] [-r] [-dc cnf] [-fc cnf] [-v] [-i] ou [--noid] [--gbld] [--gbl] [--all] [stdin] Liste des numéros de processeur, de nœud, de processus, (par défaut : all; format : a[-b][,c[-d]][,...] ou all), Affichage des paramètres pour la liste des domaines "dom" (par défaut : all, format : domain_name1[,domain_name2][,...] ou all), Affichage si la ligne de commande contient la chaîne "str", Affichage pour l'utilisateur "user", Définition des paramètres affichés pour les nœuds, les processeurs, etc., Ajout de paramètres affichés pour les nœuds, les processeurs, etc., (format : pid[,...], type "ddtop --format" pour plus de détails), Affichage global des paramètres (charges, mémoire, etc.) par item, Affichage global des paramètres (charges, mémoire, etc.) pour tous les items, Affichage détaillé des paramètres, Affichage avec le maximum de détails des paramètres, Affichage des paramètres avec les unités, Affichage des processus qui n'utilisent pas de mémoire, Affichage des processus qui ne sont pas dans un domaine, Nombre de processeurs utilisés pour le calcul des charges (par défaut : 1; cpu = 1 au nombre maxi de processeurs de la machine), Affichage toutes les "-t time" secondes, Nom du fichier de configuration des domaines (par défaut : /var/ddomains/ddomains), Nom du fichier de configuration des filtres (par défaut : /var/ddomains/filters), Ajout de traces, Pas d'affichage de la signification des paramètres, Affichage de la somme pour chaque domaine, Affichage de la somme globale, Affichage de la somme pour l'ensemble de la machine, Entrée des valeur sur l'entrée standard (stdin) (idem [v...]). Code retour 0 : Exécution correcte, 1 : Erreur d'accès, 2 : Erreur dans un paramètre. Dynamic Domains for Applications Guide de l'utilisateur 53 Exemples Affichage du nom de domaine et de la charge des processeurs 3 à 5 ddtop -CD 3-5 Domain Cpus domain4 3 domain5 4 domain6 5 Cpu 3 4 5 %Used %Idle 0.00 100.00 0.00 100.00 0.00 100.00 %Wait 0.00 0.00 0.00 Affichage de la configuration des nœuds ddtop -NC Node Cpus 3 12-15 2 8-11 1 4-7 0 0-3 %Cpu %MemU. Distance 0.09 1.24 30,30,30,10 0.09 1.76 30,30,10,30 0.09 0.54 30,10,30,30 0.09 5.42 10,30,30,30 Affichage des processeurs 4 à 7 avec choix des paramètres édités ddtop -CD 4-7 -f domain,cpu,%user,%syst,%idle Domain Cpu %User %Syst %Idle domain5 4 0.00 0.00 100.00 domain6 5 0.00 0.00 100.00 domain7 6 0.00 0.00 100.00 domain8 7 0.00 0.00 100.00 Affichage des processus qui contiennent "tst' dans leur commande avec ajout du nom de commande ddtop -pD -s tst +f cmd Domain Pid %Cpu Command domain8 18782 0.00 ./tst domain8 11519 0.00 ./tst domain8 11521 0.00 ./tst domain10 11520 0.00 ./tst Affichage des processus et de leurs threads qui contiennent "tst" dans leur commande avec ajout du nom de commande ddtop -PD -s tst Domain Pid domain7 11519 domain7 11521 domain8 18782 domain8 11519 domain8 11519 domain8 11521 domain8 11521 domain9 11520 domain10 11520 domain10 11520 54 +f cmd Tid 11522 11525 18782 11519 11524 11521 11526 11523 11520 11527 %Cpu 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Command ./tst ./tst ./tst ./tst - Dynamic Domains for Applications Guide de l'utilisateur Affichage des processus et de leurs threads avec choix des PID ddtop -PD 11534-11536,18782 +f cmd Domain Pid Tid %Cpu Command domain7 11534 11537 0.00 domain7 11536 11540 0.00 domain8 18782 18782 0.00 ./tst domain8 11534 11534 0.00 ./tst domain8 11534 11539 0.00 domain8 11536 11536 0.00 ./tst domain8 11536 11542 0.00 domain9 11535 11538 0.00 domain10 11535 11535 0.00 ./tst domain10 11535 11541 0.00 Affichage de la liste des threads pour les processus qui contiennent "tst" dans leur commande ddtop -LD -s tst Domain Pid default 18782 default 24612 default 24614 default 24615 -g Tid ... 24617 24618 24619 24621 24622 24623 Dynamic Domains for Applications Guide de l'utilisateur 55 ddtopd Description Le démon "ddtop" permet d'éditer différents paramètres des processeurs, des nœuds et des processus actifs de la machine sur la console ou dans un fichier de trace. Les paramètres édités sont fonction du niveau de détail demandé (options : -d et -D) ou peuvent être redéfinis par l'utilisateur (options : -f et +f). Les résultats attendus sont édités dans un ordre chronologique (options : -C, -L, -P, -PM, -p, -pM, -M) ou classés par domaine (options : -CD, LD, -PD, -PMD, -pD, -pMD, -MD). Syntaxe Format général /usr/bin/ddtopd [-t time] [-C[D]|-N[C]|-m][-L[D]|-P[M][D]|-p[M][D]|-M[D]] [v...] [-ld dom] [-s str] [-u user] [-f fmt] [+f fmt] [-g|-G] [-d|-D] [-U] [-z] [-a] [-n cpu] [-dc cnf] [-fc cnf] [-c cnf] [-h hist] [-l log] [-i|--noid] [--gbld] [--gbl] [--all] Par défaut, la commande ddtopd sans paramètre (/usr/bin/ddtopd) est équivalente à /usr/bin/ddtopd -C -D -U. Paramètres [-t time] [-C[D]] [-N[C]] [-m] [-L[D]] [-P[M][D]] [-p[M][D]] [-M[D]] 56 Intervalle entre deux mesures ou édition (par défaut : 1.00 seconds), Edition de la charge des processeurs (numéro de processeur x, y,...), D : Trié par nom de domaine, Edition de la configuration des nœuds (numéro de nœud x, y,...), C : avec la charge des processeurs, Edition de la mémoire utilisée par nœud (numéro de nœud x, y,...), Edition de la liste des threads par processus (PID x, y,...), D : Trié par nom de domaine, Edition de la charge par processus et threads (PID x, y,...), M : ajout de la mémoire utilisée, D : Trié par nom de domaine, Edition de la charge par processus sans les threads (PID x, y,...), M : ajout de la mémoire utilisée, D : Trié par nom de domaine, Edition de la mémoire utilisée par processus (PID x, y,...), D : Trié par nom de domaine, Dynamic Domains for Applications Guide de l'utilisateur [v...] [-ld dom] [-s str] [-u user] [-f fmt] [+f fmt] [-g] [-G] [-d] [-D] [-U] [-z] [-a] [-n cpu] [-dc cnf] [-fc cnf] [-h hist] [-l log] [-i] ou [--noid] [--gbld] [--gbl] [--all] [stdin] Liste des numéros de processeur, de nœud, de processus, (par défaut : all; format : a[-b][,c[-d]][,...] ou all), Edition des paramètres pour la liste des domaines "dom" (par défaut : all, format : domain_name1[,domain_name2][,...] ou all), Edition si la ligne de commande contient la chaîne "str", Edition pour l'utilisateur "user", Définition des paramètres édités pour les nœuds, les processeurs, etc., Ajout de paramètres édités pour les nœuds, les processeurs, etc., (format : pid[,...], type "ddtop --format" pour plus de détails), Edition globale des paramètres (charges, mémoire, etc.) par item, Edition globale des paramètres (charges, mémoire, etc.) pour tous les items, Edition détaillée des paramètres, Edition avec le maximum de détails des paramètres, Edition des paramètres avec les unités, Edition des processus qui n'utilisent pas de mémoire, Edition des processus qui ne sont pas dans un domaine, Nombre de processeurs utilisés pour le calcul des charges (par défaut : 1; cpu = 1 au nombre maxi de processeurs de la machine), Nom du fichier de configuration des domaines (par défaut : /var/ddomains/ddomains), Nom du fichier de configuration des filtres (par défaut : /var/ddomains/filters), Nom du fichier de trace des historiques (par défaut : console), Niveau d'édition des messages de trace (par défaut : 4), Pas d'édition de la signification des paramètres, Edition de la somme pour chaque domaine, Edition de la somme globale, Edition de la somme pour l'ensemble de la machine, Entrée des valeur sur l'entrée standard (stdin) (idem [v...]). Code retour 0 : Exécution correcte, 1 : Erreur d'accès, 2 : Erreur dans un paramètre. Dynamic Domains for Applications Guide de l'utilisateur 57 Exemples Edition du nom de domaine et de la charge des processeurs 3 à 5 toutes les 10 secondes ddtopd -CD 3-5 -t 10 ddtopd : Daemon started ddtopd : Time between measures : 10.000s Domain Cpus Cpu %Used %Idle %Wait test 3 3 0.00 100.00 0.00 test1 4 4 0.00 100.00 0.00 test2 5 5 0.00 100.00 0.00 Domain test test1 test2 ... Cpus 3 4 5 Cpu 3 4 5 %Used 0.00 0.00 0.00 %Idle 100.00 100.00 100.00 %Wait 0.00 0.00 0.00 Edition de la configuration des nœuds toutes les 2 secondes ddtopd -NC -t 2 ddtopd : Daemon started ddtopd : Time between measures : 2.000s Node Cpus %Cpu %MemU. Distance 0 0-15 0.23 44.05 10,30 1 16-31 0.00 0.34 30,10 Node 0 1 ... Cpus 0-15 16-31 %Cpu 0.09 0.00 %MemU. 44.05 0.34 Distance 10,30 30,10 Edition de la charge globale des processeurs 0 à 7 toutes les secondes ddtopd -C 0-7 -g -t 1 ddtopd : Daemon started ddtopd : Time between measures : 1.000s cpu0 cpu1 cpu2 cpu3 cpu4 cpu5 0.00 1.37 0.00 0.00 0.00 0.00 0.00 0.58 0.00 0.00 0.00 0.00 ... cpu6 0.10 0.58 cpu7 0.00 0.00 Edition globale de la charge des domaine toutes les secondes ddtopd -CD -g -t 1 ddtopd : Daemon started ddtopd : Time between measures : 1.000s default test test1 test2 0.05 0.15 0.00 0.00 0.08 0.05 0.00 0.00 0.05 0.34 0.00 0.00 ... 58 Dynamic Domains for Applications Guide de l'utilisateur Edition dans un fichier des processus et de leurs threads qui contiennent "test1" dans leur commande avec avec ajout du nom de commande ddtopd -PD -s test1 +f cmd -t 1 -h trace.log & tail -f trace.log 06/06/19 17:15:24 ddtopd : Daemon started 06/06/19 17:15:24 ddtopd : Time between measures 06/06/19 17:15:25 Domain Pid Tid %Cpu 06/06/19 17:15:25 test1 25357 25357 84.02 06/06/19 17:15:26 test1 25357 25357 85.03 06/06/19 17:15:27 test1 25357 25357 84.91 06/06/19 17:15:28 test1 25357 25357 85.04 06/06/19 17:15:29 test1 25357 25357 84.93 ... : 1.000s Command test1 test1 test1 test1 test1 Service de contrôle du démon Le service ddtopd permet de contrôler le fonctionnement du démon ddtopd (le démarrer, l'arrêter ou interroger son état). Lors de l'installation du produit le démon ddtopd n'est pas activé. Lancement du démon /etc/init.d/ddtopd start Starting ddtopd OK Etat du démon /etc/init.d/ddtopd status ddtopd is running (pid=21367) since 06/06/20 09:59:47 Arrêt du démon /etc/init.d/ddtopd stop Stopping ddtopd OK Relance du démon (arrêt et lancement) /etc/init.d/ddtopd restart Stopping ddtopd OK Starting ddtopd OK Fichier de configuration du démon Le fichier de configuration définit les paramètres du démon. Au lancement du démon, le fichier de configuration (s'il existe) définit les valeurs par défaut des paramètres du démon. A tout moment (démon arrêté ou en marche), l'utilisateur peut modifier certains paramètres de traitement du démon via le fichier de configuration (changer la période de scrutation, valider ou invalider le traitement) Dynamic Domains for Applications Guide de l'utilisateur 59 Exemple de fichier de configuration cat /var/ddtools/ddtopd.conf ddtopd_enable = 1 ddtopd_pid = 26750 start_time = 1150782757 loop_time = 60.000 Signification des paramètres ddtopd_enable Validation ou non du démon (valeur 0 ou 1; 1 : démon validé), ddtopd_pid Numéro de processus du démon (ne pas modifier), start_time Date de lancement du démon (en secondes depuis 01/01/1970; ne pas modifier), loop_time Période de traitement du démon en secondes (par défaut : 60 secondes), 60 Dynamic Domains for Applications Guide de l'utilisateur 6. Caractéristiques des domaines Paramètres d'un domaine Un domaine est caractérisé par un ensemble de paramètres qui permettent de définir son type (statique ou dynamique), sa taille, sa priorité, etc. Taille du domaine NbMin : NbUsed : NbMax : Nombre de ressources minimales (garanties) du domaine. Nombre de ressources utilisées par le domaine. Nombre de ressources maximales utilisables par le domaine. Priorité du domaine Priority : Priorité dans l'attribution des ressources pour le domaine (1 : plus prioritaire, 255 : moins prioritaire). Seuils du domaine Threshold : Seuil haut de gestion des alarmes et d'ajout de ressources. SharEven : Seuil bas d'autorisation de prise de ressources. Masque des processeurs UsedCpus : Liste des processeurs utilisés par le domaine. MaxCpus : Liste des processeurs utilisables par le domaine. Domaine statique Un domaine est statique lorsque ses paramètres (NbMin et NbMax) ont la même valeur (pas de modification de sa taille). Dynamic Domains for Applications Guide de l'utilisateur 61 Domaine dynamique Un domaine est dynamique lorsque ses paramètres NbMin et NbMax sont différents. Ils permettent une variation du nombre de ses ressources. La gestion de l'aspect dynamique d'un domaine est réalisée par le démon (ddmon) dans les conditions suivantes : • • • • Le niveau de la charge du domaine doit être au dessus de son seuil haut. La taille du domaine (nombre de ressources) doit être inférieure à sa taille maximale (nombre de processeurs utilisés < nombre de processeurs maximum). Un autre domaine moins prioritaire doit pouvoir libérer des ressources (nombre de processeurs utilisés > nombre de processeurs minimum). Un domaine de même priorité ou plus prioritaire dont le niveau de charge est inférieur à son seuil bas, peut libérer des ressources. Domaine 'default' Le domaine 'default' est un domaine comme les autres pour les caractéristiques suivantes : gestion des priorités, gestion des seuils de charge, gestion dynamique ou pas. Il se comporte différemment des autres domaines dans les cas suivants : • • • Lors de l'assignation des tâches, il peut se voir assigner automatiquement les tâches qui ne sont pas prises en compte par les autres domaines. En cas de diminution des ressources d'un domaine (libération d'un processeur), il reçoit l'ensemble des ressources libérées. Si le domaine 'default' a une garantie de ressources minimales, il n'a pas de ressource réservée (un autre domaine peut prendre n'importe quelle ressource du domaine 'default' dans la limite de son minimal garanti). Le domaine 'default' ne peut pas être supprimé via l'interface graphique. 62 Dynamic Domains for Applications Guide de l'utilisateur A. Vérification de l'installation Vérification du domaine 'default' Après l'installation du logiciel "Dynamic Domains", un domaine doit être automatiquement créé (domaine "default"). Ce domaine doit utiliser l'ensemble des processeurs de la machine. Pour vérifier la configuration du domaine "default", faire : ddls Domain NbMin NbUsed NbMax Priority Threshold SharEven UsedCpus Load NbProcs NbThrds default 1 4 4 255 100 33 0-3 0 68 82 Vérification du démon Après l'installation du logiciel "Dynamic Domains", le démon de surveillance "ddmon" doit être en marche. Pour afficher l'état du démon, faire : /etc/init.d/ddmon status ddmon is running (pid=17379) since 06/02/07 07:46:18 Pour afficher le fichier de trace du démon, faire : tail /var/ddtools/ddmon.log 06/06/19 07:46:18 ddmon : Initialization enabled 06/06/19 07:46:18 ddmon : Create domains configuration file /var/ddomains/ddomains 06/06/19 07:46:18 ddmon : Create new domain default 06/06/19 07:46:18 ddmon : Assign tasks to domain default 06/06/19 07:46:18 ddmon : Create filters configuration file /var/ddomains/filters 06/06/19 07:46:18 ddmon : Daemon started 06/06/19 07:46:18 ddmon : Time between measures : 10.000s 06/06/19 07:46:18 ddmon : Filters management started 06/06/19 07:46:18 ddmon : Alarms management started 06/06/19 07:46:18 ddmon : Dynamic management started Dynamic Domains for Applications Guide de l'utilisateur 63 Vérification de l'accès via Webmin La configuration ou l'administration de Dynamic Domains se fait à l'aide de l'outil 'Webmin' (catégorie 'System') via un navigateur (URL : http://<nomhote>:10000 ou https://<nomhote>:10000). • • • • 64 Saisir le nom d'utilisateur "root" et son mot de passe. Cliquer sur "Login" pour valider. Choisir le groupe "System" Cliquer sur l'icône du module "Dynamic Domains" Dynamic Domains for Applications Guide de l'utilisateur • Cliquer sur l'icône "Domains Management" pour vérifier la configuration du domaine "default". Le domaine "default" doit utiliser tous les processeurs de la machine. Aucune action (modification, suppression, etc.) n'est possible sur ce domaine. Avec cet écran, l'utilisateur peut créer des nouveaux domaines (voir chapitre 3 : "Configuration et utilisation en mode Normal" ou chapitre 4 "Configuration et utilisation en mode Expert"). Dynamic Domains for Applications Guide de l'utilisateur 65 66 Dynamic Domains for Applications Guide de l'utilisateur B. Exemple d'utilisation Lancement de processus pour simuler de la charge Il s'agit d'exécuter des programmes qui consomment des ressources processeur à l'aide de l'utilitaire "ddload", faire : ddload -i load_2x45% -t 3600 -l 45 -p 2 & ddload -i load_85% -t 3600 -l 85 & Vérification du fonctionnement des processus de simulation de charges Les processus "load_xx" doivent être assignés au domaine "default" et peuvent utiliser l'un ou l'autre des processeurs de la machine. Pour vérifier l'assignation des processus "load_xx", faire : ddls -s load_ Domain default default default Filter Pid - 18046 - 18047 - 18048 Uid root root root Command load_2x45% load_2x45% load_85% Les processus "load_xx" peuvent changer périodiquement de processeur. Pour vérifier le changement, éventuel, des processeurs utilisés par les processus "load_xx", faire plusieurs fois : ddls -s load_ -f domain,pid,lcpu,cmd Domain Pid C Command default 18046 3 load_2x45% default 18047 2 load_2x45% default 18048 3 load_85% Le paramètre "C" étant le numéro de dernier processeur utilisé (lcpu). Chaque processus "load_xx" consomme des ressources de leur processeur. Pour vérifier la charge processeur des processus "load_xx", faire : ddtop Pid 18046 18047 18048 -P -s load_ +f cmd Tid %Cpu Command 18046 44.49 load_2x45% 18047 44.68 load_2x45% 18048 84.55 load_85% Dynamic Domains for Applications Guide de l'utilisateur 67 Configuration d'un domaine Avec Webmin : System->Dynamic Domains • Cliquer sur "Domains Management" pour configurer un nouveau domaine. o 68 Cliquer sur "Create a new domain" pour créer un nouveau domaine. Dynamic Domains for Applications Guide de l'utilisateur Définir le nom du domaine (Domain Name) exemple : "domain1". Définir le nombre de processeurs réservés pour le domaine (Number Of CPUs to use) exemple : "1". Définir le seuil d'alerte pour le domaine (Load threshold triggering alarm) exemple : "75". Cliquer sur le bouton "Create domain". Le domaine "domain1" est ajouté à la liste des domaines et le domaine "default" n'utilise plus tous les processeurs de la machine. Dynamic Domains for Applications Guide de l'utilisateur 69 Vérification de la configuration du nouveau domaine : ddls Domain NbMin NbUsed NbMax Priority Threshold SharEven UsedCpus Load NbProcs NbThrds default 1 3 4 255 100 33 1-3 53 71 85 domain1 1 1 1 25 75 25 0 0 0 0 Ajout d'un processus au domaine Avec Webmin : System->Dynamic Domains • Cliquer sur "Tasks Assignment" pour ajouter un processus à un domaine. o 70 Cliquer sur "Assign by command" du domaine "domain1" pour ajouter un processus au domaine. Dynamic Domains for Applications Guide de l'utilisateur Choisir la condition "contains" et la valeur "load_2x". Cliquer sur le bouton "Update assignment". Le domaine "domain1" doit être chargé (charge > 75%). o Cliquer sur "View" dans "task" pour le domaine "domain1". Dynamic Domains for Applications Guide de l'utilisateur 71 Les tâches "load_2x45%" doivent être dans le domaine "domain1" et charger le domaine ("Domain Usage" > 75%). o Cliquer sur "Return to Dynamic Domains" pour revenir à l'écran principal. Vérifier que les processus "load_2x45%" sont assignés au domaine "domain1", que le processeur utilisé correspond à celui défini pour le domaine et que le processus "load_85%" est toujours assigné au domaine "default". Pour vérifier l'assignation des processus "load_xx", faire : ddls -s load_ -f domain,pid,lcpu,cmd Domain Pid C Command default 18048 1 load_85% domain1 18046 0 load_2x45% domain1 18047 0 load_2x45% Si le démon "ddmon" est actif, un message d'alarme doit être ajouté au fichier de traces du démon (fichier : /var/ddtools/ddmon.log) Exemple : 06/06/19 08:49:43 ddmon*2 Domain domain1 : Alarm 72 threshold (>75%) Dynamic Domains for Applications Guide de l'utilisateur Ajout d'un processeur à un domaine Avec Webmin : System->Dynamic Domains • Cliquer sur "Domains Management" pour modifier un domaine. o Cliquer sur "Add a cpu" du domaine "domain1" pour ajouter un processeur au domaine. Dynamic Domains for Applications Guide de l'utilisateur 73 Le domaine "domain1" utilise 2 processeurs et n'est plus en alarme. o Cliquer sur "Return to Dynamic Domains" pour revenir à l'écran principal. Vérifier que les processus "load_2x45%" qui sont assignés au domaine "domain1", utilisent l'un ou l'autre des processeurs du domaine. Pour vérifier l'assignation des processus "load_xx", faire : ddls -s load_ -f domain,pid,lcpu,cmd Domain Pid C Command default 18487 3 load_85% domain1 18485 0 load_2x45% domain1 18486 1 load_2x45% 74 Dynamic Domains for Applications Guide de l'utilisateur Modification d'un domaine (passage en domaine dynamique) Par défaut, suite à l'installation du logiciel "Dynamic Domains", l'interface d'exploitation sous webmin est configurée en mode normal (accès simplifié aux fonctionnalités du logiciel). Pour pouvoir configurer des domaines dynamiques, l'interface d'exploitation doit être configurée en mode expert (accès complet aux fonctionnalités du logiciel). Avec : Webmin->System->Dynamic Domains • Cliquer sur "Configuration" pour passer en mode expert. o Cocher la case "Enable advanced mode" pour valider le mode expert. Dynamic Domains for Applications Guide de l'utilisateur 75 o • 76 Cliquer sur le bouton "Apply changes". Cliquer sur "Domains Management" pour modifier un domaine, o Cliquer sur "Edit domain" du domaine "domain1" pour modifier les caractéristiques du domaine. Dynamic Domains for Applications Guide de l'utilisateur Cliquer sur le type de domaine "Dynamic". Modifier le nombre de processeurs minimum du domaine (Minimum number of usable CPUs) exemple : "1". Modifier le nombre de processeurs maximum du domaine (Maximum number of usable CPUs) exemple : "4". Cliquer sur le bouton "Apply changes". Dynamic Domains for Applications Guide de l'utilisateur 77 Le domaine "domain1" est un domaine dynamique. Il utilise un seul processeur mais, comme la charge du domaine est supérieure à son seuil haut (seuil d'alarme), le démon doit lui ajouter automatiquement des ressources (ajout d'un nouveau processeur au domaine "domain1"). 78 o Cliquer sur "Recharger la page" pour vérifier l'attribution automatique d'un processeur au domaine "domain1". o Cliquer sur "Return to Dynamic Domains" pour revenir à l'écran principal. Dynamic Domains for Applications Guide de l'utilisateur Vérification de l'ajout d'une ressource via l'interface commande (nombre de processeurs utilisés = 2), faire : ddls Domain NbMin NbUsed NbMax Priority Threshold SharEven UsedCpus Load NbProcs NbThrds default 1 2 4 255 100 33 2-3 42 69 83 domain1 1 2 4 25 75 25 0-1 44 2 2 Le domaine "domain1" n'étant plus en alarme, le démon ne lui ajoute plus de ressources supplémentaires. Pour ajouter une ressource (un processeur) au domaine "domain1" via l'interface commande, faire : ddchg domain1 --add 1 Vérifier avec : ddls Domain NbMin NbUsed NbMax Priority Threshold SharEven UsedCpus Load NbProcs NbThrds default 1 1 4 255 100 33 3 90 69 83 domain1 1 3 4 25 75 25 0-2 31 2 2 La charge des processus du domaine "domain1" est mal répartie. Pour vérifier la répartition de la charge sur les processeurs du domaine, faire : ddtop -CD Domain default domain1 domain1 domain1 Cpus 3 0 1 2 Cpu 3 0 1 2 %Used %Idle 87.04 12.96 43.90 56.10 38.05 61.95 0.00 100.00 %Wait 0.00 0.00 0.00 0.00 Dans cet exemple, le processeur 2 du domaine "domain1" n'est pas utilisé. Pour limiter les ressources du domaine au minimum nécessaire, il suffit, par exemple, d'attribuer le minimum de ressources au domaine et le démon ajoutera, éventuellement, des nouvelles ressources en fonction de la charge du domaine. Attribution du minimum de ressources (domaine "domain1" : Nbused=1) : ddchg domain1 1 Après traitement, le démon doit ajouter un processeur au domaine "domain1" : ddls Domain NbMin NbUsed NbMax Priority Threshold SharEven UsedCpus Load NbProcs NbThrds default 1 2 4 255 100 33 2-3 42 69 83 domain1 1 2 4 25 75 25 0-1 36 2 2 Dynamic Domains for Applications Guide de l'utilisateur 79 Retour au mode normal et suppression du domaine "domain1" Avec : Webmin->System->Dynamic Domains • Cliquer sur "Configuration" pour revenir au mode normal. o Décocher la case "Enable advanced mode" pour invalider le mode expert. o Cliquer sur le bouton "Apply changes". • Cliquer sur "Tasks Assignment" pour ajouter un processus à un domaine. o Cliquer sur "Assign by command" du domaine "domain1" pour supprimer l'assignation des tâches. o o 80 Cocher la case "Delete matching string". Cliquer sur "Update assignment". • Cliquer sur "Return to Dynamic Domains" pour revenir à l'écran principal. • Cliquer sur "Domains Management" pour supprimer le domaine "domain1". o Cliquer sur "Delete" et valider l'action. • Cliquer sur "Return to Dynamic Domains" pour revenir à l'écran principal. Dynamic Domains for Applications Guide de l'utilisateur C. Simulation des domaines dynamiques Dynamic Domains for Applications Guide de l'utilisateur 81 82 Dynamic Domains for Applications Guide de l'utilisateur Dynamic Domains for Applications Guide de l'utilisateur 83 84 Dynamic Domains for Applications Guide de l'utilisateur Index A afficher la charge des domaines en mode commande afficher la configuration des domaines en mode commande afficher les paramètres afficher les tâches assignées à un domaine ajouter des tâches à un domaine mode 'Expert' mode 'Normal' 49 40 52 16 23 13 architecture 2 assigner des tâches en mode commande 34, 50 assigner des utilisateurs 14 assigner par commande 15 assigner une tâche par filtres multicritères 26 assigner une tâche par numéro de processus 25 C commandes 29 commandes ddad ddchg ddflt ddload ddls ddmon ddrm ddstat ddtask ddtop ddtopd créer un domaine créer un domaine en mode commande 61 62 21, 62 simulation 81 domaine statique dynamic domains 61 1 E écran d'accueil éditer les paramètres exemple d'utilisation 7 56 67 F filtres multicritères filtres multicritères 19 7 I 9 30 D ddad ddchg ddflt 38 40 42 47 49 50 52 56 42 paramètres domaine 'default domaine dynamique domaine dynamique 30 32 34 38 40 42 47 49 50 52 56 configuration mode 'Expert' mode 'Normal' ddload ddls ddmon ddrm ddstat ddtask ddtop ddtopd démon de surveillance domaine 30 32 34 26, 36 invalider modifier 28 27 G gérer un domaine mode 'Expert' mode 'Normal' gestion dynamique d'un domaine glossaire installation installation 19 8 21 85 5 vérification 63 invalider un filtre 28 L lancer une commande dans un domaine Dynamic Domains for Applications Guide de l'utilisateur 24 85 M mode 'Expert' 17, 19 mode 'Normal' 7 modifier la configuration d'un domaine 20 modifier le fonctionnement de l'interface 17 modifier les caractéristiques d'un domaine en mode commande 32 modifier un domaine 11 modifier un filtre 27 simuler la charge d'un domaine en mode commande supprimer des tâches à un domaine mode 'Expert' mode 'Normal' supprimer un domaine en mode commande 86 47 utilisation exemple mode 'Expert' mode 'Normal' 61 67 19 7 V S simulation des domaines dynamiques 23 13 U P paramètres d'un domaine 38 81 vérification de l'installation visualiser l'implantation d'un domaine 63 12 Dynamic Domains for Applications Guide de l'utilisateur Vos remarques sur ce document Titre : NOVASCALE Dynamic Domains for Applications Guide de l'utilisateur Nº Référence : 86 F2 63ER 01 Date: Septembre 2006 ERREURS DETECTEES AMELIORATIONS SUGGEREES Vos remarques et suggestions seront examinées attentivement. Si vous désirez une réponse écrite, veuillez indiquer ciaprès votre adresse postale complète. NOM : DOCIETE : ADRESSE : Remettez cet imprimé à un responsable BULL ou envoyezle directement à : Bull - Documentation Dept. 1 Rue de Provence BP 208 38432 ECHIROLLES CEDEX FRANCE info@frec.bull.fr Date : Bon de commande de documents techniques Pour commander des documents techniques, remplissez une copie de ce formulaire et envoyezla à : BULL CEDOC 357 AVENUE PATTON B.P.20845 49008 ANGERS CEDEX 01 FRANCE Reference CEDOC _ _ _ _ _ _ _ _ _ [ _ _ ] _ _ _ _ _ _ _ _ _ [ _ _ ] _ _ _ _ _ _ _ _ _ [ _ _ ] _ _ _ _ _ _ _ _ _ [ _ _ ] _ _ _ _ _ _ _ _ _ [ _ _ ] _ _ _ _ _ _ _ _ _ [ _ _ ] _ _ _ _ _ _ _ _ _ [ _ _ ] _ _ _ _ _ _ _ _ _ [ _ _ ] _ _ _ _ _ _ _ _ _ [ _ _ ] _ _ _ _ _ _ _ _ _ [ _ _ ] _ _ _ _ _ _ _ _ _ [ _ _ ] _ _ _ _ _ _ _ _ _ [ _ _ ] [ _ _ ] Téléphone: FAX: Couriel: +33 (0) 2 41 73 72 66 +33 (0) 2 41 73 70 66 srv.Duplicopy@bull.net Désignation Qte' : La révision la plus récente sera fournie si aucun numéro de révision n'est indiqué. NOM : Date : SOCIETE : ADRESSE : TELEPHONE : COURIEL : Pour les Filiales Bull : Identification : Pour les Clients Affiliés Bull : Code Client : Pour les Clients Internes Bull : Section Budgétaire : For les autres : Merci de demander à votre contact Bull. FAX : BULL CEDOC 357 AVENUE PATTON B.P.20845 49008 ANGERS CEDEX 01 FRANCE REFERENCE 86 F2 63ER 01