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

Slides:



Advertisements
Similar presentations
Processes and threads. תהליכים ותתי תהליכים תהליכים –כל תוכנית שרצה היא תהליך (process) –ניתן להתפצל מתהליך אחד למספר תהליכים, בעזרת הפקודה fork(). הרבה.
Advertisements

שיטות ניתוח - דוגמא משווה
מבוא למדעי המחשב לתעשייה וניהול
מערכות הפעלה ( אביב 2004) חגית עטיה © 1 תהליכים - דייאט : חוטים  מוטיבציה  חוטי משתמש וחוטי מערכת  תמיכת מערכת ההפעלה  דוגמאות.
Map-Reduce Input: a collection of scientific articles on different topics, each marked with a field of science –Mathematics, Computer Science, Biology,
מערכות הפעלה ( אביב 2004) חגית עטיה © 1 תיאום בין תהליכים : יסודות  דוגמאות לבעיות תיאום  הגדרות : קטע קריטי, מנעולים  אלגוריתם קופת - חולים.
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 מערכות קבצים מבוזרות  מבוא  מבנה כללי  דוגמה : Network file system  דוגמה : Google file system.
פרוייקט מסכם-עיבוד מקבילי
מערכות הפעלה ( אביב 2008) חגית עטיה © 1 מערכות קבצים מבוזרות  מבוא : שקיפות ושמירת מצב.  דוגמה : Network File System.
גרפים ממשקלים גרף ממשקל הוא גרף עם משקל לכל קשת עץ פורש הוא עץ שצמתיו הם כל הצמתים של הגרף וקשתותיו הן קשתות הגרף.
מסדי נתונים תשס " ג 1 תכנון סכמות (Design Theory) מסדי נתונים.
1 מבנה המחשב CPU זיכרון פנימי פלטקלט זיכרון חיצוני.
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 פסיקות  סוגי פסיקות  איך מערכת ההפעלה מטפלת בפסיקות  דוגמא : קלט בעזרת פסיקות.
מכון ויצמן למדע - שמוליק מתוך 8 חישוב מקבילי ומבוזר מה זה יחידה חמישית במדעי המחשב... n ענף מתקדם במדעי המחשב העוסק במערכות ממוחשבות מרובות ישויות.
מערכות הפעלה ( אביב 2008) חגית עטיה © 1 טיפול בקיפאון  בעיית הקיפאון  הימנעות מקיפאון  זיהוי קיפאון באמצעות מציאת מעגלים  אלגוריתם הבנקאי להתחמקות.
מערכות הפעלה ( אביב 2004) חגית עטיה © 1 מערכות קבצים מבוזרות  מבוא : שקיפות ושמירת מצב.  דוגמה : Network File System.
יפעת קוליקנט, מכון ויצמן למדע1 פרק 7, אלגוריתם Ra לפתרון בעית הקטע הקריטי במערכות מבוזרות.
אוקטובר מבנה מערכות הפעלה אוקטובר אסף שוסטר שקפים ע"פ אלן אזגורי/חגית עטיה.
הגנה במערכות מתוכנתות תרגול 1 – המחשב האישי הערה: שקפים אלה אינם מהווים תחליף לחומר התרגולים המפורסם באתר הקורס, ומשמשים כעזר הוראה בלבד.
מערכות הפעלה תרגול 6 – חוטים ב-Linux.
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 מערכות הפעלה קורס מס '
חורף - תשס " ג 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,
מערכות הפעלה חזרה. מערכות הפעלה - שאלות חזרה2 (c) רסקין לאוניד 2005 שאלה1.
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 תהליכים - דייאט : חוטים  מוטיבציה  חוטי משתמש וחוטי מערכת  תמיכת מערכת ההפעלה  דוגמאות ושימושים.
מערכות הפעלה ( אביב 2008) חגית עטיה © 1 מימוש מערכת הקבצים  תכונות של דיסקים.  מימושים בסיסיים.  קצת על מימושים מתקדמים.  אמינות מערכת הקבצים.
מערכות הפעלה ( אביב 2008) חגית עטיה © 1 וירטואליזציה.
1 Data Structures, CS, TAU, Splay Tree Splay Tree  מימוש של עץ חיפוש בינארי  מטרה לדאוג ל- Amortized Time  פעולה בודדת יכולה לקחת O(N)  אבל כל רצף.
מרץ 2002אלן אזאגורי ©1 זיכרון משותף מבוזר Distributed Shared Memory.
משטר סטטי שערים לוגיים Wired Drives – © Dima Elenbogen 2009, Moshe Malka :29.
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 וירטואליזציה.
מרץ 2002אלן אזאגורי ©1 מבנה מערכות הפעלה מרץ אלן אזאגורי (מרצה אחראי) ארז חדד.
טיפול בקיפאון בעיית הקיפאון הימנעות מקיפאון
מרץ 2002אלן אזאגורי ©1 זימון תהליכים Process Scheduling.
1 Formal Specifications for Complex Systems (236368) Tutorial #1 Course site : T.A. :Emilia Katz.
מערכות הפעלה ( אביב 2004) חגית עטיה © 1 זימון תהליכים  מדיניות בסיסיות : RR, FCFS, SJF  הערכת זמן ריצה ושימוש בעדיפויות  ריבוי תורים ודוגמאות.
מערכות הפעלה ( אביב 2009) חגית עטיה ©1 מערכת קבצים log-structured  ה log הוא העותק היחיד של הנתונים  כאשר משנים בלוק (data, header) פשוט כותבים את הבלוק.
מרץ 2002אלן אזאגורי ©1 קיפאון Deadlock. מרץ 2002 אלן אזאגורי ©2עמוד נושאים בעית הקיפאון –דוגמא –תנאים לקיפאון טיפול בקיפאון –מניעה, זיהוי,התחמקות –אלגורימים.
תהליכים  מהו תהליך ?  מבני הנתונים לניהול תהליכים.  החלפת הקשר.  ניהול תהליכים ע " י מערכת ההפעלה.
תהליכים - דייאט : חוטים  מוטיבציה  חוטי משתמש וחוטי מערכת  תמיכת מערכת ההפעלה  דוגמאות.
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 טיפול בקיפאון  בעיית הקיפאון  הימנעות מקיפאון  זיהוי קיפאון באמצעות מציאת מעגלים  אלגוריתם להתחמקות מקיפאון.
מרץ מערכות קבצים File Systems. מרץ עמוד נושאים מבוא –מטרת מערכת קבצים מנשק למערכת קבצים –פעולות על קבצים –סמנטיקה –ארגון קבצים –הגנה מבנה.
נובמבר קיפאון Deadlock. נובמבר עמוד נושאים בעית הקיפאון –דוגמא –תנאים לקיפאון טיפול בקיפאון –מניעה, זיהוי,התחמקות –אלגוריתמים למניעה והתחמקות.
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 זימון תהליכים  מדיניות בסיסיות : RR, FCFS, SJF  הערכת זמן ריצה ושימוש בעדיפויות  ריבוי תורים ודוגמאות.
מרץ 2002אלן אזאגורי ©1 חוטים Threads. מרץ 2002 אלן אזאגורי ©2עמוד נושאים הגדרות –חוטים –חוטים לעומת תהליכים תמיכת מערכת ההפעלה בחוטים דוגמאות –Mach –Windows.
The Cyclic Multi-peg Tower of Hanoi מעגלי חד-כווני סבוכיות הפתרון בגרסאות עם יותר מ-3 עמודים.
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 טיפול בקיפאון  בעיית הקיפאון  הימנעות מקיפאון  זיהוי קיפאון באמצעות מציאת מעגלים  אלגוריתם להתחמקות מקיפאון.
עקרון ההכלה וההדחה.
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 סיכום הקורס.
זימון תהליכים מדיניות בסיסיות: RR, FCFS, SJF קביעת עדיפויות
תיאום בין תהליכים : יסודות  דוגמאות לבעיות תיאום  הגדרות : קטע קריטי, מנעולים  אלגוריתם קופת - חולים.
אוקטובר זימון תהליכים Process Scheduling. אקטובר עמוד נושאים מבוא לזימון תהליכים –מצבי תהליך –בעיית זימון התהליכים –מדדים לאיכות זימון תהליכים.
תפקידים פונקציונליים עיקריים של WINDOWS ממשק גרפי : הפעלת תכניות ומתן פקודות בעזרת כלים גרפיים ותפריטים. הפעלה בו - זמנית של מספר תכניות : * חלוקת זיכרון.
מערכות הפעלה ( אביב 2004) חגית עטיה © 1 תהליכים  מהו תהליך ?  מבני הנתונים לניהול תהליכים.  החלפת הקשר.  ניהול תהליכים ע " י מערכת ההפעלה.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #3 Internet Control Message Protocol (ICMP)
Safari On-line books. מה זה ספארי ספארי זו ספריה וירטואלית בנושא מחשבים היא כוללת יותר מ כותרים כל הספרים הם בטקסט מלא ניתן לחפש ספר בנושא מסוים.
מערכות הפעלה תרגול 4 – תהליכים ב-Linux (2). מערכות הפעלה - תרגול 42 (c) ארז חדד 2003 תוכן התרגול אלגוריתם זימון התהליכים ב-Linux  איך בוחרים, בכל נקודת.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 7. סברוטינות subroutines.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 6. מפעל השעווה – לולאות  עד עכשיו  טיפלנו בייצור נרות מסוג אחד, במחיר אחיד  למדנו להתמודד עם טיפול במקרים שונים.
1 Formal Specifications for Complex Systems (236368) Tutorial #1 Course site:
Formal Specifications for Complex Systems (236368) Tutorial #1
עבודה עם נתונים באמצעות ADO.NET
תרגול 4 – ניהול תהליכים, מבני נתונים למימוש תהליכים
Data Structures, CS, TAU, Splay Tree
Marina Kogan Sadetsky –
תהליכים-דייאט: חוטים מוטיבציה חוטי משתמש וחוטי מערכת
Shell Scripts בסביבת UNIX
פרק 3 - תהליכים.
Presentation transcript:

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

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

נובמבר עמוד מערכת מרובת מעבדים הגדרה –אוסף מעבדים מחוברים בינהם ומשתפים משאבים איפיון מרכזי –Single/Multiple Instruction stream האם כל המעבדים מבצעים את אותה הפקודה בכל רגע? –Single/Multiple Data stream האם כל המעבדים ניגשים לאותם הנתונים? קטגוריות מחשבים –SISD – מחשב סטנדרטי –SIMD – מחשב וקטורי –MIMD – כל מעבד מבצע פקודות שונות על נתונים שונים בהמשך, נתרכז בוריאנטים שונים של קטגורית MIMD

נובמבר עמוד גישה לזיכרון במערכת מרובת מעבדים במערכות tightly coupled מעבדים שונים יכולים לגשת לאותו תא בזיכרון –למשל בארכיטקטורה עם bus משותף ה-bus הוא משאב משותף שמגביל את מספר המעבדים לעשרות דורש פרוטוקול cache-coherency –בארכיטקטורה NUMA (Non Uniform Memory Access) מוסיפים רמה נוספת של היררכיה לכל מעבד נדמה שיש לו גישה לכל הזיכרונות דפים שלמים (בד"כ 4KB) נודדים בין הזכרונות המשותפים מאפשר בניית מערכות עם מאות מעבדים מעבד מטמון מעבד מטמון מעבד מטמון מעבד מטמון זיכרון משותף bus מעבד מטמון מעבד מטמון מעבד מטמון מעבד מטמון זיכרון משותף bus מעבד מטמון מעבד מטמון מעבד מטמון מעבד מטמון זיכרון משותף bus מעבד מטמון מעבד מטמון מעבד מטמון מעבד מטמון זיכרון משותף bus מעבד מטמון מעבד מטמון מעבד מטמון מעבד מטמון זיכרון משותף bus

נובמבר עמוד גישה לזיכרון במערכת מרובת מעבדים במערכות loosely coupled, מעבדים שונים לא יכולים לגשת לתא בזיכרון של השכן –מערכות אילו מתקשרות בעזרת העברת הודעות מעל תקשורת מהירה (switched architecture) –הן מאפשרות בנית מערכות עם אלפי צמתים, כאשר כל צומת יכול להיות tightly coupled multiprocessor מעבד מטמון זיכרון משותף bus קלט/פלט מעבד מטמון זיכרון משותף bus קלט/פלט תקשורת מהירה תקשורת מהירה

נובמבר עמוד ארכיטקטורת תקשורת ארכיטקטורות שכיחות PPPP PPPP PPPP PPPP PP PP PP PP GridHypercubeCross-bar העברת הודעות

נובמבר עמוד סוגי מערכות הפעלה לסביבות מרובות מעבדים מערכות הפעלה ברשת – Network Operating System –כל צומת מריץ מערכת הפעלה בלתי תלויה –קיימים מספר שרותים לגישה למערכות אחרות rsh, rexec אסימטרית – שליט-עבדים –מעבד אחד אחראי להריץ את מערכת ההפעלה –מגביל את ה-scalability של המערכת סימטרית –כל מעבד יכול להריץ שרותים של מערכת ההפעלה אך לא כל מימוש מאפשר ריצה בו-זמנית ע"י מעבדים שונים (multithread-enabled kernel)

נובמבר עמוד מערכות הפעלה ברשת – Network Operating Systems ניגשים לשרותים מרוחקים בצורה מפורשת –גישה לתחנה אחרת – rlogin host –העתקת קובץ מרוחק – rcp host1:file1 host2:file2 אך החיים אינם שחור/לבן –ישנם שרותים שקל יותר להפוך ל-"שקופים"

נובמבר עמוד מערכות הפעלה מבוזרות – Distributed Operating Systems דימוי (הפשטה) של מעבד יחיד –מסתיר את הצימוד החלש של מערכת ההפעלה שרותים אחידים מכל הצמתים –תקשורת בין תהליכים, למשל RPC –מראה אחיד של מערכת הקבצים גרעין מקומי שולט על המשאבים המקומיים –זיכרון, זמן מעבד, וכו' –תיאום בין צמתים מאפשר פיזור תהליכים בין צמתים

נובמבר עמוד מערכות הפעלה מבוזרות – Distributed Operating Systems מערכת IBM RS/6000 SP –Loosely coupled – עד 1024 צמתים כל צומת tightly-coupled עד 8 מעבדים –אין זיכרון משותף בין צמתים – כל צומת מריץ עותק הפרטי של מערכת ההפעלה –Workload Manager מפזר תהליכים בין הצמתים אין נדידת תהליכים לאחר מכן –אבל מערכת הקבצים (General Parallel File System) מאפשרת גישה מקבילית/אחידה מכל צומת

נובמבר עמוד זימון תהליכים בסביבה מרובת מעבדים המטרה –איזון עומסים בין המעבדים אך לפעמים קיימים אילוצים (רכים/קשים) –תהליכים מסויימים חייבים לרוץ במעבד מסוים – processor affinity בגלל משאב שקשור למעבד –קבוצת תהליכים חייבים לרוץ על אותו מעבד ניגשים לאותם נתונים – ורוצים למנוע תופעת ping-pong –קבוצת תהליכים חייבת לרוץ במקביל (על מעבדים שונים) מתקשרים בינם לבין עצמם

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

נובמבר עמוד זימון תהליכים בסביבה מרובת מעבדים דוגמא – co-scheduling המטרה –לזמן קבוצות תהליכים יחד גישה לפיתרון –חלוקת הזמן ל-time slots –זימון תהליכים לכל המעבדים נעשה באופן מסונכרן דוגמא –קבוצת בת ארבעה תהליכים תקבל את פרק זמן 3 יש ארבעה מעבדים פנויים XX5 XXX4 XX3 XXXXX2 XXXXX1 XXXXXX מעבד time slot

נובמבר עמוד זימון תהליכים בסביבה מרובת מעבדים דוגמא – co-scheduling (שיפור) נפרוש את המטריצה ע"י שרשור השורות כאשר מגיעים 4k= תהליכים,ויש במערכת 5n= מעבדים, מחפשים חלון באורך n עם k מקומות פנויים בתזמון, עוברים עם חלון באורך n מבלי לפצל קבוצות ההקצאה של תהליך למעבד אינה קבועה מראש YXX YZZZXZX YZZZXZX

נובמבר עמוד הגירת תהליכים מטרה –אם ההקצאה (הראשונית) של תהליכים למעבדים אינה מתבררת כמאוזנת, ניתן להעביר תהליכים ממעבד למעבד (process migration) אפשרויות –ניהול ריכוזי ע"י מעבד יחיד (coordinator) –מעבד עמוס שולח תהליכים למעבד פחות עמוס (sender-initiated) –מעבד פנוי מחפש תהליכים לביצוע (receiver-initiated) איך בוחרים מעבד שאליו/ממנו יועבר התהליך? –בחירת מעבד באקראי (sender-initiated) אם הוא עמוס, שיעביר הלאה –שמירת מידע מקורב על עומס המעבדים (gossip messages)

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

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

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

נובמבר עמוד מניעת קיפאון שיטת wait-die לעומת wound-wait התהליך הצעיר מחכה התהליך הוותיק הורג/מאפס את התהליך הצעיר wound-wait תהליך צעיר רוצה משאב שמוחזק ע"י תהליך ותיק תהליך ותיק רוצה משאב שמוחזק ע"י תהליך צעיר התהליך הצעיר מת (או חוזר להתחלה) ומשחרר את כל המשאבים התהליך הוותיק מחכה wait-die המוטיבציה: כדאי לתת עדיפות לתהליכים ותיקים (בעלי חותמת זמן נמוכה יותר) בגישה למשאבים

נובמבר עמוד שיטת wait-die לעומת wound-wait השוואה wound-wait מקטינה את מספר החזרות שימו לב! תהליך יוחזר לאחור במקרים בהם יש חשש לקיפאון, לאו דווקא קיפאון בפועל אם תהליך ישמור על ה-timestamp תימנע הרעבה תהליך צעירמחכה לתהליך ותיקעלול למות, להתחיל שוב ולתפוס משאבים תהליך ותיקאינו מחכה כללמחכה לתהליך צעיר wound-waitwait-die

נובמבר עמוד גילוי קיפאון במערכות מבוזרות מה קורה אם כל צומת יחזיק תמונה לוקלית (חלקית)? –P1, P2, P5 רצים בצומת A; P3, P4 בצומת B –לכאורה אין קיפאון... P1P2 P5P3 P2P4 P3 AB

נובמבר עמוד גילוי קיפאון במערכות מבוזרות אבל אם נסתכל על התמונה הגלובלית... P1P2 P5P3 A P2P4 P3 B קיפאון!

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

נובמבר עמוד גילוי קיפאון במערכות מבוזרות - קשיים –תהליך 1 מוותר על המשאב (לטובת תהליך 2) ונשלחת הודעה M1 לצומת המרכזי –תהליך 1 מבקש משאב המוחזק ע"י תהליך 3 ונשלחת הודעה M2 אשר מגיעה לפני M1 למרכז. נוצר מעגל, אך אין קיפאון! –ניתן לפתור את הבעיה על-ידי מנגנונים המבטיחים סדר ואמינות בהעברת הודעות (timestamps) AB Central AB AB 3