Time & Space Lower Bounds for Non- Blocking Implementations.

Slides:



Advertisements
Similar presentations
Completeness and Expressiveness. תזכורת למערכת ההוכחה של לוגיקה מסדר ראשון : אקסיומות 1. ) ) (( 2. )) ) (( )) ( ) ((( 3. ))) F( F( ( 4. ) v) ( ) v ((
Advertisements

1 Formal Specifications for Complex Systems (236368) Tutorial #4 Refinement in Z: data refinement; operations refinement; their combinations.
1 Formal Specifications for Complex Systems (236368) Tutorial #2 Z notation; Examples.
מתמטיקה בדידה תרגול 3.
רקורסיות נושאי השיעור פתרון משוואות רקורסיביות שיטת ההצבה
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
Na+ P-. הפוטנציאל האלקטרוכימי אנרגיה חופשית ל - 1 mole חומר. מרכיב חשמלי מרכיב כימי מרכיבי הפוטנציאל האלקטרוכימי של חומר X: המרכיב הכימי : RTlnC x R –
רקורסיות נושאי השיעור מהן רקורסיות פתרון רקורסיות : שיטת ההצבה שיטת איטרציות שיטת המסטר 14 יוני יוני יוני 1514 יוני יוני יוני 1514.
The Solar Wind And its consequences. dx dA משוואות בסיסיות בהידרו דינמיקה הכח הפועל כתוצאה מגרדיאנט בלחץ על אלמנט מסה - dm.
אוטומט מחסנית הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 11.
חורף - תשס " ג DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF.
היום נדבר אל נושא אחד בתורת הגרפים. ובהמשך נשתמש בכלים אלו לפתרון כמה בעיות גאומטריות ובפרט להוכחת Szemeredi Trotter theorem.
Map-Reduce Input: a collection of scientific articles on different topics, each marked with a field of science –Mathematics, Computer Science, Biology,
1 Formal Specifications for Complex Systems (236368) Tutorial #5 Refinement in Z: data refinement; operations refinement; their combinations.
בהסתברות לפחות למצא בעיה במודל PAC עבור בהסתברות ε הפונקציה f טועה מודל ONLINE 1. אחרי כל טעות הפונקציה משתפרת 2. מספר הטעיות קטן.
סמינר במדעי המחשב 3 עודד פרץ משפט הנורמליזציה החזקה.
מבוא למדעי המחשב © אריק פרידמן 1 מצביעים כמערכים דוגמה.
תרגול חזרה. מבנה האובייקט תאר את מבנה האובייקט כולל מבנה טבלאות הפונקציות הוירטואליות עבור התכנית הבאה struct A { int x; virtual void a() {}; }; struct.
מסדי נתונים תשס " ג 1 תכנון סכמות – אלגוריתם פירוק לתבניות בצורת BCNF מסדי נתונים.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
תורת הקבוצות חלק ב'. קבוצה בת מניה הגדרה: קבוצה אינסופית X היא ניתנת למניה אם יש התאמה חד-חד ערכית בין X לבין .
תכנות תרגול 6 שבוע : תרגיל שורש של מספר מחושב לפי הסדרה הבאה : root 0 = 1 root n = root n-1 + a / root n-1 2 כאשר האיבר ה n של הסדרה הוא קירוב.
1 Formal Specifications for Complex Systems (236368) Tutorial #1 Course site : T.A. :Emilia Katz.
תחשיב הפסוקים חלק ג'. צורות נורמליות א. DF – Disjunctive Form – סכום של מכפלות. דוגמא: (P  ~Q  R)  (R  P)  (R  ~Q  ~P) הגדרה: נוסחה השקולה לנוסחה.
מודל ONLINE לומדמורה 1. כל ניתן לחישוב בזמן פולינומיאלי 2. אחרי מספר פולינומיאלי של טעיות ( ) הלומד לא טועה ז"א שווה ל- Littlestone 1988.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
ערכים עצמיים בשיטות נומריות. משוואה אופינית X מציין וקטור עצמי מציינת ערך עצמי תואם לוקטור.
מבני בקרה לולאות. שאלה #1 שאלה ב' – תכתוב תוכנה הכותבת את תפריט הבאה Type 1 to find the area of a circle Type 2 to find the circumference of a circle.
מערכות הפעלה חזרה. מערכות הפעלה - שאלות חזרה2 (c) רסקין לאוניד 2005 שאלה 1 int X = 1, p1 = 0, p2 = 0; int ProcessA() { printf("process A\n"); while(X);
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 זימון תהליכים  מדיניות בסיסיות : RR, FCFS, SJF  הערכת זמן ריצה ושימוש בעדיפויות  ריבוי תורים ודוגמאות.
הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353)
Ray 7 דוגמא אלגוריתם 1.קבל דוגמאות 2. פלט f a עבור הדוגמה a המינימלית החיובית ?
תחשיב הפסוקים חלק ד'. תורת ההיסק של תחשיב הפסוקים.
1 Data Structures, CS, TAU, Perfect Hashing בעיה: נתונה קבוצה S של n מפתחות מתחום U השוואה ל- Hash : * טבלה קבועה (Hash רגיל - דינאמי) * רוצים זמן קבוע.
מערכים עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר int grade1, grade2, …, grade20; int grade1, grade2, …, grade20;
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א מודל הלמידה מדוגמאות Learning.
עקרון ההכלה וההדחה.
יחס סדר חלקי.
מבוא למדעי המחשב תרגול 3 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
תחשיב היחסים (הפרדיקטים)
תרגול 5: ביטויים לוגיים ומשפטי תנאי (חזרה והרחבה)
מיון (Sorting) קלט : מערך בן n מספרים. פלט : מערך ובו המספרים אותם מאוחסנים בסדר עולה
Markov Decision Processes (MDP) תומר באום Based on ch. 14 in “Probabilistic Robotics” By Thrun et al. ב"הב"ה.
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א.
מבוא מורחב למדעי המחשב בשפת Scheme תרגול 10. אג'נדה שאלות מבחינות חזרה על מימוש stream אפשרי 2.
מתמטיקה בדידה תרגול 2.
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
Points on a perimeter (Convex Hull) קורס – מבוא לעבוד מקבילי מבצעים – אריאל פנדלר יאיר ברעם.
מבנה מחשבים תרגול מספר 3. טענה על עצים משפט: בעץ שדרגת כל קודקודיו חסומה ב-3, מספר העלים ≤ מספר הקודקודים הפנימיים + 2. הוכחה: באינדוקציה על n, מספר הקודקודים.
11 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
- אמיר רובינשטיין מיונים - Sorting משפט : חסם תחתון על מיון ( המבוסס על השוואות בלבד ) של n מפתחות הינו Ω(nlogn) במקרה הגרוע ובממוצע. ניתן לפעמים.
Presentation by Gil Perry Supervised by Amos Fiat 1.
פיתוח מערכות מידע Class diagrams Aggregation, Composition and Generalization.
Methods public class Demonstrate { public static void main (String argv[]) { public static void main (String argv[]) { int script = 6, acting = 9, directing.
1 Formal Specifications for Complex Systems (236368) Tutorial #1 Course site:
. Sequence Alignment Tutorial #3 © Ydo Wexler & Dan Geiger.
עקרונות תכנות מונחה עצמים תרגול 11: OOP in C++. Outline  Where do the objects live ?  Inheritance  Slicing  Overriding vs Shadowing.
Multiprocessor Synchronization Algorithms
מספרים אקראיים ניתן לייצר מספרים אקראיים ע"י הפונקציה int rand(void);
Tirgul 12 Trees 1.
Formal Specifications for Complex Systems (236368) Tutorial #1
מבוא למדעי המחשב סיבוכיות.
SQL בסיסי – הגדרה אינדוקטיבית
הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353)
תיאוריית תכנון סכמות למסדי נתונים יחסיים חלק 4
Marina Kogan Sadetsky –
תיכון בסיס-נתונים יחסי
Engineering Programming A
Presentation transcript:

Time & Space Lower Bounds for Non- Blocking Implementations

 נדבר על increment object ונראה שסיבוכיות הזמן שלו במימוש אקראי היא לכל הפחות n-1, כאשר n הוא מספר התהליכים הרצים.  Increment object תומך בפעולת read המחזירה את מצבו של האובייקט ; ופעולת increment המוסיפה 1 למצבו של האובייקט.

 במימוש אקראי, תהליך מטיל מטבע לפני כל צעד שהוא מבצע ופועל בהתאם.  התהליך מקבל כקלט רשימת פעולות אינסופית op-list-i, המורכבת מן הפעולות הנתמכות ע " י האובייקט המדובר, כאשר comp-i מסמן את רשימת הפעולות שהושלמו ו -rem-i את היתר.  כתוצאה מכל צעד שביצע התהליך הוא יקבל בחזרה ack או return value.  מצבו של תהליך במימוש אקראי מאופיין ע " י ה -PC, comp-i והערכים שקיבל כתוצאה מפעולותיו.

 " ריצה " היא רצף כלשהו של [p,t] כאשר p הינו תהליך הנמצא על סף ביצוע צעד כלשהו ו -t הינה תוצאת הטלת המטבע.  מה ניתן לומר על היחס בין מרחב הריצות הדטרמיניסטיות למרחב הריצות האקראיות ?

 קונפיגורציה C הינה וקטור : (st-1,…,st-n,rem-1,…,rem-n, O-1,…,O-m).  C1 ו -C2 תקראנה " דומות " אם מצבם הפנימי של כל התהליכים זהה ומצבם של האובייקטים המשותפים זהה.  C1 ו -C2 תקראנה " דומות מבחינת Pi" אם מצבו הפנימי של Pi זהה בשתיהן ומצב האובייקטים המשותפים זהה.  קונפיגורציה C הינה ברת - השגה אם קיימת קונפיגורציה התחלתית וריצה כך ששרשור הריצה לקונפיגורציה זו, תביא את המערכת לקונפיגורציה C.

 נניח שהאובייקט הממומש הינו counter, ותהינה שתי הריצות הבאות : ,C 1 =C 0 (p1.inc,p1.read ) C 2 =C 0 (p1.inc,p1.read,p2.read)  בהנחה שפעולת read אינה משנה את מצב האובייקט, מה ניתן לומר על שתי הקונפיגורציות הללו ?  מה תהיה התשובה ללא הנחה זו ?

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

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

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

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

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

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

 תהיינה הריצות Λ 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 ).