Protocole de verrouillage à deux phases – GeeksforGeeks

Nous avons évoqué brièvement la premier type de protocole de contrôle de concurrencec’est-à-dire le protocole basé sur le verrouillage.

Maintenant, rappelant où nous nous sommes arrêtés pour la dernière fois, il existe deux types de serrures disponibles S(a) partagé et Exclusif X(a). La mise en œuvre de ce système de verrouillage sans aucune restriction nous donne le protocole basé sur Simple Lock (ou Verrouillage binaire), mais il a ses propres inconvénients, ils le font ne garantit pas la sérialisabilité. Les planifications peuvent suivre les règles précédentes, mais une planification non sérialisable peut en résulter.

Pour garantir la sérialisabilité, nous devons suivre un protocole supplémentaire concernant le positionnement des manœuvres de verrouillage et de déverrouillage dans chaque transaction. C’est là que le concept de verrouillage biphasé (2-PL) entre en jeu, 2-PL assure la sérialisabilité. Maintenant, creusons profondément !

Verrouillage biphasé –

On dit qu’une transaction suit le protocole de verrouillage en deux phases si le verrouillage et le déverrouillage peuvent être effectués en deux phases.

  1. Phase de croissance : De nouveaux verrous sur des éléments de données peuvent être acquis mais aucun ne peut être libéré.
  2. Phase de rétrécissement : Les verrous existants peuvent être libérés, mais aucun nouveau verrou ne peut être acquis.

Noter – Si la conversion de verrou est autorisée, la mise à niveau du verrou (de S(a) à X(a)) est autorisée dans la phase de croissance, et la rétrogradation du verrou (de X(a) à S(a)) doit être effectuée en rétrécissant phase.

Voyons une transaction mettant en œuvre 2-PL.

J1 J2
1 serrure-S(A)
2 serrure-S(A)
3 serrure-X(B)
4 ……. ……
5 Déverrouiller (A)
6 Serrure-X(C)
sept Déverrouiller (B)
8 Déverrouiller (A)
9 Déverrouiller (C)
dix ……. ……

Il ne s’agit que d’un squelette de transaction qui montre comment le déverrouillage et le verrouillage fonctionnent avec 2-PL. Remarque pour :
Opération T1:

  • La phase de croissance correspond aux étapes 1 à 3.
  • La phase de réduction correspond aux étapes 5 à 7.
  • Point de verrouillage à 3

Opération T2:

  • La phase de croissance correspond aux étapes 2 à 6.
  • La phase de réduction correspond aux étapes 8-9.
  • Point de verrouillage à 6

Hé, attends!
Qu’est-ce que POINT DE VERROUILLAGE ? Point auquel la phase de croissance se termine, c’est-à-dire lorsqu’une transaction prend le verrou final dont elle a besoin pour poursuivre son travail. Regardez maintenant le programme, vous comprendrez sûrement.

J’ai dit que 2-PL assure la sérialisabilité, mais il y a encore quelques inconvénients de 2-PL. Passons en revue les inconvénients :

Restaurations en cascade dans 2-PL –
Voyons le calendrier suivant :

12122

Prenez un moment pour analyser le programme. Oui, vous avez raison, à cause de Dirty Read in T2 et T3 aux lignes 8 et 12 respectivement, lorsque T1 échoué, nous devons également faire reculer les autres. Ainsi, Les rollbacks en cascade sont possibles en 2-PL. J’ai pris des horaires squelettes comme exemples parce qu’il est facile de comprendre quand c’est simple. Lorsqu’il est expliqué avec des problèmes de transaction en temps réel avec de nombreuses variables, cela devient très complexe.

Impasse en 2-PL –
Considérez cet exemple simple, il sera facile à comprendre. Disons que nous avons deux transactions T1 et T2.

Schedule:   Lock-X1(A)   Lock-X2(B)  Lock-X1(B)  Lock-X2(A)

En dessinant le graphique de priorité, vous pouvez détecter la boucle. Ainsi, Deadlock est également possible en 2-PL.

Le verrouillage en deux phases peut également limiter la quantité de simultanéité qui se produit dans une planification, car une transaction peut ne pas être en mesure de libérer un élément après l’avoir utilisé. Cela peut être dû aux protocoles et autres restrictions que nous pouvons mettre sur le calendrier pour garantir la sérialisabilité, l’absence de blocage et d’autres facteurs. C’est le prix que nous devons payer pour assurer la sérialisabilité et d’autres facteurs, il peut donc être considéré comme une bonne affaire entre la concurrence et le maintien des propriétés ACID.

Le type de 2-PL mentionné ci-dessus est appelé 2PL de base. Pour résumer, cela garantit la sérialisabilité des conflits, mais ne fait pas empêcher la restauration en cascade et le blocage. De plus, nous étudierons trois autres types de 2PL, 2PL Strict, 2PL Conservateur et 2PL Rigoureux.

Questions liées à GATE :

  1. PORTE CS 2016-2 | Question 61
  2. PORTE CS 1999 | Question 31

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Aller en haut