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

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 (- N une famille de variables aléatoires indépendantes et identiquement distribuées selon une loi exponentielle de paramètre r. On note

       sum n
Dk,n =    (Tk,i + r), pour k = 1,...,N,i  (-  N
      i=1

et, pour t  (- [0,  oo [,

nk(t) = sup{n > 0 : Dk,n < t}.

  1. Interpréter nk(D).
  2. Justifier l’inégalité nk(D) < Dr-.
  3. 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 > E(nk(D)).
  4. Les variables aléatoires nk(D) et nk(D) + 1 sont-elles des temps d’arrêt par rapport à la suite de tribus (Fk,n)n (- NFk,n = s(Tk,1, ..., Tk,n), pour k = 1, ..., N ?
  5. Montrer que E(Dnk(D)+1) = (1r + r)E(nk(D) + 1).
  6. En déduire que R > -D--
 1r+r - 1.
  7. Soit, pour t > 0, Ok(t) = 1 [0,r](t - Dk,nk(t)). Interpréter Ok(t). Dessiner un exemple de trajectoire typique du processus Ok(t) en fonction de t.
  8. Définir O(t) =  sum k = 1NOk(t) et
    m = E[c({t  (-  [0,D] : O(t) > s})],

    c 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




  1. Déterminer r tel que (1 + Nombre)(1r + r) = D.
  2. Écrire un sous-programme de type subroutine qui permette de générer une variable aléatoire de loi exponentielle de paramètre r.
  3. 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.
  4. Comparer R avec Nombre.
  5. 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.