RICM4: Évaluation de Performance

Table of Contents

Sitemap

---> misc
| ---> 2016
| ---> 2015
| ---> 2014
| ---> 2013
| ---> 2012
`--> Agenda

Informations Générales

Jean-Marc Vincent est chargé des cours et Arnaud Legrand s'occupe des TDs.

Le planning avec les salles de cours est disponible (pour les cours à Polytech le jeudi de 8h00 à 9h30) et (pour les TD à l'UJF le vendredi de 11h30 à 13h00).

La page de l'an dernier était maintenue par Florence Perronnin et est disponible ici.

Programme du cours

Semaine Cours (Jeudi, 8h00, voir ADE) TD (Vendredi, 11:30, F204 en général mais vérifier sur ADE)
3 Intro Mesurer les effets du cache. Se poser des questions sur comment faire (que mesurer? comment ? quel est le modèle sous-jacent ?
4 Analyse de donnée, corrélation Correlation et réduction de variance
5 Régression linéaire Journée de la neige…
6 Files d'attente simple (modèle de contention, nomenclature de Kendall, condition de stabilité, Little) Simulation simple file FIFO + analyse équationnelle
7 Simulation à évènements discrets (noyau de simulation, gestion d'évènements, tables, structures de données) Simulation file FIFO (2)
8 Modèles (1) : automates et chaînes de Markov Correction de la FIFO. Simulation file LIFO (2) + Compte rendu et analyse conséquente
9 Modèles (2) : automates et chaînes de Markov Politique de gestion de cache (simulation de chaînes de Markov en temps discret). Correction.
10 Vacances Vacances
11 Modèle de traffic, processus de Poisson Aloha
12 Files d'attente M/M. Calcul des propriétés. Processus de Markov en temps continu. Un chapitre sur le sujet à toute fin utile. Files d'attente. En bonus, un aide mémoire sur la M/M/1.
13 Quick. Système avec perte et M/GI/infty. aide mémoire sur la M/M/K/K.
14   Révisions

Devoirs

DM1: Simulation de la file LIFO

Voici l'énoncé du devoir. Le travail est à effectuer en binôme et à déposer sur rpubs pour le 13 mars, minuit heure de Paris. Et maintenant que la date est passée et que tout le monde m'a rendu quelque chose, voici ma correction: http://www.rpubs.com/alegrand/14566

Guo Kai & Zhang Zhengmeng http://rpubs.com/GUOKAI/14280

http://rstudio-pubs-static.s3.amazonaws.com/14280_78b0cc1cacd14963b4e2e848cd84cfa3.html

Les choses qui ne vont pas:

  • Des simulations avec 100 tâches. Est-ce suffisant ? Pourquoi 100 ?
  • Aucune analyse!
  • Vous ne répondez pas aux questions posées dans le DM.
  • Vous n'avez implémenté qu'une des trois politiques avec préemption
  • Dans votre code, vous avez confondu temps de service et temps d'inter arrivée.

David Levayer http://rpubs.com/levayerd/14027

http://rstudio-pubs-static.s3.amazonaws.com/14027_65685253b81b42cf8b7944d181803351.html

Les choses à améliorer:

  • Attention, dans tes calculs de CI, tu mets juste sd(R)/sqrt(length(R)) alors qu'il faudrait multiplier ce nombre par 2 pour avoir un intervalle de confiance à 95%. Comme on l'a vu, appliquer cette formule telle quel pose déjà quelques problèmes alors autant ne pas la rétrécir encore plus qu'elle ne devrait.
  • Ton code est pas mal mais comme tu vois, il y a quand même des redondances. Je t'invite à regarder comment j'ai procédé.
  • Dans tes graphes, tu aurais du faire en sorte que les abcisses soient entre 0 et 1 car ça correspond aux taux d'arrivées qu'on s'attend à pouvoir injecter.
  • Dans Q2, c'est curieux que tu vois une différence si marquée entre reprise, reinit, et non-préemptif.
  • Dans Q2, bonne idée de tracer avec un pas plus fin mais dommage que tu n'aies pas fixé une valeur maximum pour les ordonnées car du coup, on n'y voit rien et ça aurait été bien de mieux distinguer les différences éventuelles entre reprise, reinit, et non-préemptif. De manière générale, quand tu montres une courbe, il vaut mieux que tu tronques systématiquement en expliquant une bonne fois pour toute au début pourquoi tu l'as fait car sinon, on récupère un tas de courbes non analysables et non comparables les unes avec les autres…
  • Q3: dommage que tu ais fixé la politique et fait varier les lois puisque ce qui nous intéressait c'était les différences entre les politiques.
  • Q3.A: Si gamma(4,0.25) n'apparait pas c'est parcequ'en mode sans préemption, dès qu'il y une grosse tâche, tout le monde attend derrière elle et se tape un temps de réponse monstrueux… Pas d'erreur en fait mais il faut que tu essaies d'interpréter ce qu'il peut bien se passer. Note que puisque tu as moyen dans ta simulation de savoir exactement quand chacune des tâches est exécutée et qu'il est donc facile de faire une "visualisation" de ce qu'il se passe avec des geom_rect() par exemple. Un réflexe à avoir pour une prochaine fois, ne pas se contenter de statistiques mais essayer de regarder un peu plus en détail l'exécution (et pas à coup de print()).
  • Q3.B: C'est curieux que gamma(1,1) n'ait pas explosé pour le taux d'arrivée à 1 puisque c'est équivalent à exp(1).

Paul Labat et Rodolphe Fréby http://rpubs.com/FrebyR/14171

http://rstudio-pubs-static.s3.amazonaws.com/14171_440c74d0c44b426ba033ede349de8716.html

Excellent travail. Votre code aurait pu être un peu plus factorisé et plus compact mais à partir du moment où ça marche… :) Le seul truc un peu dommage, c'est d'avoir limité les ordonnées tantôt à 30, tantôt à 20, tantôt à 6. Plus vos graphes ont les mêmes conventions, plus ils sont aisément comparables et moins il y a de risque de se tromper.

Quoi qu'il en soit, vous avez cherché à comprendre vos résultats et vous avez compris pourquoi le restart avec nouveau temps de service était plus intéressant quand la variance est très importante…

Jérôme Barbier et Augustin Husson http://rpubs.com/jerome/14317

http://rstudio-pubs-static.s3.amazonaws.com/14317_6265158b72424910887531618c7f6f9e.html

Très bon travail, explications très claires et courbes très lissées grâce à un nombre de simulation plus élevé que chez les autres.

  • Bonne idée de faire un premier graphe avec une simulation courte puis un second graphe zoomé avec une simulation plus longue. Ceci dit, idéalement, vous auriez mieux fait de faire moins de valeurs de lambda et de ne pas calculer les valeurs de lambda pour lesquelles le temps de réponse aurait été clairement trop grand…
  • Dommage que pour le preemptifRedemarrage_tronquée, vous ayez limité à 50 plutôt qu'à 10 comme vous faisiez avant.
  • La dernière question où vous comparez les meilleurs lois des différents modes préemptifs est un peu étrange.
  • Un peu trop de description et pas assez d'analyse. Dommage que vous n'ayez pas cherché à m'expliquer pourquoi les politiques avaient le même comportement ou étaient meilleures que d'autres.

Lionel Boey et Guo Tianming http://rpubs.com/umpri5450/14382

http://rstudio-pubs-static.s3.amazonaws.com/14382_04c8657e1ce746449fa41f81164f6aae.html
  • Dans la fonction Nonpree, il y a 10 lignes en double!
  • Dans le premier graphe, ça ne vous surprend pas que le temps de réponse pour la loi uniforme soit inférieure à 1 ? J'ai pourtant expliqué en TD que ça n'avait aucun sens et d'où venait cette erreur.
  • Pareil, j'ai expliqué en TD (et dans le corrigé du DM précédent) pourquoi ça n'avait aucun sens de tenter d'évaluer des temps de réponse top élevés. Des ordonnées entre 0 et 300 ou 0 et 600, ça ne veut rien dire.
  • Pourquoi y a-t-il des set.seed(10) ou des set.seed(15) ici et là dans votre code? Ça biaise vos analyses.
  • Vous n'avez pas implémenté toutes les politiques.
  • Regardez le corrigé…

El Hadji Malick Fall & Adji Ndèye Ndaté SAMBE http://rpubs.com/falle/14410

http://rstudio-pubs-static.s3.amazonaws.com/14410_f8653464b529492a9bd401de1c2d3e06.html
  • Des explications confuses…
  • Pourquoi des simulations tantôt à 1000, 2000, ou 10000 tâches ? La variance est souvent un peu trop élevée pour que vous puissiez vraiment séparer les performances avec 1000 ou 2000 tâches.
  • J'ai expliqué en TD (et dans le corrigé du DM précédent) pourquoi ça n'avait aucun sens de tenter d'évaluer des temps de réponse top élevés. Des ordonnées entre 0 et 30, ça ne veut rien dire. Et quand les temps ne sont pas trop élevés, vous auriez du fixer le départ des ordonnées à 0 afin d'avoir la même lecture des différents graphiques.
  • Vous n'avez pas implémenté toutes les politiques.

FIFO sans préemption

El Hadji Malick Fall & Adji Ndèye Ndaté SAMBE http://rpubs.com/falle/13517

À propos de l'utilisation de R

Dans ce cours, nous illustrerons une fois de plus l'intégralité de nos exemples et de nos études avec R. Je vous invite à regarder la section de la page du cours Probabilité et Simulations et qui était dédiée à ce sujet

Bibliographie