28
ררררררר2002 1 ררררר רררררררProcess Scheduling

אוקטובר 20021 זימון תהליכים Process Scheduling. אקטובר 2002 2עמוד נושאים מבוא לזימון תהליכים –מצבי תהליך –בעיית

  • View
    246

  • Download
    6

Embed Size (px)

Citation preview

Page 1: אוקטובר 20021 זימון תהליכים Process Scheduling. אקטובר 2002 2עמוד נושאים מבוא לזימון תהליכים –מצבי תהליך –בעיית

2002אוקטובר 1

זימון תהליכיםProcess Scheduling

Page 2: אוקטובר 20021 זימון תהליכים Process Scheduling. אקטובר 2002 2עמוד נושאים מבוא לזימון תהליכים –מצבי תהליך –בעיית

2002אקטובר עמוד2

נושאיםמבוא לזימון תהליכים

מצבי תהליך–בעיית זימון התהליכים–מדדים לאיכות זימון תהליכים–

מדינויות זימוןFirst-Come First-Serveאלגוריתם –Round Robinאלגוריתם –(Shortest Processing Time First)מזעור זמן שהייה ממוצע – Shortest Remaining Time to )זמני הגעה לא אחידים–

Completion First)(Windows NTשימוש בכמה תורים )דוגמא –

Page 3: אוקטובר 20021 זימון תהליכים Process Scheduling. אקטובר 2002 2עמוד נושאים מבוא לזימון תהליכים –מצבי תהליך –בעיית

2002אקטובר עמוד3

מצבי תהליך

סיום יצירה

מוכןReady

רץRunning

המתנהWaiting

מתקבלזימון

יציאה

פסיקה/וויתור

ק"פ או המתנהלארוע

ק"פ או ארועהסתיים

טווח קצר

טווח בינוני/ארוך

Page 4: אוקטובר 20021 זימון תהליכים Process Scheduling. אקטובר 2002 2עמוד נושאים מבוא לזימון תהליכים –מצבי תהליך –בעיית

2002אקטובר עמוד4

מתי "זימון תהליכים" נכנס לפעולה?

ניתן לבצע החלטות זימון כאשר תהליך עוברממצב למצב

"רץ" למשל, תהליך שמבצע פקודת ק"פ, עובר ממצב –"המתנה"למצב

"האם ניתן לאלץ תהליך לעבור ממצב "רץלמצב "מוכן"?

(Preemptive) בר הפקעההזימון נקרא אם כן,–(Non-preemptive) ללא הפקעהאם לא, הזימון נקרא –

(Cooperative)תהליך חייב לשתף פעולה •Windows 3.1למשל ב-•

התכנות בשתי הסביבות יכול להיות מאד שונה. מדוע?–

Page 5: אוקטובר 20021 זימון תהליכים Process Scheduling. אקטובר 2002 2עמוד נושאים מבוא לזימון תהליכים –מצבי תהליך –בעיית

2002אקטובר עמוד5

תקורה בזימון תהליכים

זימון תהליכים אינו חינםKernel modeמעבר ל-–(Context switch)החלפת הקשר –

שמירת המצב\הקשר של התהליך היוצא•טעינת המצב\הקשר של התהליך הנכנס•

וקפיצה לפקודה הבאהUser mode ל- מעבר–

…ישנו גם מחיר מוסתר–Page faults–Cache misses

Page 6: אוקטובר 20021 זימון תהליכים Process Scheduling. אקטובר 2002 2עמוד נושאים מבוא לזימון תהליכים –מצבי תהליך –בעיית

2002אקטובר עמוד6

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

הבעיה מסוים תהליך )המשאב( למעבדהקצאת ה–

מסויםפרק זמןלדרגות החופש

תהליך איזהמבין התהליכים שמוכנים לרוץ, –לבחור

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

Page 7: אוקטובר 20021 זימון תהליכים Process Scheduling. אקטובר 2002 2עמוד נושאים מבוא לזימון תהליכים –מצבי תהליך –בעיית

2002אקטובר עמוד7

איפיון תהליכים

תהליך עתיר חישובים(CPU-bound)

תהליך עתיר קלט/פלט(I/O-bound)

CPU I/O CPU I/O CPU

I/O CPU I/O CPUCPU

Page 8: אוקטובר 20021 זימון תהליכים Process Scheduling. אקטובר 2002 2עמוד נושאים מבוא לזימון תהליכים –מצבי תהליך –בעיית

2002אקטובר עמוד8

מדדים הקובעים את "טיב"מדיניות הזימון

ניצולת המעבד(CPU utilization)אחוז הזמן שהמעבד "פעיל"–

תפוקה (Throughput) מספר יחידות העבודה שהושלמו בפרק זמן נתון–

זמן ביצוע תהליך(Turn-around-time) מרגע שיגור התהליך עד לסיומו–

זמן המתנה למעבד(Waiting time)סכום הזמנים בהם התהליך במצב "מוכן"–

זמן תגובה(Response time)בתהליך אינטראקטיבי, פרק הזמן בין הגשת בקשה ע"י המשתמש –

עד לתגובת המערכת )תצוגת פלט(

Page 9: אוקטובר 20021 זימון תהליכים Process Scheduling. אקטובר 2002 2עמוד נושאים מבוא לזימון תהליכים –מצבי תהליך –בעיית

2002אקטובר עמוד9

מהו המדד הנכון?

...תלויבסביבה אינטראקטיבית–

חשוב זמן תגובה קצר• נמוכה חשובה לא פחותשונות... אך •

(batchבסביבת אצווה )–רצוי למקסם תפוקה•

Page 10: אוקטובר 20021 זימון תהליכים Process Scheduling. אקטובר 2002 2עמוד נושאים מבוא לזימון תהליכים –מצבי תהליך –בעיית

2002אקטובר עמוד10

הגדרת מדדים

של תהליך יחס הענישה Pi הואti/Tiכאשר

–Ti סה"כ זמן שתהליך בטווח זמן השהייה - הוא - הקצר - במצב "רץ" או "מוכן"

–ti "הוא סה"כ זמן שתהליך במצב "רץ -

של תהליך, תחת זמן שהייה ממוצע Aמדיניות זימון

הוא מספר התהליכיםN כאשר –

N

kkA T

NH

1

1

Page 11: אוקטובר 20021 זימון תהליכים Process Scheduling. אקטובר 2002 2עמוד נושאים מבוא לזימון תהליכים –מצבי תהליך –בעיית

2002אוקטובר 11

מדינויות זימון

Page 12: אוקטובר 20021 זימון תהליכים Process Scheduling. אקטובר 2002 2עמוד נושאים מבוא לזימון תהליכים –מצבי תהליך –בעיית

2002אקטובר עמוד12

First Come First Serve )FCFS(הגדרה

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

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

P1 P2 P3

P1P2 P3

time0 3 6 24 27 30

avg_wait_t=17

avg_wait_t=3בהנחה שכולם מגיעים)(באותו זמן

Page 13: אוקטובר 20021 זימון תהליכים Process Scheduling. אקטובר 2002 2עמוד נושאים מבוא לזימון תהליכים –מצבי תהליך –בעיית

2002אקטובר עמוד13

First Come First Serve )FCFS((Convoy effect)אפקט השיירה

אפיוןCתהליך אחד עתיר חישובים: –I1,…,In מספר תהליכים עתירי קלט/פלט:–

(non-preemption)בהנחת –אפקט

Ij תופס את המעבד, תהליכי C ברגע שתהליך –מצטברים בתור המוכנים

!התקני הק"פ מובטלים–

Page 14: אוקטובר 20021 זימון תהליכים Process Scheduling. אקטובר 2002 2עמוד נושאים מבוא לזימון תהליכים –מצבי תהליך –בעיית

2002אקטובר עמוד14

Round Robin )RR(

הגדרהqהמעבד מוקצה לתהליך הראשון בתור לזמן ≤ –, התהליך מופסק qאם זמן החישוב של התהליך גדול מ-–

ומועבר לסוף תור ה-"מוכנים"

פרטי מימוש–Preemptive–Quantum 10-100 אופייניmsecq שמייצר פסיקה כל פרק זמן timerממומש בעזרת –

Page 15: אוקטובר 20021 זימון תהליכים Process Scheduling. אקטובר 2002 2עמוד נושאים מבוא לזימון תהליכים –מצבי תהליך –בעיית

2002אקטובר עמוד15

Round Robin )RR(אפיונים

-אם הquantum"קטן, הזימון "הוגן תחושה שכל תהליך רץ במעבד משלו עם –

הוא מספר התהליכים – N, כאשר N/1בקצב יחס ענישה אחיד.

זמן תגובה )כמעט( ליניארי בזמן החישוב –.Nוב-

אך התקורה עלולה להיות גבוהה! –דוגמא

N=10מספר תהליכים –100זמן חישוב של תהליך ––q=1

RR FCFS תהליך

991 100 1

992 200 2

1000 1000 10

Page 16: אוקטובר 20021 זימון תהליכים Process Scheduling. אקטובר 2002 2עמוד נושאים מבוא לזימון תהליכים –מצבי תהליך –בעיית

2002אקטובר עמוד16

Selfish Round-Robinהכללה:

הגדרהFIFOתהליכים חדשים מוחזקים בתור המתנה – לביצועRound-Robinתהליכים וותיקים מוחזקים בתור –כאשר אין תהליך בתור הוותיקים, בוחרים את הראשון –

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

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

איפיוןRRאם ההזדקנות קצרה )או לא קיימת( מתקבל –FCFSאם ההזדקנות ארוכה )או אינסופית( מתקבל –

Page 17: אוקטובר 20021 זימון תהליכים Process Scheduling. אקטובר 2002 2עמוד נושאים מבוא לזימון תהליכים –מצבי תהליך –בעיית

2002אקטובר עמוד17

Shortest Processing Time First )SPTF(

הנחה התהליכים מגיעים יחד לביצועNכל –(ti) ידוע מראש Piזמן הריצה של תהליך –

הגדרהמינימלי שירוץ עד סיומו tiבוחרים את התהליך עם –

פרטי מימוש–Non-preemptive?tiאבל... איך מנחשים את –

Page 18: אוקטובר 20021 זימון תהליכים Process Scheduling. אקטובר 2002 2עמוד נושאים מבוא לזימון תהליכים –מצבי תהליך –בעיית

2002אקטובר עמוד18

עם הפקעה או ללא הפקעה?

:זמן שהיה ממוצע עבור מדיניות זימון נזכיר A:

למה N )עבור A עם הפקעהלכל מדיניות זימון –

ללא ’Aתהליכים שמגיעים יחד(, קיימת מדיניות הפקעה כך ש-

AA HH `

N

kkA T

NH

1

1

Page 19: אוקטובר 20021 זימון תהליכים Process Scheduling. אקטובר 2002 2עמוד נושאים מבוא לזימון תהליכים –מצבי תהליך –בעיית

2002אקטובר עמוד19

עם הפקעה או ללא הפקעה? )המשך(

הוכחהA תהליכים לפי זימון Nבהינתן זימון של – התהליך שמסתים אחרוןPkיהי –

לסוף הזימוןPkנצופף את ריצת –

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

Pk Pr Pk PkPr

PkPr Pk PkPr

time

time

Page 20: אוקטובר 20021 זימון תהליכים Process Scheduling. אקטובר 2002 2עמוד נושאים מבוא לזימון תהליכים –מצבי תהליך –בעיית

2002אקטובר עמוד20

לפי SPTFאופטימליות של HAמדד

משפטאם כל התהליכים מגיעים יחד, לכל מדיניות זימון –

A

הוכחה היא מדיניות ללא Aלפי הלמה, ניתן להניח ש-–

הפקעה Pk, חייבים להיות שני תהליכים SPTF לא Aאם –

Pk מתוזמן מיד אחרי Pr ו-tk < tr כך ש-Prו-

ASPTF HH

Page 21: אוקטובר 20021 זימון תהליכים Process Scheduling. אקטובר 2002 2עמוד נושאים מבוא לזימון תהליכים –מצבי תהליך –בעיית

2002אקטובר עמוד21

SPTFאופטימליות של )המשך( HAלפי מדד

המשך(הוכחה( זמן שהייה ממוצע אחרי ההחלפה:–

זמן השהייה הממוצע לא גדל!–

SPTF חוזרים על ההחלפות עד שהתזמון נהיה–

Pr PkPrPk

לפניאחרי

Tr Tk

tr tk

time

)(1

...)(...)(...1

1

rki

Nrkkr

ttTN

TtTtTTN

Page 22: אוקטובר 20021 זימון תהליכים Process Scheduling. אקטובר 2002 2עמוד נושאים מבוא לזימון תהליכים –מצבי תהליך –בעיית

2002אקטובר עמוד22

RRזמן שהייה ממוצע תחת

משפטאם כל התהליכים מגיעים יחד, אזי–

הוכחה את העיכוב שנגרם לתהליך )delayA)i, jנסמן ב-–

Pj עקב זימונים של תהליך Pi תחת מדיניות A

: כלשהי, מתקייםAעבור מדיניות –

Nji

AA

N

iiA ijdelayjidelaytHN

11

),(),(

SPTFRR HH 2

Page 23: אוקטובר 20021 זימון תהליכים Process Scheduling. אקטובר 2002 2עמוד נושאים מבוא לזימון תהליכים –מצבי תהליך –בעיית

2002אקטובר עמוד23

RRזמן שהייה ממוצע תחת )המשך(

SPTFעבור

Round Robinעבור

i<j

Pi Pj time

Pi Pj time

PiPj Pj Pj Pj Pj Pj

Nji

ji

N

iiSPTF tttHN

11

),min(

Nji

ji

N

iiRR tttHN

11

),min(2

Page 24: אוקטובר 20021 זימון תהליכים Process Scheduling. אקטובר 2002 2עמוד נושאים מבוא לזימון תהליכים –מצבי תהליך –בעיית

2002אקטובר עמוד24

Shortest Remaining Time to Completion First )SRTF(

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

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

משפט–SRTF ממזער את זמן השהייה הממוצע במערכת )בדומה

(SPTFל-הוכחה

SPTFדומה להוכחת האופטימליות של – מה ההבדל ביןSRTF -ו SPTF?

–SRTFעובד טוב גם כאשר תהליכים לא מגיעים יחד

Page 25: אוקטובר 20021 זימון תהליכים Process Scheduling. אקטובר 2002 2עמוד נושאים מבוא לזימון תהליכים –מצבי תהליך –בעיית

2002אקטובר עמוד25

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

פיתרון)מריצים התהליך כמה פעמים ומנחשים לעתיד(אומדן סטטיסטי –i -הערכת זמן החישוב לסיבוב ה –i• ti – -זמן החישוב בפועל בסיבוב הi

!שימו לב = 0 זמן הריצה האחרון בפועל קובע )היסטוריה –

קרובה( = 1!זמן ריצה בפועל לא משפיע –

אומדן זמן החישוב של תהליך

iii tα)(τατ 1110 α

Page 26: אוקטובר 20021 זימון תהליכים Process Scheduling. אקטובר 2002 2עמוד נושאים מבוא לזימון תהליכים –מצבי תהליך –בעיית

2002אקטובר עמוד26

שימוש במספר תורים

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

–foreground, background… ,-מדיניות תזמון מתפרקת ל

מדיניות תזמון בין התהליכים השייכים לאותה –קבוצה

מדיניות תזמון בין קבוצות שונות–

Page 27: אוקטובר 20021 זימון תהליכים Process Scheduling. אקטובר 2002 2עמוד נושאים מבוא לזימון תהליכים –מצבי תהליך –בעיית

2002אקטובר עמוד27

ריבוי תוריםMultilevel Feedback Queues

הגדרהקיימים מספר תורים לפי סדר עדיפות–

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

תהליך מתחיל בתור הגבוה ביותר–, הוא יורד לתור נמוך quantumאם הוא צורך את כל ה-–

יותר )עקב -quantumאם תהליך משחרר המעבד לפני סוף ה–

פעולת ק"פ(, הוא חוזר לתור גבוה יותרפרטי מימוש

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

Page 28: אוקטובר 20021 זימון תהליכים Process Scheduling. אקטובר 2002 2עמוד נושאים מבוא לזימון תהליכים –מצבי תהליך –בעיית

2002אקטובר עמוד28

דוגמאWindows NTזימון ב-

שימוש בתורים לפי עדיפות(dispatcher ready queues) תורים 32–

•Real time priority (16-31 )עדיפויות•Variable priority (1-15 )עדיפויות שמורה למערכת(0)עדיפות •

מדיניותRound Robinעל התור העדיף ביותר שאינו ריק–

-העדיפות יורדת אם נצרך כל הquantum-העדיפות עולה אם תהליך עובר מwait-ל ready

העדיפות נקבעת ע"פ סוג הק"פ–ק"פ מהמקלדת מקנה עדיפות גבוהה•