Chapitre III : Fiabilité et tolérance aux pannes 1 Taux d'échec 2 Temps moyen entre échecs 3 Maintenabilité 4 Disponibilité 5 Systèmes série et parallèle Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 1 Motivation Constat : • les systèmes numériques deviennent de plus en plus complexes • Il est presque impossible de ne peut avoir de pannes dans le système • Importance de la fiabilité aussi bien pour le concepteur que l’utilisateur Définition : Fiabilité est la probabilité pour qu'un système fonctionne correctement sans pannes (Reliability en anglais) Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 2 Augmentation de la fiabilité La fiabilité peut être augmentée en : • Utilisant des composants de haute qualité • Appliquant des procédures de contrôle de qualité très strictes pendant les phases de fabrication et d’assemblage Ces mesures augmentent le coût de façon très significative Approche alternative : • Utilisation de composants standard • Incorporation d'une redondance pour masquer les effets des composants défectueusx Tolérance aux pannes Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 3 Fiabilité Considérons la dégradation d'un système comprenant N composants identiques sous certaines conditions (température, humidité, etc) Soient F(t) le nombre de composants défectueux au temps t S(t) le nombre de composants fonctionnant correctement au temps t On a F(t) + S(t) = N La fiabilité temporelle est R(t) = S(t)/N Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 4 Taux d’échec (1/2) Définition : le taux d’échec est le nombre de composants défectueux par unité de temps Z(t) = 1/S(t) * d(F(t)/dt Z(t) P1 P2 P3 l temps Cycle de vie : P1 (début de vie), P2 (vie utile) et P3 (fin de vie) Pendant la vie utile le taux d’échec est constant (l) Z(t) = l = 1/S(t) * dF(t)/dt = -1/S(t) * dS(t)/dt => dS(t)/S(t) = -l dt Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 5 Taux d’échec (2/2) En intégrant on trouve log S(t) = -lt + c S(t) = e-lt + c et R(t) =1/N * e-lt + c Or on sait que R(0) = 1 R(t) = e-lt Généralement est exprimé en pourcentage d'échecs par 1000 heures ou 1 heure. Si lt est petit alors : R(t) = 1 - t Exercice : Calculer le taux d’échec d’un système contenant k types de composants dont chacun a un taux d'échec li (1 ≤ i ≤ k) Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 6 Temps moyen entre deux échecs Temps moyen entre deux échecs (MTBF : Mean Time Between Failures) MTBF = R(t) dt 0 si R(t) = e-lt alors MTBF = 0 [ ] e-lt dt = - 1/l e-lt = 1/l 0 Exercice 1: montrer que le MTBF d’un système composé de N = 4000 composants dont le taux d’échec Z(t) = 0.02 % par 1000 heures est de 1250 heures. Exercice 2 : La première génération d’ordinateurs se composaient de 10 000 valves ; chacune avec 0,05 % par1000 heures. Quelle est la période pour avoir une fiabilité de 99% . Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 7 Maintenabilité Maintenabilité M(t) = probabilité qu'un système en panne soit réparé. Soient m = taux de réparation et MTTR:Mean Time To Repair (prédeterminés) m = 1 / MTTR M(t) = 1 - e-mt = 1 - e-t/MTTR Le temps de réparation est composé de : Signalisation de la panne à l’administrateur Détection du composant défectueux et son isolation Remplacement du composant défectueux Vérification que la panne a été réparée et que le système est opérationnel Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 8 Disponibilité Disponibilité = probabilité qu’un système fonctionne selon des prévisions à tout moment de la période de fonctionnement Disponibilité = tF /(tF + tP) tF : temps de fonctionnement du système tP : temps de la panne du système tP = nombre d‘échecs * MTTR = tF * l * MTTR donc Disponibilité = 1 / (1 + l*MTTR) or l = 1 / MTBF Par conséquent Disponibilité = MTBF /(MTBF + MTTR) Remarque : si MTTR est réduit alors Disponibilité augmente Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 9 Système série et parallèle La fiabilité d'un système peut être obtenue en fonction des fiabilités des soussystèmes qui le composent Deux cas limites de systèmes : Système série : pour que le système fonctionne, il faut que tous les soussystèmes fonctionnent (en panne si un sous-système est en panne) Système parallèle : pour que le système fonctionne, il suffit qu'un soussystème fonctionne (en panne si tous les sous-systèmes sont en panne) Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 10 Système série 1 2 …. N Rsys = P1<i<N Ri si Ri = e-lt alors lsys = S1<i<N li si li = l alors Ri = R, Rsys = e-Nlt = RN et MTBF = 1/ (Nl) Exemple : Si chaque sous-système a une fiabilité de 99% après 1 au alors un système composé de 10 sous-systèmes aura une fiabilité de 0.9910 0.9. Remarque : une haute fiabilité ne peut être achevée que si les sous-systèmes admettant de hautes fiabilités. Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 11 Système parallèle 1 2 Rsys = 1 - P1<i<N (1 - Ri) …. N si Ri = R alors Rsys = 1 – (1 – R)N Exercice 1 : Calculer la fiabilité d’un système composé de 10 sous-systèmes redondants où chacun a une fiabilité de 75%. Exercice 2 : Montrer que le MTBF d’un système // composé de N soussystèmes est (S1<i<N 1/i) * MTBF d’un seul système. Considérer le cas où N=2. Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 12 Système série et parallèle En général, un système est composé d’une combinaison de sous-systèmes série et parallèle Exercice : Considérons les systèmes (1) et (2) composés des processeurs A et C et des mémoires B et D ayant les fiabilités RA, RB, RC et RD. a) Calculer les fiabilités R1 et R2 des systèmes (1) et (2). b) Calculer R1 et R2 en supposant que RA= RB = RC = RD = R c) Comparer R1 et R2 A B A B C D C D (1) Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 (2) 13 Chapitre IV Simulation 1 Introduction 2 Applications 3 Modèles de simulation 4 Méthodes de simulation 5 Simulation d’un système client/serveur Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 14 Introduction Définition : La simulation est une méthodologie flexible permettant l’analyse du comportement d’une activité existante ou éventuelle. On parle d’un système sous étude. Exemples : • nouveau produit • ligne d’assemblage • … Intérêt : la simulation et l’analyse des résultats permettent • meilleure compression du fonctionnement du système • estimation du comportement du système lorsqu’il change • éclaircissement d’une incertitude du système ou de son environnement. Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 15 Applications de simulation La simulation est une méthode largement répondue par exemples : • Emprunt bancaire (mensualités et durée des remboursements) • Opportunité du forage d’un puits de pétrole ou de gaz naturel • Evaluation de l’impact environnemental d’une nouvelle autoroute ou usine industrielle • Détermination des niveaux de stock dépendamment de la fluctuation de la demande dans les magasins de ventes • Prédiction des ventes et besoins de production d’un nouveau produit • CAO des circuits intégrés (édition, transformation, vérification,…) • Surréservation (overbooking) d’un transporteur aérien • Risque d’inondation suite à la rupture d’un barrage • Prévision météorologique • Trajectoire d’une sonde (recherche spatiale) Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 16 Modèles de simulation Objectif : Assimilation d’un système réel à un modèle et effectuer les expérience sur ce modèle Intérêt : rapide, moins coûteux, plus sécuritaire,… Modèle informatique (mathématique ou numérique) Utilisation de variables, formules, programmation ou d’autres moyens qui relient les entrées et les sorties, variables aléatoires, variables de décision,… Modèle physique Utilisation d’un modèle réduit, prototype,… Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 17 Méthodes de simulation Simulation discrète événementielle • Utilisation d’un langage de simulation • Analyse des données statistiques générées par des outils appropriés (risk solver) Simulation de Monté Carlo • Souvent utilisée lorsqu’il y a plusieurs sources différentes d’incertitudes qui interagissent pour produire des résultats • Permet d’analyse de milliers de scénarii afin de déterminer ce qui va bien et ce qui va mal et par conséquent les mesures à entreprendre. • Exemple : Estimation de l’impact des facteurs (prix de la concurrence, les variables de production et le coût de la matière première) de la demande du marché, Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 18 Simulation d’un serveur et une file (1/2) fin faux, serveurLibre vrai longFile0, longMaxFile 0, clientServis0 ajouter à l’échéancier l’événement arrivée ajouter à l’échéancier l’événement fin de simulation répéter even premier événement de l’échéancier horloge temps de even choisir le type de even arrivée : traitementArrivée fin de service : traitementFinService fin de simulation : finSim=vrai jusqu’à finSim écrire (longFile, longMaxFile, clientServis) Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 19 Simulation d’un serveur et une file (1/2) traitementArrivée si serveurLibre alors serveurLibre faux générer un événement fin de service sinon longFile longFile + 1 si longFile > longMaxFile alors longMaxFile longFile générer une nouvelle arrivée traitementFinService clientServis = clientServis + 1 si longFile = 0 alors libre vrai sinon longFile longFile – 1 générer une fin de service Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 20