Synchronizers - מסנכרנים הדמיית רשת סינכרונית ברשת אסינכרונית.

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.
חיפוש בינה מלאכותית אבי רוזנפלד. סוגי חיפוש כלליים UNINFORMED SEARCH -- חיפושים לא מיודעים במרחי מצבים – BFS – DFS INFORMED SEARCH – חיפושים מיודעים –
גרף מכוון Directed Graph a b c f g ed h צמתים חוג עצמי קשתות.
Recitation #9. Q1 גרף מכוון מורכב מקבוצה של צמתים (nodes) ומקשתות מכוונות (arcs) המחברות ביניהם. כל קשת מכוונת יוצאת מצומת אחד ונכנסת לצומת אחר. ( בגרפים.
רקורסיות נושאי השיעור פתרון משוואות רקורסיביות שיטת ההצבה
גרפים ממשקלים גרף ממשקל הוא גרף עם משקל לכל קשת עץ פורש הוא עץ שצמתיו הם כל הצמתים של הגרף וקשתותיו הן קשתות הגרף.
מסדי נתונים תשס " ג 1 תכנון סכמות (Design Theory) מסדי נתונים.
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
יפעת קוליקנט, מכון ויצמן למדע1 פרק 7, אלגוריתם Ra לפתרון בעית הקטע הקריטי במערכות מבוזרות.
R. Bar-Yehuda © 1 קומבינטוריקה למדעי - המחשב – הרצאה #14 Graph theory – תורת הגרפים Chapter 1: PATHS IN GRAPHS – 1. מסלולים.
מה החומר למבחן ? כל החומר שנלמד בהרצאות ובתרגולים. לגבי backtracking: לא תידרשו לממש אלגוריתם, אך כן להבין או להשלים מימוש נתון. אחת משאלות המבחן מבוססת.
עבודה סמינריונית Prelude to Ukkonen algorithm ON-LINE CONSTRUCTION OF SUFFIX TREES מגישים : עיד מוחמד טיבי פיראס.
אוטומט מחסנית הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 11.
חורף - תשס " ג DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF.
Map-Reduce Input: a collection of scientific articles on different topics, each marked with a field of science –Mathematics, Computer Science, Biology,
הכלה ושקילות בין ביטויי XPath. הביטויים מכילים את האופרטורים הבאים [ ] פיצול // צאצא – קו כפול * - ג'וקר תווית דוגמה a[a][*//b] עבור כל ביטוי P ישנו עץ.
2 Suffix Tree: Definition Suffix tree T על מחרוזת S שגודלה n, הוא עץ מכוון עם בדיוק n עלים ממוספרים מ -1 עד n. לכל צומת פנימית ( חוץ מהשורש ) יש לפחות.
1 Data Structures, CS, TAU, Splay Tree Splay Tree  מימוש של עץ חיפוש בינארי  מטרה לדאוג ל- Amortized Time  פעולה בודדת יכולה לקחת O(N)  אבל כל רצף.
1 Formal Specifications for Complex Systems (236368) Tutorial #5 Refinement in Z: data refinement; operations refinement; their combinations.
אשכול - clustering Clustering הוא תחום הקשור לבינה מלאכותית, ותת תחום של למידה לא מבוקרת.
משפט ההרכבה Composition Theorem תהי C מחלקה של פונקציות בוליניות תהי נגדיר סדרת פונקציות שניתנות לחישוב בזמן פולינומיאלי.
בהסתברות לפחות למצא בעיה במודל PAC עבור בהסתברות ε הפונקציה f טועה מודל ONLINE 1. אחרי כל טעות הפונקציה משתפרת 2. מספר הטעיות קטן.
מסדי נתונים תשס " ג 1 תכנון סכמות – אלגוריתם פירוק לתבניות בצורת BCNF מסדי נתונים.
Data Structures, CS, TAU, Splay Tree 1 Splay Tree - עץ חיפוש בינארי - מטרה לדאוג ל - Amortized Time - פעולה בודדת יכולה לקחת O(N) - אבל כל רצף M פעולות.
צביעת גרפים: הגדרה: G=(V,E) גרף בלתי מכוון. צביעת G ב-K צבעים 1
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
תכנות תרגול 6 שבוע : תרגיל שורש של מספר מחושב לפי הסדרה הבאה : root 0 = 1 root n = root n-1 + a / root n-1 2 כאשר האיבר ה n של הסדרה הוא קירוב.
אלגוריתמים מבוזרים אלגוריתם המבוצע על ידי קבוצת מעבדים אוטונומיים המחוברים ביניהם (ברשת). המעבדים מתקשרים ע"י העברת הודעות (ז.מ.) ברשתות מחשבים:  שכבה.
שאלה 1 נתון כביש ישר עם תחנות דלק בנקודות , בנקודת המוצא נתונה מכונית עם תא דלק שמספיק ל-100 ק"מ. מחיר מילוי תא הדלק בתחנה.
הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353)
The Cyclic Multi-peg Tower of Hanoi מעגלי חד-כווני סבוכיות הפתרון בגרסאות עם יותר מ-3 עמודים.
Data Structures, CS, TAU, Perfect Hashing 1 Perfect Hashing בעיה : נתונה קבוצה S של n מפתחות מתחום U השוואה ל - Hash : * טבלה קבועה (Hash רגיל - דינאמי.
גרפים - Graphs גרף G(V,E) מורכב מקבוצת צמתים V וקבוצת קשתות E.
1 Data Structures, CS, TAU, Perfect Hashing בעיה: נתונה קבוצה S של n מפתחות מתחום U השוואה ל- Hash : * טבלה קבועה (Hash רגיל - דינאמי) * רוצים זמן קבוע.
עצים מאוזנים הגדרה: משפחת עצים תקרא מאוזנת אם ,h(T) = O(log n) באשר T הוא עץ במשפחה, n הוא מספר הצמתים ב-T ו-h(T) הוא הגובה של T עצי (Adelson-Velsky,
מערכים עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר int grade1, grade2, …, grade20; int grade1, grade2, …, grade20;
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א מודל הלמידה מדוגמאות Learning.
עקרון ההכלה וההדחה.
יחס סדר חלקי.
מבוא למדעי המחשב, סמסטר א ', תשע " א תרגול מס ' 1 נושאים  הכרת הקורס  פסאודו - קוד / אלגוריתם 1.
Data Structures, CS, TAU, RB-Tree 1 עץ אדום-שחור - עץ חיפוש בינארי - בכל צומת ביט אינפורמציה נוסף - צבע « עץ “ כמעט מאוזן ” « (O(log n במקרה גרוע ביותר.
Markov Decision Processes (MDP) תומר באום Based on ch. 14 in “Probabilistic Robotics” By Thrun et al. ב"הב"ה.
עצים בינאריים - תזכורת דרגת צומת שורש עלה צומת פנימי מרחק בין 2 צמתים
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #3 Internet Control Message Protocol (ICMP)
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, מספר הקודקודים.
Lecture 13 Maximal Accurate Forests From Distance Matrix.
1 מבוא למדעי המחשב backtracking. 2 מוטיבציה בעיית n המלכות: נתון: לוח שחמט בגודל. המטרה: לסדר על הלוח n מלכות כך שאף אחת לא תאיים על השנייה. דוגמא: עבור.
Text to speech In Mobile Phones איתי לוי. הקדמה שימוש בהודעות טקסט על המכשירים הסלולארים היא דרך תקשורת מאוד פופולארית בימינו אשר משתמשים בה למטרות רבות,
- אמיר רובינשטיין מיונים - Sorting משפט : חסם תחתון על מיון ( המבוסס על השוואות בלבד ) של n מפתחות הינו Ω(nlogn) במקרה הגרוע ובממוצע. ניתן לפעמים.
פיתוח מערכות מידע Class diagrams Aggregation, Composition and Generalization.
1 Formal Specifications for Complex Systems (236368) Tutorial #1 Course site:
Tirgul 12 Trees 1.
Formal Specifications for Complex Systems (236368) Tutorial #1
מבוא למדעי המחשב סיבוכיות.
תקשורת ומחשוב תרגול 1 IP, Classes and Masks.
תירגול 14: מבני נתונים דינאמיים
הרצאה 07 עצים קרן כליף.
מבני נתונים עצים קרן כליף.
פרוקטוז, C6H12O6 , חד-סוכר מיוחד
תיאוריית תכנון סכמות למסדי נתונים יחסיים חלק 4
Data Structures, CS, TAU, Splay Tree
בעיות נוספות ב-NPC.
Marina Kogan Sadetsky –
אלגוריתמי קרוב לבעיית Densest k-Subgraph
Computer Programming תרגול 3 Summer 2016
Engineering Programming A
Presentation transcript:

Synchronizers - מסנכרנים הדמיית רשת סינכרונית ברשת אסינכרונית

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

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

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

סינכרון מעבר של מעבד V מפעימה P-1 לפעימה P שלב א ' : מוכנות המעבד V לעבור לפעימה P שלב ב ' : קבלת נכונות הרשת לעבור לפעימה P מעבר לפעימה P

שלב א ' - מוכנות הגדרה מעבד V יהיה מוכן לעבור לפעימה P כאשר הוא סיים להעביר את ההודעות של פעימה P-1 שימו לב. ההגדרה אינה תלויה במעבדים האחרים ברשת בכל אלגוריתמי הסינכרון שלב א ' זהה האלגוריתם לשלב א ' הוא קבלת אישור על שליחת ההודעות

שלב א ' - ביצועים סיבוכיות ביצוע O(1) סיבוכיות הודעות O(1) על כל הודעה של האלגוריתם הסינכרוני שמדמים, נשלחת בדיוק עוד הודעה אחת

שלב ב ' מעבד V ישלח הודעה של פעימה P רק אם הוא יודע בוודאות שהנמען מוכן לפעימה P יתכן שמעבד V יקבל הודעות של פעימה P לפני שמותר לו לשלוח הודעה של פעימה P שלושה אלגוריתמים לשלב ב ' α β γ

אלגוריתם α העקרון מעבד V יכול לעבור לשלב P כאשר הוא יודע ששכניו מוכנים לשלב P האלגוריתם כאשר מעבד V מוכן לפעימה P, הוא מעביר הודעת מוכנות לכל שכניו כאשר מעבד V מקבל מכל שכניו הודעת מוכנות הוא עובר לשלב P

אלגוריתם α – נכונות וביצועים עקרון הנכונות לא יתכן שתעבור הודעה מפעימה P לשכן שלא אישר מוכנות לפעימה P ביצועים סיבוכיות זמן O(1) מעבד צריך לשלוח הודעה אחת לכל שכן סיבוכיות הודעות O(E) בין כל שני מעבדים נשלחות שתי הודעות

אלגוריתם β העקרון שימוש בעץ פורש כאשר שורש העץ אחראי על שליחת פעימות הסינכרון

אלגוריתם β – שלבי האלגוריתם עלה – שולח הודעת נכונות ברגע שהוא מוכן צומת – כאשר א ) היא מוכנה לפעימה הבאה ב ) היא מקבלת הודעת מוכנות מכל בניה היא שולחת הודעת נכונות לאב שורש – כאשר הוא מקבל הודעת נכונות מכל בניו, הוא מעביר הודעת פעימה לכל בניו צומת ועלה – מעבירה הודעת פעימה ועוברת לפעימה הבאה

אלגוריתם β – נכונות וביצועים עקרון הנכונות הודעה של פעימה P יכולה לעבור בעץ רק לאחר ששורש העץ קיבל מוכנות ל P מכל העץ סיבוכיות זמן * בהנחה שהעץ נבנה יעיל כך שעומק העץ זהה לקוטר שלו סיבוכיות הודעות

אלגוריתם γ עסקת חליפין בין זמני הביצוע וסיבוכיות ההודעות באלגוריתמים α ו β הבסיס שילוב שני האלגוריתמים הקודמים המטרה להגיע לאלגוריתם עם סיבוכיות זמן סיבוכיות הודעות עבור k כלשהו

אלגוריתם γ - הרשת העקרון בנית רשת של עצים מקושרים כל עץ יהיה אשכול (cluster) בגרף בין כל שני עצים שכנים תיקבע צלע אחת בלבד שמעבירה הודעות סנכרון כל עץ יעבוד לפי אלגוריתם β בין העצים יעבוד אלגוריתם α

אלגוריתם γ – שלבי האלגוריתם 1. העברת הודעת נכונות במעלה העץ 2. העברת הודעת " אשכול בטוח " במורד העץ 3. העברת הודעת " אשכול בטוח " לאשכולים סמוכים בצלעות המיועדות לכך בלבד 4. העברת הודעת " אשכול שכן בטוח " במעלה העץ 5. העברת הודעת " הכל בטוח " במורד העץ

אלגוריתם γ – נכונות וביצועים נכונות - נובע מאלגוריתמים α ו β כל אשכול בנפרד בטוח לפי אלגוריתם β האשכולות בטוחים ביניהם לפי אלגוריתם α ביצועים – תלוי בחלוקה לאשכולות בעזרת האלגוריתם הבא השיג את התוצאות הבאות סיבוכיות הודעות סיבוכיות זמן

אלגוריתם חלוקת הגרף המטרה בחירת אשכול מקסימלי s כך שקוטר האשכול אינו עלה על לוגריתם גודל האשכול העקרון בונים אשכול " שמן " כך שבממוצע לקדקוד באשכול, אין יותר מ k שכנים מחוץ לאשכול

מרכיבי האלגוריתם לחלוקת גרף חיפוש מנהיג ראשוני, בכל אלגוריתם מבוזר יצירת אשכול סביב מנהיג חיפוש מנהיג בגרף השארית מציאת קשת מועדפת בין אשכולות

יצירת אשכול סביב מנהיג העקרון הקדקוד היוזם את בניית האשכול בונה עץ פורש בעזרת BFS סביבו העץ נבנה רמה אחר רמה לפני הוספת רמה לעץ, סופרים את מספר הקודקודים ברמה אשר אינם שייכים לאשכול קיים. את מספר הקדקודים באשכול ספירה זו מחייבת עליה וירידה בעץ בכל שלב באלגוריתם

בחינת רמה לפני הוספה לאשכול לפני הוספת רמה חדשה לעץ, בוחנים את מספר הקדקודים ברמה החדשה אם מספר זה עולה על (k-1) פעמים מספר הקדקודים בכל העץ, מוסיפים את הרמה החדשה וממשיכים לרמה הבאה אחרת מפסיקים את בניית העץ ומחפשים מנהיג לאשכול חדש הרמה הנבחנת לא תוסף לעץ, אך האשכול יזכור את הקדקודים הרמה הדחויה

חיפוש מנהיג בוחרים קדקוד ( למשל בעל ID מינימלי ) מהרמה הדחויה ובונים סביבו אשכול חדש אם הרמה הדחויה ריקה, חוזרים לאשכול שיצר את האשכול הנוכחי, ומחפשים ברמה הדחויה שלו אם חזרנו לאשכול הראשון שייצרנו וגם הרמה הדחויה שלו ריקה, נגמר האלגוריתם האלגוריתם דומה לחיפוש DFS בין האשכולות

חיפוש קשת מועדפת נבחר פונקציית משקל בין שני קדקודים i,j בעלי צלע משותפת הנמצאים באשכולות שונים פונקציה זו מבטיחה כי שני האשכולות יבחרו את אותה הצלע ביניהם, אם בכלל יש צלע ביניהם

בחירת קשת מועדפת באשכול בקבלת ההודעה המתאימה כל קדקוד יוצר רשימה של המשקל המינימלי לכל אשכול סמוך רשימה זו עוברת במעלה העץ כל צומת מאחדת את רשימת כל בניה עם הרשימה שלה במהלך האיחוד, מנפים את הרשימה, כך שלכל אשכול סמוך תישאר הצלע המינימלית

ההודעה למציאת קשת מועדפת ההודעה נשלחת כאשר חוזרים דרך האשכול במהלך הצעד " חיפוש מנהיג " ההודעה נשלחת על ידי שורש העץ, כאשר " חיפוש מנהיג " מחזיר כישלון בשלב זה, לא יתכן שלקדקוד יהיה שכן שאינו חלק מאשכול

פרסום הקשת המועדפת כאשר השורש מקבל את רשימת המשקלים, הוא מאחד אותה עם שלו, ומפרסם אותה בכל העץ קדקוד המקבל את הרשימה ומוצא שקשת היוצאת ממנו נמצאת בא, יסמן את הקשת להעברת הודעות סנכרון מחוץ לאשכול הודעה זו יכולה להיות גם הודעה לפעימה הראשונה באלגוריתם הסינכרוני

יצירת אשכול - ביצועים סיבוכיות הודעות כל אשכול יוצרים פעם אחת כולל עד סבבים באשכול בכל סבב עוברות הודעות בכל האשכול סיבוכיות זמן גובה כל אשכול שבונים המכיל n קדקודים ישנם h סבבים בגובה h ולכן סיבוכיות זמן קיים חסם למספר שלם n ו כך ש ולכן סבוכיות זמן

חיפוש מנהיג - ביצועים בכל פעם שמתבצע חיפוש מנהיג דרך אשכול מסויים צריך לבחון את העץ עבור בחינה אחת סיבוכיות הודעות סיבוכיות זמן מספר חיפושי המנהיג חסום על ידי מספר האשכולות, שחסום בגודל הגרף סיבוכיות הודעות סיבוכיות זמן

בחירת קשת מועדפת - ביצועים לצורך הניתוח, במקום רשימת משקלים. כל קדקוד יכול לשלוח משקל אחד בכל שלב שלב זה יכול להתבצע באשכולות במקביל בשליחת משקל בודד במעלה העץ הודעות זמן מכיוון שיש לא יותר מ V אשכולות סמוכים הודעות זמן

חלוקת הגרף – ביצועים סיבוכיות הודעות סיבוכיות זמן

חסם תחתון על מסנכרנים השאלה – האם יש יחס חליפין יותר טוב בין סיבוכיות ביצוע לסיבוכיות הודעות ? ישנם רשתות ספציפיות עבורם יש אך ניתן לבנות רשתות שעבורם לא ניתן לשפר את היחס