Guide d'administration du système Solaris Resource Manager 1.0 pour Solaris 2.6 (Édition plateforme SPARC)

Lien avec les autres fonctions de contrôle des ressources de Solaris

L'environnement d'exploitation Solaris comporte plusieurs autres fonctions permettant de contrôler certains types de ressources. Certaines fonctions telles que l'ordonnancement en temps réel, nice(1), les quotas et les groupes de processeurs, font partie du système d'exploitation Solaris de base.

Bandwidth Allocator est un progiciel offert en option, les domaines de système dynamiques sont des fonctions de la plateforme du système Sun Enterprise 10000, et la reconfiguration dynamique est une fonction de la plateforme du système Sun Enterprise.

Toutes ces composantes permettent une certaine gestion des ressources, mais elles diffèrent des fonctions de Solaris Resource Manager.

Le système d'exploitation Solaris standard utilise la classe d'ordonnancement de partage de temps (TS) pour la plupart des tâches ordinaires. Cependant, il offre également l'ordonnancement en temps réel (RT) aux utilisateurs détenant des privilèges suffisants. La classe d'ordonnancement RT met en oeuvre une politique d'ordonnancement très différente (et intentionnellement très pondérée) afin d'assurer que des charges de travail particulières aient immédiatement accès au processeur. Solaris Resource Manager peut coexister sur le même système que la classe d'ordonnancement RT, mais n'a alors aucun contrôle sur les processus exécutés dans la classe RT. L'ordonnanceur à partage équitable de Solaris Resource Manager peut gérer les ressources de l'UC uniquement pour les processus exécutés dans la classe RT. Par exemple, dans le cas d'un système à 4 processeurs, un processus à une unité d'exécution peut utiliser toutes les ressources d'un processeur; c'est exactement ce qui se produit si le processus demandeur est lié à l'UC. Si ce système exécute aussi Solaris Resource Manager, les processus utilisateur ordinaires vont se disputer les 3 UC non accaparés par le processus en temps réel. (Il faut noter que les processus RT n'utilisent pas nécessairement l'UC continuellement. Lorsque l'UC se libère, Solaris Resource Manager commande les 4 processeurs.)

La commande nice(1) permet aux utilisateurs de définir leur priorité d'exécution. Sans privilèges de superutilisateur, cette commande ne permet à l'utilisateur que de diminuer sa priorité. Dans certains cas, cette commande peut s'avérer utile (par exemple lorsqu'un utilisateur lance un travail par lots à basse priorité dans sa session de connexion interactive), mais elle exige la coopération de l'utilisateur. Solaris Resource Manager met en oeuvre les politiques administratives même sans la coopération de l'utilisateur.

Les systèmes de fichiers Solaris sont dotés de mécanismes de quota permettant à l'administrateur de limiter l'usage du disque par des utilisateurs individuels. Cette fonctionnalité est indépendante de Solaris Resource Manager.

Les groupes de processeurs ont été instaurés dans Solaris 2.6. Cette caractéristique permet à l'administrateur de diviser les systèmes multiprocesseurs en groupes logiques, et aux utilisateurs de lancer des processus dans ces groupes. L'avantage de cette méthode est que les charges de travail exécutées dans un groupe de processeurs sont protégées contre les actions de l'UC effectuées dans tout autre groupe de processeurs. D'une certaine manière, cette méthode est comparable à celle utilisée par Solaris Resource Manager, mais les deux fonctions ont des bases complètement différentes. Les groupes de processeurs ne contrôlent que l'activité de l'UC. Le contrôle s'effectue à un niveau matériel bas, car les processeurs ne peuvent appartenir qu'à un groupe de processeurs à la fois. Particulièrement dans le cas des petits systèmes, la granularité peut être très élevée. Dans un système à 4 processeurs, la ressource minimale pouvant être attribuée équivaut à 25 % du système.

Solaris Resource Manager exerce toutefois un contrôle beaucoup plus subtil ; en effet, chaque utilisateur dispose d'une part du système. Les parts peuvent être distribuées arbitrairement avec une fine granularité, et l'ordonnanceur attribue les ressources en conséquence. Par exemple, si 50 parts sont accordées et qu'un utilisateur en détient 40, cet utilisateur disposera de 40 / 50 = 80 % de la ressource. De même, si un total de 67 parts est accordé, un utilisateur en possédant 57 disposera de 85 % de la ressource. En outre, Solaris Resource Manager peut contrôler d'autres ressources que l'UC.

Sun Enterprise 10000 est doté d'une caractéristique appelée domaines de systèmes dynamiques, qui permet à l'administrateur de diviser logiquement une baie système en un ou plusieurs systèmes indépendants exécutant chacun sa propre copie de Solaris. Par exemple, un système comportant 32 UC réparties sur 8 cartes système pourrait être exploité comme un système à 16 UC et deux autres systèmes à 8 UC chacun. Avec une telle configuration, trois copies de Solaris seraient exécutées. Les domaines de systèmes dynamiques permettent également l'entrée et la sortie contrôlées de ressources dans chaque image de Solaris, créant ainsi un système à granularité assez élevée de gestion des ressources physiques. (L'unité minimale d'attribution inter-domaine est une carte système entière.) Solaris Resource Manager est semblable aux domaines de systèmes dynamiques en ce sens qu'il fournit à l'administrateur des mécanismes d'attribution des ressources, mais de manière tout à fait différente. Solaris Resource Manager fonctionne avec une seule instance de Solaris, et permet de gérer les ressources du système avec une haute granularité. Les domaines de systèmes dynamiques divisent une même unité matérielle en instances multiples de Solaris ; ils fournissent des outils de gestion du transfert des ressources entre instances de Solaris exécutées dans le même bâti Sun Enterprise 10000. Solaris Resource Manager est perpendiculaire aux domaines de systèmes dynamiques et peut être utilisé conjointement avec eux. Solaris Resource Manager peut tourner sous chaque instance de Solaris dans un système Sun Enterprise 10000.

La caractéristique de reconfiguration dynamique des serveurs Sun Enterprise permet aux utilisateurs d'ajouter et de supprimer dynamiquement des cartes système contenant des ressources matérielles telles que des processeurs, de la mémoire et des périphériques d'E-S. La reconfiguration dynamique de la mémoire n'a aucun effet sur la vérification de limite de mémoire effectuée par Solaris Resource Manager.

Le progiciel optionnel Bandwidth Allocator fonctionne conjointement avec le noyau Solaris afin de mettre en oeuvre les limites de consommation de largeur de bande réseau. Bandwidth Allocator est un logiciel effectuant la gestion d'une classe de ressources différente. Solaris Resource Manager et Bandwidth Allocator ont des domaines de gestion différents : Solaris Resource Manager fonctionne sur une base "par utilisateur" ou "par application", tandis que Bandwidth Allocator gère sur une base "par port", "par service" ou "par protocole".