עבוד אותות במערכת החושים סמסטר א' תשס"ז mira/Senses2006 Lecture II mira/Senses2006.
נובמבר 2002 1 ניהול תהליכים במערכת מרובת מעבדים Process...
-
date post
19-Dec-2015 -
Category
Documents
-
view
236 -
download
0
Transcript of נובמבר 2002 1 ניהול תהליכים במערכת מרובת מעבדים Process...
2002נובמבר 1
ניהול תהליכים במערכת מרובת מעבדים
Process Management in Multiprocessor Systems
2002נובמבר עמוד2
נושאים
ארכיטקטורות מרובות מעבדים מערכות הפעלה למערכות מרובות
מעבדיםהקצאת תהליכיםהגירת תהליכיםקיפאון במערכות מרובות מעבדים
2002נובמבר עמוד3
מערכת מרובת מעבדיםהגדרה
אוסף מעבדים מחוברים בינהם ומשתפים משאבים–
איפיון מרכזי–Single/Multiple Instruction stream
האם כל המעבדים מבצעים את אותה הפקודה בכל רגע?•
–Single/Multiple Data streamהאם כל המעבדים ניגשים לאותם הנתונים?•
קטגוריות מחשבים–SISDמחשב סטנדרטי – –SIMDמחשב וקטורי – –MIMDכל מעבד מבצע פקודות שונות על נתונים שונים –
MIMDבהמשך, נתרכז בוריאנטים שונים של קטגורית
2002נובמבר עמוד4
גישה לזיכרוןבמערכת מרובת מעבדים
במערכותtightly coupled מעבדים שונים יכולים לגשת לאותו תא בזיכרון
משותףbusלמשל בארכיטקטורה עם – הוא משאב משותף שמגביל את מספרbusה-•
המעבדים לעשרותcache-coherencyדורש פרוטוקול •
NUMA (Non Uniform Memoryבארכיטקטורה –Access)מוסיפים רמה נוספת של היררכיה
לכל מעבד נדמה שיש לו גישה לכל הזיכרונות•בין ( נודדים4KBדפים שלמים )בד"כ •
הזכרונות המשותפיםמאפשר בניית מערכות עם מאות מעבדים•
מעבדמטמון
מעבדמטמון
מעבדמטמון
מעבדמטמון
busזיכרון משותף
מעבדמטמון
מעבדמטמון
מעבדמטמון
מעבדמטמון
זיכרון משותףbus
מעבדמטמון
מעבדמטמון
מעבדמטמון
מעבדמטמון
זיכרון משותףbus
מעבדמטמון
מעבדמטמון
מעבדמטמון
מעבדמטמון
זיכרון משותףbus
מעבדמטמון
מעבדמטמון
מעבדמטמון
מעבדמטמון
זיכרון משותףbus
2002נובמבר עמוד5
גישה לזיכרוןבמערכת מרובת מעבדים
במערכותloosely coupledלא יכולים , מעבדים שוניםלגשת לתא בזיכרון של השכן
מערכות אילו מתקשרות בעזרת העברת הודעות מעל תקשורת –(switched architecture)מהירה
הן מאפשרות בנית מערכות עם אלפי צמתים, כאשר כל צומת יכול – tightly coupled multiprocessorלהיות
מעבדמטמון
זיכרון משותףbus
קלט/פלט
מעבדמטמון
זיכרון משותףbus
קלט/פלט
תקשורתמהירה
תקשורתמהירה
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
העברת הודעות
2002נובמבר עמוד7
סוגי מערכות הפעלה לסביבות מרובות מעבדים
– מערכות הפעלה ברשתNetwork Operating System
כל צומת מריץ מערכת הפעלה בלתי תלויה–קיימים מספר שרותים לגישה למערכות אחרות–
•rsh, rexec
אסימטרית – שליט-עבדיםמעבד אחד אחראי להריץ את מערכת ההפעלה– של המערכתscalabilityמגביל את ה-–
סימטריתכל מעבד יכול להריץ שרותים של מערכת ההפעלה–
אך לא כל מימוש מאפשר ריצה בו-זמנית ע"י מעבדים שונים •(multithread-enabled kernel)
2002נובמבר עמוד8
Networkמערכות הפעלה ברשת – Operating Systems
ניגשים לשרותים מרוחקים בצורהמפורשת
rlogin hostגישה לתחנה אחרת – –rcp host1:file1 host2:file2העתקת קובץ מרוחק – –
אך החיים אינם שחור/לבןישנם שרותים שקל יותר להפוך ל-"שקופים"–
2002נובמבר עמוד9
מערכות הפעלה מבוזרות – Distributed Operating Systems
דימוי (הפשטה) של מעבד יחידמסתיר את הצימוד החלש של מערכת ההפעלה–
שרותים אחידים מכל הצמתיםRPCתקשורת בין תהליכים, למשל –מראה אחיד של מערכת הקבצים–
גרעין מקומי שולט על המשאבים המקומייםזיכרון, זמן מעבד, וכו'–תיאום בין צמתים מאפשר פיזור תהליכים בין צמתים–
2002נובמבר עמוד10
מערכות הפעלה מבוזרות – Distributed Operating Systems
מערכתIBM RS/6000 SP–Loosely coupled צמתים1024 – עד
מעבדים8 עד tightly-coupledכל צומת •
אין זיכרון משותף בין צמתים – כל צומת מריץ עותק –הפרטי של מערכת ההפעלה
–Workload Managerמפזר תהליכים בין הצמתים אין נדידת תהליכים לאחר מכן•
General Parallel File) מערכת הקבצים אבל–System) מאפשרת גישה מקבילית/אחידה מכל
צומת
2002נובמבר עמוד11
זימון תהליכים בסביבה מרובת מעבדים
המטרהאיזון עומסים בין המעבדים–
(רכים/קשים) אך לפעמים קיימים אילוציםתהליכים מסויימים חייבים לרוץ במעבד מסוים – –
processor affinityבגלל משאב שקשור למעבד•
קבוצת תהליכים חייבים לרוץ על אותו מעבד– ping-pongניגשים לאותם נתונים – ורוצים למנוע תופעת •
קבוצת תהליכים חייבת לרוץ במקביל )על מעבדים –שונים(
מתקשרים בינם לבין עצמם•
2002נובמבר עמוד12
זימון תהליכים בסביבה מרובת )המשך(מעבדים
שיטות זימוןתור יחיד שמכיל את כל התהליכים המוכנים–
כל מעבד ניגש לתור לקחת תהליך לריצה•צוואר בקבוק•
תור אחד לכל מעבד–תהליך מוכן נכנס לתור הקצר ביותר•
זימון אסימטרי–מעבד "מרכזי" מחלק את התהליכים•
2002נובמבר עמוד13
זימון תהליכים בסביבה מרובת מעבדים
co-schedulingדוגמא – המטרה
לזמן קבוצות תהליכים יחד–גישה לפיתרון
time slotsחלוקת הזמן ל-–זימון תהליכים לכל המעבדים נעשה באופן מסונכרן–
דוגמא3קבוצת בת ארבעה תהליכים תקבל את פרק זמן –
יש ארבעה מעבדים פנויים•
XX5
XXX4
XX3
XXXXX2
XXXXX1
XXXXXX0
76543210מעבד
timeslot
2002נובמבר עמוד14
זימון תהליכים בסביבה מרובת מעבדים
)שיפור(co-schedulingדוגמא – נפרוש את המטריצה ע"י שרשור השורות
4כאשר מגיעיםk= 5 תהליכים,ויש במערכתn= ,מעבדים מקומות פנוייםk עם nחלון באורך מחפשים
עוברים עם חלון באורך בתזמון ,nמבלי לפצל קבוצות
ההקצאה של תהליך למעבד אינה קבועה מראש
YXX
YZZZXZX
YZZZXZX
2002נובמבר עמוד15
הגירת תהליכים
מטרהאם ההקצאה )הראשונית( של תהליכים למעבדים אינה מתבררת –
process)כמאוזנת, ניתן להעביר תהליכים ממעבד למעבד migration)
אפשרויות(coordinator)ניהול ריכוזי ע"י מעבד יחיד –(sender-initiated)מעבד עמוס שולח תהליכים למעבד פחות עמוס –(receiver-initiated)מעבד פנוי מחפש תהליכים לביצוע –
?איך בוחרים מעבד שאליו/ממנו יועבר התהליךבחירת מעבד באקראי –
•(sender-initiated)אם הוא עמוס, שיעביר הלאה
(gossip messages)שמירת מידע מקורב על עומס המעבדים –
2002נובמבר עמוד16
קיפאון במערכות מבוזרות
,באופן דומה למקרה של מעבד יחידבמערכת מבוזרת עלול להיוצר קיפאון
המתנה למשאבים משותפים–המתנה להודעה מתהליך אחר–
לשם פשטות, נניח עותק יחיד מכלמשאב
ניתן לפשט את גרף הקצאות-בקשות לגרף –המתנות
P1 P2R1 P1 P2
2002נובמבר עמוד17
טיפול בקיפאון במערכות מבוזרות
מניעההגבלה על אופן בקשת המשאבים–
זיהוי מצב קיפאון והחלצותנראה בהמשך שדרושה תמונה גלובלית של –
המצבהתחמקות
הרחבה של אלגוריתם הבנקאי–התעלמות
2002נובמבר עמוד18
מניעת קיפאון במערכות מבוזרות
קביעת סדר מלא בין המשאבים
או לחליפין ניתן למספר את התהליכים עצמם לכל תהליך)t)Pi (timestamp)נקבע חותמת-זמן – ייחודי, נשלב זמן ומספר זיהוי של timestampלקביעת –
התהליך)t)Pi( = )time)(, iכאשר תהליך נוצר, נקבע •
1 2 3 4
2002נובמבר עמוד19
מניעת קיפאוןwound-wait לעומת wait-dieשיטת
התהליך הצעיר מחכה
התהליך הוותיק הורג/מאפס את התהליך הצעיר
wound-wait
תהליך צעיר רוצה משאב שמוחזק ע"י
תהליך ותיק
תהליך ותיק רוצה משאב שמוחזק ע"י
תהליך צעירהתהליך הצעיר
מת )או חוזר להתחלה( ומשחרר
את כל המשאבים
התהליך הוותיק מחכה
wait-die
כדאי לתת עדיפות לתהליכים ותיקים )בעלי המוטיבציה:חותמת זמן נמוכה יותר( בגישה למשאבים
2002נובמבר עמוד20
wound-wait לעומת wait-dieשיטת השוואה
wound-waitמקטינה את מספר החזרות !תהליך יוחזר לאחור במקרים בהם יש שימו לב
לקיפאון, לאו דווקא קיפאון בפועלחשש-אם תהליך ישמור על הtimestampתימנע הרעבה
עלול למות, להתחיל מחכה לתהליך ותיקתהליך צעירשוב ולתפוס משאבים
מחכה לתהליך צעיראינו מחכה כללתהליך ותיק
wound-waitwait-die
2002נובמבר עמוד21
גילוי קיפאון במערכות מבוזרות
מה קורה אם כל צומת יחזיק תמונה לוקלית(חלקית)?
–P1, P2, P5 רצים בצומת A; P3, P4 בצומת B
לכאורה אין קיפאון...–
P1 P2
P5 P3
P2 P4
P3A B
2002נובמבר עמוד22
גילוי קיפאון במערכות מבוזרות
...אבל אם נסתכל על התמונה הגלובלית
P1 P2
P5 P3A
P2 P4
P3B
!קיפאון
2002נובמבר עמוד23
גילוי קיפאון במערכות מבוזרותגישה ריכוזית
ניתן למנות צומת מרכזי האחראי על זיהוי קיפאוןאפשרויות לשליחת עדכונים למרכז
כל אימת שנוספת או נמחקת קשת בגרף הלוקלי–בתדירות קבועה, או כשנצטברים מספר רב של שינויים–כאשר הצומת המרכזי עומד לבצע את האלגוריתם לגילוי –
קיפאון
...אבלהגרף בצומת המרכזי מחזיק קירוב בלבד של המצב –
האמיתי בגלל עיכובים אפשריים בהעברת הודעות
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