SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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

Contenu connexe

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

Présentation simulation des flux
Présentation simulation des flux Présentation simulation des flux
Présentation simulation des flux Capgemini
 
rt-intro.pdf
rt-intro.pdfrt-intro.pdf
rt-intro.pdfSaid Ech
 
Presentation BMIA
Presentation BMIAPresentation BMIA
Presentation BMIAPMarsaud
 
PréSentation Mat4
PréSentation Mat4PréSentation Mat4
PréSentation Mat4ppillot
 
Guide pratique optimisation des stocks v1 0
Guide pratique optimisation des stocks v1 0Guide pratique optimisation des stocks v1 0
Guide pratique optimisation des stocks v1 0mariatayssf
 
Le_Grafcet _G7.pdf
Le_Grafcet _G7.pdfLe_Grafcet _G7.pdf
Le_Grafcet _G7.pdfafefmabrouki
 
Cwin16 - Paris - surveillance site_seveso_ analyse_prédictive
Cwin16 - Paris - surveillance site_seveso_ analyse_prédictiveCwin16 - Paris - surveillance site_seveso_ analyse_prédictive
Cwin16 - Paris - surveillance site_seveso_ analyse_prédictiveCapgemini
 
Slides bcp teleworking_final
Slides bcp teleworking_finalSlides bcp teleworking_final
Slides bcp teleworking_finalJPL528
 
Le Plan de Reprise d'Activité pour les PME
Le Plan de Reprise d'Activité pour les PMELe Plan de Reprise d'Activité pour les PME
Le Plan de Reprise d'Activité pour les PMEAvignon Delta Numérique
 
Comprendre et accompagner les transformations à l’ère numérique
Comprendre et accompagner les transformations à l’ère numériqueComprendre et accompagner les transformations à l’ère numérique
Comprendre et accompagner les transformations à l’ère numériqueFing
 
Déchets solides : du modèle de Meadows à un projet de loi ? - Christophe Mang...
Déchets solides : du modèle de Meadows à un projet de loi ? - Christophe Mang...Déchets solides : du modèle de Meadows à un projet de loi ? - Christophe Mang...
Déchets solides : du modèle de Meadows à un projet de loi ? - Christophe Mang...The Shift Project
 
LES OUTILS D’UN LOGISTICIEN
LES OUTILS D’UN LOGISTICIENLES OUTILS D’UN LOGISTICIEN
LES OUTILS D’UN LOGISTICIENENSAM Casablanca
 
IBM Bluemix Paris Meetup #24 2017-06-26 - Société Générale testimony Decis...
IBM Bluemix Paris Meetup #24   2017-06-26 - Société Générale testimony  Decis...IBM Bluemix Paris Meetup #24   2017-06-26 - Société Générale testimony  Decis...
IBM Bluemix Paris Meetup #24 2017-06-26 - Société Générale testimony Decis...IBM France Lab
 
Prerequisites In ERP Projects Paris Mines 2002
Prerequisites In ERP Projects Paris Mines 2002Prerequisites In ERP Projects Paris Mines 2002
Prerequisites In ERP Projects Paris Mines 2002Andre Meillassoux
 
Améliorer votre taux de service, un levier commercial ?
Améliorer votre taux de service, un levier commercial ?Améliorer votre taux de service, un levier commercial ?
Améliorer votre taux de service, un levier commercial ?XL Groupe
 
PerfUG Comment tester et optimiser la performance d'un SI ?
PerfUG Comment tester et optimiser la performance d'un SI ?PerfUG Comment tester et optimiser la performance d'un SI ?
PerfUG Comment tester et optimiser la performance d'un SI ?Marc Bojoly
 
Trading dans le Cloud en gardant les pieds sur terre!
Trading dans le Cloud en gardant les pieds sur terre!Trading dans le Cloud en gardant les pieds sur terre!
Trading dans le Cloud en gardant les pieds sur terre!Francis Otshudi
 
Le dialogue compétitif dans les marchés publics
Le dialogue compétitif dans les marchés publicsLe dialogue compétitif dans les marchés publics
Le dialogue compétitif dans les marchés publicsFranceMarches
 

Similaire à ContrôLe De La Concurence Sgbd Temps RéEl SystèMe Dexploiration (20)

Présentation simulation des flux
Présentation simulation des flux Présentation simulation des flux
Présentation simulation des flux
 
rt-intro.pdf
rt-intro.pdfrt-intro.pdf
rt-intro.pdf
 
Presentation BMIA
Presentation BMIAPresentation BMIA
Presentation BMIA
 
PréSentation Mat4
PréSentation Mat4PréSentation Mat4
PréSentation Mat4
 
Présentation de jBPM 3.1
Présentation de jBPM 3.1Présentation de jBPM 3.1
Présentation de jBPM 3.1
 
Guide pratique optimisation des stocks v1 0
Guide pratique optimisation des stocks v1 0Guide pratique optimisation des stocks v1 0
Guide pratique optimisation des stocks v1 0
 
Le_Grafcet _G7.pdf
Le_Grafcet _G7.pdfLe_Grafcet _G7.pdf
Le_Grafcet _G7.pdf
 
Cwin16 - Paris - surveillance site_seveso_ analyse_prédictive
Cwin16 - Paris - surveillance site_seveso_ analyse_prédictiveCwin16 - Paris - surveillance site_seveso_ analyse_prédictive
Cwin16 - Paris - surveillance site_seveso_ analyse_prédictive
 
Slides bcp teleworking_final
Slides bcp teleworking_finalSlides bcp teleworking_final
Slides bcp teleworking_final
 
Outsourcing Telecom
Outsourcing TelecomOutsourcing Telecom
Outsourcing Telecom
 
Le Plan de Reprise d'Activité pour les PME
Le Plan de Reprise d'Activité pour les PMELe Plan de Reprise d'Activité pour les PME
Le Plan de Reprise d'Activité pour les PME
 
Comprendre et accompagner les transformations à l’ère numérique
Comprendre et accompagner les transformations à l’ère numériqueComprendre et accompagner les transformations à l’ère numérique
Comprendre et accompagner les transformations à l’ère numérique
 
Déchets solides : du modèle de Meadows à un projet de loi ? - Christophe Mang...
Déchets solides : du modèle de Meadows à un projet de loi ? - Christophe Mang...Déchets solides : du modèle de Meadows à un projet de loi ? - Christophe Mang...
Déchets solides : du modèle de Meadows à un projet de loi ? - Christophe Mang...
 
LES OUTILS D’UN LOGISTICIEN
LES OUTILS D’UN LOGISTICIENLES OUTILS D’UN LOGISTICIEN
LES OUTILS D’UN LOGISTICIEN
 
IBM Bluemix Paris Meetup #24 2017-06-26 - Société Générale testimony Decis...
IBM Bluemix Paris Meetup #24   2017-06-26 - Société Générale testimony  Decis...IBM Bluemix Paris Meetup #24   2017-06-26 - Société Générale testimony  Decis...
IBM Bluemix Paris Meetup #24 2017-06-26 - Société Générale testimony Decis...
 
Prerequisites In ERP Projects Paris Mines 2002
Prerequisites In ERP Projects Paris Mines 2002Prerequisites In ERP Projects Paris Mines 2002
Prerequisites In ERP Projects Paris Mines 2002
 
Améliorer votre taux de service, un levier commercial ?
Améliorer votre taux de service, un levier commercial ?Améliorer votre taux de service, un levier commercial ?
Améliorer votre taux de service, un levier commercial ?
 
PerfUG Comment tester et optimiser la performance d'un SI ?
PerfUG Comment tester et optimiser la performance d'un SI ?PerfUG Comment tester et optimiser la performance d'un SI ?
PerfUG Comment tester et optimiser la performance d'un SI ?
 
Trading dans le Cloud en gardant les pieds sur terre!
Trading dans le Cloud en gardant les pieds sur terre!Trading dans le Cloud en gardant les pieds sur terre!
Trading dans le Cloud en gardant les pieds sur terre!
 
Le dialogue compétitif dans les marchés publics
Le dialogue compétitif dans les marchés publicsLe dialogue compétitif dans les marchés publics
Le dialogue compétitif dans les marchés publics
 

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

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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