Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 71 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
71
Dung lượng
1,13 MB
Nội dung
ĐỊ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 dùng để diễn giải thêm Định thời CPU Phân loại q trình • Chu kz CPU-I/O – CPU burst – I/O burst • CPU-bound process có thời gian sử dụng CPU nhiều thời gian sử dụng I/O • I/O-bound process dùng phần lớn thời gian để đợi I/O Định thời CPU Vấn đề cần giải • Trong hệ thống multiprogramming / multitasking – Tại thời điểm nhớ có nhiều process – Tại thời điểm có process thực thi • Giả sử hệ thống có CPU (1 processor) – Do đó, cần phải giải quyết vấn đề phân loại lựa chọn process thực thi cho hiệu ( tiêu chí định thời) Cần có chiến lược định thời CPU Định thời CPU Phân loại hoạt động định thời (1/2) new Long-term scheduling suspended ready Long-term scheduling Medium-term scheduling ready Đường gạch rời: chuyển đổi khơng thiết có Short-term scheduling running suspended blocked Medium-term scheduling blocked Định thời CPU terminated Phân loại hoạt động định thời (2/2) • Định thời dài hạn (long-term scheduling): xác định process (new) tiếp tục vào “sâu hơn” hệ thống – Thường có batch system • Định thời trung hạn (medium-term scheduling): xác định process đưa vào (swap in), đưa khỏi (swap out) nhớ – Swap in/out tốn đến vài giây thời gian chu kz định thời trung hạn vài phút • Định thời ngắn hạn (short-term scheduling): xác định process thực thi tiếp theo Định thời CPU Định thời dài hạn • Ảnh hưởng đến độ-đa-lập-trình (degree of multiprogramming: số trình nhớ) • Nếu nhiều process nhớ khả mọi process bị block có xu hướng giảm – Sử dụng CPU hiệu – Nhưng process phân chia khoảng thời gian sử dụng CPU nhỏ • Thường có xu hướng đưa vào tập lẫn lộn CPU-bound process I/O-bound process Định thời CPU Định thời trung hạn • Qút định việc đưa process (khơng phải process trạng thái new) 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 (admit) nhiều process số lượng process mà có tổng kích thước chứa vừa nhớ ( kỹ thuật nhớ ảo) – Nhưng nếu có q 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ớ Đị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 • Tùy hệ thống ( định thời nonpreemptive, preemptive) mà 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 Định thời CPU Nội dung cần quan tâm • Định thời hệ thống có processor (uniprocessor scheduling): quyết định việc sử dụng (một) CPU cho tập process hệ thống • Tiêu chí nào? Định thời CPU 10 Multilevel Queue Scheduling (3/3) • VíĐộdụ q trình ưu phân tiên cao nhóm System Processes Interactive Processes Batch Processes Student Processes Độ ưu tiên thấp Định thời CPU 58 Multilevel Feedback Queue (1/3) • Trong hệ thống Multilevel Feedback Queue, định thời di chuyển process queue tùy theo đặc tính quan sát Ví dụ: – Nếu process sử dụng CPU lâu, bị di chuyển sang hàng đợi có độ ưu tiên thấp – Nếu process chờ qua lâu hàng đợi có độ ưu tiên thấp, di chuyển lên hàng đợi có độ ưu tiên cao (aging, giúp tránh starvation) Định thời CPU 59 Multilevel Feedback Queue (2/3) • Ví dụ: Có hàng đợi – Q0 , dùng RR với quantum ms – Q1 , dùng RR với quantum 16 ms – Q2 , dùng FCFS • Giải thuật – Công việc vào hàng đợi Q0 Khi đến lượt, công việc quantum milli giây Nếu không trả CPU milli giây, công việc đưa xuống đuôi hàng đợi Q1 – Tại Q1, công việc cho quantum 16 milli giây Nếu công việc không trả CPU trước hết quantum bị chuyển xuống Q2 – Công việc hàng đợi “cao” preempt công việc hàng đợi “thấp” Định thời CPU 60 Multilevel Feedback Queue (3/3) • Multilevel Feedback Queue xác định thơng số – Có hàng đợi? – Với queue sử dụng giải thuật định thời nào? – Khi thăng cấp process? – Khi giáng cấp process? Định thời CPU 61 Policy Mechanism * Rất quan trọng định thời phân phối tài ngun • Policy – Điều (what) nên (hay cần) làm • Mechanism (Implementation) – 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 preemptive Định thời CPU 62 Đị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 định thời cho tất processor cịn 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 Định thời CPU 63 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 Định thời CPU 64 Cân tải * • Một processor có q 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 kz 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) thực hai • Cần phải có cân load balancing processor affinity Định thời CPU 65 Phương pháp đá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 qt • Queuing model – 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 Định thời CPU 66 Tổng kết • Sự thực thi process • Bộ định thời chọn process từ hàng đợi ready – Dispatcher thực 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 • Phương pháp đánh giá giải thuật định thời CPU (đọc thêm) – Mơ hình, mơ phỏng, thực Định thời CPU 67 Một số vấn đề bàn thêm • Cách làm tốt adaptive • Để thực tối ưu hồn tồ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 cho process có nhu cầu – 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ó nhiều, tùy vào hệ thống, ngữ cảnh mà chọn lựa Định thời CPU 68 Bài tập 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? Định thời CPU 69 Bài tập • FCFS: thời gian đợi trung bình 28 milli giây, tính thông số khác Định thời CPU 70 Bài tập • SJF (nonpreemptive): thời gian đợi trung bình 13 milli giây, tính thơng số khác Định thời CPU 71 Bài tập • RR: thời gian đợi trung bình 23 milli giây, tính thông số khác Định thời CPU 72