ĐỊNH THỜI CPU

74 575 0
ĐỊNH THỜI CPU

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA TP HỒ CHÍ MINH ĐỊNH THỜI CPU Mục tiêu*  Hiểu  Tại cần phải định thời  Các tiêu chí định thời  Một số giải thuật định thời (Ghi chú: slide có dấu * tiêu đề slide quan trọng, slide khác dùng để diễn giải thêm) KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU Một số khái niệm bản*  Chu kỳ CPU-I/O  CPU-bound process có thời gian sử dụng CPU nhiều thời gian sử dụng I/O  Phần lớn thời gian I/Obound process dùng để đợi I/O KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU Một số khái niệm bản*  Trong hệ thống multitasking  Tại thời điểm nhớ có nhiều process  Tại thời điểm có process thực thi  Do đó, cần phải giải quyết vấn đề phân chia, lựa chọn process thực thi cho hiệu nhất Cần có chiến lược định thời CPU KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU Phân loại hoạt động định thời KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU Phân loại hoạt động định thời  Định thời dài hạn (long-term scheduling): process chấp nhận vào hệ thống  Định thời trung hạn (medium-term sched.): process đưa vào (swap in), đưa khỏi (swap out) nhớ  Định thời ngắn hạn (short-term sched.): process thực thi KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU Định thời dài hạn  Xác định chương trình đưa vào hệ thống để thực thi  Quyết định độ-đa-lập-trình (degree of multiprogramming)  Nếu nhiều process đưa vào hệ thống  Khả process bị block có xu hướng giảm  Sử dụng CPU hiệu  Mỗi process phân chia khoảng thời gian sử dụng CPU thấp  Thường có xu hướng đưa vào tập lẫn lộn CPU-bound process I/O-bound process KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU Định thời trung hạn  Quyết định việc đưa process vào nhớ chính, hay khỏi nhớ phụ thuộc vào yêu cầu quản lý việc đa-lập-trình (multiprogramming)  Cho phép định thời dài hạn chấp nhận nhiều process số lượng process mà có tổng kích thước chứa vừa nhớ  Nhưng nếu có nhiều process làm tăng việc truy xuất đĩa, cần phải lựa chọn độ-đa-lập-trình cho phù hợp  Được thực phần mềm quản lý nhớ KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU Định thời ngắn hạn*  Xác định process thực thi tiếp theo, gọi định thời CPU  Được kích hoạt có kiện dẫn đến khả chọn process để thực thi  Ngắt thời gian (clock interrupt)  Ngắt ngoại vi (I/O interrupt)  Lời gọi hệ thống (operating system call)  Signal …chương tập trung vào định thời ngắn hạn… KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU Nội dung cần quan tâm*  Định thời hệ thống có processor (uniprocessor scheduling): định việc sử dụng (một) CPU cho tập process hệ thống  Tiêu chí nào? KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU 10 Policy Mechanism Rất quan trọng định thời phân phối tài nguyên  Policy  Điều (what) nên (hay cần) làm  Mechanism  Làm (how) để làm điều  Ví dụ  Policy: tất người dùng cần công  Mechanism: sử dụng round robin  Policy: công việc trả tiền cao có độ ưu tiên cao  Mechanism: sử dụng giải thuật có preemptive KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU 60 Định thời hệ thống multiprocessor  Nếu có nhiều CPU thực việc chia tải  Phức tạp so với định thời processor  Làm để chia tải?  Asymmetric multiprocessor • Một master processor thực hiện định thời cho tất processor lại  Symmetric multiprocessor (SMP) • Hoặc processor có hàng đợi ready riêng định thời riêng • Hoặc có hàng đợi ready chung cho tất processors – Một processor chọn làm scheduler cho processor khác – Hoặc processor có định thời riêng tự chọn process từ hàng đợi chung để thực thi KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU 61 Processor affinity  Khi process chạy processor, có số liêu cache nhớ cache processor  Khi process di dời sang processor khác  Cache processor phải repopulated  Cache processor cũ phải invalidated ⇒ vấn đề phí tổn KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU 62 Cân tải  Một processor có nhiều tải, xử lý khác lại rảnh  Cân tải sử dụng:  Push migration: task đặc biệt định kỳ kiểm tra tải tất processors công việc đẩy đến processor rảnh  Pull migration: processor rảnh lấy công việc từ processor bận  Một số hệ thống (ví dụ Linux) hiện thực hai  Cần phải có cân load balancing processor affinity KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU 63 Đánh giá giải thuật định thời CPU  Deterministic modeling   Định nghĩa trước tập tải (workload) khảo sát performance giải thuật tập tải Không tổng quát  Queuing models    Sử dụng queuing theory để phân tích giải thuật Sử dụng nhiều giả thiết để phục vụ việc phân tích Không sát thực tế  Mô (simulation)  Xây dựng mô chạy thử • Với tập tải giả (thường sinh tự động) • Hoặc tập tải ghi nhận từ thực tế  Hiện thực  Viết mã giải thuật test hệ thống thực KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU 64 Tổng kết*  Sự thực thi process  Bộ định thời chọn process từ hàng đợi ready  Dispatcher thực hiện switching  Các tiêu chí định thời (thường xung đột nhau)  Độ lợi CPU, thời gian chờ, thời gian đáp ứng, thông năng,…  Các giải thuật định thời  FCFS, SJF, Priority, RR, Multilevel Feedback Queue,…  Định thời hệ thống multiprocessor (đọc thêm)  Processor affinity cân tải  Đánh giá giải thuật (đọc thêm)  Mô hình, mô phỏng, hiện thực KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU 65 Một số vấn đề bàn thêm  Cách làm tốt adaptive  Để thực tối ưu hoàn toàn cần phải tiên đoán tương lai (!)  Thực tế đa số giải thuật lại cho kết gán độ ưu tiên cao nhất cho process có nhu cầu nhất  Vấn đề định thời có xu hướng chuyển sang “tweak and see”  Các tiêu chí nên tối ưu?  Có rất nhiều, tùy vào hệ thống, ngữ cảnh mà chọn lựa KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU 66 Tham khảo  Operating System Concepts Sixth Edition John Wiley & Sons, Inc 2002 Silberschatz, Galvin, Gagne  Modern Operating Systems Second Edition Prentice Hall 2001 Andrew S Tanenbaum KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU 67 Bài tập (1) Process Burst Time P1 10 P2 29 P3 P4 P5 12  Tất đến thời điểm  Xét giải thuật FCFS, SFJ, RR với quantum time = 10  Giải thuật cho    Thời gian đợi trung bình nhỏ nhất? Thông cao nhất? Thời gian quay vòng trung bình process nhỏ nhất? KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU 68 Bài tập (2)  FCFS: thời gian đợi trung bình 28 milli giây, tính thông số khác KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU 69 Bài tập (3)  SJF (nonpreemptive): thời gian đợi trung bình 13 milli giây, tính thông số khác KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU 70 Bài tập (4)  RR: thời gian đợi trung bình 23 milli giây, tính thông số khác KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU 71 Giả lập định thời CPU KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU 72 Định thời Linux  Hai giải thuật: chia sẻ thời gian (time-sharing) thời gian thực (real-time)  Chia sẻ thời gian (time-sharing)  Ưu tiên dựa credit: process có nhiều credit nhất chọn để thực thi  Khi có ngắt thời gian credit bị giảm  Khi credit = 0, process khác chọn  Khi tất process có credit = 0, thực hiện recrediting dựa vào yếu tố độ ưu tiên lịch sử (history) KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU 73 Định thời Linux  Thời gian thực (real-time)  Thời gian thực mềm (soft real-time)  Tương thích Posix.1b compliant – có lớp • FCFS RR • Process có độ ưu tiên cao nhất thực thi trước tiên KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU 74 [...]...Tiêu chí định thời*  Độ lợi CPU (CPU utilization)  Khoảng thời gian CPU bận, từ 0% đến 100%  Cần giữ cho CPU càng bận càng tốt  Thời gian chờ (waiting time)  Thời gian chờ trong hàng đợi ready  Các process nên được chia sẻ việc sử dụng CPU một cách công bằng (fair share) KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU 11 Tiêu chí định thời*  Thông... MINH ĐỊNH THỜI CPU 16 Tiêu chí định thời từ các góc nhìn*  Hướng đến hệ thống (system-oriented)  Độ lợi CPU (CPU utilization)  Công bằng (fairness)  Thông năng (throughput): số process hoàn tất trong một đơn vị thời gian KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU 17 Hai thành phần của chiến lược định thời*  Hàm lựa chọn (selection function)  Xác định. .. MINH 0≤α≤1 ĐỊNH THỜI CPU 33 Dự đoán thời gian sử dụng CPU Độ dài CPU burst đo được Độ dài CPU burst dự đoán, với α = ½ và τ0 = 10 KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU 34 Shortest Job First (SJF)*  SJF sử dụng ưu tiên ngầm định: công việc ngắn nhất được ưu tiên trước  Những công việc thuộc loại I/O bound thường có CPU burst ngắn  Process có thời gian... Thường theo các tiêu chí như • w = tổng thời gian đợi trong hệ thống • e = thời gian đã được phục vụ • s = tổng thời gian thực thi của process (bao gồm cả trị e) KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU 18 Hai thành phần của chiến lược định thời*  Chế độ quyết định (decision mode)  Chọn thời điểm hàm lựa chọn định thời thực thi  Nonpreemptive • Một process... với các process thuộc dạng CPU- bound  Thời gian quay vòng trung bình (average turnaround time) KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU 13 Tiêu chí định thời *  Độ lợi CPU – giữ CPU càng bận càng tốt  Tối đa hóa  Thông năng – số lượng process kết thúc việc thực thi trong một đơn vị thời gian  Tối đa hóa  Turnaround time – thời gian kể từ lúc bắt đầu... PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU 24 First Come First Served (FCFS)* Process Burst time (ms) P1 24 P2 3 P3 3  Giả sử các process đến theo thứ tự P1 , P2 , P3  Giản đồ Gantt cho việc định thời là: P1 0 P2 24 P3 27 30  Thời gian đợi cho P1 = 0, P2 = 24, P3 = 27  Thời gian đợi trung bình: (0 + 24 + 27)/3 = 17 KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU 25 First Come... (FCFS)*  Thời gian phục vụ trung bình =  Thông năng =  Thời gian quay vòng =  Kiểm tra lại: Thời gian đợi = (thời gian quay vòng − thời gian phục vụ − dispatch latency) P1 0 KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH P2 24 P3 27 30 ĐỊNH THỜI CPU 26 First Come First Served (FCFS)*  Giả sử các process đến theo thứ tự: P2 , P3 , P1  Giản đồ Gantt cho việc định thời là:... process  Giải pháp cho vấn đề này? KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU 32 Dự đoán thời gian sử dụng CPU* (Thời gian sử dụng CPU chính là độ dài của CPU burst)  Trung bình tất cả các CPU burst đo được trong quá khứ  Nhưng thông thường những CPU burst càng mới càng phản ánh đúng hành vi của process trong tương lai  Một kỹ thuật thường dùng là sử dụng... một đơn vị thời gian  Thời gian đáp ứng (response time)  Thời gian từ lúc có yêu cầu của người dùng (user request) đến khi có đáp ứng đầu tiên (lưu ý: đáp ứng đầu tiên, chứ không phải output)  Thường là vấn đề với các I/O-bound process KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU 12 Tiêu chí định thời*  Thời gian quay vòng (turnaround time)  Thời gian... Gantt khi định thời theo SJF P1 0 3 P3 7 P2 8 P4 12 16  Thời gian đợi trung bình = (0 + 6 + 3 + 7)/4 = 4 KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU 30 Shortest Job First (SJF)*  Thời gian phục vụ trung bình =  Thông năng =  Thời gian quay vòng =  Kiểm tra lại: Thời gian đợi = (thời gian quay vòng − thời gian phục vụ − dispatch latency) P1 0 3 P3 7 KHOA ... PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU Định thời ngắn hạn*  Xác định process thực thi tiếp theo, gọi định thời CPU  Được kích hoạt có kiện dẫn đến khả chọn process để thực thi  Ngắt thời gian (clock... BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU Phân loại hoạt động định thời  Định thời dài hạn (long-term scheduling): process chấp nhận vào hệ thống  Định thời trung hạn (medium-term sched.):... KHOA THÀNH PHỐ HỒ CHÍ MINH ĐỊNH THỜI CPU Một số khái niệm bản*  Chu kỳ CPU- I/O  CPU- bound process có thời gian sử dụng CPU nhiều thời gian sử dụng I/O  Phần lớn thời gian I/Obound process

Ngày đăng: 29/12/2015, 22:04

Từ khóa liên quan

Mục lục

  • ĐỊNH THỜI CPU

  • Mục tiêu*

  • Một số khái niệm cơ bản*

  • Một số khái niệm cơ bản*

  • Phân loại các hoạt động định thời

  • Slide 6

  • Định thời dài hạn

  • Định thời trung hạn

  • Định thời ngắn hạn*

  • Nội dung cần quan tâm*

  • Tiêu chí định thời*

  • Slide 12

  • Slide 13

  • Tiêu chí định thời *

  • Có thể làm được?*

  • Tiêu chí định thời từ các góc nhìn*

  • Slide 17

  • Hai thành phần của chiến lược định thời*

  • Slide 19

  • Nonpreemptive và preemptive

Tài liệu cùng người dùng

Tài liệu liên quan