Download presentation
Presentation is loading. Please wait.
1
Time & Space Lower Bounds for Non- Blocking Implementations
2
נדבר על increment object ונראה שסיבוכיות הזמן שלו במימוש אקראי היא לכל הפחות n-1, כאשר n הוא מספר התהליכים הרצים. Increment object תומך בפעולת read המחזירה את מצבו של האובייקט ; ופעולת increment המוסיפה 1 למצבו של האובייקט.
3
במימוש אקראי, תהליך מטיל מטבע לפני כל צעד שהוא מבצע ופועל בהתאם. התהליך מקבל כקלט רשימת פעולות אינסופית op-list-i, המורכבת מן הפעולות הנתמכות ע " י האובייקט המדובר, כאשר comp-i מסמן את רשימת הפעולות שהושלמו ו -rem-i את היתר. כתוצאה מכל צעד שביצע התהליך הוא יקבל בחזרה ack או return value. מצבו של תהליך במימוש אקראי מאופיין ע " י ה -PC, comp-i והערכים שקיבל כתוצאה מפעולותיו.
4
" ריצה " היא רצף כלשהו של [p,t] כאשר p הינו תהליך הנמצא על סף ביצוע צעד כלשהו ו -t הינה תוצאת הטלת המטבע. מה ניתן לומר על היחס בין מרחב הריצות הדטרמיניסטיות למרחב הריצות האקראיות ?
5
קונפיגורציה C הינה וקטור : (st-1,…,st-n,rem-1,…,rem-n, O-1,…,O-m). C1 ו -C2 תקראנה " דומות " אם מצבם הפנימי של כל התהליכים זהה ומצבם של האובייקטים המשותפים זהה. C1 ו -C2 תקראנה " דומות מבחינת Pi" אם מצבו הפנימי של Pi זהה בשתיהן ומצב האובייקטים המשותפים זהה. קונפיגורציה C הינה ברת - השגה אם קיימת קונפיגורציה התחלתית וריצה כך ששרשור הריצה לקונפיגורציה זו, תביא את המערכת לקונפיגורציה C.
6
נניח שהאובייקט הממומש הינו counter, ותהינה שתי הריצות הבאות : ,C 1 =C 0 (p1.inc,p1.read ) C 2 =C 0 (p1.inc,p1.read,p2.read) בהנחה שפעולת read אינה משנה את מצב האובייקט, מה ניתן לומר על שתי הקונפיגורציות הללו ? מה תהיה התשובה ללא הנחה זו ?
7
Wait-free Lock-free " סיום יחידני " (Obstruction-free) תהליך pi יסיים את פעולתו באם ירוץ לבד החל מכל קונפיגורציה. במקרה האקראי – קיימת סדרת תוצאות מטבע כך שהתהליך יסיים את פעולתו.
8
המטרה היא להוכיח שכל מימוש אקראי של increment object המקיים את התנאי " סיום יחידני ", זקוק לפחות ל - (n-1) אובייקטי בסיס. בתום ההוכחה נגלה שקיבלנו גם חסם תחתון על סיבוכיות זמן הריצה. נוכיח טענה זאת תחת הדרישה שאובייקטי הבסיס הם : register, swap register & resettable consensus
9
Register – תומך בקריאה וכתיבה, כך שכתיבה מחזירה ack וקריאה מחזירה את מצב הרגיסטר. Swap register – תומך בקריאה וכתיבה, כך שכתיבה מחזירה את הערך שהוחלף.
12
אובייקט הקונצנזוס תומך בפעולת ה -decide / propose ומקיים שני תנאים : הסכמה ערכיות
13
תומך באיפוס וב -propose. מצבו של אובייקט מאופס הוא ֲ ואילו שאר המצבים האפשריים הם ערכי מספרים טבעיים. פעולת איפוס מחזירה ack ופעולת propose(v) מחזירה v אם האובייקט מאופס, ואת w אם לא.
14
עבור כל מימוש אקראי של increment object המקיים obstruction-freedom, יש צורך לפחות ב -n-1 אובייקטי בסיס. נוכיח זאת באינדוקציה על...
15
תהיינה הריצות Λ k, Σ k, Π k, קבוצת אובייקטי הבסיס S k ו -C 0 קונפיגורציה התחלתית. 1) הריצות Λ k,Σ k אינן כוללות את Pn. 2) עבור k=0, מתקיים ש - Σ k הינה הריצה הריקה. עבור k≥1 מתקיים ש - Σ k הינה הריצה [Pi k, Tk], [Pi k-1,T k-1 ],…,[Pi 1,T 1 ] כאשר כל התהליכים שונים אחד מהשני. 3) Π k הינה ריצה יחידנית של Pn. 4) |S k | = k, כאשר הקבוצה מסמנת אובייקטי בסיס. 5) S k הינה קבוצת כל אובייקטי הבסיס ש -Pn ניגש אליהם בריצה C 0 (Λ k Σ k Π k ). 6) בריצה C 0 (Λ k Σ k Π k ), הפעולה הראשונה של Pn (OP) על האובייקט הממומש (O) טרם הסתיימה, או בדיוק הסתיימה. 7) נסמן Free-k להיות הקבוצה {P 1,…,P n-1 } – Process-Set(Σ k ). תהי γ ריצה כלשהי בה רק תהליכי Free-k לוקחים צעדים. ה -state של כל אובייקטי הבסיס שב -S k זהה בתום הריצות C 0 (Λ k Σ k ) ו - C 0 (Λ k γΣ k ).
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.