Systèmes d’exploitation m.a/ INFO 2306

          « Le contrôle de la concurrence
            dans les SGBD temps réel»
  ...
Plan de la présentation


• 1. Introduction

• 2. Application temps réel

• 3. Données et transactions dans les SGBDTR
   ...
1. Introduction & problématique (1/3)

• Depuis +- 10 ans : nouvelles applications, défi
                                 ...
1. Introduction (2/3)

    Domaine d’application :
•
     – Aéronautique (moteur d'avion), médical (un patient) , économiq...
1. Introduction (3/3)

    Contraintes temporelles et durée de validité
•
     – (! Résultats à temps)     dérèglement de ...
2. Application temps réel (1/2)

    Application TR :
•
     – Gérée par un système contrôleur (Système informatique)
    ...
2. Application temps réel (2/2)




     Systèmes d’exploitation (m.a) « Gestion de la concurrence dans les SGBD temps rée...
3. Données et transactions dans SGBDTR (1/10)


A) Les données
• Un objet temporel : état peut devenir inexploitable au fi...
3. Données et transactions dans SGBDTR (2/10)


B) Les transactions
    Type de transactions : selon l’importance accordée...
3. Données et transactions dans SGBDTR (3/10)


B) Les transactions (suite…)
    Modélisation à l’aide d’une fonction vale...
3. Données et transactions dans SGBDTR (4/10)

B) Les transactions (suite…)
  • Une transaction :
        –   ensemble d’a...
3. Données et transactions dans SGBDTR (5/10)

B) Les transactions (suite…)




                       Systèmes d’exploita...
3. Données et transactions dans SGBDTR (6/10)

B) Les transactions (suite…)
         Echéances des transactions dans les S...
3. Données et transactions dans SGBDTR (7/10)

B) Les transactions (suite…)
         • Exemple : échéances des transaction...
3. Données et transactions dans SGBDTR (8/10)

B) Les transactions (suite…)
         • Simulateur d’arrivée de transaction...
3. Données et transactions dans SGBDTR (9/10)




     Systèmes d’exploitation (m.a) « Gestion de la concurrence dans les ...
3. Données et transactions dans SGBDTR (10/10)



• Double objectif d'un SGBDTR :
   – Garantir l'exécution et la validati...
4. Protocoles d’ordonnancement & contrôle de concurrence (1/15)



• Problématique:
   – Accéder simultanément aux données...
4. Protocoles d’ordonnancement & contrôle de concurrence (2/15)



Méthodes 1 : Techniques « pessimistes »:
Hypothèse fond...
4. Protocoles d’ordonnancement & contrôle de concurrence (3/15)



Méthodes 1 : Techniques « pessimistes »:
Hypothèse fond...
4. Protocoles d’ordonnancement & contrôle de concurrence (4/15)



Méthodes 2 : Techniques « optimistes »:
Hypothèse fonda...
4. Protocoles d’ordonnancement & contrôle de concurrence (5/15)


• Certification quot;en arrièrequot;.
    – Par rapport ...
4. Protocoles d’ordonnancement & contôle de
     4. Protocoles d’ordonnancement & contrôle de concurrence (6/15)
     conc...
4. Protocoles d’ordonnancement & contôle de
   4. Protocoles d’ordonnancement & contrôle de concurrence (7/15)
   concuren...
4. Protocoles d’ordonnancement & contôle de
   4. Protocoles d’ordonnancement & contrôle de concurrence (8/15)
   concuren...
4. Protocoles d’ordonnancement & contôle de
    4. Protocoles d’ordonnancement & contrôle de concurrence (9/15)
    concur...
4. Protocoles d’ordonnancement & contôle de
    4. Protocoles d’ordonnancement & contrôle de concurrence (10/15)
    concu...
4. Protocoles d’ordonnancement & contôle de
4. Protocoles d’ordonnancement & contrôle de concurrence (11/15)
concurence

T...
4. Protocoles d’ordonnancement & contôle de
    4. Protocoles d’ordonnancement & contrôle de concurrence (12/15)
    concu...
4. Protocoles d’ordonnancement & contôle de
    4. Protocoles d’ordonnancement & contrôle de concurrence (13/15)
    concu...
4. Protocoles d’ordonnancement & contôle de
   4. Protocoles d’ordonnancement & contrôle de concurrence (14/15)
   concure...
4. Protocoles d’ordonnancement & contrôle de concurrence (15/15)


Techniques pestimistes (Blocantes) : > Héritage de prio...
4. Protocoles d’ordonnancement & contôle de
    5. Propriétés ACID en TR
    concurence

SGBD traditionnel :


• Atomicité...
4. Protocoles d’ordonnancement & contôle de
    5. Propriétés ACID en TR (1/2)
    concurence

SGBD TR :
• Atomicité parti...
4. Protocoles d’ordonnancement & contôle de
   6. Conclusion (2/2)
   concurence

• Conclusion:
   – Mise en évidence de l...
n
                      ntio
                 atte
              re
          vot       ns?
      de          io
    i
   ...
Upcoming SlideShare
Loading in …5
×

ContrôLe De La Concurence Sgbd Temps RéEl SystèMe Dexploiration

2,332 views
2,210 views

Published on

Contrôle de la concurrence dans les SGBD temps réels

Published in: Business, Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,332
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
1
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

ContrôLe De La Concurence Sgbd Temps RéEl SystèMe Dexploiration

  1. 1. Systèmes d’exploitation m.a/ INFO 2306 « Le contrôle de la concurrence dans les SGBD temps réel» Namur, juin 2007 Pierre HALLEUX, pHalleux@info.fundp.ac.be Présentation d’après l’article : «Analyse des protocoles de contrôle de concurrence et des propriétés ACID dans les SGBD temps réel, C. DUVALLET*, Z. MAMMERI**, B. SADEG* LIH, Facultés des Sciences et Techniques*, IRIT Université Paul Sabatier Toulouse**» Pierre HALLEUX Professeur : Jean RAMAEKERS Assistant : Hubert TOUSSAINT
  2. 2. Plan de la présentation • 1. Introduction • 2. Application temps réel • 3. Données et transactions dans les SGBDTR – Les données – Les transactions • 4. Protocoles de contrôle de concurrence et ordonnancement de transactions temps réel – Problématique – Techniques optimistes :OCC-BC, Wait 50, CCA – Techniques pessimistes: Abandon par priorité, héritage de priorité – Synthèse • 5. Remarques concernant propriétés ACID dans les transactions temps réel • 6. Conclusion Systèmes d’exploitation (m.a) « Gestion de la concurrence dans les SGBD temps réels », Pierre Halleux, pHalleux@info.fundp.ac.be
  3. 3. 1. Introduction & problématique (1/3) • Depuis +- 10 ans : nouvelles applications, défi contraintes temporelles données de nature différentes • Caricature d’un SGBTR : SGBD traditionnel + système temps réel. 2 objectifs : - Traiter transactions ACID - Fonctionner en TR • Application TR : - Système contrôleur (le SI) - Système contrôlé (l’environnement) : acquis par capteurs distribués • But : effectuer des calculs, manipuler des données (ex : industrie…) • Besoin : Cohérence logique & contrainte temporelle besoin d’ordonnancement Systèmes d’exploitation (m.a) « Gestion de la concurrence dans les SGBD temps réels », Pierre Halleux, pHalleux@info.fundp.ac.be
  4. 4. 1. Introduction (2/3) Domaine d’application : • – Aéronautique (moteur d'avion), médical (un patient) , économique (système boursier), . . . Exemple : « un système de contrôle de trafic aérien » • – Taille et le volume du trafic de l'espace aérien contrôlé complexité – Système distribué : serveurs connectés via un réseau Contrôler le trafic – Systèmes externes : stations météorologiques, radars : fournir 100 à 200 rapports/scrutation. ► Les serveurs - exploitent les données des radars (déduirent les trajectoires des avions) - enregistrent les données sur des supports pour des analyses ultérieures. ► Les stations de travail - affichent des informations TR (trajectoires, alertes, météorologie,. . .). L'application - manipule des quantités importantes d'informations - fournit des résultats dans les temps. Systèmes d’exploitation (m.a) « Gestion de la concurrence dans les SGBD temps réels », Pierre Halleux, pHalleux@info.fundp.ac.be
  5. 5. 1. Introduction (3/3) Contraintes temporelles et durée de validité • – (! Résultats à temps) dérèglement de trafic collisions,… Besoin ? • – Garantir la cohérence des données : gestionnaire de transactions pour éviter les conflits* *Read/Write ou Write/Write Systèmes d’exploitation (m.a) « Gestion de la concurrence dans les SGBD temps réels », Pierre Halleux, pHalleux@info.fundp.ac.be
  6. 6. 2. Application temps réel (1/2) Application TR : • – Gérée par un système contrôleur (Système informatique) – Agit sur son environnement (Système contrôlé) Fonctionnement : • – Acquisition de données du système contrôlé à l'aide de capteurs – Traitement des données avant la fin du délai – Envoi d'ordre de commande sur l'environnement à l'aide d'actionneurs. Etendue : • – du microcontrôleur qui permet le contrôle du système de freinage d'une voiture, … au système réparti qui permet le contrôle du trafic aérien Défiinition : • – « A real-time system is defined as a system whose correctness of the system depends not only on the logical results of computations, but also on the time at which the results are produced ». Systèmes d’exploitation (m.a) « Gestion de la concurrence dans les SGBD temps réels », Pierre Halleux, pHalleux@info.fundp.ac.be
  7. 7. 2. Application temps réel (2/2) Systèmes d’exploitation (m.a) « Gestion de la concurrence dans les SGBD temps réels », Pierre Halleux, pHalleux@info.fundp.ac.be
  8. 8. 3. Données et transactions dans SGBDTR (1/10) A) Les données • Un objet temporel : état peut devenir inexploitable au fil du temps. Associé à un état et à un intervalle de validité temporel. • Objet non-temporel : état reste valide au fil du temps. • Les objets de base : objet qui reflètent des entités concrètes de l'environnement. mis à jour périodiquement par les transactions qui lisent les capteurs. Ex. : température, pression, . . . • Les objets dérivés : Des nouveaux objets dérivés à partir d'objets de base via les transactions. Ex. : les données acquises sur la position et la vitesse d'objets en mouvement sont utilisées pour dériver la nouvelle commande à appliquer au robot qui permet de déplacer ces objets. • Déclenchement des transactions : ECA. Ex. : Objets de base : point de départ, la vitesse et la trajectoire d'un avion. Objet dérivé : la position) Systèmes d’exploitation (m.a) « Gestion de la concurrence dans les SGBD temps réels », Pierre Halleux, pHalleux@info.fundp.ac.be
  9. 9. 3. Données et transactions dans SGBDTR (2/10) B) Les transactions Type de transactions : selon l’importance accordées aux échéances et niveau d’interactions avec l’environnement • Conséquences Transactions Echéance Exemple sur environnement Hard Stricte Graves Contrer un missile & critique Firm Stricte Négligeables Robot tapis & non critique (on abort…) & roulant… Soft Non-stricte Quasi nulles Système multimédia Systèmes d’exploitation (m.a) « Gestion de la concurrence dans les SGBD temps réels », Pierre Halleux, pHalleux@info.fundp.ac.be
  10. 10. 3. Données et transactions dans SGBDTR (3/10) B) Les transactions (suite…) Modélisation à l’aide d’une fonction valeur • Systèmes d’exploitation (m.a) « Gestion de la concurrence dans les SGBD temps réels », Pierre Halleux, pHalleux@info.fundp.ac.be
  11. 11. 3. Données et transactions dans SGBDTR (4/10) B) Les transactions (suite…) • Une transaction : – ensemble d’actions (lecture, écriture, calcul) – agir sur une base de données – en gardant son état cohérent. – se termine par « comit » ou « abort » – Constituée de sous-transactions (ou pas) • Dans les SGBDTR : – deadline : hard,soft ou firm • Plusieurs états liés : – aux conflits d'accès aux données – à la priorité de l'échéance. Distinction des états : active (en cours d'exécution), wait (état bloqué), commit, rollback (annulation). Systèmes d’exploitation (m.a) « Gestion de la concurrence dans les SGBD temps réels », Pierre Halleux, pHalleux@info.fundp.ac.be
  12. 12. 3. Données et transactions dans SGBDTR (5/10) B) Les transactions (suite…) Systèmes d’exploitation (m.a) « Gestion de la concurrence dans les SGBD temps réels », Pierre Halleux, pHalleux@info.fundp.ac.be
  13. 13. 3. Données et transactions dans SGBDTR (6/10) B) Les transactions (suite…) Echéances des transactions dans les SGBD temps réel • les transactions possèdent des contraintes de temps (souvent sous forme d'échéances) (Proviennent de deux sources) – Contraintes temporelles liées à L'environnement • (Ex: l'action qui corrige la trajectoire d'un robot téléguidé doit s'exécuter avant que le robot ne rentre en collision avec un obstacle), Des choix de conception et d'implantation d'une application • (Ex; durée d'exécution d'une opération sur un processeur choisi ou délai de communication de messages). Systèmes d’exploitation (m.a) « Gestion de la concurrence dans les SGBD temps réels », Pierre Halleux, pHalleux@info.fundp.ac.be
  14. 14. 3. Données et transactions dans SGBDTR (7/10) B) Les transactions (suite…) • Exemple : échéances des transactions – T : transaction de lecture qui doit produire un résultat – Y et Z : données TR – Lecture de Y à l’instant tb, de Z en tc dans l’environnement – T a besoin de lire les deux données temps réel Y et Z pour produire un résultat. L – Échéance de T : l'instant tf (initialement égale à 13), – Durée de validité absolue : Y = 7 unités de temps, Z = 3 unités de temps. Hyp: – T commence en ta =1 – En tb = 4 T lit Y, son échéance devient 11 (Tb+7) (après 11 Y invalide…) – En tc = 6 T lit Z, son échéance devient Tf =Tc +3 = 9 (après 9 Z invalide…) – Si T ne finit pas avant t=9, alors elle est abandonnée Nb: elle pourrait redémarrée, lire Y et Z en t=11 et t=12 et finir avant l’échéance finale tb=13 Systèmes d’exploitation (m.a) « Gestion de la concurrence dans les SGBD temps réels », Pierre Halleux, pHalleux@info.fundp.ac.be
  15. 15. 3. Données et transactions dans SGBDTR (8/10) B) Les transactions (suite…) • Simulateur d’arrivée de transactions Systèmes d’exploitation (m.a) « Gestion de la concurrence dans les SGBD temps réels », Pierre Halleux, pHalleux@info.fundp.ac.be
  16. 16. 3. Données et transactions dans SGBDTR (9/10) Systèmes d’exploitation (m.a) « Gestion de la concurrence dans les SGBD temps réels », Pierre Halleux, pHalleux@info.fundp.ac.be
  17. 17. 3. Données et transactions dans SGBDTR (10/10) • Double objectif d'un SGBDTR : – Garantir l'exécution et la validation (avant leurs échéances) des transactions à échéances strictes et critiques – Minimiser le nombre de transactions à échéances strictes et non-critiques • ou à échéances non-strictes • qui ratent leurs échéances. • Essais à l’aide de SGBD classique? Traiter encadrement des quantité importantes de données ☺ Objectif en terme de performances = t réponse moyen des transactions • Délais variés en fonction du DA : – La milliseconde pour les systèmes de radar, – La seconde pour les systèmes de visualisation humaine, – Quelques heures pour le contrôle de production impliquant des réactions chimiques, – 24 heures pour les prévisions météo, – Plusieurs mois ou années pour les systèmes de navigation de sonde spatiale, Systèmes d’exploitation (m.a) « Gestion de la concurrence dans les SGBD temps réels », Pierre Halleux, pHalleux@info.fundp.ac.be
  18. 18. 4. Protocoles d’ordonnancement & contrôle de concurrence (1/15) • Problématique: – Accéder simultanément aux données stockées dans bd par plusieurs transactions. Exécution concurrentes • • (1) SGBD Traditionnels : – Cohérence & accès concurrents : ordonnancement sérialisable Deux transactions sont sérialisable si le résultat de leur exécution concurrente • est le même que celui de leur exécution séquentielle. • (2) SGBD TR : – tous les ordonnancements sérialisables ne sont pas acceptables! ceux qui ne respectent pas les contraintes temporelles des transactions sont rejetés. • Les techniques (1) ne sont donc pas directement applicables en (2) Car il faut en (2) maintenir cohérence logique & temporelle ! Les techniques de (2) sont pessimistes ou optimistes Systèmes d’exploitation (m.a) « Gestion de la concurrence dans les SGBD temps réels », Pierre Halleux, pHalleux@info.fundp.ac.be
  19. 19. 4. Protocoles d’ordonnancement & contrôle de concurrence (2/15) Méthodes 1 : Techniques « pessimistes »: Hypothèse fondamentale : Toute paire de transactions qui s'exécute en concurrence est susceptible de rentrer en conflit. • Utilise des verrous pour empêcher les conflits potentiels : – l'opération de lecture/ écriture est validée avant l'accès à la donnée. – empêchent les conflits avant même qu'ils ne surviennent. Verrous sur les données avant tout accès. • T accède à une donnée elle a obtenu un verrou sur cette donnée. • càd pas encore verrouillée par T’ avec un mode incompatible Si verrou refusé : T doit attendre que la donnée se libère (+) conflits sont détectés dès leur apparition: Garanti la validité de tous les accès aux données. (-) Protocole quot;bloquantquot; : T mise en attente jusqu’à validation de T’ Systèmes d’exploitation (m.a) « Gestion de la concurrence dans les SGBD temps réels », Pierre Halleux, pHalleux@info.fundp.ac.be
  20. 20. 4. Protocoles d’ordonnancement & contrôle de concurrence (3/15) Méthodes 1 : Techniques « pessimistes »: Hypothèse fondamentale : Toute paire de transactions qui s'exécute en concurrence est susceptible de rentrer en conflit. Systèmes d’exploitation (m.a) « Gestion de la concurrence dans les SGBD temps réels », Pierre Halleux, pHalleux@info.fundp.ac.be
  21. 21. 4. Protocoles d’ordonnancement & contrôle de concurrence (4/15) Méthodes 2 : Techniques « optimistes »: Hypothèse fondamentale : Laisse les transactions s'exécuter en concurrence • Vérifie la présence de conflits – uniquement quand la phase de validation atteinte – Les transactions en conflits sont alors abandonnées puis redémarrées selon certaines hypothèses. Vérifier apparition de conflit avant commit (méthode de certification) - Certification « en arrière » - Certification « en avant » Systèmes d’exploitation (m.a) « Gestion de la concurrence dans les SGBD temps réels », Pierre Halleux, pHalleux@info.fundp.ac.be
  22. 22. 4. Protocoles d’ordonnancement & contrôle de concurrence (5/15) • Certification quot;en arrièrequot;. – Par rapport aux transactions validées. – Objets lus par Tc en phase de validation sont examinés. • Si l'un d'eux est écrit par une transaction qui a exécuté sa validation après le début de l'exécution de Tc, • Alors la transaction Tc est abandonnée, (car elle pourrait ne pas avoir pris connaissance de la nouvelle valeur de l'objet) Certification quot;en avantquot;. • – Par rapport aux transactions actives. – Objets écrits Tc sont comparés à tous les objets lus par toute transaction active. • S'il y a des objets communs entre Tc et ces transactions, • Alors une erreur de sérialisation est détectée. • Possibilité d'abandonner soit la transaction Tc, les transactions avec lesquelles elle est en conflit Systèmes d’exploitation (m.a) « Gestion de la concurrence dans les SGBD temps réels », Pierre Halleux, pHalleux@info.fundp.ac.be
  23. 23. 4. Protocoles d’ordonnancement & contôle de 4. Protocoles d’ordonnancement & contrôle de concurrence (6/15) concurence Techniques optimistes : > OCC-BC - Optimistic Concurrency Control - Broadcast Commit Minimiser les pertes de ressources en redémarrant les transactions le plus tôt possible. • Certification en avant + priorités des transactions. • – La transaction qui effectue une validation avertisse de sa validation toutes les transactions qui sont en conflit avec elle. chances de se terminer avant leurs échéances en les redémarrant immédiatement. • Tc en phase de validation. – Si, avant sa validation, cette transaction entre en conflit avec d'autres transactions T1, T2,..., Tn : • (+) Tc se met en attente et garde donc les ressources qu'elle avait acquise. Améliore les performances du système, pas à redemander ces ressources. Systèmes d’exploitation (m.a) « Gestion de la concurrence dans les SGBD temps réels », Pierre Halleux, pHalleux@info.fundp.ac.be
  24. 24. 4. Protocoles d’ordonnancement & contôle de 4. Protocoles d’ordonnancement & contrôle de concurrence (7/15) concurence Techniques optimistes : > OCC-BC - Optimistic Concurrency Control - Broadcast Commit • Exemple T1 et T2 sont en conflit : T2 lit une donnée x, après que T1 l'ait mise à jour. – OCC : T2 doit être redémarrée dès qu'elle rentre dans sa phase de certification • (car elle est en conflit sur la donnée x avec une transaction qui a déjà effectué sa validation). Pr [T2 s'exécute avant sa deadline après son redémarrage] ⇓ ⇓. Systèmes d’exploitation (m.a) « Gestion de la concurrence dans les SGBD temps réels », Pierre Halleux, pHalleux@info.fundp.ac.be
  25. 25. 4. Protocoles d’ordonnancement & contôle de 4. Protocoles d’ordonnancement & contrôle de concurrence (8/15) concurence Techniques optimistes : > OCC-BC - Optimistic Concurrency Control - Broadcast Commit • Exemple T1 et T2 sont en conflit : T2 lit une donnée x, après que T1 l'ait mise à jour. – OCC-BC: – on évite d'attendre jusqu'à la certification de T2 pour la redémarrer. – Conséquence à la notification de toutes les transactions en conflit avec T1 lors de sa validation. – T2 est redémarrée immédiatement après la validation de T1. Systèmes d’exploitation (m.a) « Gestion de la concurrence dans les SGBD temps réels », Pierre Halleux, pHalleux@info.fundp.ac.be
  26. 26. 4. Protocoles d’ordonnancement & contôle de 4. Protocoles d’ordonnancement & contrôle de concurrence (9/15) concurence Techniques optimistes : > Wait(50) • Evite les inconvénients de OCC-BC = quot;stratégie de compromisquot;. • Un mécanisme de quot;contrôle de l'attentequot; (nouveau) + attente par priorité Tc = T courante Ti = T actives en conflit avec la transaction courante. X = représente le pourcentage de résolution de conflits (avec les transactions actives) que la transaction courante doit attendre avec son commit. Systèmes d’exploitation (m.a) « Gestion de la concurrence dans les SGBD temps réels », Pierre Halleux, pHalleux@info.fundp.ac.be
  27. 27. 4. Protocoles d’ordonnancement & contôle de 4. Protocoles d’ordonnancement & contrôle de concurrence (10/15) concurence Techniques optimistes : > CCA - Cost Conscious Approach • Basé sur – Earliest Deadline First-High Priority (EDF-HP) priorité plus grande à la transaction dont l'échéance est imminente. • – Earliest Deadline First-Conditional Restat (EDF-CR) ajoute une estimation du temps d'exécution des transactions. • permet à des transactions non-prioritaires de se terminer, à condition qu'elles n'obligent pas les autres transactions en conflit ayant une échéance à plus haute priorité à rater leurs deadlines. Basée sur une approche dynamique. • Pré-analyse des transactions (similaire à l'algorithme A* en IA – arbre décision) pour connaître – la structure des transactions – les données potentiellement accédées (en fonction des chemins d'exécution). • Prend donc en compte des – Aspects statiques : échéances,. . . – Aspects dynamiques (temps effectif d'exécution, coût des redémarrages,. . .) Possible de réduire la zone de conflits. Systèmes d’exploitation (m.a) « Gestion de la concurrence dans les SGBD temps réels », Pierre Halleux, pHalleux@info.fundp.ac.be
  28. 28. 4. Protocoles d’ordonnancement & contôle de 4. Protocoles d’ordonnancement & contrôle de concurrence (11/15) concurence Techniques optimistes : > CCA - Cost Conscious Approach • Exemple : A et B concurrentes. Certains cas d'exécution n'entraînent pas de conflits. ∃ conflit sur les données X,Y et Z Mais les feuilles Ae et Af ne posent plus de conflits. (+)Aspect dynamique : Déterminer progressivement si des conflits sont susceptibles de survenir en cours d'exécution et donc de diminuer les blocages. (-) Coût de la préAnalyse… Systèmes d’exploitation (m.a) « Gestion de la concurrence dans les SGBD temps réels », Pierre Halleux, pHalleux@info.fundp.ac.be
  29. 29. 4. Protocoles d’ordonnancement & contôle de 4. Protocoles d’ordonnancement & contrôle de concurrence (12/15) concurence Techniques pessimistes (Blocantes) : • Rappel : Utilisent la notion de verrou pour empêcher l'accès incompatible aux données par les T • Algo en 2 étapes : – Acquisition des verrous et exécution des actions de T – Libération des objets verrouillés. Si Td demande un verrou sur un objet détenu par Ta & mode conflictuel Alors, Td est bloquée jusqu'à la libération du verrou sur l'objet par Ta. • 2 Familles d’algo. – Abandon par priorité – Héritage de priorité. Systèmes d’exploitation (m.a) « Gestion de la concurrence dans les SGBD temps réels », Pierre Halleux, pHalleux@info.fundp.ac.be
  30. 30. 4. Protocoles d’ordonnancement & contôle de 4. Protocoles d’ordonnancement & contrôle de concurrence (13/15) concurence Techniques pessimistes (Blocantes) : > Abandon par priorité • Idée : abandonner T (de plus basse priorité) quand le phénomène d'inversion de priorité survient. – Inversion de priorité : si T doit attendre qu’une transaction de plus faible priorité T’ libère une ressource dont T a besoin. • (+) Transaction haute priorité ne soit pas retardée par basses priorités. – Garantir pour transactions urgentes • (-) Transactions de basse priorité pourraient toujours rater… – Perte de travail & dégradation des performances du système. Systèmes d’exploitation (m.a) « Gestion de la concurrence dans les SGBD temps réels », Pierre Halleux, pHalleux@info.fundp.ac.be
  31. 31. 4. Protocoles d’ordonnancement & contôle de 4. Protocoles d’ordonnancement & contrôle de concurrence (14/15) concurence Techniques pessimistes (Blocantes) : > Héritage de priorité • Idée : assigner une nouvelle priorité à toute transaction accédant à un objet partagé, – Permet de s'exécuter à un niveau de priorité plus élevé que celui des transactions qu'elle bloque. Si « inversion de priorité survient » Alors, la transaction de plus faible priorité voit sa priorité augmentée et ramenée au niveau de celle de la transaction demandeuse du verrou, – jusqu'à ce qu'elle se termine et libère le verrou. • (+) T qui possèdent des verrous – se termineront plus tôt – réduire ainsi les temps d'attente des transactions de haute priorité. • (-) – Temps de blocage des transactions de haute priorité reste imprévisible, – Blocages en chaîne : T de haute priorité se bloque plusieurs fois en attente des T de plus basses priorités, – T de faible priorité de concurrencer les T à haute priorité pcq elles ont hérité… Systèmes d’exploitation (m.a) « Gestion de la concurrence dans les SGBD temps réels », Pierre Halleux, pHalleux@info.fundp.ac.be
  32. 32. 4. Protocoles d’ordonnancement & contrôle de concurrence (15/15) Techniques pestimistes (Blocantes) : > Héritage de priorité Tech. Protocole Avantage Inconvénient O OCC-BC T en phase de validation est Abort très nombreux, Lock sur ressources liées à privilégiée et garde les ressources la transaction en attente, risque de conflits, baisse acquises des performances du système O Wait-50 Ressources bloquées moins Cfr OCC-BC mais de façon plus modérée longtemps que pour OCC-BC. Nombre d'abort réduit O CCA Nombre d'abort réduit, tient compte Ne tient pas compte du coût de la pré-analyse des du coût des abort et intègre les transactions (construction d'arbres de décision) contraintes à échéances non-strictes P Abandon de priorité Les transactions à plus haute priorité Certaines transactions abandonnées au profit de terminent plus facilement à temps, transactions qui ne terminent pas à Temps…perte nombre d'abort réduit de temps pour le système P Héritage de priorité Adapté au temps réel stricte non Durée de blocage imprévisible, blocages en chaîne critique Systèmes d’exploitation (m.a) « Gestion de la concurrence dans les SGBD temps réels », Pierre Halleux, pHalleux@info.fundp.ac.be
  33. 33. 4. Protocoles d’ordonnancement & contôle de 5. Propriétés ACID en TR concurence SGBD traditionnel : • Atomicité : principe du quot;tout ou rienquot;, (toutes les actions de la transaction sont exécutées, soit aucune ne l'est. • Cohérence : BD cohérente avant & transaction BD cohérente après. • Isolation : les modifications effectuées par une T visibles et exploitables par les autres T seulement après sa phase de validation (Commit). • Durabilité : la propriété de durabilité indique qu'une fois la transaction validée (Commit), modifications permanentes Systèmes d’exploitation (m.a) « Gestion de la concurrence dans les SGBD temps réels », Pierre Halleux, pHalleux@info.fundp.ac.be
  34. 34. 4. Protocoles d’ordonnancement & contôle de 5. Propriétés ACID en TR (1/2) concurence SGBD TR : • Atomicité partielle: – on accepte qu’une partie de la transaction ne soit pas exécutée – préférable d'obtenir un résultat imprécis dans les temps qu'un résultat complet en retard. – Intéressant d’avoir une pré-analyse pour trouver sous ensemble d’actions: • qui doivent impérativement respecter leur échéance, • que l'on peut abandonner si elles ratent leurs échéances • dont l'exécution peut se poursuivre même si la transaction globale a raté son échéance. • Cohérence partielle: – certaines méthodes autorisent un certain niveau d'erreur sur les données. • Isolation partielle : – heuristiques relaxent la propriété d'Isolation en autorisant les T à manipuler des données non-encore validées. • Durabilité partielle : – durée de validité très courtes stockage en mémoire principale Peu de garantie en cas de crash du SGBD • Systèmes d’exploitation (m.a) « Gestion de la concurrence dans les SGBD temps réels », Pierre Halleux, pHalleux@info.fundp.ac.be
  35. 35. 4. Protocoles d’ordonnancement & contôle de 6. Conclusion (2/2) concurence • Conclusion: – Mise en évidence de la problématique relative aux applications temps réel – Garanties non suffisantes dans SGBD classiques SGBD temporel – Similitudes SGBD traditionnels & SGBD TR : problèmes de concurrences de transactions. Définit : transactions TR, données TR. • Enoncé quelques algorithmes de gestion de la concurrence. • – Autres problèmes restent ouverts et méritent d'être étudiés : Le stockage des données temps réel : mémoire principale ou mémoire secondaire,... • Les protocoles de contrôle de concurrence à plus faible coût, • La gestion des buffer et l'ordonnancement des opérations d'entrées/sortie, • … • Systèmes d’exploitation (m.a) « Gestion de la concurrence dans les SGBD temps réels », Pierre Halleux, pHalleux@info.fundp.ac.be
  36. 36. n ntio atte re vot ns? de io i est erc u M sq De e c.b p.a d .fun info ux@ alle H x, p lleu Ha rre Pie

×