Professional Documents
Culture Documents
a/ INFO 2306
Le contrle de la concurrence dans les SGBD temps rel
Namur, juin 2007 Pierre HALLEUX, pHalleux@info.fundp.ac.be
Prsentation daprs larticle : Analyse des protocoles de contrle de concurrence et des proprits ACID
Pierre HALLEUX
Professeur : Jean RAMAEKERS Assistant : Hubert TOUSSAINT
Plan de la prsentation
5. Remarques concernant proprits ACID dans les transactions temps rel 6. Conclusion
Systmes dexploitation (m.a) Gestion de la concurrence dans les SGBD temps rels , Pierre Halleux, pHalleux@info.fundp.ac.be
Depuis +- 10 ans : nouvelles applications, dfi contraintes temporelles donnes de nature diffrentes Caricature dun SGBTR : SGBD traditionnel + systme temps rel. 2 objectifs : - Traiter transactions ACID - Fonctionner en TR Application TR : - Systme contrleur (le SI) - Systme contrl (lenvironnement) : acquis par capteurs distribus But : effectuer des calculs, manipuler des donnes (ex : industrie) Besoin : Cohrence logique & contrainte temporelle besoin dordonnancement
Systmes dexploitation (m.a) Gestion de la concurrence dans les SGBD temps rels , Pierre Halleux, pHalleux@info.fundp.ac.be
1. Introduction (2/3)
Domaine dapplication : Aronautique (moteur d'avion), mdical (un patient) , conomique (systme boursier), . . .
Exemple : un systme de contrle de trafic arien Taille et le volume du trafic de l'espace arien contrl complexit
Systme distribu : serveurs connects via un rseau Contrler le trafic Systmes externes : stations mtorologiques, radars : fournir 100 200 rapports/scrutation.
Les serveurs - exploitent les donnes des radars (dduirent les trajectoires des avions) - enregistrent les donnes sur des supports pour des analyses ultrieures. Les stations de travail - affichent des informations TR (trajectoires, alertes, mtorologie,. . .).
L'application - manipule des quantits importantes d'informations - fournit des rsultats dans les temps.
Systmes dexploitation (m.a) Gestion de la concurrence dans les SGBD temps rels , Pierre Halleux, pHalleux@info.fundp.ac.be
1. Introduction (3/3)
Contraintes temporelles et dure de validit (! Rsultats temps) drglement de trafic
collisions,
Besoin ? Garantir la cohrence des donnes : gestionnaire de transactions pour viter les conflits* *Read/Write ou Write/Write
Systmes dexploitation (m.a) Gestion de la concurrence dans les SGBD temps rels , Pierre Halleux, pHalleux@info.fundp.ac.be
Systmes dexploitation (m.a) Gestion de la concurrence dans les SGBD temps rels , Pierre Halleux, pHalleux@info.fundp.ac.be
Systmes dexploitation (m.a) Gestion de la concurrence dans les SGBD temps rels , Pierre Halleux, pHalleux@info.fundp.ac.be
A) Les donnes
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 refltent des entits concrtes de l'environnement. mis jour priodiquement par les transactions qui lisent les capteurs. Ex. : temprature, pression, . . . Les objets drivs : Des nouveaux objets drivs partir d'objets de base via les transactions.
Ex. : les donnes acquises sur la position et la vitesse d'objets en mouvement sont utilises pour driver la nouvelle commande appliquer au robot qui permet de dplacer ces objets.
Ex. : Objets de base : point de dpart, la vitesse et la trajectoire d'un avion. Objet driv : la position)
Systmes dexploitation (m.a) Gestion de la concurrence dans les SGBD temps rels , Pierre Halleux, pHalleux@info.fundp.ac.be
B) Les transactions
Type de transactions : selon limportance accordes aux chances et niveau dinteractions avec lenvironnement
Transactions
Echance
Exemple
Hard
Graves
Contrer un missile
Firm
Soft
Non-stricte
Systmes dexploitation (m.a) Gestion de la concurrence dans les SGBD temps rels , Pierre Halleux, pHalleux@info.fundp.ac.be
Systmes dexploitation (m.a) Gestion de la concurrence dans les SGBD temps rels , Pierre Halleux, pHalleux@info.fundp.ac.be
Une transaction :
ensemble dactions (lecture, criture, calcul) agir sur une base de donnes en gardant son tat cohrent. se termine par comit ou abort Constitue de sous-transactions (ou pas)
Systmes dexploitation (m.a) Gestion de la concurrence dans les SGBD temps rels , Pierre Halleux, pHalleux@info.fundp.ac.be
Systmes dexploitation (m.a) Gestion de la concurrence dans les SGBD temps rels , Pierre Halleux, pHalleux@info.fundp.ac.be
Echances des transactions dans les SGBD temps rel les transactions possdent des contraintes de temps (souvent sous forme d'chances) (Proviennent de deux sources)
Contraintes temporelles lies
L'environnement
(Ex: l'action qui corrige la trajectoire d'un robot tlguid doit s'excuter avant que le robot ne rentre en collision avec un obstacle),
Systmes dexploitation (m.a) Gestion de la concurrence dans les SGBD temps rels , Pierre Halleux, pHalleux@info.fundp.ac.be
Nb: elle pourrait redmarre, lire Y et Z en t=11 et t=12 et finir avant lchance finale tb=13
Systmes dexploitation (m.a) Gestion de la concurrence dans les SGBD temps rels , Pierre Halleux, pHalleux@info.fundp.ac.be
Systmes dexploitation (m.a) Gestion de la concurrence dans les SGBD temps rels , Pierre Halleux, pHalleux@info.fundp.ac.be
Systmes dexploitation (m.a) Gestion de la concurrence dans les SGBD temps rels , Pierre Halleux, pHalleux@info.fundp.ac.be
Systmes dexploitation (m.a) Gestion de la concurrence dans les SGBD temps rels , Pierre Halleux, pHalleux@info.fundp.ac.be
Problmatique:
Accder simultanment aux donnes stockes dans bd par plusieurs transactions.
Excution concurrentes
(2) SGBD TR :
tous les ordonnancements srialisables ne sont pas acceptables!
ceux qui ne respectent pas les contraintes temporelles des transactions sont rejets.
Les techniques (1) ne sont donc pas directement applicables en (2) Car il faut en (2) maintenir cohrence logique & temporelle ! Les techniques de (2) sont pessimistes ou optimistes
Systmes dexploitation (m.a) Gestion de la concurrence dans les SGBD temps rels , Pierre Halleux, pHalleux@info.fundp.ac.be
cd pas encore verrouille par T avec un mode incompatible Si verrou refus : T doit attendre que la donne se libre (+) conflits sont dtects ds leur apparition: Garanti la validit de tous les accs aux donnes. (-) Protocole "bloquant" : T mise en attente jusqu validation de T
Systmes dexploitation (m.a) Gestion de la concurrence dans les SGBD temps rels , Pierre Halleux, pHalleux@info.fundp.ac.be
Toute paire de transactions qui s'excute en concurrence est susceptible de rentrer en conflit.
Systmes dexploitation (m.a) Gestion de la concurrence dans les SGBD temps rels , Pierre Halleux, pHalleux@info.fundp.ac.be
Vrifier apparition de conflit avant commit (mthode de certification) - Certification en arrire - Certification en avant
Systmes dexploitation (m.a) Gestion de la concurrence dans les SGBD temps rels , Pierre Halleux, pHalleux@info.fundp.ac.be
Systmes dexploitation (m.a) Gestion de la concurrence dans les SGBD temps rels , Pierre Halleux, pHalleux@info.fundp.ac.be
4. Protocoles dordonnancement & contle de 4. Protocoles dordonnancement & contrle de concurrence (6/15) concurence
Techniques optimistes : > OCC-BC - Optimistic Concurrency Control - Broadcast Commit
Minimiser les pertes de ressources en redmarrant les transactions le plus tt possible. Certification en avant + priorits 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 chances en les redmarrant immdiatement.
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. Amliore les performances du systme, pas redemander ces ressources.
Systmes dexploitation (m.a) Gestion de la concurrence dans les SGBD temps rels , Pierre Halleux, pHalleux@info.fundp.ac.be
4. Protocoles dordonnancement & contle de 4. Protocoles dordonnancement & contrle de concurrence (7/15) concurence
Techniques optimistes : > OCC-BC - Optimistic Concurrency Control - Broadcast Commit
Exemple T1 et T2 sont en conflit : T2 lit une donne x, aprs que T1 l'ait mise jour. OCC :
T2 doit tre redmarre ds qu'elle rentre dans sa phase de certification (car elle est en conflit sur la donne x avec une transaction qui a dj effectu sa validation). Pr [T2 s'excute avant sa deadline aprs son redmarrage] .
Systmes dexploitation (m.a) Gestion de la concurrence dans les SGBD temps rels , Pierre Halleux, pHalleux@info.fundp.ac.be
4. Protocoles dordonnancement & contle de 4. Protocoles dordonnancement & contrle de concurrence (8/15) concurence
Techniques optimistes : > OCC-BC - Optimistic Concurrency Control - Broadcast Commit
Exemple T1 et T2 sont en conflit : T2 lit une donne x, aprs que T1 l'ait mise jour. OCC-BC: on vite d'attendre jusqu' la certification de T2 pour la redmarrer. Consquence la notification de toutes les transactions en conflit avec T1 lors de sa validation. T2 est redmarre immdiatement aprs la validation de T1.
Systmes dexploitation (m.a) Gestion de la concurrence dans les SGBD temps rels , Pierre Halleux, pHalleux@info.fundp.ac.be
4. Protocoles dordonnancement & contle de 4. Protocoles dordonnancement & contrle de concurrence (9/15) concurence
Techniques optimistes : > Wait(50)
Evite les inconvnients de OCC-BC = "stratgie de compromis". Un mcanisme de "contrle de l'attente" (nouveau) + attente par priorit
Tc = T courante Ti = T actives en conflit avec la transaction courante. X = reprsente le pourcentage de rsolution de conflits (avec les transactions actives) que la transaction courante doit attendre avec son commit.
Systmes dexploitation (m.a) Gestion de la concurrence dans les SGBD temps rels , Pierre Halleux, pHalleux@info.fundp.ac.be
4. Protocoles dordonnancement & contle de 4. Protocoles dordonnancement & contrle 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'chance est imminente. ajoute une estimation du temps d'excution des transactions.
permet des transactions non-prioritaires de se terminer, condition qu'elles n'obligent pas les autres transactions en conflit ayant une chance plus haute priorit rater leurs deadlines.
Base sur une approche dynamique. Pr-analyse des transactions (similaire l'algorithme A* en IA arbre dcision) pour connatre
la structure des transactions les donnes potentiellement accdes (en fonction des chemins d'excution).
Systmes dexploitation (m.a) Gestion de la concurrence dans les SGBD temps rels , Pierre Halleux, pHalleux@info.fundp.ac.be
4. Protocoles dordonnancement & contle de 4. Protocoles dordonnancement & contrle de concurrence (11/15) concurence
Techniques optimistes : > CCA - Cost Conscious Approach Exemple : A et B concurrentes.
Certains cas d'excution n'entranent pas de conflits. conflit sur les donnes X,Y et Z Mais les feuilles Ae et Af ne posent plus de conflits.
(+)Aspect dynamique : Dterminer progressivement si des conflits sont susceptibles de survenir en cours d'excution et donc de diminuer les blocages. (-) Cot de la prAnalyse
Systmes dexploitation (m.a) Gestion de la concurrence dans les SGBD temps rels , Pierre Halleux, pHalleux@info.fundp.ac.be
4. Protocoles dordonnancement & contle de 4. Protocoles dordonnancement & contrle de concurrence (12/15) concurence
Techniques pessimistes (Blocantes) :
Rappel : Utilisent la notion de verrou pour empcher l'accs incompatible aux donnes par les T
Algo en 2 tapes :
Acquisition des verrous et excution des actions de T Libration des objets verrouills.
Si Td demande un verrou sur un objet dtenu par Ta & mode conflictuel Alors, Td est bloque jusqu' la libration du verrou sur l'objet par Ta.
2 Familles dalgo.
Abandon par priorit Hritage de priorit.
Systmes dexploitation (m.a) Gestion de la concurrence dans les SGBD temps rels , Pierre Halleux, pHalleux@info.fundp.ac.be
4. Protocoles dordonnancement & contle de 4. Protocoles dordonnancement & contrle de concurrence (13/15) concurence
Techniques pessimistes (Blocantes) : > Abandon par priorit
Ide : abandonner T (de plus basse priorit) quand le phnomne d'inversion de priorit survient.
Inversion de priorit : si T doit attendre quune transaction de plus faible priorit T libre une ressource dont T a besoin.
(+) Transaction haute priorit ne soit pas retarde par basses priorits.
Garantir pour transactions urgentes
Systmes dexploitation (m.a) Gestion de la concurrence dans les SGBD temps rels , Pierre Halleux, pHalleux@info.fundp.ac.be
4. Protocoles dordonnancement & contle de 4. Protocoles dordonnancement & contrle de concurrence (14/15) concurence
Techniques pessimistes (Blocantes) : > Hritage de priorit
Ide : assigner une nouvelle priorit toute transaction accdant un objet partag,
Permet de s'excuter 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 augmente et ramene au niveau de celle de la transaction demandeuse du verrou,
jusqu' ce qu'elle se termine et libre le verrou.
(-)
Temps de blocage des transactions de haute priorit reste imprvisible, Blocages en chane : T de haute priorit se bloque plusieurs fois en attente des T de plus basses priorits, T de faible priorit de concurrencer les T haute priorit pcq elles ont hrit
Systmes dexploitation (m.a) Gestion de la concurrence dans les SGBD temps rels , Pierre Halleux, pHalleux@info.fundp.ac.be
Protocole
OCC-BC
Avantage
T en phase de validation est privilgie et garde les ressources acquises
Inconvnient
Abort trs nombreux, Lock sur ressources lies la transaction en attente, risque de conflits, baisse des performances du systme
Wait-50
Ressources bloques moins longtemps que pour OCC-BC. Nombre d'abort rduit Nombre d'abort rduit, tient compte du cot des abort et intgre les contraintes chances non-strictes Les transactions plus haute priorit terminent plus facilement temps, nombre d'abort rduit
CCA
Ne tient pas compte du cot de la pr-analyse des transactions (construction d'arbres de dcision)
Abandon de priorit
Certaines transactions abandonnes au profit de transactions qui ne terminent pas Tempsperte de temps pour le systme
Hritage de priorit
Systmes dexploitation (m.a) Gestion de la concurrence dans les SGBD temps rels , Pierre Halleux, pHalleux@info.fundp.ac.be
Atomicit : principe du "tout ou rien", (toutes les actions de la transaction sont excutes, soit aucune ne l'est. Cohrence : BD cohrente avant & transaction BD cohrente aprs.
Isolation : les modifications effectues par une T visibles et exploitables par les autres T seulement aprs sa phase de validation (Commit). Durabilit : la proprit de durabilit indique qu'une fois la transaction valide (Commit), permanentes modifications
Systmes dexploitation (m.a) Gestion de la concurrence dans les SGBD temps rels , Pierre Halleux, pHalleux@info.fundp.ac.be
Isolation partielle :
heuristiques relaxent la proprit d'Isolation en autorisant les T manipuler des donnes non-encore valides.
Durabilit partielle :
dure de validit trs courtes
Systmes dexploitation (m.a) Gestion de la concurrence dans les SGBD temps rels , Pierre Halleux, pHalleux@info.fundp.ac.be
Systmes dexploitation (m.a) Gestion de la concurrence dans les SGBD temps rels , Pierre Halleux, pHalleux@info.fundp.ac.be