24
רררררר2002 1 ררררר ררררררר רררררר ררררר ררררררProcess Management in Multiprocessor Systems

נובמבר 2002 1 ניהול תהליכים במערכת מרובת מעבדים Process Management in Multiprocessor Systems

  • View
    229

  • Download
    0

Embed Size (px)

Citation preview

Page 1: נובמבר 2002 1 ניהול תהליכים במערכת מרובת מעבדים Process Management in Multiprocessor Systems

2002נובמבר 1

ניהול תהליכים במערכת מרובת מעבדים

Process Management in Multiprocessor Systems

Page 2: נובמבר 2002 1 ניהול תהליכים במערכת מרובת מעבדים Process Management in Multiprocessor Systems

2002נובמבר עמוד2

נושאים

ארכיטקטורות מרובות מעבדים מערכות הפעלה למערכות מרובות

מעבדיםהקצאת תהליכיםהגירת תהליכיםקיפאון במערכות מרובות מעבדים

Page 3: נובמבר 2002 1 ניהול תהליכים במערכת מרובת מעבדים Process Management in Multiprocessor Systems

2002נובמבר עמוד3

מערכת מרובת מעבדיםהגדרה

אוסף מעבדים מחוברים בינהם ומשתפים משאבים–

איפיון מרכזי–Single/Multiple Instruction stream

האם כל המעבדים מבצעים את אותה הפקודה בכל רגע?•

–Single/Multiple Data streamהאם כל המעבדים ניגשים לאותם הנתונים?•

קטגוריות מחשבים–SISDמחשב סטנדרטי – –SIMDמחשב וקטורי – –MIMDכל מעבד מבצע פקודות שונות על נתונים שונים –

MIMDבהמשך, נתרכז בוריאנטים שונים של קטגורית

Page 4: נובמבר 2002 1 ניהול תהליכים במערכת מרובת מעבדים Process Management in Multiprocessor Systems

2002נובמבר עמוד4

גישה לזיכרוןבמערכת מרובת מעבדים

במערכותtightly coupled מעבדים שונים יכולים לגשת לאותו תא בזיכרון

משותףbusלמשל בארכיטקטורה עם – הוא משאב משותף שמגביל את מספרbusה-•

המעבדים לעשרותcache-coherencyדורש פרוטוקול •

NUMA (Non Uniform Memoryבארכיטקטורה –Access)מוסיפים רמה נוספת של היררכיה

לכל מעבד נדמה שיש לו גישה לכל הזיכרונות•בין ( נודדים4KBדפים שלמים )בד"כ •

הזכרונות המשותפיםמאפשר בניית מערכות עם מאות מעבדים•

מעבדמטמון

מעבדמטמון

מעבדמטמון

מעבדמטמון

busזיכרון משותף

מעבדמטמון

מעבדמטמון

מעבדמטמון

מעבדמטמון

זיכרון משותףbus

מעבדמטמון

מעבדמטמון

מעבדמטמון

מעבדמטמון

זיכרון משותףbus

מעבדמטמון

מעבדמטמון

מעבדמטמון

מעבדמטמון

זיכרון משותףbus

מעבדמטמון

מעבדמטמון

מעבדמטמון

מעבדמטמון

זיכרון משותףbus

Page 5: נובמבר 2002 1 ניהול תהליכים במערכת מרובת מעבדים Process Management in Multiprocessor Systems

2002נובמבר עמוד5

גישה לזיכרוןבמערכת מרובת מעבדים

במערכותloosely coupledלא יכולים , מעבדים שוניםלגשת לתא בזיכרון של השכן

מערכות אילו מתקשרות בעזרת העברת הודעות מעל תקשורת –(switched architecture)מהירה

הן מאפשרות בנית מערכות עם אלפי צמתים, כאשר כל צומת יכול – tightly coupled multiprocessorלהיות

מעבדמטמון

זיכרון משותףbus

קלט/פלט

מעבדמטמון

זיכרון משותףbus

קלט/פלט

תקשורתמהירה

תקשורתמהירה

Page 6: נובמבר 2002 1 ניהול תהליכים במערכת מרובת מעבדים Process Management in Multiprocessor Systems

2002נובמבר עמוד6

ארכיטקטורת תקשורת

ארכיטקטורות שכיחותP P P P

P P P P

P P P P

P P P P

P P

P P

P P

P P

Grid Hypercube Cross-bar

העברת הודעות

Page 7: נובמבר 2002 1 ניהול תהליכים במערכת מרובת מעבדים Process Management in Multiprocessor Systems

2002נובמבר עמוד7

סוגי מערכות הפעלה לסביבות מרובות מעבדים

– מערכות הפעלה ברשתNetwork Operating System

כל צומת מריץ מערכת הפעלה בלתי תלויה–קיימים מספר שרותים לגישה למערכות אחרות–

•rsh, rexec

אסימטרית – שליט-עבדיםמעבד אחד אחראי להריץ את מערכת ההפעלה– של המערכתscalabilityמגביל את ה-–

סימטריתכל מעבד יכול להריץ שרותים של מערכת ההפעלה–

אך לא כל מימוש מאפשר ריצה בו-זמנית ע"י מעבדים שונים •(multithread-enabled kernel)

Page 8: נובמבר 2002 1 ניהול תהליכים במערכת מרובת מעבדים Process Management in Multiprocessor Systems

2002נובמבר עמוד8

Networkמערכות הפעלה ברשת – Operating Systems

ניגשים לשרותים מרוחקים בצורהמפורשת

rlogin hostגישה לתחנה אחרת – –rcp host1:file1 host2:file2העתקת קובץ מרוחק – –

אך החיים אינם שחור/לבןישנם שרותים שקל יותר להפוך ל-"שקופים"–

Page 9: נובמבר 2002 1 ניהול תהליכים במערכת מרובת מעבדים Process Management in Multiprocessor Systems

2002נובמבר עמוד9

מערכות הפעלה מבוזרות – Distributed Operating Systems

דימוי (הפשטה) של מעבד יחידמסתיר את הצימוד החלש של מערכת ההפעלה–

שרותים אחידים מכל הצמתיםRPCתקשורת בין תהליכים, למשל –מראה אחיד של מערכת הקבצים–

גרעין מקומי שולט על המשאבים המקומייםזיכרון, זמן מעבד, וכו'–תיאום בין צמתים מאפשר פיזור תהליכים בין צמתים–

Page 10: נובמבר 2002 1 ניהול תהליכים במערכת מרובת מעבדים Process Management in Multiprocessor Systems

2002נובמבר עמוד10

מערכות הפעלה מבוזרות – Distributed Operating Systems

מערכתIBM RS/6000 SP–Loosely coupled צמתים1024 – עד

מעבדים8 עד tightly-coupledכל צומת •

אין זיכרון משותף בין צמתים – כל צומת מריץ עותק –הפרטי של מערכת ההפעלה

–Workload Managerמפזר תהליכים בין הצמתים אין נדידת תהליכים לאחר מכן•

General Parallel File) מערכת הקבצים אבל–System) מאפשרת גישה מקבילית/אחידה מכל

צומת

Page 11: נובמבר 2002 1 ניהול תהליכים במערכת מרובת מעבדים Process Management in Multiprocessor Systems

2002נובמבר עמוד11

זימון תהליכים בסביבה מרובת מעבדים

המטרהאיזון עומסים בין המעבדים–

(רכים/קשים) אך לפעמים קיימים אילוציםתהליכים מסויימים חייבים לרוץ במעבד מסוים – –

processor affinityבגלל משאב שקשור למעבד•

קבוצת תהליכים חייבים לרוץ על אותו מעבד– ping-pongניגשים לאותם נתונים – ורוצים למנוע תופעת •

קבוצת תהליכים חייבת לרוץ במקביל )על מעבדים –שונים(

מתקשרים בינם לבין עצמם•

Page 12: נובמבר 2002 1 ניהול תהליכים במערכת מרובת מעבדים Process Management in Multiprocessor Systems

2002נובמבר עמוד12

זימון תהליכים בסביבה מרובת )המשך(מעבדים

שיטות זימוןתור יחיד שמכיל את כל התהליכים המוכנים–

כל מעבד ניגש לתור לקחת תהליך לריצה•צוואר בקבוק•

תור אחד לכל מעבד–תהליך מוכן נכנס לתור הקצר ביותר•

זימון אסימטרי–מעבד "מרכזי" מחלק את התהליכים•

Page 13: נובמבר 2002 1 ניהול תהליכים במערכת מרובת מעבדים Process Management in Multiprocessor Systems

2002נובמבר עמוד13

זימון תהליכים בסביבה מרובת מעבדים

co-schedulingדוגמא – המטרה

לזמן קבוצות תהליכים יחד–גישה לפיתרון

time slotsחלוקת הזמן ל-–זימון תהליכים לכל המעבדים נעשה באופן מסונכרן–

דוגמא3קבוצת בת ארבעה תהליכים תקבל את פרק זמן –

יש ארבעה מעבדים פנויים•

XX5

XXX4

XX3

XXXXX2

XXXXX1

XXXXXX0

76543210מעבד

timeslot

Page 14: נובמבר 2002 1 ניהול תהליכים במערכת מרובת מעבדים Process Management in Multiprocessor Systems

2002נובמבר עמוד14

זימון תהליכים בסביבה מרובת מעבדים

)שיפור(co-schedulingדוגמא – נפרוש את המטריצה ע"י שרשור השורות

4כאשר מגיעיםk= 5 תהליכים,ויש במערכתn= ,מעבדים מקומות פנוייםk עם nחלון באורך מחפשים

עוברים עם חלון באורך בתזמון ,nמבלי לפצל קבוצות

ההקצאה של תהליך למעבד אינה קבועה מראש

YXX

YZZZXZX

YZZZXZX

Page 15: נובמבר 2002 1 ניהול תהליכים במערכת מרובת מעבדים Process Management in Multiprocessor Systems

2002נובמבר עמוד15

הגירת תהליכים

מטרהאם ההקצאה )הראשונית( של תהליכים למעבדים אינה מתבררת –

process)כמאוזנת, ניתן להעביר תהליכים ממעבד למעבד migration)

אפשרויות(coordinator)ניהול ריכוזי ע"י מעבד יחיד –(sender-initiated)מעבד עמוס שולח תהליכים למעבד פחות עמוס –(receiver-initiated)מעבד פנוי מחפש תהליכים לביצוע –

?איך בוחרים מעבד שאליו/ממנו יועבר התהליךבחירת מעבד באקראי –

•(sender-initiated)אם הוא עמוס, שיעביר הלאה

(gossip messages)שמירת מידע מקורב על עומס המעבדים –

Page 16: נובמבר 2002 1 ניהול תהליכים במערכת מרובת מעבדים Process Management in Multiprocessor Systems

2002נובמבר עמוד16

קיפאון במערכות מבוזרות

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

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

לשם פשטות, נניח עותק יחיד מכלמשאב

ניתן לפשט את גרף הקצאות-בקשות לגרף –המתנות

P1 P2R1 P1 P2

Page 17: נובמבר 2002 1 ניהול תהליכים במערכת מרובת מעבדים Process Management in Multiprocessor Systems

2002נובמבר עמוד17

טיפול בקיפאון במערכות מבוזרות

מניעההגבלה על אופן בקשת המשאבים–

זיהוי מצב קיפאון והחלצותנראה בהמשך שדרושה תמונה גלובלית של –

המצבהתחמקות

הרחבה של אלגוריתם הבנקאי–התעלמות

Page 18: נובמבר 2002 1 ניהול תהליכים במערכת מרובת מעבדים Process Management in Multiprocessor Systems

2002נובמבר עמוד18

מניעת קיפאון במערכות מבוזרות

קביעת סדר מלא בין המשאבים

או לחליפין ניתן למספר את התהליכים עצמם לכל תהליך)t)Pi (timestamp)נקבע חותמת-זמן – ייחודי, נשלב זמן ומספר זיהוי של timestampלקביעת –

התהליך)t)Pi( = )time)(, iכאשר תהליך נוצר, נקבע •

1 2 3 4

Page 19: נובמבר 2002 1 ניהול תהליכים במערכת מרובת מעבדים Process Management in Multiprocessor Systems

2002נובמבר עמוד19

מניעת קיפאוןwound-wait לעומת wait-dieשיטת

התהליך הצעיר מחכה

התהליך הוותיק הורג/מאפס את התהליך הצעיר

wound-wait

תהליך צעיר רוצה משאב שמוחזק ע"י

תהליך ותיק

תהליך ותיק רוצה משאב שמוחזק ע"י

תהליך צעירהתהליך הצעיר

מת )או חוזר להתחלה( ומשחרר

את כל המשאבים

התהליך הוותיק מחכה

wait-die

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

Page 20: נובמבר 2002 1 ניהול תהליכים במערכת מרובת מעבדים Process Management in Multiprocessor Systems

2002נובמבר עמוד20

wound-wait לעומת wait-dieשיטת השוואה

wound-waitמקטינה את מספר החזרות !תהליך יוחזר לאחור במקרים בהם יש שימו לב

לקיפאון, לאו דווקא קיפאון בפועלחשש-אם תהליך ישמור על הtimestampתימנע הרעבה

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

מחכה לתהליך צעיראינו מחכה כללתהליך ותיק

wound-waitwait-die

Page 21: נובמבר 2002 1 ניהול תהליכים במערכת מרובת מעבדים Process Management in Multiprocessor Systems

2002נובמבר עמוד21

גילוי קיפאון במערכות מבוזרות

מה קורה אם כל צומת יחזיק תמונה לוקלית(חלקית)?

–P1, P2, P5 רצים בצומת A; P3, P4 בצומת B

לכאורה אין קיפאון...–

P1 P2

P5 P3

P2 P4

P3A B

Page 22: נובמבר 2002 1 ניהול תהליכים במערכת מרובת מעבדים Process Management in Multiprocessor Systems

2002נובמבר עמוד22

גילוי קיפאון במערכות מבוזרות

...אבל אם נסתכל על התמונה הגלובלית

P1 P2

P5 P3A

P2 P4

P3B

!קיפאון

Page 23: נובמבר 2002 1 ניהול תהליכים במערכת מרובת מעבדים Process Management in Multiprocessor Systems

2002נובמבר עמוד23

גילוי קיפאון במערכות מבוזרותגישה ריכוזית

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

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

קיפאון

...אבלהגרף בצומת המרכזי מחזיק קירוב בלבד של המצב –

האמיתי בגלל עיכובים אפשריים בהעברת הודעות

Page 24: נובמבר 2002 1 ניהול תהליכים במערכת מרובת מעבדים Process Management in Multiprocessor Systems

2002נובמבר עמוד24

גילוי קיפאון במערכות מבוזרות -קשיים

M1 ) ונשלחת הודעה2 מוותר על המשאב (לטובת תהליך 1תהליך –לצומת המרכזי

M2 ונשלחת הודעה 3 מבקש משאב המוחזק ע"י תהליך 1תהליך – למרכז. נוצר מעגל, אך אין קיפאון!M1 לפניאשר מגיעה

ניתן לפתור את הבעיה על-ידי מנגנונים המבטיחים סדר ואמינות –)timestampsבהעברת הודעות (

1 12 2 23 3A B

Central

1 12 2 23 3A B

Central

1 12 2 23 3A B

Central

3