Protocole de contrôle de concurrence à verrouillage biphasé (2-PL) | Ensemble 3

Prérequis – Bases de Biphasé Protocole de verrouillage (2-PL), Types de 2-PL.

Maintenant, nous connaissons à la fois Strict 2-PL et Rigorous 2-PL évite Restaurations en cascade et assure un horaire strict mais ne peut toujours pas garantir que notre horaire est sans impasse. Nous avons vu que les 2-PL stricts et rigoureux sont similaires dans leur application et une idée fausse générale est courante selon laquelle le 2-PL conservateur suit également les mêmes ensembles de protocoles que les deux précédents. Pour plus de clarté, passons en revue le 2-PL conservateur en détail.

Conservateur 2-PL –

ALIAS Statique 2-PL, ce protocole exige que la transaction verrouille tous les éléments auxquels elle accède avant que la transaction ne commence son exécution en prédéclarant son jeu de lecture et son jeu d’écriture. Si l’un des éléments prédéclarés nécessaires ne peut pas être verrouillé, la transaction ne verrouille aucun des éléments, mais attend que tous les éléments soient disponibles pour le verrouillage. Ainsi, l’opération sur les données ne peut pas commencer tant que nous n’avons pas verrouillé tous les éléments requis.

Voyons maintenant un exemple intéressant sur le conservateur 2-PL. Dites-moi si l’horaire suivant suit le 2-PL conservateur ?

Schedule:   Lock-X(A)  Lock-X(B)  Read(A)  Read(B)  Write(A)  Unlock(A)  Commit  Unlock(B)

Pensez-vous que le calendrier ci-dessus ne suit pas 2-PL conservateur ? Ne confondez pas le protocole comme une simple version modifiée de Rigorous 2-PL, nous pouvons libérer les verrous quand nous le voulons, mais nous devons verrouiller tous les éléments de données avant d’effectuer toute opération. C’est ce qui le rend sans blocage. Le calendrier ci-dessus suit le conservateur 2-PL.

Quelques traits intéressants à propos du conservateur 2-PL :

  • L’horaire qui suit n’aura pas de phase de croissance comme nous l’avons vu dans les 2-PL basiques, stricts et rigoureux. Comme le verrouillage des données avant de les utiliser est obligatoire, ce protocole a pas de phase de croissance. De plus, cette règle le rend sans blocage comme si un élément n’était pas disponible pour verrouiller la transaction libère tous les verrous et réessaye plus tard, c’est-à-dire, pas d’attente et d’attente. Cela fait l’un des quatre conditions nécessaires à l’impasse annuler.
  • Nous n’avons qu’à verrouiller tous les éléments au préalable, donc les libérer ou les déverrouiller n’a aucune restriction comme nous l’avions dans Strict ou Rigorous 2-PL.
  • Comme aucune opération n’est effectuée avant d’acquérir tous les verrous, nous n’avons pas de phase de croissance dans ce protocole, contrairement au Basic, Strict, Rigorous 2-PL.
  • Bien que nous obtenions un calendrier sans impasse dans ce protocole, nous pouvons toujours faire face à des inconvénients tels que Restaurations en cascade. Donc ce protocole fait ne pas assurer des horaires stricts. C’est un inconvénient par rapport au 2-PL strict et rigoureux.

Discutons maintenant d’un exemple. Voyez comment le calendrier ci-dessous suit le 2-PL conservateur mais ne suit pas le 2-PL strict et rigoureux.

J1 J2
1 Serrure-X(A)
2 Serrure-X(B)
3 Lire un)
4 *fonctionnement sur A
5 Écrire un)
6 Déverrouiller (A)
sept Serrure-X(A)
8 Lire un)
9 *fonctionnement sur A
dix Écrire un)
11 Déverrouiller (A)
12 Lire(B)
13 *fonctionnement sur B
14 Ecrire(B)
15 Déverrouiller (B)
16 Commettre
17 Commettre

Regardez le calendrier, il suit complètement le 2-PL conservateur, mais ne répond pas aux exigences du 2-PL strict et rigoureux, c’est parce que nous déverrouillons A et B avant que la transaction ne soit validée.

Comment l’abandon en cascade peut-il se produire dans le 2-PL conservateur ?
Cela peut se produire parce qu’une transaction peut effectuer un Lecture sale d’une autre transaction. Nous n’avons pas de telles restrictions dans notre protocole, donc cette situation est possible.

Regardez l’exemple ci-dessus, nous avons une opération Dirty Read de J1 à J2 à l’étape 8. Si J1 avorte, alors J2 serait annulé.

Question liée à GATE :
GATE-CS-2016 (Ensemble 1) | Question 61

Laisser un commentaire

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

Aller en haut