1 / 15

חסמי זמן ומקום תחתונים עבור מימושים א-חוסמים

חסמי זמן ומקום תחתונים עבור מימושים א-חוסמים. Time & Space Lower Bounds for Non-Blocking Implementations. אז מה הקטע?. נדבר על increment object ונראה שסיבוכיות הזמן שלו במימוש אקראי היא לכל הפחות n-1 , כאשר n הוא מספר התהליכים הרצים.

Download Presentation

חסמי זמן ומקום תחתונים עבור מימושים א-חוסמים

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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, ותהינה שתי הריצות הבאות: • ,C1=C0(p1.inc,p1.read)C2=C0(p1.inc,p1.read,p2.read) • בהנחה שפעולת read אינה משנה את מצב האובייקט, מה ניתן לומר על שתי הקונפיגורציות הללו? • מה תהיה התשובה ללא הנחה זו?

  7. Non-Blocking Implementations • Wait-free • Lock-free • "סיום יחידני" (Obstruction-free) תהליך pi יסיים את פעולתו באם ירוץ לבד החל מכל קונפיגורציה. במקרה האקראי – קיימת סדרת תוצאות מטבע כך שהתהליך יסיים את פעולתו.

  8. מה הולך לקרות? • המטרה היא להוכיח שכל מימוש אקראי של increment object המקיים את התנאי "סיום יחידני", זקוק לפחות ל-(n-1) אובייקטי בסיס. בתום ההוכחה נגלה שקיבלנו גם חסם תחתון על סיבוכיות זמן הריצה. • נוכיח טענה זאת תחת הדרישה שאובייקטי הבסיס הם: register, swap register & resettable consensus

  9. Register & swap register • Register – תומך בקריאה וכתיבה, כך שכתיבה מחזירה ack וקריאה מחזירה את מצב הרגיסטר. • Swap register – תומך בקריאה וכתיבה, כך שכתיבה מחזירה את הערך שהוחלף.

  10. Consensus

  11. Consensus

  12. Consensus • אובייקט הקונצנזוס תומך בפעולת ה-decide / propose ומקיים שני תנאים: • הסכמה • ערכיות

  13. Resettable consensus • תומך באיפוס וב-propose. מצבו של אובייקט מאופס הוא ֲ ואילו שאר המצבים האפשריים הם ערכי מספרים טבעיים. • פעולת איפוס מחזירה ack ופעולת propose(v) מחזירה v אם האובייקט מאופס, ואת w אם לא.

  14. תזכורת למשפט: • עבור כל מימוש אקראי של increment object המקיים obstruction-freedom, יש צורך לפחות ב-n-1 אובייקטי בסיס. • נוכיח זאת באינדוקציה על...

  15. התנאי הבלתי נגמר • תהיינה הריצות Λk,Σk,Πk, קבוצת אובייקטי הבסיס Skו-C0 קונפיגורציה התחלתית. • הריצות Λk,Σk אינן כוללות את Pn. • עבור k=0, מתקיים ש- Σkהינה הריצה הריקה. עבור k≥1 מתקיים ש- Σk הינה הריצה [Pik,Tk], [Pik-1,Tk-1],…,[Pi1,T1] כאשר כל התהליכים שונים אחד מהשני. • Πk הינה ריצה יחידנית של Pn. • |Sk| = k, כאשר הקבוצה מסמנת אובייקטי בסיס. • Sk הינה קבוצת כל אובייקטי הבסיס ש-Pn ניגש אליהם בריצה C0(ΛkΣkΠk). • בריצה C0(ΛkΣkΠk), הפעולה הראשונה של Pn (OP) על האובייקט הממומש (O) טרם הסתיימה, או בדיוק הסתיימה. • נסמן Free-k להיות הקבוצה {P1,…,Pn-1} – Process-Set(Σk). תהי γ ריצה כלשהי בה רק תהליכי Free-k לוקחים צעדים. ה-state של כל אובייקטי הבסיס שב-Skזהה בתום הריצות C0(ΛkΣk) ו- C0(ΛkγΣk).

More Related