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
Các ứng dụng thời gian thực
Các vấn đề liên quan đến ứng dụng thời gian thực
Trong các ứng dụng thời gian thực, yêu cầu về thời gian là yếu tố quan trọng nhất để đánh giá chất lượng dịch vụ Những ràng buộc này xuất hiện trong nhiều lĩnh vực, bao gồm tự động hóa nhà máy, hệ thống nhúng, điều khiển giao thông, giám sát nhà máy hạt nhân, robot học và giám sát phẫu thuật Các ứng dụng này thường phát sinh sự kiện theo chu kỳ hoặc ngẫu nhiên, yêu cầu hệ thống máy tính phản ứng trong khoảng thời gian cố định hoặc trễ đã định Thời gian phản ứng bị giới hạn do dữ liệu cần được xử lý kịp thời, các hành động phải tuân thủ thời gian bắt đầu và kết thúc, và các hồi đáp cần được gửi đúng lúc Khoảng thời gian này có thể thay đổi từ micro giây trong radar, một giây trong giao tiếp người-máy, đến một giờ trong phản ứng hóa học Ràng buộc thời gian được phân loại thành chặt chẽ hoặc mềm dẻo tùy thuộc vào nguồn gốc của chúng.
Chương này trình bày về bài toán lập lịch trong các hệ thống thời gian thực, bao gồm các khái niệm cơ bản như hệ thống thời gian thực, ứng dụng và đặc điểm của các tác vụ Trong các hệ thống này, lỗi thời gian như trễ hạn hoặc phát thông điệp muộn có thể gây ra thảm họa cho con người, xã hội và môi trường Hệ thống thời gian thực có thể có ràng buộc thời gian mềm dẻo, cho phép xử lý một mức độ lỗi thời gian nhất định Hệ thống này hoạt động dựa trên các chức năng ứng dụng, kết nối giữa hệ thống điều khiển máy tính thời gian thực và các tiến trình được điều khiển Kiểm soát thời gian là một thách thức lớn, vì sự chính xác của phản ứng không chỉ phụ thuộc vào kết quả logic mà còn vào thời gian tạo ra kết quả; dữ liệu chính xác nhưng xuất hiện quá muộn sẽ trở nên vô nghĩa, dẫn đến lỗi thời gian.
Hình 1.1 Mô hình ng d ng th i gian th c ứ ụ ờ ự
Hệ thống điều khiển thời gian thực có thể được xây dựng như là:
Mô hình sinh theo chu kỳ là một phương pháp quản lý tiến trình, trong đó trạng thái của tiến trình được quản lý theo một chu kỳ nhất định Dữ liệu được thu thập đều đặn và các yêu cầu được gửi đi theo định kỳ, giúp đảm bảo tính ổn định và hiệu quả trong quản lý.
• M t h ộ ệ thống có khả năng ả ứ : hệph n ng thống này phản hồi ngay lập tức nh ng kích thích b t ngu n t ữ ắ ồ ừ các tiến trình b qu n lí; ị ả
• Một hệ thống không đồng bộ, kết h p cợ ủa các bộ ph n ậ mà lập lịch các nhiệm vụ theo chu k và không theo chu k ỳ ỳ
Kiến trúc vật lý và kiến trúc logic, các hệ điều hành
1.1.2.1 Thiết kế phần mềm của một ứng dụng thời gian thực
Thông thường, có một ố bước xác định được dùng để phân tích và thi hành s những ứng dụng thời gian thực:
Phân tích các yêu cầu và đặc tả chức năng là bước quan trọng để hình dung rõ ràng về các nhiệm vụ mà hệ thống cần thực hiện Thời gian hoàn thành các chức năng cũng cần được xem xét kỹ lưỡng để đảm bảo hiệu suất và đáp ứng nhu cầu người dùng Việc xác định rõ các yêu cầu này sẽ giúp định hướng quá trình phát triển và tối ưu hóa hệ thống.
Thiết kế sơ bộ: thực hiện một sự phân tích hoạt động và dẫn tới sự lựa chọn của những thành phần lôgic của một kiến trúc lôgíc
Phát triển phần mềm và phần cứng chuyên biệt thường diễn ra song song với quy trình thiết kế tương ứng Phân tích phần cứng đưa ra kiến trúc vật lý, xác định sự lựa chọn của các thành phần phần cứng và phần mềm đã được phát triển, sẵn sàng để đưa ra thị trường Sự phân tích khái niệm dẫn đến kiến trúc phần mềm, cho phép lựa chọn các thành phần phần mềm chuẩn và thực thi các thành phần phần mềm do người dùng lựa chọn Những bước đạt được trong quá trình này kết thúc với việc kiểm thử đơn vị.
Kiểm thử tích hợp là quá trình kết hợp tất cả các thành phần phần mềm và phần cứng, bao gồm cả các thành phần chuẩn và chuyên biệt, nhằm thực hiện kiểm thử một cách ổn định và hiệu quả.
Sự kiểm chứng của người sử dụng được thực hiện thông qua các phép đo, thường kết hợp với các phương pháp phổ biến, nhằm đảm bảo sự chấp nhận của hệ thống.
Các bước này được tóm t t trong hình 1.2 ắ
Hình 1.2 S phát triự ển kế ợt h p phần mềm và ph n c ng ầ ứ
Khi kiến trúc logic và phần cứng được xác định, chính sách phân phối sẽ liên kết các mô đun phần mềm với các đơn vị phần cứng Trong các hệ thống chịu lỗi phân tán thời gian thực, việc phân phối có thể linh hoạt và các công việc có thể di trú Phân tích hoạt động là cần thiết để xác định các đơn vị logic cơ bản, từ đó đáp ứng các yêu cầu và đảm bảo sự hoạt động ổn định trong hệ thống.
Các đơn vị tính toán chính thường được phân lo i thành: ạ
Các đối tượng bị động bao gồm tài nguyên vật lý như thiết bị, cảm biến và các thi t b truyền động, cũng như các tài nguyên phi vật lý như vòng đệm bộ nhớ, file và mô đun phần mềm cơ sở.
• Các đối tượ g liên lạc như các thông điệp hay các biến, cổng, kênh, kết nối n m ng dùng chung; ạ
• Các đối tượng đồng bộ hóa như các sự kiện, các semaphore, điều kiện, monitors (như trong Modula) và các đối tượng được b o v (ả ệ như trong Ada);
• Các đối tượng ch ủ động như các ế ti n trình, lu ng, tác v ; ồ ụ
Các đối tượng trong hệ thống có cấu trúc và kết hợp như mô đun, gói (trong Ada), tác nhân (trong Chorus), và tiểu trình (trong Unix, Mach) Trong các hệ thống thời gian thực, tác vụ thường được sử dụng như đơn vị điều hành cho các hoạt động đồng thời trong kiến trúc logic Sự phân chia người dùng thành các tác vụ tương tranh là cơ sở cho việc phát triển phần mềm trong yêu cầu ứng dụng Mỗi tác vụ có thể được gắn kết với từng bộ xử lý và thiết bị vào-ra khác nhau, đồng thời thực hiện các chức năng khác biệt như tính toán, quản lý dữ liệu, và điều khiển thiết bị.
Các kiến trúc hệ thống thời gian thực được đặc trưng bởi tầm quan trọng của các luồng vào ra, như ví dụ về bus V-ME được trình bày trong hình 1.3 Hình 1.3 minh họa một ví dụ về kiến trúc đa xử lý đối xứng với bộ nhớ chia sẻ (Banino et al., 1993).
Hình 1.3 Kiến trúc đa xử lý đố ứi x ng v i b ớ ộ nhớ chia x c a Dune 3000 ẻ ủ
Hình 1.4 M t ki n trúc phân tán cộ ế ủa ứng d ng th i gian th c ụ ờ ự
Kiến trúc phân tán qua mạng đang ngày càng được phát triển, với khái niệm các vị trí liên kết (interconnected sites) trở nên phổ biến Hình 1.4 minh họa kiến trúc sử dụng mạng cục bộ kết nối với nhiều vị trí khác nhau.
1.1.2.3.Kiến trúc logic và các hệ thống thời gian thực
Các hệ điều hành có thể được phân loại thành ba loại chính: hệ thống biến đổi, hệ thống tương tác và hệ thống tái kích hoạt, trong đó bao gồm cả các hệ thống thời gian thực không đồng bộ Việc hiểu rõ các loại hệ thống này là cần thiết để định vị các hệ thống thời gian thực trong lĩnh vực tính toán.
Hệ thống biến đối là một cấu trúc ống cho phép tính toán kết quả dựa trên dữ liệu có sẵn ngay từ khi chương trình khởi động, với khả năng truy cập bất cứ lúc nào Mối quan hệ giữa các thực thể trong chương trình liên quan đến các hệ thống mà dữ liệu được tạo ra trong môi trường yêu cầu bởi các chương trình mới bắt đầu; các kết quả từ những chương trình này sẽ được nhập vào các chương trình khác.
Khía cạnh thời gian liên quan đến các hệ thống yêu cầu kết quả phải được cung cấp tại những thời điểm cụ thể, được điều chỉnh bởi các quy trình động.
Hình 1.5 Các loại hệ ố th ng tính toán
Hệ thống được coi là tập trung hoá khi thông tin liên quan đến quyết định, tài nguyên chia sẻ, thuật toán và tính toàn vẹn dữ liệu được lưu trữ trong bộ nhớ chia sẻ, cho phép tất cả các tác vụ trong hệ thống truy cập trực tiếp Định nghĩa này không phụ thuộc vào kiến trúc phần cứng và liên quan đến cả kiến trúc đơn xử lý và đa xử lý với bộ nhớ chia sẻ, cũng như kiến trúc phân tán, nơi mọi quyết định chỉ được đưa ra từ một nguồn duy nhất.
Một hệ thống được phân tán khi các quyết định là kết quả của một sự nhất trí giữa các vị trí trao đổi thông điệp.
Lập trình phân tán đối mặt với sự không chắc chắn do thiếu bộ nhớ và đồng hồ chung, cùng với sự đa dạng về độ trễ trong việc truyền thông điệp giữa các site Điều này dẫn đến việc thông tin có thể không được thu thập đồng thời tại tất cả các vị trí Thời gian là yếu tố quan trọng trong thông tin, do đó, các site không thể đồng thời đọc một đồng hồ chung để xác định tính đồng bộ của thời gian.
Các hệ thống tính toán được tổ chức theo cấu trúc phân lớp, với một nhân hệ điều hành đóng vai trò trung tâm Nhân này cung cấp các phương pháp cơ bản để quản lý bộ xử lý, bộ nhớ ảo, xử lý ngắt và thông tin liên lạc Ngoài ra, còn tồn tại nhiều chính sách quản lý phức tạp cho các tài nguyên này cũng như cho các tài nguyên khác ở các lớp cao hơn.
Hình 1.6 C u trúc cấ ủa hệ ố th ng thu n ti n ậ ệ
Các khái niệm cơ sở cho lập lịch tác vụ thời gian thực
Miêu tả tác vụ
1.2.1.1 Mô hình tác vụ thời gian thực
Các tác vụ thời gian thực là các thực thể có thể thi hành được lập lịch, có thể có chu kỳ hoặc không, với ràng buộc thời gian lỏng lẻo hoặc chặt chẽ Mô hình tác vụ được định nghĩa qua các tham số thời gian chính, trong đó một tác vụ được xác định bởi các tham số thể hiện độ trễ và thời gian Mô hình này bao gồm các tham số chính và động, với các tham số chính đóng vai trò quan trọng trong việc quản lý và tối ưu hóa hiệu suất của hệ thống.
• r: thời gian giải phóng tác vụ, ví dụ thời gian kích hoạt yêu cầu thực thi tác vụ
• C: thời gian tính toán trong trường hợp tồi nhất của tác vụ, khi bộ xử lý đã được phân phối đầy các công việc
• D: hạn chót liên quan của tác vụ, ví dụ thời gian trể tối đa có thể chấp nhận cho việc xử lý của tác vụ
• T : chu kỳ tác vụ (chỉ có nghĩa với các tác vụ có chu kỳ)
Here is the rewritten paragraph:Khi tác vụ có các ràng buộc thời gian chặt chẽ, hạn chót liên quan cho phép tính toán của hạn chót tuyệt đối d = Δ + rD Nếu vi phạm hạn chót tuyệt đối, sẽ gây ra lỗi thời gian, ảnh hưởng nghiêm trọng đến tiến độ và hiệu quả của tác vụ.
Tham số vắng mặt trong tác vụ không có chu kỳ được mô hình hóa bởi bốn tham số chính Khi một tác vụ sẵn sàng, nó sẽ phát sinh yêu cầu theo chu kỳ Thời điểm giải phóng tiếp theo, hay còn gọi là thời điểm yêu cầu, được xác định bởi công thức rk = r0 + kT, trong đó r0 là thời điểm giải phóng đầu tiên và rk là yêu cầu thứ k Các hạn chót tuyệt đối tiếp theo được tính bằng d1 = kD Nếu tác vụ có D = T, chu kỳ sẽ tương ứng với hạn chót liên quan Một tác vụ được coi là dạng tốt khi đáp ứng các tiêu chí này.
Chất lượng lập lịch trong hệ thống thời gian thực phụ thuộc vào độ chính xác của các tham số trong khoảng 0 < C D ≤ T Sự không đổi của các tham số này là yếu tố quan trọng trong thiết kế Việc phân tích thiết kế cần đánh giá các khoảng thời gian liên quan đến chuyển tác vụ, gọi hệ điều hành, xử lý ngắt và thực thi bộ lập lịch, và bổ sung chúng vào thời gian tính toán của các tác vụ Do đó, nhân của hệ thống phải hoạt động ổn định và đảm bảo các giá trị tối đa cho các thao tác này.
Các tham số khác như sau:
• u = C/T là hệ số tiện ích hoá bộ xử lý của tác vụ; ta phải có ≤ 1 u
• ch = C/D là nhân tố tải bộ xử lý ta phải có; ch ≤ 1
Các tham số động sau đây giúp theo dõi việc thực thi tác vụ:
• s là thời điểm bắt đầu thực thi tác vụ
• e là thời điểm kết thúc thực thi tác vụ
• D t ( ) = d t − là hạn chót liên quan còn dư tại thời điểm : 0 ≤ ( ) ≤ t D t D
• C t ( ) là thời gian chờ thực thi tại thời điểm : 0 ≤ ( ) ≤ t C t C
L = D C - đại diện cho sự lỏng lẻo tối thiểu của tác vụ, thường được gọi là thời gian trễ Nó cũng thể hiện khoảng thời gian tối đa mà tác vụ cần để bắt đầu khi nó sử dụng bộ xử lý một cách độc lập.
L t ( ) = D t C t ( ) − ( ) thể hiện sự trì hoãn không đáng kể của tác vụ tại thời điểm t, cho thấy thời gian chậm tối đa để phục hồi việc thực thi khi sử dụng bộ xử lý độc lập Ta cũng có thể diễn đạt là ( )L t = D + r t ( ) − −C t.
• TR = e − là thời gian phản hồi tác vụ; tác có r C ≤ TR ≤ D khi không có lỗi thời gian
• CH( )t = C t /D t tải còn dư ; 0 ≤ CH t C/T ( ) ( ) là ( )≤ (theo định nghĩa, nếu e d CH e , ( ) = 0)
Hình 1.8 thể hiện sự biến thiên của L t ( ) và ( )D t theo thời gian
Hình 1.8 S bi n thiên cự ế ủa các tham số độ ng
Các tác vụ có chu kỳ được kích hoạt khi có yêu cầu kế tiếp và trở lại trạng thái bị động khi hoàn thành yêu cầu Trong khi đó, các tác vụ không có chu kỳ cũng có thể hoạt động tương tự nếu được kích hoạt nhiều lần, thường được tạo ra tại thời điểm giải phóng.
Khi một tác vụ được tạo ra, nó liên quan đến hai trạng thái chính là trạng thái động và trạng thái bị kích hoạt Bộ xử lý cùng với việc chia sẻ tài nguyên sẽ xác định một số trạng thái tác vụ khác nhau, như được minh họa trong Hình 1.9.
• được ch n ọ (electe ): một bộ xử lý được phân phối cho tác vụ; ( ) và ( )d C t D t giảm, L t ( )không giảm
• b ị chặn (blocked): tác vụ đợi một tài nguyên, một thông điệp hay một tín hiệu đồng bộ hoá; L t ( ) và ( )D t giảm.
• sẵn sàng(ready): tác vụ đợi được chọn: trong trường hợp này, ( ) và ( )L t D t giảm
• b ng passiveị độ ( ): tác vụ hiện không có yêu cầu nào.
• không tồn tại non-existing( ): tác vụ chưa được tạo ra.
Các đặc điểm tác vụ khác được mô tả để bổ sung các tham số thời gian của mô hình tác vụ.
Tác vụ có u ti n hay khư ê ông u tiên ư (Preemptive or non-preemptive task) đề cập đến việc một số tác vụ, sau khi được chọn, không nên bị dừng lại trước khi hoàn thành, được gọi là tác vụ không bị chiếm ưu tiên (non-preemptive) Ví dụ, một tác vụ không bị chiếm ưu tiên là cần thiết cho xử lý vào ra trong truy cập bộ nhớ trực tiếp (direct memory access - DMA) hoặc để chạy trong chế độ có ngắt Các tác vụ không bị chiếm ưu tiên còn thường được gọi là các tác vụ ngay lập tức.
Khi một tác vụ đã được chọn có thể dừng lại và chuyển sang trạng thái sẵn sàng để phân phối bộ xử lý cho tác vụ khác, nó được gọi là tác vụ bị chiếm ưu tiên (preemptive).
Sự phụ thuộc giữa các tác vụ được xác định bởi trật tự cố định hoặc do việc truyền thông điệp và đồng bộ hóa rõ ràng Điều này tạo ra mối quan hệ ưu tiên giữa các tác vụ, với các mối quan hệ theo thời gian được biết trước khi thực hiện.
Ví dụ chúng là tĩnh và có thể được biểu diễn bởi một biểu đồ theo thời gian tĩnh (hình 1.10)
Hình 1.10 Đồ ị th precedance v i 5 tác v ớ ụ
Các tác vụ có thể chia sẻ tài nguyên thay vì chỉ sử dụng bộ xử lý, nhưng một số tài nguyên có thể yêu cầu quyền truy cập độc quyền và cần phải được sử dụng trong điều kiện không có sự tranh chấp Chuỗi lệnh mà một tác vụ phải thực hiện trong tình trạng tranh chấp được gọi là miền găng, do đó chỉ một tác vụ duy nhất được phép thực thi miền găng của mình với tài nguyên đã chỉ định.
Hình 1.11 Tài nguyên găng được dùng chung b i 4 tác v ở ụ
Việc chia sẻ tài nguyên tạo ra mối quan hệ động, trong đó trật tự sử dụng tài nguyên phụ thuộc vào thứ tự chọn tác vụ Các mối quan hệ này có thể được biểu diễn bằng đồ thị phân phối Khi các tác vụ có sự phụ thuộc tĩnh hoặc động, chúng có thể được sắp xếp theo thứ tự khái niệm của thời gian phản hồi toàn cục hoặc độ trễ cuối tới cuối Thời gian này tính từ khi tác vụ được giải phóng để đáp ứng kích thích cho đến khi tác vụ cuối cùng hoàn thành và các tác nhân trả lời kích thích Các tác vụ được coi là độc lập khi không có quan hệ quyền ưu tiên và không chia sẻ tài nguyên quan trọng.
Sự khẩn cấp của tác vụ được xác định qua hạn chót, cho phép phân loại mức độ ưu tiên trong việc cấp phát dữ liệu Hai tác vụ có cùng mức độ khẩn cấp sẽ có hạn chót giống nhau.
Các định nghĩa, giải thuật và thuộc tính của lập lịch
Trong hệ thống thời gian thực, các tác vụ phải tuân thủ ràng buộc thời gian với thời gian trễ tối đa cần được tôn trọng Lập lịch giúp đảm bảo các tác vụ thực hiện đúng hạn trong chế độ không đáng kể Kế hoạch làm việc cần phải có thể dự đoán và chứng minh rằng tất cả ràng buộc thời gian đều được đáp ứng Khi xảy ra sự cố, một số tác vụ báo động có thể được kích hoạt, dẫn đến quá tải và tăng lỗi thời gian Trong tình huống quá tải, lập lịch cần cho phép một số dung sai để đảm bảo tiến trình an toàn, ngay cả khi ở mức dịch vụ thấp nhất.
1.2.2.1.Các tập hợp tác vụ
Một ứng dụng thời gian thực được đặc tả thông qua một tập hợp các tác vụ
Kích hoạt đồng thời xảy ra khi các tác vụ của ứng dụng được khởi động cùng lúc với thời gian giải phóng đầu tiên Nếu không, chúng sẽ không được kích hoạt theo quy trình đã định.
Các tác vụ được kích hoạt đồng thời còn được gọi là các tác vụ trong pha
Hệ số sử dụng bộ xử lí (Processor utilization factor) Hệ số tận dụng bộ xử : lý của một tập hợp tác vụ có chu kỳ là n :
Hệ số tải bộ xử lý(Processor load factor) Hệ số tải bộ xử lý của một tập n tác vụ theo chu kỳ là:
Sự sao lãng bộ xử lý (Processor laxity) không thể được đánh giá đầy đủ chỉ qua hệ số tận dụng và hệ số tải, đặc biệt khi xem xét ảnh hưởng của quá tải lên các ràng buộc thời gian Chúng ta định nghĩa LP(t) là thời gian tối đa mà bộ xử lý có thể nghỉ sau thời điểm t mà không làm trễ hạn một tác vụ LP(t) là một hàm biến đổi theo thời gian t.
Đối với mọi thời điểm t, ta có LP t ≥ 0 Để xác định độ sao lãng, cần phải biết chuỗi gắn kết các tác vụ với bộ xử lý, sau đó tính toán điều kiện LCi t của từng tác vụ i.
Công thức LCi(t) = Di -∑C t j ( ) (1.3) tính toán thời gian chờ thực thi của tất cả các tác vụ, bao gồm j tác vụ i được kích hoạt tại thời điểm t Độ lỏng lẻo LP t() được xác định là giá trị nhỏ nhất của điều kiện lỏng lẻo LCi( ).
Thời gian bộ xử lý nhàn rỗi là khoảng thời gian mà bộ xử lý không hoạt động, được xác định bởi các khoảng trống thời gian mà sự lỏng lẻo của bộ xử lý diễn ra Khoảng thời gian này, được gọi là thời gian nghỉ của bộ xử lý, phụ thuộc vào tập hợp các tác vụ và kế hoạch làm việc hiện tại.
1.2.2.2.Các định nghĩa lập lịch tác vụ
Lập lịch một tập tác vụ bao gồm lập kế hoạc thực hiện các yêu cầu tác vụ để h phù hợp với các ràng buộc thời gian:
• của tất cả các tác vụ khi hệ thộng hoạt động ở chế độ không đáng kể;
Các tác vụ quan trọng nhất bao gồm những nhiệm vụ cần thiết để bảo mật tiến trình, đặc biệt trong chế độ bất thường, có thể xảy ra do lỗi phần cứng hoặc các sự kiện không mong đợi Trong một số ứng dụng, các tiêu chuẩn hiệu năng được đặt ra nhằm tối ưu hóa thời gian phản hồi, giảm độ trễ, cân bằng tải giữa các bộ xử lý, giới hạn băng thông truyền thông, và giảm thiểu số lượng tác vụ cũng như thông điệp bị trễ hoặc tích lũy chậm.
Thuật toán lập lịch gắn kết các tác vụ với bộ xử lý, tạo ra một danh sách có thứ tự của các tác vụ, được gọi là chuỗi có kế hoạch hay lịch làm việc.
Nguyên tắc phân loại các thuật toán lập lịch
Lập lịch không trực tuyến tạo ra một kế hoạch hoàn chỉnh với tất cả các tham số của tác vụ, cho phép thực hiện hiệu quả trước khi bắt đầu Tuy nhiên, phương pháp này có tính cứng nhắc, giả định rằng các tham số, bao gồm thời gian giải phóng, là cố định và không thể điều chỉnh theo sự thay đổi của môi trường.
Lập lịch trực tuyến cho phép lựa chọn tác vụ tiếp theo bất cứ lúc nào, đồng thời nắm rõ các tham số của tác vụ hiện tại Khi có sự kiện mới xảy ra, tác vụ được chọn có thể thay đổi mà không cần biết trước thời gian của sự kiện đó Cách tiếp cận động này mang lại sự linh hoạt hơn, sử dụng ít thông tin hơn so với các phương pháp lập lịch động truyền thống.
Lập lịch trực tuyến quản lý các tác vụ có thời điểm đến không thể đoán trước, cho phép duy trì sự tạo ra liên tục của chuỗi kế hoạch Phương pháp này được sử dụng để xử lý các tác vụ không theo chu kỳ và các tình huống quá tải bất thường.
Lập lịch có sự chiếm ưu tiên và không có sự chiếm ưu tiên là hai phương pháp khác nhau trong quản lý tác vụ Trong lập lịch có ưu tiên, tác vụ khẩn cấp hoặc có độ ưu tiên cao hơn có thể lấy CPU từ tác vụ hiện tại, khiến tác vụ đó trở về trạng thái sẵn sàng Ngược lại, lập lịch không có sự chiếm ưu tiên cho phép tác vụ hiện tại tiếp tục thực thi mà không bị gián đoạn, nhưng có thể dẫn đến lỗi thời gian Trong kiến trúc đơn xử lý, việc chia sẻ tài nguyên dễ dàng hơn với lập lịch không có sự chiếm ưu tiên do không cần kỹ thuật truy cập đồng thời, nhưng điều này trở nên phức tạp trong kiến trúc đa xử lý.
Nỗ lực tốt nhất và khả năng chịu đựng lỗi thời gian là yếu tố quan trọng trong quản lý dự án Khi đối mặt với các ràng buộc thời gian không chặt chẽ, việc lập lịch cần áp dụng chiến thuật nỗ lực tối đa với các nguồn lực sẵn có, cho phép ứng dụng có thể chịu đựng một số lỗi thời gian Tuy nhiên, trong trường hợp có các ràng buộc thời gian chặt chẽ, việc đảm bảo hạn chót là điều cần thiết và các lỗi thời gian sẽ không thể được chấp nhận.
Lập lịch tập trung được thực hiện trong một kiến trúc tập trung hóa, nơi ghi nhận các tham số của tất cả tác vụ trong một hệ thống phân tán Ngược lại, lập lịch phân tán cho phép mỗi vị trí chỉ định một lịch làm việc cục bộ, và thông qua hợp tác giữa các vị trí, có thể phát triển một chiến lược lập lịch toàn cục Trong bối cảnh này, một số tác vụ có thể được gán cho một vị trí cụ thể và có khả năng di chuyển sau đó.
Các thuộc tính lập lịch
Lịch làm việc khả thi là một thuật toán lập lịch nhằm tối ưu hóa kết quả trong kế hoạch làm việc của một tập tác vụ Để được coi là khả thi, kế hoạch này phải đảm bảo rằng tất cả các tác vụ đều đáp ứng được các ràng buộc thời gian đã đề ra.
LẬP LỊCH CÁC TÁC VỤ ĐỘC LẬP
Các giải thuật lập lịch trực tuyến cơ bản cho các tác vụ có chu kỳ
Các giải thuật lập lịch trực tuyến cơ bản sử dụng luật đơn giản để gắn kết mức ưu tiên theo tham số thời gian của tác vụ Nếu tham số được coi là cố định, thuật toán sẽ tĩnh và độ ưu tiên không thay đổi theo thời gian Các thuật toán như đơn điệu tỉ lệ (Liu và Layland, 1973) và đảo thời hạn (Leung và Merrill, 1980) là ví dụ điển hình Ngược lại, nếu thuật toán dựa trên các tham biến, tức là các hạn chót tác vụ tuyệt đối, nó sẽ được coi là động do độ ưu tiên có thể thay đổi Những thuật toán quan trọng trong nhóm này bao gồm hạn chót sớm nhất trước (Liu và Layland, 1973) và thời gian trì hoãn nhỏ nhất trước (Dhall, 1977; Sorenson, 1974).
Việc phân tích thuật toán lập lịch bao gồm hai phần:
Tính tối ưu của thuật toán được xác định bởi việc không tồn tại thuật toán nào khác cùng lớp, với độ ưu tiên cố định hoặc thay đổi, có thể thực hiện tác vụ mà không bị ảnh hưởng bởi thuật toán đang được nghiên cứu.
Kiểm tra khả năng lập lịch không trực tuyến kết hợp với thuật toán này cho phép xác định xem một tập tác vụ có thể lập lịch được mà không cần xây dựng toàn bộ chuỗi thực thi qua thời gian lập lịch hay không.
2.1.1 Lập lịch đơn điệu tỉ lệ
Trong một tập hợp các tác vụ có chu kỳ, việc gán mức ưu tiên cho các tác vụ theo thuật toán đơn điệu tỉ lệ (rate monotonic - RM) có nghĩa là các tác vụ có khoảng thời gian ngắn hơn sẽ có tỉ lệ yêu cầu cao hơn và do đó được ưu tiên cao hơn.
2.1.1.1 Sự tối ưu của thuật toán đơn điệu tỉ lệ
Do không thể phân tích toàn bộ các mối quan hệ giữa tất cả thời gian giải phóng của một tập tác vụ, chúng ta phải xác định sự kết hợp thời gian giải phóng trong trường hợp tồi nhất, dựa trên khả năng lập lịch của tập tác vụ Trường hợp này xảy ra khi tất cả các tác vụ được giải phóng đồng thời, tương ứng với thời khắc nguy cấp - được định nghĩa là thời điểm mà việc giải phóng một tác vụ sẽ tạo thời gian phản hồi lớn nhất của tác vụ đó.
Nếu một tập tác vụ có thể lập lịch tại thời điểm khẩn cấp của từng tác vụ, thì tập tác vụ tương tự cũng có thể lập lịch với các thời điểm đến bất kỳ Ví dụ, với hai tác vụ có chu kỳ τ1 (r1, 1, 4, 4) và τ2 (0, 10, 14, 14), theo thuật toán RM, tác vụ τ1 có ưu tiên cao hơn Tác vụ τ2 thường xuyên bị chậm trễ do sự xen vào của các tác vụ ưu tiên cao τ1 Phân tích thời gian phản hồi của tác vụ τ2 cho thấy rằng thời gian phản hồi của nó tăng lên khi thời gian phản hồi của các tác vụ gần nhau hơn.
• nếu r1 = 4, thời gian phản hồi của tác vụ τ2 là bằng với 12;
Nếu r1 = 2, thời gian phản hồi của tác vụ τ2 là 13, và thời gian này giữ nguyên khi r1 bằng 3 hoặc 1 Khi r1 và r2 đều bằng 0, thời gian phản hồi của tác vụ τ2 tăng lên 14.
Hình 2.1 Phân tích th i gian phờ ản hồ ủa tác vụ τi c 2 (0, 10, 14, 14) như là một hàm c a th i gian phủ ờ ản hồi của tác vụ τ1 r( 1, , , 1 4 4)
Trong bài viết này, chúng ta sẽ chứng minh sự tối ưu của thuật toán gắn độ ưu tiên RM Đầu tiên, chúng ta sẽ xác nhận thuộc tính tối ưu cho hai tác vụ bằng cách tổng quát hóa kết quả cho một tập hợp bất kỳ các tác vụ Cụ thể, chúng ta xem xét trường hợp lập lịch cho hai tác vụ τ1 và τ2 với T1 < T2, trong đó các thời hạn liên quan được xác định bằng chu kỳ của chúng (D1 = T1, D2 = T2) Nếu các mức ưu tiên không được gắn kết theo thuật toán, điều này sẽ ảnh hưởng đến hiệu quả của việc lập lịch.
Trong hệ thống RM, mức ưu tiên của tác vụ τ2 có thể cao hơn tác vụ τ1 Khi tác vụ τ2 có mức ưu tiên cao hơn τ1, tác vụ τ1 cần phải hoàn thành tại thời điểm T1 Do độ ưu tiên của τ1 thấp, tác vụ này đã được hoàn thành trước đó Như hình 2.2 minh họa, bất đẳng thức sau đây phải được thỏa mãn.
Hình 2.2 Chu i th c thi v i hai tác v ỗ ự ớ ụ τ1 và τ2 vói độ ưu tiên của tác vụ τ2 cao hơn của τ1
Hiện tại, các mức ưu tiên được xác định theo thuật toán RM, trong đó tác vụ τ1 được gán độ ưu tiên cao hơn, trong khi tác vụ τ2 có độ ưu tiên thấp hơn Để phân tích chính xác sự can thiệp giữa hai tác vụ này, cần phân biệt hai trường hợp khác nhau.
Hình 2.3 mô tả quá trình thực thi với hai tác vụ τ1 và τ2, trong đó tác vụ τ1 có độ ưu tiên cao hơn tác vụ τ2 theo quy tắc RM Giá trị β = ⌊T2 / T1⌋ đại diện cho số chu kỳ của tác vụ τ1 được hoàn thành trong chu kỳ của tác vụ τ2 Trong trường hợp đầu tiên (TH1), thời gian tính toán của tác vụ τ1 đủ ngắn để tất cả các thực thể của tác vụ này hoàn thành trước yêu cầu thứ hai của tác vụ τ2.
C1 ≤ T2 ã − β T1 (2 2) Trong trường hợp 1, như được chỉ trong hình 2.3, thời gian thực thi tối đa của tác vụ τ2được cho bởi:
Có thể được viết lại như sau:
Trong trường hợp thứ hai (TH2), thời gian tính toán của tác vụ τ1 đủ lớn để yêu cầu cuối cùng của tác vụ này không thể hoàn thành trước khi yêu cầu thứ hai của tác vụ τ2 được thực hiện Điều này có thể được biểu diễn bằng công thức C2 (+ β + C1) ã 1 ≤ T2 (2 4).
C1 ≥ T2 ã − β T1 (2 5) Trong trường hợp như trong hình 2, 2.3, thời gian thực thi tối đa của tác vụ τ2 được cho bởi :
Để chứng minh sự tối ưu trong việc gắn kết độ ưu tiên của RM, cần chỉ ra rằng bất đẳng thức (2.1) được bao hàm trong các bất đẳng thức (2.4) hoặc (2.7) Bắt đầu với giả thiết C1 + C2 ≤ T1, điều này được chứng minh khi việc gắn kết độ ưu tiên không thực hiện theo thuật toán RM Nhân cả hai vế của (2.1) với β, ta có được biểu thức ã β C1 + β Cã 2 ≤ β Tã 1.
Cho β = T2 / 1T lớn hơn h y bằa ng 1, ta thu được : ã β C1 + C2 ≤ β ã C1+ β Cã 2≤ β Tã 1
Bằng cách cộng C1 cho từng phần tử của bất đẳng thức này ta thu được:
Bằng cách áp dụng bất đẳng thức đã chứng minh, ta có thể viết rằng (β + 1) ã C1 + C2 ≤ T2 Kết quả này tương ứng với bất đẳng thức (2.4), từ đó chứng minh được rằng việc gắn kết độ ưu tiên theo RM trong trường hợp 1 là tối ưu.
Theo bất đẳng thức C1 + C2 ≤ T1, ta có β + C (1) ã 1 + C2 ≤ T2 (2.8) Bắt đầu từ bất đẳng thức (2.1), nhân từng phần tử với β và áp dụng thuộc tính β ≥ 1, ta thu được ã β C1 + C2 ≤ β Tã 1 Kết quả này tương ứng với bất đẳng thức (2.7), chứng minh rằng biểu thức k theo sauéo thể hiện sự tối ưu trong việc gắn kết độ ưu tiên.
Lập lịch các tập tác vụ lai
Các thuật toán lập lịch cơ bản được áp dụng cho các tập hợp tác vụ có chu kỳ, nhưng trong một số ứng dụng thời gian thực, cần xử lý các tác vụ không có chu kỳ Tập hợp tác vụ lai bao gồm cả hai loại tác vụ, trong đó các tác vụ có chu kỳ thường có ràng buộc thời hạn chặt chẽ và được lập lịch bằng một trong bốn thuật toán cơ bản Ngược lại, các tác vụ không có chu kỳ có thể có ràng buộc thời gian chặt chẽ hoặc mềm dẻo.
Mục đích chính của hệ thống là đảm bảo khả năng lập lịch cho tất cả các tác vụ có chu kỳ Đối với các tác vụ không có chu kỳ với ràng buộc thời gian mềm dẻo, hệ thống nhằm cung cấp thời gian phản hồi trung bình tốt thông qua các thuật toán nỗ lực tốt nhất Trong trường hợp các tác vụ không có chu kỳ có ràng buộc thời hạn chặt chẽ, mục tiêu của hệ thống là tối đa hóa tỷ lệ bảo đảm cho các tác vụ này.
2.2.1 Lập lịch các tác vụ không có chu kỳ mềm dẻo
Trong bài viết này, chúng tôi trình bày các thuật toán quan trọng để xử lý các tác vụ không có chu kỳ mềm dẻo Một trong những phương pháp đơn giản nhất là lập lịch nền, tuy nhiên, phương pháp này có hiệu năng thấp Thời gian phản hồi trung bình của các tác vụ không có chu kỳ có thể được cải thiện bằng cách sử dụng một server (Sprunt et al., 1989) Cuối cùng, thuật toán slack stealing đã mang lại sự cải tiến đáng kể cho thời gian phản hồi của các tác vụ không có chu kỳ bằng cách "lấy trộm" thời gian xử lý từ các tác vụ có chu kỳ (Chetto và Delacroix).
Các tác vụ không có chu kỳ được lập lịch trong nền khi không có tác vụ nào sẵn sàng để thực thi Chúng được xếp hàng theo chiến lược "đến trước phục vụ trước".
Hình 2.10 Miêu tả ví dụ mà hai tác vụ có chu kỳ τ1 (r0 0= , C = , T = 2 5) và τ2
(r0 0= , C = , T = 2 10) được lập lịch với thuật toán RM trong khi ba tác vụ không có chu kỳ τ3(r = ,C = , τ4 2) 4(r = ,C = 10 1) và τ5(r = ,C = được thực thi trong 11 2) nền
Thời gian nghỉ của lịch làm việc RM là các khoảng [4, 5], [7, 10], [14,15] và [17,
Tác vụ không có chu kỳ τ3 được thực hiện ngay lập tức và kết thúc trong thời gian nghỉ giữa t = 7 và t = 8 Tác vụ không có chu kỳ τ4 vào hệ thống tại t = 10 và chờ đến thời gian nghỉ [14, 15] để thực thi Cuối cùng, tác vụ không có chu kỳ τ5 được thực hiện trong suốt thời gian nghỉ cuối [17, 20].
Lập lịch nền mang lại lợi ích lớn nhờ tính đơn giản của nó Tuy nhiên, nhược điểm chính là khi tải cao, thời gian phản hồi cho các tác vụ có chu kỳ có thể kéo dài, dẫn đến hiệu suất không ổn định.
Các máy chủ tác vụ (Task server )
Máy chủ là một tác vụ có chu kỳ, phục vụ các yêu cầu không theo chu kỳ, được đặc trưng bởi chu kỳ và thời gian tính toán gọi lại dung lượng máy chủ Máy chủ được lập lịch bằng thuật toán cho các tác vụ có chu kỳ, và khi kích hoạt, nó phục vụ các yêu cầu không theo chu kỳ trong giới hạn dung lượng của mình Trật tự của các yêu cầu không theo chu kỳ không phụ thuộc vào thuật toán lập lịch cho các tác vụ có chu kỳ Một số kiểu máy chủ đã được định nghĩa, trong đó máy chủ đơn giản nhất là polling server, phục vụ các yêu cầu không theo chu kỳ tại khoảng thời gian đều đặn bằng chu kỳ của nó Các kiểu máy chủ khác như deferrable server, priority exchange server và sporadic server cải tiến cung cấp khả năng phục vụ không theo chu kỳ tốt hơn.
Máy chủ bầu cử hoạt động theo chu kỳ nhất định, phục vụ các yêu cầu không theo chu kỳ trong giới hạn dung lượng của nó Khi không có yêu cầu không theo chu kỳ, máy chủ sẽ tạm ngừng cho đến khi bắt đầu chu kỳ tiếp theo Thời gian phục hồi cho các yêu cầu không theo chu kỳ sẽ được dành cho các tác vụ có chu kỳ.
Hình 2.11 Miêu tả một ví dụ của một dịch vụ không theo chu kỳ có được bằng cách dùng một máy chủ polling
Trong bài viết này, chúng ta xem xét một tập tác vụ có chu kỳ bao gồm ba tác vụ: τ1 với thời gian khởi động r0 = 0, độ dài công việc C = 20 và chu kỳ T = 3; τ2 với r0 = 0, C = 2 và T = 10; và τs với r0 = 0, C = 5 và T = 2 Tác vụ τs có ưu tiên cao nhất do chu kỳ nhỏ nhất Ba tác vụ này được lập lịch theo thuật toán RM (Rate Monotonic).
Hệ số tiện ích hoá bộ xử lý là:
Tại thời điểm t = 0, bộ xử lý được gán cho máy chủ polling nhưng không có yêu cầu nào chờ đợi, dẫn đến việc máy chủ tạm ngừng và dung lượng bị mất cho các tác vụ không theo chu kỳ Do đó, bộ xử lý được phân bổ cho tác vụ τ2 và sau đó là τ1 Tại thời điểm t = 3, tác vụ τ4 vào hệ thống và phải chờ đến chu kỳ kế tiếp của máy chủ (t = 5) để được thực thi Toàn bộ dung lượng của máy chủ được sử dụng để phục vụ các tác vụ không theo chu kỳ Đến t = 10, máy chủ polling bắt đầu chu kỳ mới và ngay lập tức phục vụ tác vụ τ4 vừa vào hệ thống Vì chỉ một nửa dung lượng máy chủ được sử dụng, máy chủ tiếp tục phục vụ tác vụ τ5, đến vào thời điểm t = 11.
Tác vụ τ5 sử dụng dung lượng máy chủ còn lại nhưng phải chờ đến chu kỳ kế tiếp để thực thi, dẫn đến việc chỉ một nửa dung lượng máy chủ được sử dụng hiệu quả Hạn chế lớn nhất của kỹ thuật máy chủ bầu chọn là khi không có yêu cầu không theo chu kỳ, máy chủ tạm dừng cho đến chu kỳ tiếp theo, làm mất thời gian dự trữ cho các yêu cầu này Do đó, nếu các tác vụ không theo chu kỳ xuất hiện ngay sau khi máy chủ tạm dừng, chúng sẽ phải chờ đến chu kỳ tiếp theo để được thực thi.
Hình 2.11 Ví d v mụ ề áy chủ polling
Máy chủ trì hoãn (Deferrable server) là một cải tiến của máy chủ polling, giúp nâng cao thời gian phản hồi cho các yêu cầu không theo chu kỳ Nó tương tự như máy chủ bầu chọn nhưng có khả năng bảo toàn dung lượng khi không có yêu cầu không theo chu kỳ nào đang chờ Điều này cho phép các yêu cầu không theo chu kỳ được thực thi ngay lập tức khi máy chủ khởi động lại Tuy nhiên, máy chủ trì hoãn vi phạm giả thiết cơ bản của thuật toán RM, vì một tác vụ có chu kỳ phải được thực hiện ngay khi có yêu cầu sẵn sàng với ưu tiên cao nhất, tránh việc tác vụ ưu tiên thấp hơn bị lỡ thời hạn Do đó, cách hoạt động của máy chủ trì hoãn dẫn đến cận trên thấp hơn của hệ số tiện ích hoá bộ xử lý cho các tác vụ có chu kỳ, trong khi khả năng lập lịch cho chúng vẫn được đảm bảo theo thuật toán RM nếu thỏa mãn điều kiện s s ln 2.
Us là hệ số tiện ích hoá của bộ xử lý trong máy chủ trì hoãn τ ( , Ts), trong khi Cs U là hệ số tiện ích hoá của bộ xử lý dành cho tập tác vụ có chu kỳ TP đại diện cho tập chỉ số của các tác vụ có chu kỳ.
Máy chủ không đều đặn là một kỹ thuật cải thiện thời gian phản hồi cho các yêu cầu không theo chu kỳ mà không làm giảm hiệu suất của các tác vụ có chu kỳ Khác với máy chủ trì hoãn, máy chủ không đều đặn bảo toàn dung lượng cho đến khi có yêu cầu không theo chu kỳ và sau đó bổ sung dung lượng này Điều này có nghĩa là máy chủ không lấy lại hoàn toàn dung lượng vào đầu mỗi chu kỳ mới, mà chỉ sau khi đã tiêu thụ nó cho các tác vụ không theo chu kỳ Cụ thể, máy chủ bổ sung dung lượng của nó tại thời điểm tR khi nó được kích hoạt và dung lượng lớn hơn 0, với thời gian bổ sung được xác định bằng tR cộng với chu kỳ máy chủ Lượng bổ sung được tính dựa trên dung lượng tiêu thụ trong khoảng thời gian tR và thời gian mà máy chủ không bị sử dụng hết dung lượng.
Hình 2.12 Miêu tả một ví dụ về dịch vụ không theo chu kỳ có được bằng cách dùng một máy chủ không đều đặn
Tập tác vụ có chu kỳ gồm ba tác vụ τ1(r0 0= ,C = , T = 3 20), τ2(r0 0= ,C = , 2
Máy chủ tác vụ τ với T = 10 và τs r0 = 0, C = 2, 5, hoạt động trong môi trường không theo chu kỳ với ba tác vụ: τ3 (r = 4, C = 2), τ4 (r = 10, C = 1) và τ5 (r = 11, C = 2) Tại thời điểm t = 0, máy chủ khởi động và tạm dừng do không có yêu cầu không theo chu kỳ nào đang chờ, nhưng vẫn bảo toàn toàn bộ dung lượng của mình Đến thời điểm t = 4, tác vụ τ3 vào hệ thống và ngay lập tức được thực thi trong khoảng thời gian từ [4, 6].
LỊCH CÁC TÁC VỤ PHỤ THUỘC
Các tác vụ với các mối quan hệ trước sau
Ràng buộc trước sau giữa các tác vụ trong hệ thống thời gian thực được định nghĩa bởi mối quan hệ τi → τj, trong đó tác vụ τi phải hoàn thành trước khi tác vụ τj bắt đầu Các ràng buộc này có thể được biểu diễn qua biểu đồ, với các nốt đại diện cho tác vụ và mũi tên thể hiện mối quan hệ trước sau giữa chúng Biểu đồ này phản ánh một phần trật tự trong tập tác vụ, cho thấy nếu có đường nối từ τi đến τj thì τi phải hoàn thành trước τj Một thách thức phổ biến là các tác vụ có thể liên quan với nhau qua những mối quan hệ trước sau phức tạp, trong đó một tác vụ có thể có nhiều thực thể kế tiếp hoặc đứng trước nhiều thực thể của tác vụ khác.
Hình 3.1 Ví d v ụ ề hai đồ ị trước sau của tậ th p chín tác v ụ
Hình 3.2 Ví d t ng quát hoá quan h ụ ổ ệ trước sau của hai tác vụ khác nhau v kho ng ề ả th i gian ờ
Hình 3.2 minh họa ví dụ về tỉ lệ không cân bằng của các tác vụ liên kết Để dễ dàng mô tả vấn đề ràng buộc trước sau, ta chỉ xem xét trường hợp đơn giản, chẳng hạn như khi tác vụ τi cần liên lạc với kết quả xử lý của nó với tác vụ τj Các tác vụ này có thể được lập lịch sao cho việc thực thi của k thực thể của τi diễn ra trước k thực thể của τj, dẫn đến việc các tác vụ này có cùng tỉ lệ (Ti = Tj) Do đó, tất cả các tác vụ trong một thành phần kết nối của đồ thị trước sau phải có cùng thời gian Trong đồ thị ở hình 3.1, các tác vụ từ τ1 đến τ5 có cùng khoàng thời gian, trong khi các tác vụ từ τ6 đến τ9 cũng có cùng khoàng thời gian Nếu các khoảng thời gian của các tác vụ là khác nhau, điều này sẽ ảnh hưởng đến sự liên kết giữa chúng.
Tác vụ o đ nhi ệt độ τ2
Tác vụ tính nhi trung ệt độ bình sau bốn l o ần đ
Khi T2 = 4T1, các tác vụ sẽ sớm chạy dưới tỷ lệ thấp nhất, dẫn đến việc tác vụ có thời gian ngắn nhất gặp phải lỗi hạn Để đảm bảo rằng τi → τj, các tham số của tác vụ cần phải tuân thủ các quy luật do Blazewicz đưa ra.
• Prioi Prio≥ j phù hợp với thuật toán lập lịch
3.1.1 Các ràng buộc trước sau và các thuật toán ưu tiên tĩnh (RM và DM)
Thuật toán đơn điệu tỉ lệ gắn kết các mức ưu tiên cho các tác vụ dựa trên thời gian thực hiện của chúng, với các tác vụ có thời gian ngắn hơn được ưu tiên cao hơn Mục tiêu là điều chỉnh các tham số tác vụ để đạt được kết quả của các ràng buộc trước sau, tạo thành một tập tác vụ độc lập với các tham số đã thay đổi Ý tưởng chính là một tác vụ không thể bắt đầu trước khi tác vụ trước đó hoàn thành và không thể ngăn cản tác vụ sau đó Do đó, nếu có mối quan hệ τi → τj, thời gian giải phóng và độ ưu tiên của các tham số tác vụ cần được điều chỉnh tương ứng.
• r ∗ j≥ Max(rj, r ∗ i) trong đór ∗ i là thời gian sửa đổi của tác vụ τi
Prioi Prio≥ j phù hợp với thuật toán RM, trong đó tất cả các tác vụ của một đồ thị chia sẻ cùng một khoảng thời gian Theo chính sách RM, có một lựa chọn tự do liên quan đến các ưu tiên mà chúng ta áp dụng để xác định trật tự trước sau Chúng ta sẽ xem xét một tập hợp gồm sáu tác vụ có thời gian giải phóng đồng thời và hai đồ thị mô tả các mối quan hệ trước sau của chúng (Hình 3.3).
Hình 3.3 Đồ ị trướ th c sau c a m t t p h p sáu tác v ủ ộ ậ ợ ụ Ánh xạ độ ưu tiên, trình bày trong bảng 3.1, sử dụng ràng buộc trước sau và đáp ứng thuật toán RM
Bảng 3.1 Ví dụ về ánh xạ độ ưu tiên có ràng buộc trước sau và sử dụng thuật toán
Thuật toán đơn điệu thời hạn gắn kết các ưu tiên cho các tác vụ theo hạn chót liên quan, trong đó D là các tác vụ có thời hạn liên quan ngắn hơn sẽ được ưu tiên cao hơn Các tham số tác vụ được điều chỉnh gần giống như trong lập lịch RM, nhưng thời hạn liên quan cũng được thay đổi để phù hợp với mức độ gắn kết ưu tiên.
Do đó, nếu τi → τj, thì thời gian giải phóng, thời hạn liên quan và độ ưu tiên của các tham số tác vụ phải được thay đổi như sau:
• r ∗ j ≥ Max(rj, r ∗ i) với r ∗ i là thời gian giải phóng đã được thay đổi của tác vụ τi
• D ∗ j≥ Max(Dj, D ∗ i) v i ớ D ∗ i là thời hạn liên quan đã được thay đổi của tác vụ τi
• Prioi Prio≥ j phù hợp với thuật toán lập lịch DM
Những sửa đổi này ép buộc ngầm mối quan hệ trước sau giữa hai tác vụ
3.1.2 Các ràng buộc trước sau và thuật toán thời hạn sớm nhất trước
Hình 3.4 Những thay đổ ủa các tham số tác vụ trong trười c ng hợp lậ ịp l ch EDF
Nếu có mối quan hệ τi → τj, thời gian giải phóng r∗j của tác vụ τj phải lớn hơn hoặc bằng giá trị khởi tạo hoặc lớn hơn hoặc bằng thời gian giải phóng r∗i của tác vụ trước τi, đã được tăng lên bởi thời gian thực thi của chúng Ci: r∗j ≥ Max((r∗i + Ci), rj) Hơn nữa, thời hạn d∗i của tác vụ τi cần được thay thế bởi giá trị nhỏ nhất giữa giá trị khởi tạo của nó di hoặc thời hạn mới d∗j của tác vụ sau τj, đã giảm xuống bởi thời gian thực thi của chúng Cj: d∗i ≥ Min((d∗j - Cj), di).
Các thủ tục sửa đổi thời gian phản hồi và thời hạn có thể được thực hiện dễ dàng, bắt đầu từ các tác vụ không có tác vụ đứng trước để điều chỉnh thời gian giải phóng và các tác vụ không có tác vụ nào kế tiếp để thay đổi thời hạn.
Trong bài viết này, chúng ta xem xét một tập hợp năm tác vụ với các tham số (ri, Ci, di) như được nêu trong bảng 3.2 Tất cả các tác vụ đều được kích hoạt đồng thời, ngoại trừ tác vụ τ2 Đồ thị trước sau của các tác vụ được thể hiện trong hình 3.5 Do có một đồ thị trước sau liên kết tất cả các tác vụ, chúng ta giả định rằng chúng có cùng tỉ lệ Bảng 3.2 cũng chỉ ra những thay đổi cần thiết về các tham số tác vụ để đáp ứng các ràng buộc trước sau trong lập lịch RM và EDF Trong lập lịch RM, chỉ có các tham số thời điểm giải phóng được điều chỉnh, trong khi đó, lập lịch EDF yêu cầu cả hai tham số (ri, di) phải được sửa đổi.
Bảng 3.2 Tập hợp của năm tác vụ và các thay đổi của các tham số theo các ràng buộc trước sau (4 là giá trị ưu tiên cao nhất)
Hình 3.5 Đồ ị trướ th c sau liên kết năm tác vụ
Các tác vụ chia sẻ tài nguyên găng
Ta xem xét một lần nữa ví dụ với hai tác vụ τ1 và τ2 chia sẻ một tài nguyên
R Ta giả định rằng tác vụ τ1được kích hoạt trước và dùng tài nguyên R tức là vào , đoạn găng của nó Sau đó tác vụ thứ hai τ2, có ưu tiên cao hơn tác vụ τ1, yêu cầu có bộ xử lý Vì độ ưu tiên của tác vụ τ2 là lớn hơn, sự chiếm ưu tiên xảy ra, tác vụ τ1 bị chặn lại và tác vụ τ2 bắt đầu thực thi Tuy nhiên khi tác vụ τ2 muốn truy cập đến tài nguyên R liền bị chặn lại vì có sự loại trừ tương tranh tiến trình Do đó tác vụ τ1 có thể phục hồi lại việc thực thi của nó Khi tác vụ τ1 kết thúc đoạn găng của nó, tác vụ có ưu tiên cao hơn τ2 có thể phục hồi việc thực thi và sử dụng tài nguyên R Qui trình này có thể dẫn tới thời gian bị chặn của tác vụ τ2 là không thể kiểm soát được Ngược lại, để đáp ứng các yêu cầu thời gian thực chặt chẽ một ứng dụng phải được , kiểm soát bởi một thuật toán lập lịch mà có thể luân bảo đảm một thời gian phản hồi hệ thống có thể đoán trước được Câu hỏi đặt ra là làm thể nào để đảm bảo một thời gian phản hồi có thể dự đoán được của các tác vụ thời gian thực trong kỹ thuạt lập lịch có ưu tiên với các ràng buộc về tài nguyên
3.2.1 Đánh giá thời gian phản hồi của một tác vụ
Trong phần này, chúng ta xem xét lập lịch có ưu tiên trực tuyến với các mức ưu tiên cố định cho các tác vụ Chúng ta thảo luận về cận trên của thời gian phản hồi của tác vụ τ0, với thời gian thực thi trong trường hợp xấu nhất là C0 Giả định rằng hệ số sử dụng bộ xử lý đủ thấp, cho phép tập tác vụ bao gồm cả τ0 có thể lập lịch được với khoảng thời gian bị chặn do chia sẻ tài nguyên.
Trong bước đầu tiên, giả định rằng các tác vụ là độc lập mà không có tài nguyên chung Nếu tác vụ τ0 có ưu tiên cao hơn, thời gian phản hồi TR0 của nó sẽ bằng thời gian thực thi C0 Ngược lại, khi tác vụ τ0 có ưu tiên ngay lập tức, cận trên của thời gian phản hồi có thể được tính dễ dàng dựa vào các tác vụ có độ ưu tiên cao hơn, biểu thị bằng τHPT.
• V i t t c ớ ấ ả tác vụ là có chu k v i cùng chu k hay không có chu kỳ ớ ỳ ỳ, ta có:
• Với mọi tác vụ có chu k có nh ng kho ng chu k khác nhau, ta có : ỳ ữ ả ỳ
Trong bước hai, chúng ta xem xét một tập hợp các tác vụ chia sẻ tài nguyên chung, với giả thuyết rằng việc phân phối tác vụ và truy cập tài nguyên được quản lý theo độ ưu tiên của từng tác vụ Hơn nữa, tổng phí liên quan đến kỹ thuật nhân, bao gồm truy cập tài nguyên, xếp hàng tác vụ và chuyển ngữ cảnh, được giả định là không đáng kể, mặc dù những phí này có thể ảnh hưởng đến thời gian thực thi của tác vụ.
Trong ngữ cảnh của một tập hợp n + 1 tác vụ và m tài nguyên, chúng ta sẽ tính cận trên thời gian phản hồi của tác vụ τ0 (i) khi nó có ưu tiên cao nhất và (ii) khi không có Khi tác vụ τ0 có ưu tiên cao nhất, việc thực thi của nó chỉ bị trì hoãn bởi các tác vụ đã kích hoạt với ưu tiên thấp hơn, sử dụng cùng m0 tài nguyên chia sẻ Tình huống này có thể được phân tích thành hai trường hợp khác nhau.
Trong trường hợp I, tài nguyên R1 bị chiếm giữ bởi tác vụ τ0, trong khi tác vụ τi đang chờ để sử dụng tài nguyên này Việc quản lý thứ tự ưu tiên trong các hàng đợi là rất quan trọng, vì nó ảnh hưởng đến thời gian chờ của các tác vụ CRi,q thể hiện thời gian tối đa mà tác vụ τi có thể sử dụng tài nguyên Rq, trong khi CRmax,q là giá trị tối đa của CRi,q trên tất cả các tác vụ τi Cuối cùng, CRi,max đại diện cho giá trị tối đa của CRi,q trên tất cả các tài nguyên Rq.
CRmax là giá trị tối đa của CRi,q trên tất cả các tác vụ và tài nguyên Thời gian phản hồi tối đa của tác vụ τ0 được xác định bởi cận trên.
Trong trường hợp xấu nhất, với tập hợp này ( tác vụ khác sử dụng n m tài nguyên, vớin < m), thời gian phản hồi là nhiều nhất:
Hay chính xác hơn, ta có:
Trong trường hợp II, tài nguyên m0 bị chiếm giữ bởi n1 tác vụ với n1 < m0, như minh họa trong hình 3.6, trong đó các tác vụ τk và τj chiếm giữ các tài nguyên R2, R3 và R4 mà τ0 yêu cầu Đáng chú ý là ít nhất một tác vụ giữ hai tài nguyên Nếu giả định rằng tài nguyên găng của một tác vụ được lồng vào nhau một cách hợp lý, thì khoảng thời gian vào đoạn găng tối đa của tác vụ sử dụng nhiều tài nguyên sẽ được xác định bởi đoạn găng dài nhất.
Do đó thời gian phản hồi của tác vụ τ0 được giới hạn trên bởi:
Hay chính xác hơn, ta có:
Trong trường hợp xấu nhất, cho tập hợp này (n tác vụ khác và m tài nguyên, với n
< m), thời gian phản hồi của tác vụ τ0nhiều nhất:
Hay chính xác hơn, ta có:
Để tổng hợp lại, biểu thức chung cho thời gian phản hồi của tác vụ ưu tiên cao nhất trong ứng dụng thời gian thực với n + 1 tác vụ và m tài nguyên được diễn đạt qua bất đẳng thức TR0 ≤ C0 + n1.CRm ax (3.9).
Trong bài viết này, chúng ta xem xét tác vụ τ0 có ưu tiên ngay lập tức, bao gồm n1 tác vụ với mức ưu tiên cao hơn (HPT) và n2 tác vụ với mức ưu tiên thấp hơn, cùng chia sẻ m tài nguyên găng Trường hợp này được minh họa trong hình 3.7 với các giá trị cụ thể: n1 = 1, n2 = 2 và m = Giả định rằng n2 tác vụ ưu tiên thấp hơn chỉ phụ thuộc vào τ0, không liên quan đến n1, cho phép chúng ta tính toán cận trên của thời gian phản hồi cho τ0 bằng cách kết hợp bất đẳng thức (3.2) và (3.10) Thời gian phản hồi được xác định như sau:
Hình 3.7 Th i gian ph n h i cờ ả ồ ủa tác vụ chia s ẻ tài nguyên găng:
Tính toán cận trên cho từng tác vụ dựa vào các giả thiết và quy tắc lập lịch, đặc biệt là trong các thuật toán lập lịch ưu tiên với mức ưu tiên cố định Một điều kiện quan trọng là tác vụ τ0 phải được thực thi ngay khi các tác vụ ưu tiên cao hơn hoàn thành và các tác vụ ưu tiên thấp hơn đã giải phóng tài nguyên cần thiết Tuy nhiên, hiện tượng đảo mức ưu tiên và tắc nghẽn có thể làm sai lệch giả thiết này.
3.2.2 Hiện tượng đảo mức ưu tiên
Trong lập lịch có ưu tiên, hiện tượng đảo mức ưu tiên có thể xảy ra khi các tài nguyên găng được bảo vệ bằng kỹ thuật loại trừ tương tranh Để minh hoạ, xem xét tập tác vụ gồm bốn tác vụ τ {τ1, τ2, τ3, τ4} với giá trị ưu tiên giảm dần, trong đó tác vụ τ2 và τ4 chia sẻ tài nguyên găng R1 Tác vụ có ưu tiên thấp nhất, τ4, bắt đầu thực thi trước và sau đó vào đoạn găng sử dụng tài nguyên R1 Khi τ4 vào đoạn găng, tác vụ ưu tiên cao hơn, τ2, bị giải phóng và nhường ưu tiên cho τ4 Trong suốt quá trình thực thi của τ2, tác vụ τ3 cũng được giải phóng.
Mục đích thực nghiệm
Chất lượng lời giải là yếu tố quan trọng khi áp dụng giải thuật vào bài toán cụ thể Mục tiêu chính của thực nghiệm là đánh giá hiệu quả của bốn giải thuật RM, ID, EDF, và LLF Ba tiêu chí chính để đánh giá các giải thuật lập lịch bao gồm: Đáp ứng thời hạn thực hiện, là tiêu chí quan trọng đối với các tác vụ thời gian thực Giải thuật lập lịch phải đảm bảo rằng tất cả các tác vụ hoàn thành trước thời hạn quy định Trong trường hợp một tác vụ không thể hoàn thành đúng hạn, giải thuật cần đưa ra lịch làm việc tối ưu nhất để giảm thiểu ảnh hưởng đến thời gian thực hiện.
Thời gian phản hồi là khoảng thời gian từ khi dịch vụ được kích hoạt cho đến khi hoàn thành công việc và trả kết quả cho người sử dụng Thời gian phản hồi của dịch vụ càng ngắn, hiệu suất khai thác hệ thống của người dùng càng tốt Một dịch vụ có thời gian phản hồi ngắn đồng nghĩa với thời gian lưu lại trong hệ thống thấp, giúp giảm tải cho hệ thống Giảm thời gian phản hồi sẽ cải thiện hiệu quả hoạt động của dịch vụ, mang lại trải nghiệm tốt hơn cho người dùng.
Thời gian chờ là một yếu tố quan trọng để đánh giá hiệu quả của các thuật toán lập lịch Khi thời gian chờ của các tác vụ càng nhỏ, thời gian sử dụng tài nguyên sẽ được tối ưu hóa, giảm thiểu lãng phí Điều này có nghĩa là trong thời gian chờ, các tác vụ vẫn chiếm giữ tài nguyên của hệ thống Một giải pháp hiệu quả cần cung cấp lịch làm việc sao cho thời gian chờ trung bình của các tác vụ được giảm thiểu, từ đó nâng cao hiệu suất chung của hệ thống.
Ngoài việc áp dụng các tiêu chí thời gian thực để đánh giá, hệ thống thời gian thực cần có ràng buộc chặt chẽ về mặt thời gian Thời gian tính toán của các thuật toán lập lịch phải được đảm bảo, sao cho chúng không ảnh hưởng đến hiệu năng của toàn bộ hệ thống.
Các thực nghiệm trình bày trong phần sau sẽ ập trung vào đánh t giá các giải thu thông qua b tiêu chí trên ật ốn
Thiết kế và xây dựng chương trình
Dựa trên các yêu cầu thực nghiệm, chúng tôi đã thiết kế và xây dựng một chương trình nhằm đánh giá hiệu quả của các giải thuật đã được trình bày trong chương trước, bao gồm giải thuật RM, ID, EDF và LLF.
• Dữ liệu đầu ra: Chương trình cho phép hiển thị kết quả đầu ra của giải thuật trên màn hình hoặc xuất ra file dữ liệu
Chương trình cho phép người dùng lựa chọn và thực thi các giải thuật khác nhau, đồng thời cho phép điều chỉnh các tham số của giải thuật đã chọn.
• Giải thuật: Chương trình cho phép thực thi giải thuật được chọn (giải thuật RM, giải thuật ID, giải thuật EDF, giải thuật LLF)
Chương trình bao gồm các chức năng chính như nhập dữ liệu đầu vào, hiển thị dữ liệu đầu ra và thực thi giải thuật.
Hình 4.1.Các chức năng chính của chương trình Chức năng nhập dữ liệu đầu vào
Chức năng nhập dữ liệu cho phép người sử dụng nhập thông tin theo hai cách: nhập bằng tay hoặc bằng file txt Khi nhập bằng tay, người dùng cần nhập các tham số chi tiết cho từng tác vụ, bao gồm thông tin miêu tả, thời điểm kích hoạt, thời gian thực hiện, thời gian hoàn thành và chu kỳ của tác vụ Nếu chu kỳ là 0, thì đó là tác vụ không có chu kỳ Ngoài ra, khi nhập bằng file txt, chức năng sẽ đọc từng dòng trong file và tạo ra các đối tượng tác vụ lưu trữ các thông tin vừa đọc được, sau đó tạo ra danh sách các tác vụ ban đầu cho chức năng thực thi giải thuật.
Chức năng thực thi giải thuật
Chương trình xây dựng ốn giải thuật cho bài toán lập lịch tác vụ được phân thành nhiều module khác nhau Mỗi module thực hiện một giải thuật riêng, bao gồm: Module giải thuật RM, thực thi giải thuật gắn kết ưu tiên tĩnh dựa trên tần suất của các tác vụ; Module giải thuật ID, thực thi giải thuật đảo thời hạn gắn kết ưu tiên tĩnh cho các tác vụ dựa trên thời hạn hoàn thành; và Module giải thuật EDF, thực thi giải thuật gắn kết ưu tiên động cho các tác vụ dựa trên thời gian thực hiện.
Chương trình lập lịch tác vụ
Nhập dữ liệu đầu vào và thực thi các giải thuật để hiển thị kết quả đầu ra đối với các ứng dụng Module LLF thực hiện giải thuật gắn kết ưu tiên động dựa trên thời gian thực hiện các tác vụ của các dịch vụ.
Chức năng hiển thị kết quả lời giải
Chương trình sẽ hiển thị kết quả của giải thuật lên màn hình hoặc xuất ra file dữ liệu Kết quả hiển thị các thông số quan trọng như khả năng lập lịch, hiệu suất sử dụng CPU, thời gian phản hồi trung bình của các tác vụ, thời gian chờ trung bình, số tác vụ bị trễ hạn, lịch làm việc và thời điểm thực thi của các tác vụ biểu diễn theo chu kỳ của hệ thống.
4.2.1.2.Các bước thực hiện chương trình:
Người sử dụng nhập dữ liệu đầu vào cho các tham số của dịch vụ từ bàn phím hoặc từ tệp tin dữ liệu Dữ liệu này sau đó được chuyển đổi thành dữ liệu ban đầu để phục vụ cho giải thuật.
••••• Nhập tham số giải thuật: Người sử dụng chọn giải thuật thực thi và nhập tham số đầu vào cho giải thuật đó
••••• Thực thi giải thuật: Chương trình sẽ thực thi giải thuật được chọn.
••••• Hiển thị kết quả đầu ra: Sau khi kết thúc giải thuật, chưong trình sẽ hiện kết quả đầu ra trên màn hình hoặc xuất ra file dữ liệu
4.2.2.Thiết kế dữ liệu biểu diễn
STT Tên trường Ki d li ểu ữ ệu Ý nghĩa
1 Description Xâu ký tự Miêu tả chung về tác vụ (ví dụ: tên tác vụ)
2 Release Time Số nguyên Thời điểm tác vụ xuất hiện trong hệ thống
Time Số nguyên Thời gian cần thiết để hoàn thành tác vụ
Deadline Số nguyên Thời hạn hoàn thành của tác vụ
5 Period Số nguyên Chu kỳ của tác vụ
6 Priority Số nguyên Độ ưu tiên thực hiện của tác vụ
Bảng 4.1 Cấu trúc d ữ liệu ểu ễn ác ụ bi di t v Đối với cá ác t c v không theo chu k , giá tr tương ụ ỳ ị ứng ủa c trường p iod là 0 er
V m táới ỗi c vụ ếu, n người ử ụng s d không nh u tiên thì u tiêập độ ư độ ư n mặc định c táủa c vụ là 0
Dựa vào nội dung ban đầu, chương trình sẽ tạo ra danh sách các dịch vụ cần được thực hiện theo chu kỳ Danh sách này sẽ được biểu diễn thông qua một mảng Mỗi phần tử trong mảng sẽ bao gồm các trường như đã nêu trong bảng 4.2.
Biểu diễn lịch thực hiện tác vụ là quá trình sắp xếp các tác vụ có chu kỳ và không có chu kỳ theo các giải thuật như RM, ID, EDF, và LLF, tạo thành lịch làm việc Lịch làm việc này được biểu diễn dưới dạng mảng, trong đó mỗi phần tử trong mảng tương ứng với một tác vụ, bao gồm các trường thông tin cần thiết.
STT Tên trường Kiểu dữ liệu Ý nghĩa
1 Description Xâu ký tự Miêu tả chung về tác vụ (ví dụ: tên tác vụ)
2 Release Time Số nguyên Thời điểm tác vụ xuất hiện trong hệ thống
Time Số nguyên Thời gian cần thiết để hoàn thành tác vụ
Deadline Số nguyên Thời hạn hoàn thành của tác vụ
5 Laxity Số nguyên Thời gian có thể trì hoãn thực thi tác vụ
6 CTRate Số thực Tỉ lệ giữa thời gian thực thi và chu kỳ của tác vụ
Bảng 4.2 C trúc d ấu ữ liệu ểu ễn t v bi di ác ụ chuẩn ị được ập ịch b l l
STT Tên trường Kiểu dữ liệu Ý nghĩa
1 D cription es Xâu ký t ự Thông tin miêu t ả tác vụ
2 Start time S nguyên ố Th ời gian bắt đầu th hi táực ện c vụ
3 End Time S nguyên ố Th ời gian kết thúc th hi táực ện c vụ
Bảng 4.3.Cấu trúc thông tin tác vụ trong lịch àm ệc l vi
Here is the rewritten paragraph:Kết quả của các thuật toán có thể được lưu trữ trên bộ nhớ ngoài để phục vụ cho các soát xét ánh đánh giá sau này Các kết quả này được ưu tiên lưu trữ trên các tệp tin theo tên do người sử dụng đặt, cùng tên với tệp đầu vào và có phần mở rộng là “.out” Thông tin lưu trữ trong các tệp tin bao gồm các thông tin như trong bảng 4.3, ngoài ra còn có thể thêm các thông tin khác như thời điểm thi kích hoạt hoặc trạng thái của cuộc việc, thời hạn hoàn thành.
Thiết kế mô đun
Sau khi hoàn tất việc phân tích và thiết kế biểu đồ phân cấp chức năng cũng như biểu diễn dữ liệu, bước tiếp theo là hiện thực hóa các kết quả này Hệ thống sẽ bao gồm các mô đun, trong đó có mô đun chương trình chính.
Hình 4.2 M đô un ch ng trình ính ươ ch
4.3.2 Mô đun nhập dữ liệu
Hình 4.3 M đô un nh p d li u ậ ữ ệ
Mô đun này đảm nhiệm việc nhập dữ liệu đầu vào cho các thuật toán trong chương trình, với nguồn dữ liệu có thể là từ các tệp đã có sẵn hoặc do người sử dụng nhập trực tiếp qua bàn phím.
4.3.3 Mô đun tạo dữ liệu ngẫu nhiên
Hình 4.4 M đô un sinh d li u ng u nhiên ữ ệ ẫ
4.3.4.Mô đun so sánh kết quả thực hiện giải thuật
Hình 4.5 Mô đun so sánh kết qu ả thực hi n ệ
Mô đun này tổng hợp thông tin về tập tác vụ, bao gồm số lượng tác vụ được lập lịch, chu kỳ chính và hệ số sử dụng CPU Nó cũng cung cấp các thông số kết quả thực hiện của các giải thuật, như số tác vụ lỡ hạn, thời gian tính toán và thời gian phản hồi trung bình Dựa trên các biểu đồ này, các kết quả sẽ được so sánh để đánh giá hiệu suất.
4.3.5.Mô đun xuất dữ liệu
Mô đun này cho phép người dùng xuất kết quả lập lịch ra các tập tin tùy chọn, hỗ trợ cho việc đánh giá sau này.
Hình 4.6 Mô đun xuất dữ ệ li u
4.3.6 Mô đun thựchiện giải thuật RM
• Đầu vào: Danh s h các ác tác ụ v , thời gian kích hoạt, thời gian tính toán, th h ời ạn hoàn ành th , chu k ỳ
• Đầu ra: Lịch ực ện ác ụ th hi t v , hi su s dệu ất ử ụng CPU
Giải thuật RM bao gồm nhiều bước, mỗi bước thực hiện một nhiệm vụ cụ thể Đầu tiên, chúng ta sẽ mô tả tổng quát các bước trong giải thuật RM, tiếp theo sẽ là phần chi tiết cho từng bước.
Hình 4.6 dưới đây mô tả khái quát các bước trong giải thuật RM
Hình 4.7 Lược đồ mô t ả các bước của giải thu t RM ậ
Bước 1: Khởi tạo ậpt tác v ụ ban đầu cho giải thuật RM
• Đầu vào:Danh sách ác ụt v , các tham s ố thời gian kích hoạt, th h , th ời ạn ời gian tính toán, chu k ỳ
• Đầu ra: Danh sách ác ụ được ắp ếp t v s x theo th ời gian giải phóng
Kiểm tra khả ăng lập ịch ủa ập c vụ n l c t tá
Thực hi l lện ập ịch cá ác t c vụ theo tr t u tiên c ật ự ư ủa giải thu ật RM
Hi lển thị ịch thực ện ừa được ập hi v l
Hình 4.8 mô tả chi tiết bước khởi tạo ập c vụ ban đầu.t tá
Hình 4.8 Lược đồ mô t ả bước ở ạ danh sách c vụkh i t o tá ban u đầ
Bước 2: Kiểm tra kh n ng lập lả ă ịch của t tác v ập ụ
Danh sách ác cụ chưa được sắp xếp hoặc đã được sắp xếp sẽ được sử dụng để kiểm tra các sản phẩm Kết quả của quá trình kiểm tra sẽ cho biết các tác vụ có thể được thực hiện hoặc không.
Nhập ông tin v táth ề c vụ ừ file hoặc t do người dùng nh ập tay
Duyệt danh sách c vụ, gắn thứ ự ư tá t u tiên cho cá ác t c vụ ựa d theo chu k tỳ ừng c vụ tá
Duy trì danh sách các ách ác và tần suất cần thiết để đảm bảo hiệu quả tối ưu Việc bổ sung các thông tin cần thiết vào hệ thống cần được thực hiện theo chu kỳ nhất định Thời gian và tần suất thực hiện các nhiệm vụ này phải được xác định rõ ràng để đảm bảo tính chính xác và hiệu quả trong quá trình quản lý.
Hình 4.9 Lược đồ mô t ả bước ki m tra kh ể ả năng lậ ịch của tập l p tác v ụ
Bước 3: X y dựng ịch th â l ựchiện theo gi ảithuật RM
• Đầu vào: Tập tác vụ chưa được sắp xếp và có khả năng lập lịch theo giải thuật RM
• Đầu ra : Lịch thực hiện của các tác vụ xây dựng theo giải thuật RM
Danh sách c vụ tá ban đầu
Thông báo không có lịch kh thi ả
Hình 4.10 mô t b c xâả ướ y dựng lịch theo gi i thu t RM ả ậ
Bước 4: Biểu ễn di lịch làm việc vừa xây dựng
Đầu vào: Lịch àm ệc được mi l vi êu t dả ưới ạng ảng d m cá ác t c vụ
Đầu ra: L h lịc àm vi bi di trêệc ểu ễn n màn hình
Hình 4.11 mô tả chi tiết bước thực hiện của ước b này
Hình 4.11.Miêu t b c 4 bi u di n lả ướ ể ễ ịch ự th c hi n táệ c vụ
S x cá áắp ếp c t c vụ theo trình t ự thời gian kích ho táạt c v ụ
Duyệt danh sách, so sánh ác c vụ c tá có thời gian kích ho bạt ằng nhau, t v n có chu k nh h n s ác ụ ào ỳ ỏ ơ ẽ được chuyển lên th hiực ện trước
Duyệt danh sách ác định thời gian bắt đầu thực, x hi và ện thời gian kết th úc c táủa c vụ theo trình t ự trên
Chuy lển ịch thực ện hi cá ác t c vụ thành hình v ẽ ên bi tr ểu đồ
In ra file ? Xuất lịch àm ệc l vi được xây dựng ra file
4.3.7 Mô đun thựchiện giải thuật ID
• Đầu vào: Danh s h các ác tác ụ v , thời gian kích hoạt, thời gian tính toán, th h ời ạn hoàn ành th , chu k ỳ
• Đầu ra: Lịch ực ện ác ụ th hi t v , hi su s dệu ất ử ụng CPU
Giải thuật ID cũng được chia thành nhiều bước, mỗi bước thực thi một nhiệm vụ xác định
Hình 4.6 dưới đây mô tả khái quát các bước trong giải thuật ID
Hình 4.12 Lược đồ mô t ả các bước của giải thu t ID ậ
Kiểm tra khả ăng lập ịch ủa ập c vụ n l c t tá
Thực hi l lện ập ịch cá ác t c vụ theo tr t u tiên c ật ự ư ủa giải thu ật ID
Hiển lthị ịch thực hi vện ừa được l ập
Bước 1: Khởi tạo ậpt tác v ụ ban đầu cho giải thuật ID
• Đầu vào:Danh sách ác ụt v , các tham s ố thời gian kích hoạt, th h , th ời ạn ời gian tính toán, chu k ỳ
• Đầu ra: Danh sách ác ụ được ắp ếp t v s x theo th ời gian giải phóng
Hình 4.13 mô tả chi tiết bước khởi tạo quần thể ban đầu.
Hình 4.13 Lược đồ mô tả bước ở ạkh i t o danh sách c vụ tá ban u đầ
Bước 2: Kiểm tra kh n ng lập lả ă ịch của t tác v ập ụ
Danh sách ác cụ chưa được sắp xếp hoặc đã được sắp xếp là đầu vào quan trọng, trong khi kết quả của việc kiểm tra và tác vụ kiểm tra có thể được thực hiện hoặc không là đầu ra.
Nhập ông tin v táth ề c vụ ừ file hoặc t do người dùng nh ập tay
Duyệt danh sách c vụ, gắn thứ ự ư tá t u tiên cho cá ác t c vụ ựa d theo chu k tỳ ừng c vụ tá
Duy trì danh sách các ách ác là rất quan trọng để đảm bảo quy trình hoạt động hiệu quả Thời gian và chu kỳ cập nhật cần được xác định rõ ràng để bổ sung các thông tin cần thiết Việc quản lý thời gian và các ổ ác phải được thực hiện một cách nghiêm ngặt để đảm bảo tính chính xác và hiệu quả trong công việc.
Hình 4.14 Lược đồ mô t ả bước ki m tra kh ể ả năng lậ ịch của tập tác vụp l
Bước 3: X y dựng ịch th â l ựchiện theo gi ảithuật RM
• Đầu vào: Tập tác vụ chưa được sắp xếp và có khả năng lập lịch theo giải thuật RM
• Đầu ra : Lịch thực hiện của các tác vụ xây dựng theo giải thuật RM
Hình 4.15 mô t b c xâả ướ y dựng lịch theo gi i thu t ID ả ậ
Thông báo không có lịch kh thi ả
S x cá áắp ếp c t c vụ theo trình t ự thời gian kích ho táạt c v ụ
Duyệt danh sách và so sánh các vụ việc có thời gian kích hoạt bằng nhau, những vụ việc có thời gian xử lý tương đối nhỏ sẽ được chuyển lên thực hiện trước.
Duyệt danh sách ác định thời gian bắt đầu thực, x hi và ện thời gian kết th úc c táủa c vụ theo trình t ự trên
Bước 4: Biểu ễn di lịch làm việc vừa xây dựng
Đầu vào: Lịch àm ệc được mi l vi êu t dả ưới ạng ảng d m cá ác t c vụ
Đầu ra: L h lịc àm vi bi di trêệc ểu ễn n màn hình
Hình 4.16 mô tả chi tiết bước thực hiện của ước ày b n
Hình 4.16.Miêu t b c 4 bi u di n lả ướ ể ễ ịch ự th c hi n táệ c vụ
4.3.8 Mô đun thựchiện giải thuật EDF
• Đầu vào: Danh s h các ác tác ụ v , thời gian kích hoạt, thời gian tính toán, th h ời ạn hoàn ành th , chu k ỳ
• Đầu ra: Lịch ực ện ác ụ th hi t v , hi su s dệu ất ử ụng CPU
Giải thuật EDF được phân chia thành nhiều bước, mỗi bước đảm nhiệm một nhiệm vụ cụ thể Bài viết này sẽ trình bày tổng quan về các bước trong giải thuật EDF, tiếp theo là phân tích chi tiết từng bước.
Hình 4.4 dưới đây mô tả khái quát các bước trong giải thuật EDF
Chuy lển ịch thực ện hi cá ác t c vụ thành hình v ẽ ên bi tr ểu đồ
In ra file ? Xuất lịch àm ệc l vi được xây dựng ra file
Hình 4.17 Lược đồ mô t ả các bước của giải thu t EDF ậ
Bước 1: Khởi tạo ậpt tác v ụ ban đầu cho giải thuật EDF
• Đầu vào:Danh sách ác ụt v , các tham s ố thời gian kích hoạt, th h , th ời ạn ời gian tính toán, chu k ỳ
• Đầu ra: Danh sách ác ụ được ắp ếp t v s x theo th ời gian giải phóng
Hình 4.5 mô tả chi tiết bước khởi tạo tập c vụ ban đầu tá
Kiểm tra khả ăng lập ịch ủa ập c vụ n l c t tá
Thực hi l lện ập ịch cá ác t c vụ theo tr t u tiên c ật ự ư ủa giải thu ật RM
Hiển lthị ịch thực hi vện ừa được l ập
Hình 4.18 Lược đồ mô t ả bước ở ạ danh sách c vụkh i t o tá ban u đầ
Bước 2: Kiểm tra kh n ng lập lả ă ịch của t tác v ập ụ
Đầu vào của quy trình bao gồm danh sách các ứng dụng chưa được sắp xếp hoặc đã được sắp xếp, kèm theo thông tin về người sử dụng Đầu ra là kết quả kiểm tra, xác định các ứng dụng có thể được triển khai hoặc không.
Nhập ông tin v táth ề c vụ ừ file hoặc t do người dùng nh ập tay
Duyệt danh sách c vụ, gắn thứ ự ư tá t u tiên cho cá ác t c vụ ựa d theo chu k tỳ ừng c vụ tá
Duy trì danh sách các ách ác là rất quan trọng để đảm bảo tính ổn định và hiệu quả trong quá trình hoạt động Việc bổ sung các thông tin cần thiết theo chu kỳ sẽ giúp cải thiện khả năng quản lý và theo dõi Thời gian thực hiện các nhiệm vụ cũng cần được xác định rõ ràng để đảm bảo tiến độ và chất lượng công việc.
Hình 4.19 Lược đồ mô t ả bước ki m tra kh ể ả năng lậ ịch của tập tác vụp l
Bước 3: X y dựng ịch th hi theo gi â l ực ện ảithuật EDF
• Đầu vào: Tập tác vụ chưa được sắp xếp và có khả năng lập lịch theo giải thuật EDF
• Đầu ra : Lịch thực hiện của các tác vụ xây dựng theo giải thuật EDF
Danh sách c vụ tá ban đầu
Thông báo không có lịch kh thi ả
Hình 4.20 mô tả ướ b c xây dựng lịch theo gi i thu t EDF ả ậ
Bước 4: Biểu ễn di lịch làm việc vừa xây dựng
Đầu vào: Lịch àm ệc được mi l vi êu t dả ưới ạng ảng d m cá ác t c vụ
Đầu ra: L h lịc àm vi bi di trêệc ểu ễn n màn hình
Hình 4.8 mô tả chi tiết bước thực hiện của ước ày b n
Hình 4.21.Miêu t b c 4 bi u di n lả ướ ể ễ ịch ự th c hi n táệ c vụ
S x cá áắp ếp c t c vụ theo trình t ự thời gian kích ho táạt c v ụ
Một số hình ảnh minh hoạ giao diện chương trình
Hình 4.26 Giao diện ban đầu của chương trình
Hình 4.27.Ch c ứ năng nhập thông tin tác v ụ
Hình 4.28.Chức năng nhập thông tin tác v t file ụ ừ
Hình 4.29.Chức năng chọn gi i thuả ật để ực hiệ th n
Hình 4.30.Minh ho m t l ch th c hi n cạ ộ ị ự ệ ủa tập tác v ụ
Hình 4.31 Chức năng sinh dữ ệ li u ng u nhiên ẫ
Hình 4.32 C ứh c n ng so sánh gi a các gi i thu t ă ữ ả ậ
Kết quả thực nghiệm và đánh giá
Dưới đây là một số kết quả thực nghiệm
Thực nghiệm 1: Tiến hành thực nghiệm trên dữ liệu đầu vào là tập tác vụ nhập từ file Tập tác vụ được miêu tả trong bảng 4.6
Bảng 4.4 Tập tác v cho th nghiụ ực ệm 1 Tập tác vụ gồm 3 tác vụ trên có đặc điểm sau:
Chu kỳ chính của tập tác vụ: 12
Thời gian kích hoạt của các tác vụ đầu tiên là trùng nhau
Thời hạn của từng tác vụ bằng với chu kỳ của tác vụ đó
Hệ số sử dụng CPU của tập tác vụ là 0.83 > 0.77 ( không thoả điều kiện đủ để lập lịch tập tác vụ này bằng giải thuật RM và ID)
Kết quả thực hiện giải thuật lập lịch với 4 giải thuật RM, ID, EDF LLF được đưa ra , trong bảng 4.5
Giải thuật Thoả điều kiện lập lịch
Thời gian chờ trung bình của tập tác vụ
Thời gian phản hồi trung bình của tập tác vụ
Số tác vụ bị trễ hạn
Bảng 4 Bảng kết quả thực hiện 4 giải thuật cho tập tác vụ 15
Mặc dù tập tác vụ không đủ điều kiện để lập lịch, các thuật toán RM và ID vẫn tạo ra lịch làm việc khả thi mà không có tác vụ nào bị trễ hạn Tuy nhiên, thời gian phản hồi và thời gian chờ của thuật toán RM trong thử nghiệm này là lớn nhất, cho thấy rằng RM có kết quả thực nghiệm kém nhất trong các thuật toán được thử nghiệm.
Nhập tập dữ liệu 2 từ file
Bảng 4 Tập tác vụ cho thực nghiệm 6 2
Tập tác vụ gồm 3 tác vụ trên có đặc điểm sau:
Chu kỳ chính của tập tác vụ: 12
Thời gian kích hoạt:trùng nhau
Thời hạn của từng tác vụ nhỏ hơn chu kỳ của tác vụ đó
Hệ số sử dụng CPU của tập tác vụ là 0.92 > 0.78 ( không thoả điều kiện đủ để lập lịch tập tác vụ này bằng giải thuật RM và ID)
Kết quả thực hiện giải thuật lập lịch với 4 giải thuật RM, ID, EDF LLF được đư, a ra trong bảng 4.7
Giải thuật Thoả điều kiện lập lịch
Thời gian chờ trung bình của tập tác vụ
Thời gian phản hồi trung bình của tập tác vụ
Số tác vụ bị trễ hạn
Bảng 4.7 B g k qu th hi 4 gi thu cho t táản ết ả ực ện ải ật ập c vụ 2
Mặc dù tập tác vụ không đủ điều kiện để lập lịch, cả bốn giải thuật vẫn tạo ra một lịch làm việc khả thi mà không có tác vụ nào bị trễ hạn Tuy nhiên, thời gian phản hồi và thời gian chờ trong thử nghiệm này của giải thuật LLF là lớn nhất, cho thấy rằng giải thuật LLF có kết quả thực nghiệm kém nhất trong số các giải thuật được thử nghiệm.
Nhập tập dữ liệu tác vụ sau từ file.
Here is a rewritten paragraph that contains the meaning of the original content, complying with SEO rules:"Tập dữ liệu cho thực nghiệm 38 được đặc trưng bởi các tác vụ có thời gian kích hoạt bằng nhau và thời hạn thực hiện bằng với chu kỳ của tác vụ, đảm bảo tính nhất quán và chính xác trong quá trình phân tích."
Hệ số sử dụng bộ xử lý: 99%
Hệ số tải của tập tác vụ: 99%
Chu kỳ chính của tập tác vụ: 396
Giải thuật Thoả điều kiện lập lịch
Thời gian chờ trung bình của tập tác vụ
Thời gian phản hồi trung bình của tập tác vụ
Số tác vụ bị trễ hạn
Bảng 4.9.Kết qu ả thực hi gi thu ện ải ật ID,RM,EDF,LLF với ập ác ụ t t v 3
Nhận xét cho thấy rằng với tập dữ liệu đầu vào hiện tại, điều kiện cần thiết để lập lịch cho tập tác vụ không được thỏa mãn, dẫn đến việc các thuật toán RM không thể cung cấp một lịch làm việc khả thi Kết quả là có hai tác vụ không hoàn thành đúng thời hạn, trong khi thuật toán khác có thể xử lý tình huống này tốt hơn.
Lịch làm việc khả thi đã được ID, EDF và LLF đề xuất, trong đó giải thuật D I cho thấy thời gian chờ và thời gian phản hồi trung bình tốt hơn so với giải thuật EDF và LLF.
Thực nghiệm này gồm nhiều bước:
Bước 1 :nhập tập 3 tác vụ sau từ file.
Bảng 4.10.Tập ữ ệu ở ước d li b 1
Tập tác vụ gồm 3 tác vụ trên có đặc điểm sau:
Chu kỳ chính của tập tác vụ: 150
Thời gian kích hoạt:trùng nhau
Thời hạn của từng tác vụ nhỏ hơn chu kỳ của tác vụ đó
Hệ số sử dụng CPU của tập tác vụ là 0.63
Kết quả thực hiện các giải thuật lập lịch được đưa ra trong bảng 4.11
Giải thuật Thoả điều kiện lập lịch
Thời gian chờ trung bình của tập tác vụ
Thời gian phản hồi trung bình của tập tác vụ
Số tác vụ bị trễ hạn
Bảng 4.11.Kết qu th hi gi thu ID,RM,EDF,LLF v t t v bả ực ện ải ật ới ập ác ụ ước 1
Mặc dù các tác vụ đã đáp ứng đủ điều kiện để lập lịch, nhưng thuật toán RM không thể tạo ra một lịch làm việc khả thi mà không làm trễ hạn bất kỳ tác vụ nào.
Mặc dù không đáp ứng đủ điều kiện, giải thuật ID vẫn có khả năng tạo ra một lịch làm việc tối ưu Trong khi đó, cả hai giải thuật EDF và LLF đều cung cấp lịch làm việc khả thi, nhưng giải thuật LLF lại cho thời gian phản hồi và thời gian chờ trung bình của tập tác vụ nhỏ hơn.
Bước 2 là bổ sung tác vụ thứ 4 vào danh sách tác vụ từ bàn phím, với tác vụ này không có chu kỳ Thông tin chi tiết về tác vụ thứ 4 được trình bày trong bảng 4.
Bảng 4.12.Tập ữ ệu ở ước d li b 2
Như vậy tập tác vụ bây giờ là một tập tác vụ lai, bao gồm tác vụ có và không có chu kỳ
Kết quả thực hiện các giải thuật lập lịch được đưa ra trong bảng 4.13
Giải thuật Thoả điều kiện lập lịch
Thời gian chờ trung bình của tập tác vụ
Thời gian phản hồi trung bình của tập tác vụ
Số tác vụ bị trễ hạn
Bảng 4.1 Kết quả thực hiện giải thuật ID,RM,ED3 F,LLF với tập tác vụ bước 2
Ba giải thuật ID, EDF và LLF đều tạo ra lịch thực hiện khả thi cho tập tác vụ mới Kết quả thực nghiệm chỉ ra rằng thời gian chờ trung bình của các tác vụ giảm, không tăng Điều này xảy ra do tác vụ không có chu kỳ t4 được thực hiện khi ba tác vụ trước đã hoàn thành và chưa đến chu kỳ mới Trong số ba giải thuật, ID và LLF vẫn cho kết quả tối ưu hơn so với EDF.
Bước 3: bổ sung t c vụ thứ 5 vào ập c vụá t tá
Tập tác vụ hiện tại như sau:
Bảng 4.14.Tập ữ ệu ở ước d li b 3
Tác vụ t 5 là tác vụ không có chu kỳ và có thời điểm kích hoạt sau tác vụ t4
Kết quả thực hiện giải thuật lập lịch với 4 giải thuật RM, ID, EDF LLF được đưa ra , trong bảng 4.15
Giải thuật Thoả điều kiện lập lịch
Thời gian chờ trung bình của tập tác vụ
Thời gian phản hồi trung bình của tập tác vụ
Số tác vụ bị trễ hạn
Bảng 4.1 Kết quả thực hiện giải thuật ID,RM,EDF,LLF với tập tác vụ bước 5 3
Ba giải thuật ID, EDF và LLF đều có khả năng lập lịch thực hiện cho tập tác vụ mới Mặc dù thời gian chờ và thời gian phản hồi trung bình đã giảm, nhưng hai giải thuật ID và LLF vẫn cho kết quả tối ưu hơn so với EDF.
Bước 4: bổ sung tác vụ thứ 6 vào tập tác vụ
Tập tác vụ hiện tại như sau:
Bảng 4.16.Tập ữ ệu ở ước d li b 4
Tác vụ t 5 là tác vụ không có chu kỳ và có thời điểm kích hoạt sau tác vụ t4
Kết quả thực hiện giải thuật lập lịch với 4 giải thuật RM, ID, EDF LLF được đưa ra , trong bảng 4
Giải thuật Thoả điều kiện lập lịch
Thời gian chờ trung bình của tập tác vụ
Thời gian phản hồi trung bình của tập tác vụ
Số tác vụ bị trễ hạn
Bảng 4.17.Kết qu th hi gi thu ID,RM,EDF,LLF v t t v bả ực ện ải ật ới ập ác ụ ước 4
Hai giải thuật ID và LLF đều tạo ra lịch thực hiện khả thi cho tập tác vụ mới, trong khi giải thuật EDF không thể lập lịch khả thi, dẫn đến việc hai tác vụ t1 và t6 bị trễ hạn Trong trường hợp này, giải thuật ID cho kết quả tốt hơn so với giải thuật LLF Bước tiếp theo là bổ sung tác vụ thứ 7 vào tập tác vụ.
Tập tác vụ hiện tại như sau:
Bảng 4.18.Tập ữ ệu ở ước d li b 5
Tác vụ t7 là một tác vụ không có chu kỳ, được kích hoạt sau tác vụ t6 Kết quả thực hiện giải thuật lập lịch với bốn giải thuật RM, ID, EDF và LLF được trình bày trong bảng 4.19.
Giải thuật Thoả điều kiện lập lịch
Thời gian chờ trung bình của tập tác vụ
Thời gian phản hồi trung bình của tập tác vụ
Số tác vụ bị trễ hạn
Bảng 4.19.Kết qu th hi gi thu ID,RM,EDF,LLF v t t v bả ực ện ải ật ới ập ác ụ ước 5
Sau khi thêm tác vụ t7, cả bốn giải thuật đều không tạo ra lịch làm việc khả thi Các tác vụ bị trễ hạn trong các giải thuật này khác nhau, chủ yếu là t7 và t1 trong giải thuật C, trong khi ở giải thuật EDF, t2 và t1 là những tác vụ bị trễ hạn.
Bổ sung tác vụ thứ 8 vào tập tác vụ.
Tập tác vụ hiện tại như sau:
Bảng 4.20.Tập ữ ệu ở ước d li b 6
Tác vụ t 8 là tác vụ không có chu kỳ và có thời điểm kích hoạt sau tác vụ t7
Kết quả thực hiện giải thuật lập lịch với 4 giải thuật RM, ID, EDF LLF được đưa ra , trong bảng 4
Giải thuật Thoả điều kiện lập lịch
Thời gian chờ trung bình của tập tác vụ
Thời gian phản hồi trung bình của tập tác vụ
Số tác vụ bị trễ hạn
Bảng 4.21.Kết qu th hi gi thu ID,RM,EDF,LLF v t t v bả ực ện ải ật ới ập ác ụ ước 7
Sau khi bổ sung tác vụ t9, cả bốn giải thuật đều không thể tạo ra lịch làm việc khả thi, với các tác vụ bị trễ hạn khác nhau, chủ yếu là t7, t8 và t1, trong khi EDF gặp t6 và t1 Khi loại bỏ tác vụ t6, giải thuật EDF có thể đưa ra lịch làm việc khả thi, cho thấy EDF hiệu quả hơn các giải thuật khác, với số tác vụ bị trễ hạn ít hơn, thời gian chờ và thời gian phản hồi cũng giảm.
Nhận xét chung cho thấy rằng không phải tất cả các tác vụ không thỏa điều kiện của giải thuật RM, ID, EDF và LLF đều không thể lập lịch Trong một số trường hợp nhất định, vẫn có thể tồn tại lịch làm việc cho tập tác vụ đó Hai giải thuật ID và LLF thường cho kết quả tốt hơn so với hai giải thuật còn lại, trong khi giải thuật EDF mang lại kết quả tốt hơn khi tập tác vụ có nhiều tác vụ với thời hạn hoàn thành và thời gian trì hoãn nhỏ.
Tiến hành thực nghiệm trên các tập tác vụ được tạo ngẫu nhiên.
Thực nghiệm tiến hành trên các tập tác vụ có số tác vụ ban đầu là 10, chu kỳ chính trong khoảng [1,500]
Số tác vụ được lập lịch trong chu kỳ
Số tác vụ không theo chu kỳ
Hệ số sử dụng CPU
Hệ số tải bộ xử lý
Bảng 4.22.Miêu t cáả c tập c vụ được ạo tá t ng nhiên v chu k ính trong ẫu ới ỳ ch khoảng [1,500]
Test1 Test2 Test3 Test4 Test5
Số tác vụ Chu kỳ chính
Số tác vụ không chu kỳ
Hệ số sử dụng CPU
Hệ số tải của CPU
Hình 4.33 Biểu đồ so sánh các t p tác v test1,test2,test3,t t4,t t5 ậ ụ es es
D i ướ đây là k t qu th c hi n cáế ả ự ệ c giải thu t ậ RM, ID, EDF,LLF với các tập tác vụ trên
Giải thuật RM ID EDF LLF
Số tác vụ đúng hạn 38 38 69 38
Thời gian phản hồi trung bình 1424.6 1424.6 882.9 1424.6
Thời gian chờ trung bình 1369.9 1369.9 828.2 1369.9
Bảng 4.23.Kết quả thực hiện với test 1
Giải thuật RM ID EDF LLF
Số tác vụ đúng hạn 124 124 138 134
Thời gian phản hồi trung bình 4493.4 2237.1 3846.7 4474.2
Thời gian chờ trung bình 4369.2 2175 3784.6 4350
Bảng 4.24.Kết quả thực hiện với test 2
Giải thuật RM ID EDF LLF
Số tác vụ đúng hạn 72 72 104 72
Thời gian phản hồi trung bình 2037.9 2034.8 7023 2034.8 Thời gian chờ trung bình 1969 1965.9 6885.2 1965.9
Bảng 4.25.Kết quả thực hiện với test 3
Giải thuật RM ID EDF LLF
Số tác vụ đúng hạn 64 64 68 64
Thời gian phản hồi trung bình 1850.4 1849.2 2221.8 1849.2 Thời gian chờ trung bình 1784 1782.8 2155.4 1782.8
Bảng 4.26.Kết quả thực hiện với test 4
Giải thuật RM ID EDF LLF
Số tác vụ đúng hạn 15 15 51 15
Thời gian phản hồi trung bình 794.4 791.9 911.6 791.9 Thời gian chờ trung bình 755.8 753.3 834.4 753.3
Bảng 4.27.Kết quả thực hiện với test 5
Test1 Test2 Test3 Test4 Test5
Hình 4.34.Biểu đồ so sánh s táố c vụ đượ ậ ịch đáp ức l p l ng th i h n v i t p tác v ờ ạ ở ậ ụ test1,test2,test3,test4,test5
Test1 Test2 Test3 Test4 Test5
Hình 4.35 Bi u so sánh th i gian phể đồ ờ ản hồi trung bình của các tác vụ đượ ậc l p lịch theo các gi i thu t RM,ID,EDF,LLF ả ậ