Nghiên ứu các thuật toán lập lịch trong hệ thống thời gian thực

151 1 0
Nghiên ứu các thuật toán lập lịch trong hệ thống thời gian thực

Đ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

Do đó hệ thống cần phải chọn và sắp xếp lịch thực hiện các tác vụ để đảm bảo sao cho các tác vụ, các ứng dụng hồn thành cơng việc của mình xong trước thời hạn.Thật dễ để thấy rằng, bài t

bộ giáo dục đào tạo trờng đại học bách khoa hµ néi ĐỖ QUỐC HUY ĐỖ QUỐC HUY ngµnh CNTT NGHIÊN CứU THUậT TOáN LậP LịCH TRONG Hệ ThốNG ThờI GIAN THựC luận văn thạc sĩ NGàNH CÔNG NGHệ THÔNG TIN khoá 2006-2008 Hà nội 2008 Tai ngay!!! Ban co the xoa dong chu nay!!! 17057204822181000000 bé gi¸o dơc đào tạo trờng đại học bách khoa hà nội ĐỖ QUC HUY NGHIÊN CứU THUậT TOáN LậP LịCH TRONG Hệ ThốNG ThờI GIAN THựC luận văn thạc sĩ CÔNG NGHệ THÔNG TIN ngời hớng dẫn khoa học : PGS.TS NGUYễN §øC NGHÜA Hµ Néi – 2008 Lời Cảm Ơn Để hồn thành Luận Văn Tốt nghiệp Cao Học khố 2006-2008, em xin gửi lời cảm ơn chân thành tới thầy giáo PGS.TS Nguyễn Đức Nghĩa, người trực tiếp hướng dẫn tận tình giúp đỡ em trình nghiên cứu hồn thành luận văn Em xin gửi lời cảm ơn tới thầy, cô giáo Khoa Công Nghệ Thông Tin, thầy, cô giáo trường Đại Học Bách Khoa Hà Nội truyền thụ kiến thức bổ ích trình em học tập nghiên cứu trường Em xin gửi lời cảm ơn sâu sắc tới gia đình bạn bè, người bên em suốt thời gian qua, giúp đỡ động viên em q trình học tập hồn thành Luận Văn Tốt nghiệp lần Mặc dù có nhiều cố gắng thời thời gian kiến thức hạn chế nên luận văn cịn có nhiều thiếu sót Em mong nhận ý kiến đóng góp quý báu từ thầy, cô giáo bạn Hà Nội, ngày 28 tháng 11 năm 2008 Học viên thực hiện: ĐỖ QUỐC HUY Mục lục Lời Cảm Ơn Danh mục thuật ngữ Danh mục bảng Danh mục hình vẽ Lời mở đầu 10 Chương1 CÁC KHÁI NIỆM CƠ SỞ 12 1.1 Các ứng dụng thời gian thực 12 1.1.1 Các vấn đề liên quan đến ứng dụng thời gian thực 12 1.1.2 Kiến trúc vật lý kiến trúc logic, hệ điều hành 14 1.2 Các khái niệm sở cho lập lịch tác vụ thời gian thực 22 1.2.1 Miêu tả tác vụ 22 1.2.2 Các định nghĩa, giải thuật thuộc tính lập lịch 28 1.2.3 Lập lịch hệ điều hành truyền thống 35 Chương LẬP LỊCH CÁC TÁC VỤ ĐỘC LẬP 42 2.1 Các giải thuật lập lịch trực tuyến cho tác vụ có chu kỳ 43 2.1.1 Lập lịch đơn điệu tỉ lệ 44 2.1.2 Thuật tốn đảo hạn chót (hay đơn điệu hạn chót) 52 2.1.3 Các thuật toán với gắn kết ưu tiên động 53 2.2 Lập lịch tập tác vụ lai 55 2.2.1 Lập lịch tác vụ khơng có chu kỳ mềm dẻo 56 2.2.2 Lập lịch chặt chẽ tác vụ không theo chu kỳ 65 Chương 3.LẬP LỊCH CÁC TÁC VỤ PHỤ THUỘC 72 3.1 Các tác vụ với mối quan hệ trước sau 72 3.1.1 Các ràng buộc trước sau thuật toán ưu tiên tĩnh (RM DM) 74 3.1.2 Các ràng buộc trước sau thuật toán thời hạn sớm trước 75 3.1.3 Ví dụ minh họa 76 3.2 Các tác vụ chia sẻ tài nguyên găng 77 3.2.1 Đánh giá thời gian phản hồi tác vụ 78 3.2.2 Hiện tượng đảo mức ưu tiên 82 3.2.3 Hiện tượng tắc nghẽn 84 3.2.4 Các giao thức truy cập tài nguyên chia sẻ 86 3.2.5 Kết luận 91 CHƯƠNG 95 Thiết kế xây dựng chương trình 95 4.1 Mục đích thực nghiệm 95 4.2 Thiết kế xây dựng chương trình 96 4.2.1 Thiết kế chương trình 96 4.2.2.Thiết kế liệu biểu diễn 98 4.3.Thiết kế mô đun 101 4.3.1 Mô đun chương trình 101 4.3.2 Mô đun nhập liệu 102 4.3.3 Mô đun tạo liệu ngẫu nhiên 103 4.3.4.Mô đun so sánh kết thực giải thuật 104 4.3.5.Mô đun xuất liệu 104 4.3.6 Mô đun thực giải thuật RM 105 4.3.7 Mô đun thực giải thuật ID 110 4.3.8 Mô đun thực giải thuật EDF 113 4.3.9 Mô đun thực giải thuật LLF 118 4.4 Một số hình ảnh minh hoạ giao diện chương trình 122 4.5.Kết thực nghiệm đánh giá 125 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 147 Tài liệu tham khảo 149 Danh mục thuật ngữ STT Từ viết tắt Giải nghĩa tiếng Anh Giải nghĩa tiếng Việt RM Rate Monotic Tên giải thuật đơn điệu tỉ lệ ID Inverse Deadline Đảo thời hạn EDF Earliest Deadline First Thời hạn sớm trước LLF Least Laxity First LCM Least Common Multiple Bội chung nhỏ CPU Central Processing Unit Bộ xử lý trung tâm Preemptive Có ưu tiên Non preemptive Không ưu tiên Slack stealing Tên thuật toán ưu tiên tác vụ thời gian trì hỗn trước Tên giải thuật lập lịch cho tập tác vụ có khơng có chu kỳ 10 A priori Tiên nghiệm 11 deadlock tắc nghẽn 12 13 Hybrid task set RR Round Robin Tập tác vụ bao gồm tác vụ có khơng có chu kỳ Tên giải thuật lập lịch dựa lượng tử thời gian 14 Deferrable server Máy chủ trì hỗn 15 Polling server Máy chủ bầu chọn 16 Sporadic server Máy chủ không thường xuyên 17 Thời điểm tác vụ kích Critical instant hoạt tạo thời gian phản hồi lớn 18 Interconnected sites Các điểm liên kết 19 Processor utilization factor Hệ số sử dụng xứ lý 20 21 Semaphore Monitor Tên kỹ thuật đưa Dijstra để đồng hoá tiến trình Tên kỹ thuật đồng hố tiến trình Danh mục bảng Bảng 3.1 Ví dụ ánh xạ độ ưu tiên có ràng buộc trước sau sử dụng thuật toán RM 75 Bảng 3.2 Tập hợp năm tác vụ thay đổi tham số theo ràng buộc trước sau (4 giá trị ưu tiên cao nhất) 77 Bảng 3.3 Tổng kết giao thức mgăn ngừa tắc nghẽn đảo mức ưu tiên 92 Bảng 4.1 Cấu trúc liệu biểu diễn tác vụ 99 Bảng 4.2 Cấu trúc liệu biểu diễn tác vụ chuẩn bị lập lịch 100 Bảng 4.3.Cấu trúc thông tin tác vụ lịch làm việc 100 Bảng 4.4 Tập tác vụ cho thực nghiệm 125 Bảng 4.5 Bảng kết thực giải thuật cho tập tác vụ 126 Bảng 4.6 Tập tác vụ cho thực nghiệm 126 Bảng 4.7 Bảng kết thực giải thuật cho tập tác vụ 127 Bảng 4.8 Tập liệu cho thựuc nghiệm 128 Bảng 4.9.Kết thực giải thuật ID,RM,EDF,LLF với tập tác vụ 128 Bảng 4.10.Tập liệu bước 129 Bảng 4.11.Kết thực giải thuật ID,RM,EDF,LLF với tập tác vụ bước 129 Bảng 4.12.Tập liệu bước 130 Bảng 4.13.Kết thực giải thuật ID,RM,EDF,LLF với tập tác vụ bước 130 Bảng 4.14.Tập liệu bước 131 Bảng 4.15.Kết thực giải thuật ID,RM,EDF,LLF với tập tác vụ bước 131 Bảng 4.16.Tập liệu bước 132 Bảng 4.17.Kết thực giải thuật ID,RM,EDF,LLF với tập tác vụ bước 132 Bảng 4.18.Tập liệu bước 133 Bảng 4.19.Kết thực giải thuật ID,RM,EDF,LLF với tập tác vụ bước 133 Bảng 4.20.Tập liệu bước 134 Bảng 4.21.Kết thực giải thuật ID,RM,EDF,LLF với tập tác vụ bước 134 Bảng 4.22.Miêu tả tập tác vụ tạo ngẫu nhiên với chu kỳ khoảng [1,500] 135 Bảng 4.23.Kết thực với test 136 Bảng 4.24.Kết thực với test 136 Bảng 4.25.Kết thực với test 137 Bảng 4.26.Kết thực với test 137 Bảng 4.27.Kết thực với test 137 Bảng 4.28 Miêu tả tập tác vụ dùng để đo thời gian tính tốn giải thuật 139 Bảng 4.29 Kết lập lịch với liệu test6 140 Bảng 4.30 Kết lập lịch với liệu test7 140 Bảng 4.31 Kết lập lịch với liệu test8 140 Bảng 4.32 Kết lập lịch với liệu test9 141 Bảng 4.33 Kết lập lịch với liệu test10 141 Bảng 4.34.Miêu tả tập tác vụ sử dụng thực nghiệm 143 Bảng 4.35 Kết thực giải thuật với liệu đầu 143 Bảng 4.36 Kết thực giải thuật với liệu 144 Danh mục hình vẽ Hình 1.1 Mơ hình ứng dụng thời gian thực 13 Hình 1.2 Sự phát triển kết hợp phần mềm phần cứng 15 Hình 1.3 Kiến trúc đa xử lý đối xứng với nhớ chia xẻ Dune 3000 17 Hình 1.4 Một kiến trúc phân tán ứng dụng thời gian thực 17 Hình 1.5 Các loại hệ thống tính tốn 19 Hình 1.6 Cấu trúc hệ thống thuận tiện 20 Hình 1.7 Mơ hình ứng dụng thời gian thực 22 Hình 1.8 Sự biến thiên tham số động 25 Hình 1.9 Các trạng thái tác vụ 26 Hình 1.10 Đồ thị precedance với tác vụ 27 Hình 1.11 Tài nguyên găng dùng chung tác vụ 27 Hình 1.12 Ví dụ giải thuật Round Robin 37 Hình 1.13 Ví dụ lập lịch ưu tiên (chỉ số ưu tiên nhỏ độ ưu tiên tác vụ cao) 37 Hình 1.14 Ví dụ lập lịch đa cấp độ ưu tiên 38 Hình 2.1 Phân tích thời gian phản hồi tác vụ τ2 (0, 10, 14, 14) hàm thời gian phản hồi tác vụ τ1 (r1 , 1, 4, 4) 45 Hình 2.2 Chuỗi thực thi với hai tác vụ τ τ2 vói độ ưu tiên tác vụ τ cao τ1 46 Hình 2.3 Chuỗi thực thi với hai tác vụ τ1 τ2 với độ ưu tiên tác vụ τ1 cao tác vụ τ2 (gắn kết độ ưu tiên theo RM ) 46 Hình 2.4 Phân tích hàm hệ số tiện ích hố xử lý C 49 Hình 2.5 Ví dụ lập lịch rate monotonic với ba tác vụ có chu kỳ τ1 (0, 3, 20, 20), τ2 (0, 2, 5, 5) τ3 (0, 2, 10, 10) 50 Hình 2.6 Ví dụ lập lịch với ba tác vụ có chu kỳ: τ1 (0, 20, 100, 51 100), τ (0, 40, 150, 150) τ3 (0, 100, 350, 350) 51 Hình 2.7 Lịch làm việc đảo thời hạn 52 Hình 2.8 Lịch làm việc EDF 54 Hình 2.9 Lịch làm việc Least Laxity First 55 Hình 2.10 Lập lịch 57 Hình 2.11 Ví dụ máy chủ polling 59 Hình 2.12 Ví dụ saprodic server 61 Hình 2.13 Ví dụ lập lịch slack stealing 63 Hình 2.14 Ví dụ lập lịch sử dụng kỹ thuật ghép nối 64 Hình 2.15 Lập lịch tác vụ không theo chu kỳ 68 Hình 2.16 Ví dụ lập lịch chung tác vụ có khơng có chu kỳ 70 Hình 3.1 Ví dụ hai đồ thị trước sau tập chín tác vụ 73 Hình 3.2 Ví dụ tổng quát hoá quan hệ trước sau hai tác vụ khác khoảng thời gian 73 Hình 3.3 Đồ thị trước sau tập hợp sáu tác vụ 74 Hình 3.4 Những thay đổi tham số tác vụ trường hợp lập lịch EDF 76 Hình 3.5 Đồ thị trước sau liên kết năm tác vụ 77 Hình 3.6 Thời gian phản hồi tác vụ có ưu tiên cao chia sẻ tài nguyên găng: 80 Hình 3.7 Thời gian phản hồi tác vụ chia sẻ tài nguyên găng: 82 Hình 3.8 Ví dụ tượng đảo mức ưu tiên 83 Hình 3.9 (a) Ví dụ tượng tắc nghẽn 85 (b) Giải pháp ngăn chặn tắc nghẽn cách áp đặc trật tự tổng truy xuất tài nguyên 85 Hình 3.10 Ví dụ ứng dụng giao thức kế thừa mức ưu tiên 88 Hình 3.11 Ví dụ ứng dụng giao thức ưu tiên trần 90 Hình 4.1.Các chức chương trình 97 Hình 4.2 Mơ đun chương trình 101 Hình 4.3 Mơ đun nhập liệu 102 Hình 4.4 Mơ đun sinh liệu ngẫu nhiên 103 Hình 4.5 Mơ đun so sánh kết thực 104 Hình 4.6 Mơ đun xuất liệu 105 Hình 4.7 Lược đồ mơ tả bước giải thuật RM 106 Hình 4.8 Lược đồ mơ tả bước khởi tạo danh sách tác vụ ban đầu 107 Hình 4.9 Lược đồ mơ tả bước kiểm tra khả lập lịch tập tác vụ 108 Hình 4.10 mơ tả bước xây dựng lịch theo giải thuật RM 109 Hình 4.11.Miêu tả bước biểu diễn lịch thực tác vụ 109 Hình 4.12 Lược đồ mơ tả bước giải thuật ID 110 Hình 4.13 Lược đồ mơ tả bước khởi tạo danh sách tác vụ ban đầu 111 Hình 4.14 Lược đồ mô tả bước kiểm tra khả lập lịch tập tác vụ 112 Hình 4.15 mơ tả bước xây dựng lịch theo giải thuật ID 112 Hình 4.16.Miêu tả bước biểu diễn lịch thực tác vụ 113 Hình 4.17 Lược đồ mô tả bước giải thuật EDF 114 Hình 4.18 Lược đồ mô tả bước khởi tạo danh sách tác vụ ban đầu 115 Hình 4.19 Lược đồ mô tả bước kiểm tra khả lập lịch tập tác vụ 116 Hình 4.20 mơ tả bước xây dựng lịch theo giải thuật EDF 117 Hình 4.21.Miêu tả bước biểu diễn lịch thực tác vụ 117 Hình 4.22 Lược đồ mô tả bước giải thuật LLF 118 Hình 4.23 Lược đồ mơ tả bước khởi tạo danh sách tác vụ ban đầu 119 Hình 4.24 Lược đồ mơ tả bước kiểm tra khả lập lịch tập tác vụ 120 Hình 4.24 mơ tả bước xây dựng lịch theo giải thuật LLF 121 Hình 4.25.Miêu tả bước biểu diễn lịch thực tác vụ 121 Hình 4.26 Giao diện ban đầu chương trình 122 Hình 4.27.Chức nhập thơng tin tác vụ 122 Hình 4.28.Chức nhập thơng tin tác vụ từ file 123 Hình 4.29.Chức chọn giải thuật để thực 123 Hình 4.30.Minh hoạ lịch thực tập tác vụ 124 Hình 4.31 Chức sinh liệu ngẫu nhiên 124 Hình 4.32 Chức so sánh giải thuật 125 Hình 4.33 Biểu đồ so sánh tập tác vụ test1,test2,test3,test4,test5 136 Dưới kết thực giải thuật RM, ID, EDF,LLF với tập tác vụ 136 Hình 4.34.Biểu đồ so sánh số tác vụ lập lịch đáp ứng thời hạn vởi tập tác vụ test1,test2,test3,test4,test5 138 Hình 4.35 Biểu đồ so sánh thời gian phản hồi trung bình tác vụ lập lịch theo giải thuật RM,ID,EDF,LLF 138 Hình 4.37 So sánh số tác vụ lập lịch hạn 141 Hình 4.38 So sánh thời gian phản hồi tác vụ lập lịch theo giải thuật RM, ID, EDF LLF 142

Ngày đăng: 22/01/2024, 17:02

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

  • Đang cập nhật ...

Tài liệu liên quan