งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

โครงสร้างการจัดลำดับ ของซีพียู โครงสร้างระบบและสถาปัตยกรรม คอมพิวเตอร์ นงลักษณ์ พรมทอง วิเชษฐ์ พลาย มาศ CPU Scheduling Structure.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "โครงสร้างการจัดลำดับ ของซีพียู โครงสร้างระบบและสถาปัตยกรรม คอมพิวเตอร์ นงลักษณ์ พรมทอง วิเชษฐ์ พลาย มาศ CPU Scheduling Structure."— ใบสำเนางานนำเสนอ:

1 โครงสร้างการจัดลำดับ ของซีพียู โครงสร้างระบบและสถาปัตยกรรม คอมพิวเตอร์ นงลักษณ์ พรมทอง วิเชษฐ์ พลาย มาศ CPU Scheduling Structure

2 Objectives n เพื่อศึกษาแนวคิดเกี่ยวกับการจัดลำดับของ ซีพียูในสภาพแวดล้อมต่างๆ n เพื่อให้รู้จักแนวคิดพื้นฐานเกี่ยวกับการ จัดลำดับ n เพื่อให้เข้าใจถึงขั้นตอนวิธีการจัดลำดับแบบ ต่างๆ n เพื่อให้รู้ถึงการจัดลำดับซีพียูบนมัลติ โปรเซสเซอร์ และระบบทำงานแบบทันที

3 Agenda Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation

4 แนวคิดพื้นฐาน Basic Concepts n วัตถุประสงค์หลักของระบบมัลติโปรแกรม คือ พยายามให้มี กระบวนการใดกระบวนการหนึ่งดำเนินงานอยู่ตลอดเวลา เพื่อให้สามารถใช้งานซีพียูได้อย่างเต็มประสิทธิภาพ (maximum CPU utilization) n การกระทำการของกระบวนการจะประกอบด้วยรอบซีพียู (CPU cycle) และรอบการรอไอ/โอ (I/O wait cycle) กระบวนการจะสลับไปมาระหว่างรอบทั้งสองนี้ n ส่วนใหญ่สภาวะที่มีการเรียกใช้ไอ/โอจะมีสูงกว่าการใช้ ซีพียู n ในระบบมัลติโปรแกรมมิงจึงมีความพยายามใช้ประโยชน์ จากซีพียูในช่วงจังหวะดังกล่าว

5 Alternating Sequence of CPU And I/O Bursts

6 Histogram of CPU-burst Times

7 ตัวจัดลำดับซีพียู CPU Scheduler n จะเลือกกระบวนการที่อยู่ในหน่วยความจำที่พร้อมจะถูกกระทำ การมาหนึ่งกระบวนการ แล้วจัดสรรให้ซีพียู n การจัดลำดับซีพียูจะตัดสินใจภายใต้สถานการณ์ 4 ประการ 1. เมื่อกระบวนการสลับจากสถานะกำลังดำเนินงานไปเป็นสถานะรอ (เช่น ร้องขอไอ/โอ หรือรอคอยการเสร็จสิ้นของกลุ่มกระบวนการลูก เป็นต้น) 2. เมื่อกระบวนการสลับจากกำลังดำเนินงานไปเป็นสถานะพร้อม (เช่น เมื่อเกิดการขัดจังหวะ) 3. เมื่อกระบวนการเปลี่ยนสถานะจากกำลังรอไปเป็นสถานะพร้อม (เช่น เมื่อไอ/โอเสร็จสิ้น) 4. เมื่อกระบวนการเสร็จสิ้น n วิธีการจัดลำดับในสถานการณ์แบบที่ 1 และ 4 นั้นเรียกว่า การ จัดลำดับแบบไม่บังคับ (nonpreemptive) หรือแบบประสานงาน (cooperative) n ส่วนสถานการณ์ที่ 2 และ 3 นั้นเรียกว่า แบบบังคับ (preemptive)

8 โปรแกรมเลือกจ่ายงาน Dispatcher n เป็นมอดูล (module) ที่ยินยอมให้กระบวนการเข้า ครอบครองซีพียูเมื่อมันถูกคัดเลือกโดยตัวจัดลำดับ แบบระยะสั้น โดยมีหน้าที่  ทำการสลับบริบท (context switching)  ทำการสลับไปยังโหมดผู้ใช้ (user mode)  กระโดดไปยังตำแหน่งที่อยู่ที่ถูกต้องในโปรแกรมผู้ใช้เพื่อ เริ่มต้นโปรแกรมใหม่ n ระยะเวลาที่เกิดขึ้นตั้งแต่เมื่อโปรแกรมเลือกจ่ายงาน หยุดกระบวนการหนึ่งแล้วให้กระบวนการอื่นเริ่ม ดำเนินการ เรียกว่า เวลาแฝงของการเลือกจ่ายงาน (Dispatch latency)

9 เงื่อนไขของการจัดลำดับ Scheduling Criteria n เน้นที่ระบบเป็นหลักและเกี่ยวข้องกับประสิทธิภาพโดยตรง  การใช้ประโยชน์จากซีพียู (CPU utilization)  ปริมาณงาน (throughput) คำนึงถึงจำนวนกระบวนการทั้งหมด ที่เสร็จสมบูรณ์ต่อหน่วยเวลา n เน้นที่ผู้ใช้เป็นหลักและเกี่ยวข้องกับประสิทธิภาพโดยตรง  เวลาครบวงงาน (turnaround time) เป็นช่วงเวลาตั้งแต่ส่งงาน ไปจนกระทั่งงานเสร็จสมบูรณ์  เวลารอคอย (waiting time) จำนวนเวลาที่กระบวนการรอคอย อยู่ในแถวคอยพร้อม n เป็นนโยบายที่เน้นผู้ใช้เป็นหลัก  เวลาตอบสนอง (response time) เป็นเวลาตั้งแต่เมื่อส่งคำร้อง ขอออกไปจนกระทั่งเริ่มได้รับการตอบสนองกลับมาเป็นครั้งแรก

10 เงื่อนไขของการหาค่าเหมาะที่สุด Optimization Criteria n เพิ่มประโยชน์ใช้สอยซีพียู (Max CPU utilization) n เพิ่มปริมาณงานเป็นหลัก (Max throughput) n ลดเวลาครบวงงาน (Min turnaround time) n ลดเวลารอคอย (Min waiting time) n ลดเวลาตอบสนอง (Min response time)

11 การจัดลำดับแบบมาก่อนได้ก่อน First-Come, First-Served (FCFS) Scheduling ProcessBurst Time P 1 24 P 2 3 P 3 3 Suppose that the processes arrive in the order: P 1, P 2, P 3 The Gantt Chart for the schedule is: Waiting time for P 1 = 0; P 2 = 24; P 3 = 27 Average waiting time: ( )/3 = 17 P1P1 P2P2 P3P

12 FCFS Scheduling (Cont.) Suppose that the processes arrive in the order P 2, P 3, P 1. The Gantt chart for the schedule is: Waiting time for P 1 = 6; P 2 = 0 ; P 3 = 3 Average waiting time: ( )/3 = 3 n ดีกว่ากรณีแรก n อาจเกิดปัญหา ผลกระทบของคุ้มกัน (Convoy effect) คือ กระบวนการสั้นอยู่หลังกระบวนการยาว ต้องรอนาน P1P1 P3P3 P2P

13 การจัดลำดับแบบงานสั้นสุดได้ก่อน Shortest-Job-First (SJF) Scheduling n ใช้ขนาดของเวลาที่กระบวนการต้องการใช้ซีพียูใน คราวถัดไปเป็นเกณฑ์ โดยจัดสรรเวลาให้แก่ กระบวนการที่ต้องการใช้เวลาซีพียูน้อยที่สุดก่อน n มี 2 แบบ  แบบไม่บังคับ (nonpreemptive) เมื่อจัดสรรให้กระบวนการ ใดแล้ว จะให้ครอบครองซีพียูไปจนกระทั่งงานเสร็จ  แบบบังคับ (preemptive) ถ้ามีกระบวนการใหม่เข้ามาพร้อม กับต้องการเวลาใช้ซีพียูสั้นกว่าเวลาที่ยังเหลืออยู่ของ กระบวนการที่กำลังใช้ ก็จะสลับมาเลือกกระบวนการที่มาใหม่ เข้าไปใช้ซีพียูแทน บางทีเรียกว่า เวลาเหลือน้อยสุดใช้ก่อน (SRTF: Shortest-Remaining-Time-First) n SJF เป็นวิธีที่เหมาะที่สุด (optimal) ช่วยลดค่าเฉลี่ย ของเวลารอคอยต่ำที่สุดสำหรับกระบวนการทั้งหมด

14 ProcessArrival TimeBurst Time P P P P SJF (non-preemptive) Average waiting time = ( )/4 - 4 Example of Non-Preemptive SJF P1P1 P3P3 P2P P4P4 812

15 Example of Preemptive SJF ProcessArrival TimeBurst Time P P P P SJF (preemptive) Average waiting time = ( )/4 - 3 P1P1 P3P3 P2P P4P4 57 P2P2 P1P1 16

16 ข้อพึงพิจารณาการเลือกจากจำนวนเวลา ของการใช้ซีพียูครั้งถัดไป n ต้องสามารถรู้ได้ว่ากระบวนการจะใช้เวลาของซีพียูอีก เท่าไรจึงจะเสร็จในคราวหน้า n จึงใช้วิธีการทำนายล่วงหน้าโดยการคำนวณจากเวลา ที่กระบวนการใช้ครั้งสุดท้าย โดยหาค่าเฉลี่ยแบบ เอ็กซ์โปแนนเชียล (exponential averaging)

17 Prediction of the Length of the Next CPU Burst

18 Examples of Exponential Averaging  =0   n+1 =  n  Recent history does not count.  =1   n+1 = t n  Only the actual last CPU burst counts. If we expand the formula, we get:  n+1 =  t n +(1 -  )  t n -1 + … +(1 -  ) j  t n -1 + … +(1 -  ) n=1 t n  0 Since both  and (1 -  ) are less than or equal to 1, each successive term has less weight than its predecessor.

19 การจัดลำดับแบบตามลำดับความสำคัญ Priority Scheduling n กำหนดให้แต่ละกระบวนการมีหมายเลขลำดับความสำคัญ กำกับไว้ เช่น 0 ถึง 7 หรือ 0 ถึง 4095 n การจัดสรรซีพียูจะยึดตามลำดับความสำคัญของแต่ละ กระบวนการ n กระบวนการที่มีหมายเลขลำดับความสำคัญมากกว่าจะถูก เลือกทำให้เสร็จก่อน แล้วค่อยทำกระบวนการที่มี ความสำคัญลำดับรองๆ ลงไป n ในกรณีที่มีลำดับความสำคัญเท่ากันอยู่หลายกระบวนการ ก็จะใช้วิธีมาก่อนได้ก่อนเข้ามาช่วย (FCFS) n อาจเป็นแบบบังคับ (preemptive) หรือไม่บังคับ (non- preemptive) ก็ได้

20 การจัดลำดับแบบตามลำดับความสำคัญ Priority Scheduling n ปัญหา  เกิดการหยุดรอแบบไม่มีที่สิ้นสุด (indefinite blocking) -หรือ-  ภาวะงูกินหาง (starvation) กระบวนการที่มีลำดับ ความสำคัญต่ำรอให้กระบวนการที่มีลำดับ ความสำคัญสูงเข้าใช้งานซีพียูนานเกินไป n วิธีแก้  ใช้เทคนิคการปรับอายุ (aging)  โดยเพิ่มค่าลำดับความสำคัญให้แก่กระบวนการที่มี ลำดับความสำคัญต่ำในแต่ละหน่วยเวลา

21 การจัดลำดับแบบวิธีวนรอบ Round Robin (RR) n วิธีนี้จะใช้การแบ่งเวลาออกเป็นช่วงสั้นๆ เรียกว่า หน่วยเล็กสุด ของเวลา (time quantum) หรือเสี้ยวเวลา (time slice) มักมี ค่าตั้งแต่ 10 ถึง 100 msec. n กระบวนการทั้งหมดจะเข้าแถวรออยู่ในแถวคอยพร้อมแบบเข้า ก่อนออกก่อน (FIFO) n ซีพียูจะเลือกกระบวนการที่อยู่หัวแถวมาเพื่อเข้าใช้ซีพียู จนกระทั่งหมดช่วงเวลา ก็จะย้ายกระบวนการนี้ไปใส่ไว้ท้ายสุด ของแถวคอยพร้อม แล้วเลือกกระบวนการที่อยู่หัวแถวไป กระทำการต่อ วนรอบเป็นเช่นนี้ไปเรื่อยๆ n ประสิทธิภาพ ขึ้นอยู่กับขนาดของ q หรือการแบ่งหน่วยเวลา  ถ้าค่าของ q มีขนาดยาว ประสิทธิภาพจะเท่ากับแบบมาก่อนได้ก่อน (FIFO)  ค่าของ q มีขนาดสั้น ก็จะเสียเวลาในการทำสลับบริบทมากเกินไป

22 Example of RR with Time Quantum = 20 ProcessBurst Time P 1 53 P 2 17 P 3 68 P 4 24 The Gantt chart is: n ค่าเฉลี่ยของเวลาครบวงงาน (turnaround time) สูงกว่าวิธีงานสั้น สุดได้ก่อน (SJF) แต่ให้เวลาตอบสนอง (response time) ดีกว่า P1P1 P2P2 P3P3 P4P4 P1P1 P3P3 P4P4 P1P1 P3P3 P3P

23 Time Quantum and Context Switch Time

24 Turnaround Time Varies With The Time Quantum

25 จัดลำดับแบบแถวคอยหลายระดับ Multilevel Queue n แบ่งกระบวนการทั้งหมดออกเป็นกลุ่มๆ แยกตามลำดับ ความสำคัญของงาน  งานประเภทพื้นหน้า (foreground) หรืองานแบบโต้ตอบ (interactive)  งานประเภทพื้นหลัง (background) หรืองานประเภทเชิงกลุ่ม (batch) n แต่ละแถวคอยจะมีวิธีการจัดลำดับเป็นของตนเองที่อาจ แตกต่างกันได้  แบบพื้นหน้า ใช้วิธีวนรอบ (RR)  แบบพื้นหลัง ใช้วิธีมาก่อนได้ก่อน (FCFS) n เสี้ยวเวลาที่แบ่งให้กับกระบวนการประเภทต่างๆ อาจ แตกต่างกันได้  แบบพื้นหน้า ใช้ขั้นตอนวิธีแบบวนรอบ (RR) จำนวน 80 เปอร์เซ็นต์  แบบพื้นหลัง ใช้ขั้นตอนวิธีแบบมาก่อนได้ก่อน (FCFS) จำนวน 20 เปอร์เซ็นต์

26 Multilevel Queue Scheduling

27 การจัดลำดับแบบแถวคอยแบบป้อนกลับ หลายระดับ Multilevel Feedback Queue n ยอมให้มีการย้ายข้ามแถวได้ โดยจะมีการแบ่งกลุ่มของ กระบวนการให้แตกต่างกันตามคุณลักษณะของการใช้เวลา ซีพียูเป็นสำคัญ สามารถใช้การปรับอายุมาร่วมด้วยได้ n กำหนดพารามิเตอร์ดังต่อไปนี้  จำนวนแถวคอย  ขั้นตอนวิธีการจัดลำดับของแต่ละแถวคอย  วิธีการเลือกในการปรับกระบวนการไปยังลำดับความสำคัญที่สูงขึ้น  วิธีการเลือกในการปรับกระบวนการไปยังลำดับความสำคัญที่ต่ำลง  วิธีการเลือกในการปรับกระบวนการในเวลาที่ต้องการรับบริการ

28 Example of Multilevel Feedback Queue n Three queues:  Q 0 – time quantum 8 milliseconds  Q 1 – time quantum 16 milliseconds  Q 2 – FCFS n Scheduling  เมื่อมีกระบวนการเข้ามาจะเริ่มต้นในแถวที่ 0 แล้วเริ่มกระทำการ ไปจนหมดเวลา 8 มิลลิวินาที ถ้ายังไม่เสร็จ กระบวนการนี้จะถูก ย้ายไปอยู่ในแถวที่ 1  ถ้าขณะนั้นยังไม่มีกระบวนการใดอยู่ในแถวที่ 0 เลย กระบวนการ นี้ก็จะสามารถถูกกระทำการต่อไปจนหมดเวลาอีก 16 มิลลิวินาที  ถ้ายังไม่เสร็จก็จะถูกย้ายออกไปอยู่ในแถวที่ 2 ซึ่งมีการจัดลำดับ แบบมาก่อนได้ก่อน และจะกระทำการได้ก็ต่อเมื่อไม่มี กระบวนการใดๆ เหลืออยู่ในแถวคอยที่ 0 และ 1

29 Multilevel Feedback Queues

30 การจัดลำดับบนมัลติโปรเซสเซอร์ Multiple-Processor Scheduling n การจัดลำดับซีพียูบนระบบมัลติโปรเซสเซอร์มีความ ซับซ้อนสูง n จึงมุ่งไปเฉพาะกลุ่มของตัวประมวลผลแบบเอกพันธุ์ (homogeneous processors )-ตัวประมวลผล เหล่านั้นมีคุณลักษณะเดียวกันในแง่ของความสามารถ ในการใช้งาน n วิธีการกระจายภาระ (Load sharing) n การประมวลผลแบบอสมมาตร (Asymmetric multiprocessing)

31 การจัดลำดับแบบทำงานแบบทันที Real-Time Scheduling n ระบบทำงานแบบทันทีแบบเข้มข้น (hard real-time) เป็นการรับประกันว่าภารกิจวิกฤติ (critical task) จะต้องเสร็จภายในเวลาที่กำหนด n ระบบทำงานแบบทันทีแบบเบาบาง (soft real-time) ต้องการเพียงให้กระบวนการวิกฤติถูกจัดให้มีลำดับ ความสำคัญสูงกว่ากระบวนการทั่วไปเท่านั้น

32 เวลาแฝงของการเลือกจ่ายงาน Dispatch Latency

33 การวัดประสิทธิภาพของอัลกอริธึม Algorithm Evaluation n แบบจำลองเชิงกำหนด (deterministic modeling) เป็นวิธีการพยากรณ์ภาระงานของแต่ละอัลกอริธึม n แบบจำลองของแถวคอย (queueing models) n วิธีการใช้งาน (implementation)

34 Evaluation of CPU Schedulers by Simulation

35 Solaris 2 Scheduling

36 Windows 2000 Priorities

37 Summary Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation

38


ดาวน์โหลด ppt โครงสร้างการจัดลำดับ ของซีพียู โครงสร้างระบบและสถาปัตยกรรม คอมพิวเตอร์ นงลักษณ์ พรมทอง วิเชษฐ์ พลาย มาศ CPU Scheduling Structure.

งานนำเสนอที่คล้ายกัน


Ads by Google