8 Estimation de la charge d’un serveur informatique
8.1 Motivation
Lorsque l’équipement de cette salle de travaux pratiques a été décidé en 1995, les responsables de l’Institut ont
envisagé deux options : soit d’équiper la salle d’un gros serveur de calcul et de N terminaux soit
de l’équiper d’un petit serveur de fichiers et de N stations indépendantes. Le choix final a reposé
sur plusieurs facteurs tels que coût d’acquisition, maintenance, fiabilité, disponibilité, efficacité
calculatoire, temps de réponse du serveur, . . . . Afin d’évaluer ce dernier facteur pour l’option d’un gros
serveur de calcul, on a procédé à une simulation de la charge du serveur lors d’une séance de travaux
pratiques.
8.2 Modélisation
Dans la suite de cet exercice, on utilisera une version simplifiée du modèle initialement étudié qui n’intègre pas
tous les paramètres qui ont été pris en compte dans l’étude réaliste. Les hypothèses de base de ce modèle
simplifié sont que
- les requêtes de base occupent l’unité centrale du serveur pour une durée constante r — dans l’étude
initiale, r était une variable aléatoire —,
- chaque étudiant lance des requêtes aux instants aléatoires T1, (T1+r)+T2, (T1+r)+(T2+r)+T3, ...,
où la famille (Ti) est une famille indépendante de même loi exponentielle de paramètre ,
- chaque séance de travaux pratiques dure D secondes.
On veut estimer la moyenne de la longueur totale des périodes durant lesquelles l’occupation du serveur dépasse
un certain seuil de charge s.
Avant de commencer la partie expérimentale de la simulation, il faut lire ce qui suit. Cependant, cette partie de la
modélisation peut être traitée de manière théorique, loin des ordinateurs.
Soit (Tk,i )k=1,...,N,i une famille de variables aléatoires indépendantes et identiquement distribuées selon une loi
exponentielle de paramètre . On note
et, pour t [0, [,
- Interpréter k(D).
- Justifier l’inégalité k(D) < .
- Soit R l’espérance du nombre total des requêtes lancées par un étudiant durant la séance. Justifier
l’inégalité R > (k(D)).
- Les variables aléatoires k(D) et k(D) + 1 sont-elles des temps d’arrêt par rapport à la suite de
tribus (Fk,n)n où Fk,n = (Tk,1, ..., Tk,n), pour k = 1, ..., N ?
- Montrer que (Dk(D)+1) = ( + r)(k(D) + 1).
- En déduire que R > - 1.
- Soit, pour t > 0, Ok(t) = 1 [0,r](t - Dk,k(t)). Interpréter Ok(t). Dessiner un exemple de trajectoire
typique du processus Ok(t) en fonction de t.
- Définir O(t) =
k = 1NOk(t) et
où est la mesure de Lebesgue sur [0, D]. Interpéter m.
8.3 Simulation
On utilisera les données numériques suivantes :
|
|
|
|
D (en secondes) | 3600 |
r (en secondes) | 30 |
N | 24 |
s | 8 |
Nombre | 20 |
|
|
|
|
|
- Déterminer tel que (1 + Nombre)( + r) = D.
- Écrire un sous-programme de type subroutine qui permette de générer une variable aléatoire de loi
exponentielle de paramètre .
- Effectuer une simulation portant sur MC boucles Monte-Carlo permettant d’estimer le nombre moyen,
R, de requêtes lancées par un étudiant durant la séance. Valeurs suggerées de MC: 100, 1000 et
10000.
- Comparer R avec Nombre.
- Dans la suite, on fera l’hypothèse simplificatrice additionnelle que le test d’occupation du serveur s’effectue
uniquement à des instants discrétisés, c’est-à-dire on examinera le processus O(t) aux instants t = 0, ..., D.
On utilisera un tableau Tab à une dimension pour estimer le nombre Tab(t) de requêtes simultanées
demandées au temps t, pour t = 0, ..., D. Déclarer et initialiser ce tableau par les instructions
suivantes :
INTEGER Tab(0:3599)
DATA Tab/3600*0/
|
Effectuer une simulation portant sur MC boucles Monte-Carlo permettant d’estimer m. Valeurs suggerées
de MC: 100 et 1000.