elimination trees and the construction of pools and stacks

34
Elimination Trees and the Construction of Pools and Stacks Presented by: Aya Elhanan

Upload: justus

Post on 14-Feb-2016

47 views

Category:

Documents


0 download

DESCRIPTION

Elimination Trees and the Construction of Pools and Stacks. Presented by: Aya Elhanan. תוכן עניינים. הקדמה Elimination Tree מימוש Pool מימוש Stack-like Pool סיכום. Pool. טיפוס התומך בפעולות האבסטרקטיות: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Elimination Trees and the Construction of Pools and Stacks

Elimination Treesand the Construction of Pools and

Stacks

Presented by: Aya Elhanan

Page 2: Elimination Trees and the Construction of Pools and Stacks

2

תוכן עניינים

הקדמה

Elimination Tree

Pool מימוש

Stack-like Pool מימוש

סיכום

Page 3: Elimination Trees and the Construction of Pools and Stacks

33

Pool טיפוס התומך בפעולות האבסטרקטיות:

enqueue(e) אשר מוסיפה את אלמנט e-ל poolDequeue אשר מוחקת ומחזירה אלמנט e כלשהו

.poolמה-

.pool אין שמירה על סדר מסוים של הערכים ב-

שתי דרישות:. פעולת הכנסה תמיד מצליחה.1 אינו ריק.pool. פעולת הוצאה מצליחה אם ה-2

Page 4: Elimination Trees and the Construction of Pools and Stacks

44

Pool(המשך)

?

Pool מאפשר את התיאום הנדרש בין מעבדים בבעיות בהן יש לבצע מספר משימות במקביל.

דוגמא: מערכת מעקב של חיישנים ומבצעים, כאשר המבצעים צריכים להגיב מאוד מהר למשימות שמקצים

להם החישנים.

Enq(eat,location2)

Enq(eat, location1)Deq(eat,location1)

Deq(eat,location2)

Page 5: Elimination Trees and the Construction of Pools and Stacks

55

קיימים Pool מימושיqueue-lock פיתרונות המבוססים על

טובים ברמות פעילות נמוכות, אך לא במצבים של עומס

גבוה.

load-balanced local אלגוריתמים המבוססים על

pools

טובים דווקא תחת עומס גבוה, אך לא ברמות פעילות

נמוכות.

Diffracting Trees

פיתרון בעל זמן תגובה ממוצע טוב גם ברמות פעילות

נמוכות יחסית וגם תחת עומס.

Page 6: Elimination Trees and the Construction of Pools and Stacks

-one עץ בינארי מאוזן שהצמתים שלו הם אלמנטים מסוג-

input two-output מאזנים הנקראים.

מנתב דרך הענפים שלו טוקנים שמייצגים פעולות שיש

לבצע.

המאזן מפצל את הטוקנים שמאלה וימינה כך שיתחלקו

באופן שווה בין המעבדים.

66

Diffracting Trees

Page 7: Elimination Trees and the Construction of Pools and Stacks

77

Diffracting Trees

Page 8: Elimination Trees and the Construction of Pools and Stacks

88

Diffracting Trees

0

0

0

איך אפשר לממש מאזן?שאלה: המאזן יכול להיות מורכב מביט בודד, עם החוק תשובה: שטוקנים

בהתאם לערך 1 או 0הופכים את הביט והולכים לקו הפלט הישן שלו.

1

1

1

Page 9: Elimination Trees and the Construction of Pools and Stacks

9

תוכן עניינים

הקדמה

Elimination Tree

Pool מימוש

Stack-like Pool מימוש

סיכום

Page 10: Elimination Trees and the Construction of Pools and Stacks

-one עץ בינארי מאוזן שהצמתים שלו הם אלמנטים מסוג- input two-output מאזנים הנקראים.

שמייצגים ואנטי-טוקנים מנתב דרך הענפים שלו טוקנים פעולות בעלות סמנטיקה הפוכה.

שמאלה וימינה כך והאנטי-טוקנים מאזן מפצל את הטוקנים שיתחלקו באופן שווה בין המעבדים.

1010

Elimination Trees

איך ניתן להגדיר את המאזן כך שיטפל גם שאלה: המאזן יכול להיות מורכב משני ביטים: אחד עבור תשובה:באנטי-טוקנים?

טוקנים והשני עבור אנטי-טוקנים.

Page 11: Elimination Trees and the Construction of Pools and Stacks

1

1

1

0

0

0

1

1

0

0

10

1111

Elimination Trees

Page 12: Elimination Trees and the Construction of Pools and Stacks

1212

מה יכול להיות בעייתי במימוש?שאלה: .hot-spotהביט בשורש העץ יהיה תשובה:

Page 13: Elimination Trees and the Construction of Pools and Stacks

= מבנה מערך המאפשר לזוגות של טוקנים להתנגש מנסרהבתוך התאים שלו. אם אירעה התנגשות, אזי הטוקנים מסכימים

ביניהם שאחד מהם צריך להיות מוטה שמאלה והשני ימינה.

1313

0

0

0

מערך מנסרה לפני הביט בתוך כל מאזן. הצבתהפיתרון:

האם נוצרת בעיה כיוון שטוקנים שהתנגשו לא הופכים שאלה: ?balancerאת הביט בעת המעבר ב-

לא.תשובה:

Page 14: Elimination Trees and the Construction of Pools and Stacks

)רמז: כיצד תתבצע התנגשות של טוקן ואנטי-טוקן? שאלה: elimination tree)המבנה שלנו נקרא

1414

התנגשות טוקן/אנטי-טוקן

כתוצאה מהתנגשות בין טוקן לאנטי-טוקן ניתן להחזיר תשובה:את ערך הטוקן. הטוקנים ישלימו את פעולתם מבלי שיצטרכו

להמשיך לחצות את העץ.

num

Page 15: Elimination Trees and the Construction of Pools and Stacks

תכונות:3המאזן חייב לקיים

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

הטוקנים והאנטי-טוקנים הושלמו והוא נמצא במצב מנוחה.

Pairing בכל מצב מנוחה, יש התאמה מושלמת בין טוקנים -שחוסלו לאנטי-טוקנים שחוסלו, כך שהערך המוחזר ע"י

אנטי-טוקן שחוסל תואם לערך המוחזק ע"י הטוקן שחוסל המתאים לו.

Pool Balancing בכל מצב מנוחה, אם מספר הטוקנים –שהתקבלו עד כה גדול או שווה למספר האנטי-טוקנים

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

Elimination Balancer properties

Page 16: Elimination Trees and the Construction of Pools and Stacks

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

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

מהמאזן.

באופן פורמאלי: מאזן הוא אובייקט משותף המאפשר TokenTraverse(TokenType, v)למעבדים לבצע פעולות

.vהמקבלות כקלט את סוג הטוקן ואת ערך הקלט שלו

או y0, תלוי באיזה מקווי הפלט, 1 או 0 כל פעולה כזו מחזירה y1( הטוקן צריך להמשיך או את הזוג eliminated, v אם )

אירעה התנגשות מחסלת.1616

Elimination Balancer

Page 17: Elimination Trees and the Construction of Pools and Stacks

17

תוכן עניינים

הקדמה

Elimination Tree

Poolמימוש

Stack-like Pool מימוש

סיכום

Page 18: Elimination Trees and the Construction of Pools and Stacks

Tree Traversal code

18

Page 19: Elimination Trees and the Construction of Pools and Stacks

TokenTraversel code

19

Page 20: Elimination Trees and the Construction of Pools and Stacks

TokenTraversel code (cont)

20

כן! ערכי קלט וקוד עבור החלפת הערכים בין טוקן תשובה: לאנטי-טוקן בהתנגשויות מחסלות.

האם חסר משהו בקוד?שאלה:

<,b, mytype, value,>

Page 21: Elimination Trees and the Construction of Pools and Stacks

TokenTraversel code

21

<,b, mytype, value,>

<,his_b, his_type, value,>

<,b, mytype, value,>

<,b, his_type, value,>

<,b, mytype, value,>

<,b, mytype, value,>

<,b, his_type, value,>

<0 ,ELIMINATED, value>

<0 ,ELIMINATED, value>

value

Page 22: Elimination Trees and the Construction of Pools and Stacks

2222

poolביצועי ה-

Page 23: Elimination Trees and the Construction of Pools and Stacks

23

תוכן עניינים

הקדמה

Elimination Tree

Pool מימוש

Stack-like Pool מימוש

סיכום

Page 24: Elimination Trees and the Construction of Pools and Stacks

10

כדי לקבל התנהגות של מחסנית. pool נתאים את המימוש ל- כך שהפעולה האחרונה LIFOכלומר, שמירה על סדר

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

?LIFOאיזו תועלת יכולה להיות בשמירה על סדר שאלה:

2424

Pool vs. Stack-like Pool

1

1

0

0

1

1

0

0

10

למנוע ממעבדים לנסות להוציא ולבצע משימה אשר תשובה: תלויה בתוצאות של משימות אחרות שטרם בוצעו.

Page 25: Elimination Trees and the Construction of Pools and Stacks

2525

0

0

0

1

1

1

נרצה להשיג התנהגות של מחסנית, כלומר פעולת שאלה: אנטי-טוקן תישלח לביצוע למעבד שאליו נשלחה פעולת הטוקן

האחרונה. המאזן יכול להיות מורכב מביט בודד, עם החוק תשובה:איך נגדיר את המאזן?

בהתאם 1 או 0שטוקנים הופכים את הביט והולכים לקו הפלט לערך הישן שלו, בעוד שאנטי-טוקנים הופכים את הביט והולכים

שמאלה או ימינה בהתאם לערך החדש שלו.

Page 26: Elimination Trees and the Construction of Pools and Stacks

.y1 ו-yo ושני קווי פלט x אלמנט בעל קו קלט אחד

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

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

מהמאזן.

באופן פורמאלי: מאזן הוא אובייקט משותף המאפשר TokenTraverse(TokenType, v)למעבדים לבצע פעולות

.vהמקבלות כקלט את סוג הטוקן ואת ערך הקלט שלו

או y0, תלוי באיזה מקווי הפלט, 1 או 0 כל פעולה כזו מחזירה y1( הטוקן צריך להמשיך או את הזוג eliminated, v אם )

אירעה התנגשות מחסלת.

2626

Gap Elimination Balancer

Page 27: Elimination Trees and the Construction of Pools and Stacks

תכונות:3המאזן חייב לקיים

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

הטוקנים והאנטי-טוקנים הושלמו והוא נמצא במצב מנוחה.

Pairing בכל מצב מנוחה, יש התאמה מושלמת בין טוקנים -שחוסלו לאנטי-טוקנים שחוסלו, כך שהערך המוחזר ע"י

אנטי-טוקן שחוסל תואם לערך המוחזק ע"י הטוקן שחוסל המתאים לו.

Gap Step Property - מאזן את ההפרש בין מספר הטוקניםוהאנטי-טוקנים בקווי הפלט שלו.

2727

Elimination Balancer properties

Page 28: Elimination Trees and the Construction of Pools and Stacks

עודף הטוקנים על פני אנטי-טוקנים על קווי הפלט של המאזנים בהשוואה 0מחולק כך שיש פער של לא יותר מטוקן אחד על קו

בכל מצב מנוחה.1לקו

2828

Gap Step Property

pool מביאה לקיום התכונהgap step propertyה-תשובה: balancing property.על קווי הפלט של המאזנים

? pool balancing propertyהאם נשמרת התכונה שאלה: )תזכורת: בכל מצב מנוחה, אם מספר הטוקנים שהתקבלו עד כה גדול או שווה למספר האנטי-טוקנים שהתקבלו עד כה, אז

לכל אחד מקווי הפלט בעץ, מספר הטוקנים גדול או שווה למספר האנטי-הטוקנים(.

Page 29: Elimination Trees and the Construction of Pools and Stacks

TokenTraversel codewith gap balancer

29

Page 30: Elimination Trees and the Construction of Pools and Stacks

3030

Stack-like poolביצועי ה-

Page 31: Elimination Trees and the Construction of Pools and Stacks

נגדיר פעולה שאינה ליניאריזבילית כפעולת הוצאה מהסוגe)x(-<e)y(-<d)x( בלי d)y( -או ש e)x(-<e)y(-<d)x(-<d)y(.

:כמעט ליניאריזבילית היא stack-like poolה- במקרים של תזמונים מאוד קיצוניים שחלק מהתהליכים

איטיים ואחרים מהירים ואז תופר הליניאריזביליות.בהתנהגות שכיחה בה הפעולות מתבצעות פחות או יותר

באותה מהירות, הליניאריזביליות תישמר.

3131

ליניאריזביליות (כמעט)

!סיימתי לאכול ולמחזר

!סיימתי לאכול ולמחזר

...עדיין אוכל

Page 32: Elimination Trees and the Construction of Pools and Stacks

32

תוכן עניינים

הקדמה

Elimination Tree

Pool מימוש

Stack-like Pool מימוש

סיכום

Page 33: Elimination Trees and the Construction of Pools and Stacks

.Elimination tree הכרנו מבנה נתונים מקבילי חדש

ומגדיר מושג חדש:diffracting tree המבנה מתבסס על

.אנטי-טוקנים

המפתח להצלחה של מבנה זה הוא האבחנה שעבור מבני

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

בביצוע ע"י החזקת מנסרה אחת עבור טוקנים ואנטי-טוקנים.

מחסלת התנגשות טוקן ואנטי-טוקן לבצע פעולה של

וחוסכים את הצורך להגיע לעלים.

pool השתמשנו ברעיון של עץ אלימינציה על מנת לבנות

.stack-like poolו-

3333

Page 34: Elimination Trees and the Construction of Pools and Stacks

34