Etusijakaavio - Precedence graph

Etusija kaavio , myös nimeltään konflikti kaavio ja serializability kaavio , jota käytetään yhteydessä samanaikaisuuden hallinta on tietokantoihin .

Aikataulun S etusijakaavio sisältää:

  • Solmu jokaiselle suoritetulle tapahtumalle S: ssä
  • Kaari T i: stä T j: een, jos T i: n toiminta edeltää ja on ristiriidassa jonkin T j : n toiminnan kanssa. Toisin sanoen toiminnot kuuluvat eri tapahtumiin, ainakin yksi toiminnoista on kirjoitusoperaatio ja toiminnot käyttävät samaa objektia (luku tai kirjoitus).

Esimerkkejä prioriteettikaavioista

Esimerkki 1

Image
Esimerkki 2

Esimerkki 2

Aikataulun D etusijakaavio, 3 tapahtumaa. Koska sitoutuneiden tapahtumien T1 ja T2 läpi on jakso (pituus 2; kaksi reunaa), tämä aikataulu (historia) ei ole ristiriitaisuussarjoitettavissa . Huomaa, että tapahtuman 2 suorittamisella ei ole merkitystä prioriteettikaavion luomisessa.

Serialisoitavuuden testaaminen prioriteettikaavion avulla

Image
Serialisoitavuuden testaus Esimerkki

Algoritmi S-aikataulun konfliktiserialisoitavuuden testaamiseksi yhdessä esimerkki-aikataulun kanssa.

tai

  1. Jokaista tapahtuman T x osallistuvien aikataulussa S, luoda solmu merkitty T i on etusija kuvaaja. Näin ollen etusija kuvaaja sisältää T 1 , T 2 , T 3 .
  2. Luo kullekin S: n tapaukselle, jossa T j suorittaa read_item (X) sen jälkeen, kun T i suorittaa kirjoitusalueen (X), prioriteettikaavioon reuna (T i → T j ). Tätä ei tapahdu missään yllä olevassa esimerkissä, koska lukemista kirjoituksen jälkeen ei ole.
  3. Kullekin S: n tapaukselle, jossa T j suorittaa kirjoitusalueen (X) sen jälkeen, kun T i suorittaa lukulauseen (X), luo reuna (T i → T j ) etusijakaavioon . Tämä johtaa suunnatun reunan T 1 -T 2 (kuten T- 1 on R (A) ennen kuin T 2 , jossa W (A) ).
  4. Kullekin S: n tapaukselle, jossa T j suorittaa kirjoitusalueen (X) sen jälkeen, kun T i suorittaa kirjoitusalueen (X), luo reuna (T i → T j ) etusijakaavioon . Tämä johtaa ulottuvat reunat T 2 -T 1 , T 2 T 3 ja T 1 -T 3 .
  5. Aikataulu S on sarjoitettavissa vain ja vain, jos etusijakaaviossa ei ole syklejä. Kuten T 1 ja T 2 muodostavat syklin, yllä olevassa esimerkissä ei ole (ristiriita) sarjoittaa.

Viitteet

Ulkoiset linkit