Web Analytics
Privacy Policy Cookie Policy Terms and Conditions תזמון - ויקיפדיה

תזמון

מתוך ויקיפדיה, האנציקלופדיה החופשית

תזמון היא רשימה של פעולות (לרוב כתיבה, קראיה, ביטול והתחייבות) של תנועות שונות, כאשר הסדר בין הפעולות הוא סדר בזמן.

דוגמה לתזמון:

D = \begin{bmatrix} T1 & T2 & T3 \\ R(X) &  &  \\ W(X) &  &  \\ Com. &  &  \\  & R(Y) & \\  & W(Y) & \\  & Com. & \\  && R(Z) \\  && W(Z) \\  && Abort \end{bmatrix}

בדוגמה זו, התזמון D מורכב מהתנועות T3, T2, T1. התזמון מתאר אלו פעולות התנועות עושות על בסיס הנתונים כאשר:

R(X)‎ מסמן קריאה (Read) של אובייקט X.
W(X)‎ מסמן כתיבה (Write) לאובייקט X.
Com.‎ מסמן שהתנועה התחייבה (Commit).
Abort מסמן שהתנועה התבטלה (Abort).

כלומר התזמון מתאר את רצף הפעולות הבא:
T1 קורא וכותבת לאובייקט X, ואז T2 קוראת וכותבת לאובייקט Y, ולבסוף T3 קוראת וכותבת לאובייקט Z ואז מתבטלת. זוהי דוגמה לתזמון סדרתי כי התנועות מתבצעות אחת אחר השנייה. מקובל לסמן תזמון סדרתי זה כך: T1:T2:T3.

תוכן עניינים

[עריכה] סוגים של תזמונים

[עריכה] תזמון סדרתי

תזמון הוא סדרתי אם התנועות בו מתבצעות אחת אחרי השנייה, כמו התזמון D הנראה למעלה.

[עריכה] תזמון שווה-סדרתי

תזמון הוא שווה-סדרתי אם הוא שקול לתזמון סדרתי.

בתזמון E, סדר הפעולות שונה מתזמון D, אך הם שקולים כיוון ששינהם ישאירו את בסיס הנתונים באותו מצב בסוף פעולתם.

E = \begin{bmatrix} T1 & T2 & T3 \\ R(X) &  &  \\    & R(Y) & \\  && R(Z) \\  W(X) &  &  \\  & W(Y) & \\  && W(Z) \\ Com. & Com. & Abort \end{bmatrix}

[עריכה] תזמון מאפשר התאוששות

תזמון מאפשר התאוששות אם תנועותיו מתחייבות רק לאחר שכל התנועות שאת השינויים שהם קראו התחייבו.

F = \begin{bmatrix} T1 & T2 \\ R(A) &   \\ W(A) &   \\  & R(A) \\  & W(A) \\ Com. & \\  & Com.\\  &\end{bmatrix}  F2 = \begin{bmatrix} T1 & T2 \\ R(A) &   \\ W(A) &   \\  & R(A) \\  & W(A) \\ Abort &  \\ & Abort \\  &\end{bmatrix}

שני התזמונים מאפשרים התאוששות.F מאפשר התאוששות כיוון ש-T1 מתחייבת לפני T2, מה שהופך את הקריאה של T2 נכונה. ורק אז T2 מתחייבת. ב-F2, אם T1 מתבטלת, אז T2 חייבת להתבטל גם כיוון שהקריאה של A לא נכונה. בשני המקרים משאירים את בסיס התונים במצב עקבי.

[עריכה] תזמון לא מאפשר התאוששות

אם תנועה T1 מתבטלת, ותנועה T2 מתחייבת, אך T2 סמכה על T1 אז מדובר בתזמון שלא מאפשר התאוששות.

G = \begin{bmatrix} T1 & T2 \\ R(A) &   \\ W(A) &   \\  & R(A) \\  & W(A) \\  & Com. \\ Abort & \\  &\end{bmatrix}


[עריכה] תזמון המונע גלגול לאחור בשרשרת

תזמון שבו אם תנועה מתבטלת לא צריך לבטל תנועות אחרות הוא תזמון המונע גלגול לאחור בשרשרת. תזמונים מסוג זה הם תמיד ניתנים להתאוששות.

F = \begin{bmatrix} T1 & T2 \\ R(A) &   \\ W(A) &   \\  & R(A) \\  & W(A) \\ Com. & \\  & Com.\\  &\end{bmatrix}  F2 = \begin{bmatrix} T1 & T2 \\ R(A) &   \\ W(A) &   \\  & R(A) \\  & W(A) \\ Abort &  \\ & Abort \\  &\end{bmatrix}

בדוגמה לעיל, למרות שF2 הוא תזמון מאפשר התאוששות הוא לא מונע גלגול לאחור בשרשרת.


לעומת זאת, F3 הוא תזמון המונע גלגול לאחור בשרשרת.

F3 = \begin{bmatrix} T1 & T2 \\  & R(A) \\ R(A) &   \\ W(A) &   \\  & W(A) \\ Abort &  \\ & Commit \\  &\end{bmatrix}

[עריכה] שווה-סדרתיות בקונפליקט

[עריכה] קונפליקטים

שני פעולות או יותר נמצאות בקונפליקט אם:

  1. הפעולות שייכות לתנועות שונות
  2. לפחות אחת מהפעולות היא פעולת כתיבה
  3. הפעולות ניגשות לאותו אובייקט

לדוגמה: בסדרת הפעולת הבאה יש קונפליקט:

  • T1:R(X), T2:W(X), T1:W(X)

ובאלה אין:

  • T1:R(X), T2:R(X), T3:R(X)
  • T1:R(X), T2:W(Y), T3:R(X)

[עריכה] שקילות בקונפליקט

שני תזמונים נקראים שקולים בקונפליקט אם מתקיימים התנאים הבאים:

  1. בשני התזמונים יש את אותן תנועות.
  2. הסדר של כל הזוגות של פעולות שבקופליקט זהה.

[עריכה] תזמון שווה סדרתי בקונפליקט

תזמון נקרא שווה סדרתי בקונפליקט אם הוא שקול בקונפליקט לתזמון סדרתי.


G = \begin{bmatrix} T1 & T2 \\ R(A) &   \\  & R(A) \\ W(B) & \\ Com. & \\  & W(A) \\  & Com. \\  &\end{bmatrix}

התזמון G שווה סדרתי בקונפליקט, כיוון שהוא שקול בקונפליקט לT1:T2

[עריכה] שווה-סדרתיות במבט

[עריכה] שקילות במבט

שני תזמונים S1 ו-S2 נקראים שקולים במבט אם התנאים הבאים מתקיימים:

  1. אם התנועה Ti ב-S1 קוראת לראשונה את אובייקט X, אז גם Ti ב-S2 תעשה זאת.
  2. אם התנועה Ti ב-S1 קוראת את הערך באובייקט X שנכתב על ידי התנועה Tj, אז גם Ti ב-S2 תעשה זאת.
  3. אם התנועה Ti ב-S1 כותבת אחרונה לאובייקט X, אז גם Ti ב-S2 תעשה זאת.

[עריכה] תזמון שווה סדרתי במבט

תזמון נקרא שווה סדרתי במבט אם הוא שקול במבט לתזמון סדרתי.

שימו לב שלפי הגדרה, כל תזמון שווה סדרתי בקונפליקט הוא שווה סדרתי במבט.

התזמון G בדוגמה הקודמת הוא הוא שווה סדרתי במבט וגם שווה סדרתי בקונפליקט. אך קיימים תזמונים שווה סדרתיים במבט שאינם שווה סדרתיים בקונפליקט, בתזמונים אלה יש תנועות המבצעות כתיבה עיוורת (כתיבה לאובייקט בלי לקרוא אותו קודם).

H = \begin{bmatrix} T1 & T2 & T3 \\ R(A) & & \\  & W(A) & \\  & Com. & \\ W(A) & & \\ Com. & & \\  & & W(A) \\  & & Com. \\  & & \end{bmatrix}

התזמון H הוא הוא שווה סדרתי במבט אך לא שווה סדרתי בקונפליקט.

מאחר שהבדיקה האם תזמון הוא שווה סדרתי במבט היא NP-שלמה, שווה סדרתיות במבט אין כמעט שימושים מעשיים.

[עריכה] ההירארכיה בין סוגי התזמונים

להלן דיאגרמת ון של ההירארכיה בין סוגי התזמונים:

שפות אחרות
THIS WEB:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2006:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu