Lập lịch: khái niệm, thuật toán và đặc điểm

Một phần của tài liệu Cac He Thong TGThuc ppsx (Trang 33 - 38)

Trong một hệ thời gian thực, các tác vụ có ràng buộc thời gian và thực thi được giới hạn với một trễ tối đa nào đó mà buộc phải tuân thủ. Mục tiêu của lập lịch là cho phép các tác vụ thoả mãn các ràng buộc thời gian này khi mà ứng dụng chạy ở chế độ bình thường. Một lịch biểu phải là dự đoán được (predictable) có nghĩa nó phải là một bản trước được chứng minh là tất cả các ràng buộc thời gian được thoả mãn trong chế độ bình thường. Khi mà xảy ra tình trạng làm việc sai trong quá trình được điều khiển,một số tác vụ cảnh báo nào đó phải được kích hoạt hay một số thời gian thực thi phải được tăng lên, quá tải ứng dụng và tăng lỗi thời gian. Trong tình huống quá tải, mục tiêu của lập lịch là cho phép chịu một số lỗi, nghĩa là cho phép thực thi các tác vụ giữ cho tiến trình an toàn, chất lượng dịch vụ có thể là thấp nhất.

Tập tác vụ (task set)

Một ứng dụng thời gian thực được đặc tả bởi một tập các tác vụ.

Kích hoạt đồng loạt hay kích hoạt luỹ tiến: Các tác vụ của ứng dụng có thể được kích hoạt đồng thời khi chúng có chung thời điểm giải phóng, ngược lại thì chúng được kích hoạt luỹ tiến. Các tác vụ được kích hoạt đồng loạt cũng được gọi là các tác vụ trong cùng pha (in phase)

Hệ số sử dụng bộ xử lý: hệ số sử dụng/ tận dụng bộ xử lý của một tập n tác vụ có chu kỳ: ∑ = = n i i i T C U 1 (1.1)

Hệ số tải bộ xử lý: hệ số tải bộ xử lý của n tác vụ có chu kỳ là ∑ = = n i i i D C CH 1 (1.2)

Độ trễ bộ xử lý (processor laxity): Vì các thời hạn, có thể là hệ số sử dụng hay hệ số tải không đủ đáp ứng một ảnh hưởng quá tải các ràng buộc thời gian. Chúng ta sử dụng LP(t), gọi là độ trễ bộ xử lý tại thời điểm t là thời gian tối đa bộ xử lý có thể ở trạng thái nhàn dỗi sau t mà không làm cho tác vụ lỡ thời hạn của nó. LP(t) biến đổi như một hàm theo t. Với tất cả các t chúng ta phải có LP(t) ≥ 0. Để

tính toán độ trễ, chúng ta phải biết chuỗi gán (assignment sequence) tác vụ cho bộ xử lý và tính được độ trễ điều kiện LCi(t) cuả mỗi tác vụ i

LCi(t) = Di - Σ Cj(t) (1.3)

Trong đó tổng theo j tính toán thời gian thực thi còn lại của tất cả các tác vụ (bao gồm cả tác vụ i) được kích hoạt tại t và đi trước tác vụ i trong chuỗi gán. Độ trễ LP(t) là giá trị nhỏ nhất của độ trễ điều kiện LCi(t).

Thời gian nhàn dỗi của bộ xử lý: tập khoảng thời gian trong đó độ trễ dương, có nghĩa là tập các khoảng thời gian rời nhau mà bộ xử lý được xem là ở thời gian nhàn dỗi. Là một hàm của tập tác vụ và tập lịch biểu của chúng.

Các định nghĩa về lập lịch tác vụ

Lập lịch tập tác vụ liên quan tới việc lên kế hoạch thực thi các yêu cầu của các tác vụ sao cho thoả mãn các ràng buộc thời gian:

Của tất cả các tác vụ khi hệ thống chạy ở chế độ bình thường

Của ít nhất các tác vụ quan trọng (nghĩa là các tác vụ cần thiết để giữ tiến trình được kiểm soát an toàn) trong chế độ bất thường.

Của tất cả các tác vụ khi hệ thống chạy ở chế độ bình thường

Của ít nhất các tác vụ quan trọng (nghĩa là các tác vụ cần thiết để giữ tiến trình được kiểm soát an toàn) trong chế độ bất thường.

Một chế độ bất thường có thể được tạo ra bởi lỗi phần cứng hay những sự kiện bất ngờ khác. Trong một số ứng dụng, các tiêu chuẩn hoạt động khác có thể cần phải được thoả mãn như giảm thiểu thời gian phản hồi, cân bằng giữa tải xử lý của một số địa điểm, hạn chế chi phí truyền thông, giảm thiểu số lượng tác vụ muộn hay các thông điệp muộn.

Thuật toán lập lịch gán các tác vụ cho các bộ xử lý và cung cấp một danh sách thứ tự các tác vụ gọi là dãy kế hoạch hay là lịch biểu.

Phân loại thuật toán lập lịch

Lập lịch online và offline: lập lịch offline xây dựng một dãy kế hoạch hoàn thiện với tất cả các thông số cho tập tác vụ. Lịch biểu được biết trước khi tác vụ

Lập lịch online cho phép chọn ở bất kỳ thời điểm nào tác vụ được chọn/bỏ phiếu tiếp theo và nó có kiến thức về tham số của các tác vụ đã được kích hoạt hiện thời. Khi một sự kiện mới xảy ra thì tác vụ được chọn có thể bị thay đổi mà không quan tâm tới việc có biết trước sự xuất hiện của sự kiện này hay không. Cách tiếp cận động này cung cấp các phát biểu ít chính xác hơn so với cách tiếp cận tĩnh vì nó sử dụng ít thông tin hơn và nó có thực thi chạy trước cao hơn. Tuy nhiên, nó quản lý sự xuất hiện bất ngờ của các tác vụ và cho phép việc tạo ra luỹ tiến dãy kế hoạch. Vì vậy, lập lịch online được sử dụng để xử lý các tác vụ không có chu kỳ và quá tải bất thường.

Lập lịch có thể tước quyền (không độc quyền0 và không thể tước quyền (độc quyền): Trong lập lịch có tước quyền, một tác vụ được chọn có thể bị tước ưu tiên và bộ xử lý được cấp phát cho một tác vụ khẩn cấp hơn hay một tác vụ khác có độ ưu tiên cao hơn, tác vụ bị tước ưu tiên được chuyển sang trạng thái sẵn sàng và đợi được chọn lại sau đó và có thể chạy trên một bộ xử lý nào đó. Lập lịch có thể tước quyền có thể sử dụng được với các tác vụ có thể tước quyền. Lập lịch không thể tước quyền không dừng thực thi một tác vụ. Một trong những yếu điểm của lập lịch không thể tước quyền là có thể xuất hiện lỗi thời gian mà thuật toán có thể tước quyền có thể dễ dàng tránh được. Trong kiến trúc một bộ xử lý, chia sẻ tài nguyên quan trọng dễ hơn với lập lịch không thể tước quyền vì nó không cần kỹ thuật truy cập đồng quy cho loại trừ lẫn nhau và xếp hàng tác vụ. Tuy nhiên, sự đơn giản của nó không phù hợp với kiến trúc đa xử lý.

Nỗi lực tốt nhất và chịu lỗi thời gian: Với các ràng buộc thời gian mềm, lập lịch sử dụng chiến lược nỗ lực tốt nhất và cố gắng làm hết khả năng với các bộ xử lý có thể sử dụng. Ứng dụng có thể chấp nhận lỗi thời gian. Với các ràng buộc thời gian cứng, các thời hạn phải được thoả mãn và lỗi thời gian là không thể chấp nhận.

Lập lịch tập trung và phân tán: lập lịch được gọi là tập trung khi nó được cài đặt trên một kiến trúc tập chung hay trên một địa điểm có đặc quyền ghi lại các tham số của tất cả các tác vụ của một kiến trúc phân tán. Lập lịch được gọi là phân tán khi mỗi địa điểm định nghĩa lập lịch địa phương sau đó có thể có hợp tác giữa

các địa điểm để tạo nên một chiến lược lập lịch toàn cục. Trong ngữ cảnh này, một số tác vụ có thể được gán cho một địa điểm, và rồi di cư sau đó.

Các đặc điểm lập lịch

Lịch biểu khả thi (feasible schedule): Một thuật toán lập lịch tạo một lịch biểu cho tập tác vụ. Lịch biểu này là khả thi nếu như tất cả các tác vụ thoả mãn ràng buộc thời gian.

Tập tác vụ lập lịch được: một tập tác vụ được gọi là lập lịch được khi thuật toán lập lịch có thể đưa ra một lịch biểu khả thi.

Thuật toán lập lịch tối ưu: một thuật toán được gọi là tối ưu nếu nó có thể tạo ra một lịch biểu khả thi cho bất kỳ tập tác vụ lập lịch được nào.

Kiểm tra khả năng lập lịch được: Một sự kiểm tra tính lập lịch được cho (adsbygoogle = window.adsbygoogle || []).push({});

phép xác định một tập tác vụ có chu kỳ có thể sử dụng một thuật toán lập lịch nào đó và đưa ra một lịch biểu khả thi hay không.

Kiểm tra chấp nhận: Lập lịch online tạo ra và chỉnh sửa lịch biểu động khi có các yêu cầu tác vụ mới được kích hoạt hay khi có một thời hạn bị lỡ. Một yêu cầu mới có thể được chấp nhận nếu như tồn tại ít nhất một lịch biểu cho phép tất cả các tác vụ được chấp nhận trước đó và cả yêu cầu này nữa thoả mãn thời hạn của chúng. Điều kiện cần được gọi là kiểm tra chấp nhận. Điều này thường được gọi là thủ tục đảm bảo vì nếu như tất cả các tác vụ tuân thủ thời gian tính toán xấu nhất (cũng có thể thêm thời gian đợi tài nguyên quan trọng), thì có thể đảm bảo không có lỗi thời gian. Trong lập lịch phân tán, việc từ chối một yêu cầu bởi một địa điểm sau khi thực hiện kiểm tra chấp nhận có thể làm cho yêu cầu đó di cư.

Khoảng thời gian lập lịch (hay chu kỳ chính hay là khoảng siêu thời gian). Sự đánh giá hợp lệ của một tập tác vụ có chu kỳ và không có chu kỳ dẫn tới việc phân tích thời gian thực thi của tập tác vụ này. Khi các tác vụ có chu kỳ kéo dài mãi thì phân tích phải trải qua quá trình vô hạn. Trong thực tế, hành vi của tập tác vụ có chu kỳ và đủ để phân tích tính hợp lệ của khoảng thời gian hay là khoảng thời gian giả, gọi là khoảng thời gian lập lịch, độ dài lịch biểu hay khoảng siêu thời

thời gian (Ti), các thời điểm giải phóng đầu tiên của các tác vụ và các thời hạn của các tác vụ không có chu kỳ:

Max {ri,0 , (rj,0+ Dj} + 2.BCNN(Ti) (1.4)

Trong đó i biến đổi theo chỉ số tập tác vụ có chu kỳ và j biến đổi theo chỉ số tập tác vụ không có chu kỳ.

Cài đặt các bộ lập lịch

Cài đặt lập lịch dựa vào các cấu trúc dữ liệu bình thường.

Bảng lựa chọn: Khi một lịch biểu cố định trước khi bắt đầu ứng dụng như

trong lập lịch offline thì lịch biểu định nghĩa này có thể được lưu trong một bảng và sử dụng bởi bộ lịch biểu để quyết định lựa chọn tác vụ nào tiếp theo.

Danh sách hàng đợi độ ưu tiên: Lập lịch online tạo ra dãy kế hoạch động,

thành viên đầu tiên của dãy này là tác vụ được lựa chọn (trong một kiến trúc n bộ xử lý, thì n thành viên đầu tiên được quan tâm). Dãy này là một danh sách có thứ tự; quan hệ thứ tự được biểu diễn bởi khoá; tìm kiếm và nén đưa ra thành viên khoá nhỏ nhất; một thành viên mới được chèn vào danh sách theo thứ tự khoá. Cấu trúc này được được gọi là một danh sách sắp xếp heap hay một danh sách theo thứ tự ưu tiên.

Độ ưu tiên thay đổi hay cố định: Khoá thành phần, gọi là độ ưu tiên khi các thành phần là các tác vụ và là một tham số thời gian hay một sự kết hợp các tham số của mô hình tác vụ. Nó là cố định khi không có tham số, như thời gian tính toán, thời hạn tương đối, khoảng thời gian hay độ ưu tiên bên ngoài. Nó thay đổi khi tham số thay đổi trong quá trình thực thi tác vụ, như thời gian tính toán pending, độ trễ còn lại, hay khi nó bị điều chỉnh từ một yêu cầu như thời điểm giải phóng hay thời hạn tuyệt đối. Giá trị độ ưu tiên hay khoá sắp xếp có tểh là giá trị của tham số được sử dụn hay nếu như giải giá trị quá lớn thì là một hàm 1-1 từ tham số này vào một tập con số nguyên. Tập con này thường được gọi là tập độ ưu tiên. Kích thước của tập ưu tiên này có thể được cố định bởi kiến trúc phần cứng hay bởi nhân hệ điều hành. Mã hoá độ ưu tiên với một kích thước bit cố định và sử dụng lệnh máy đặc biệt cho phép quản lý danh sách độ ưu tiên nhanh hơn.

Lập lịch hai cấp độ: Khi lập lịch phức tạp hơn, nó được chia làm hai phần. Một phần làm việc với chính sách (quyết định dài hạn hay cấp độ cao, xửlys quá

tải với ngưng tác vụ, đưa ra ưu tiên cho một số tác vụ nào đó trong một khoảng thời gian nào đó). Phần còn lại thực thi các công việc cấp độ thấp (lựa chọn tác vụ trong tập con chuẩn bị bởi bộ lập lịch cấp độ cao, lựa chọn ngắn hạn sắp xếp lại tập con). Một trường hợp cụ thể là lập lịch phân tán, nó chia lập lịch địa phương xử lý các tác vụ được cấp cho một địa điểm và lập lịch toàn cục gán tán vụ cho các địa điểm và di cư chúng. Thứ tự giữa địa phương và toàn cục là một lựa chọn khác mà chi phí của nó phải xác định: Các tác vụ có nên được thiết lập như một priori ở một địa điểm sau đó di cư chúng nếu địa điểm đó quá tải không, hay tất cả các địa điểm được hỏi về khả năng nhận của nó trước khi được cấp phát một tác vụ đã được kích hoạt.

Một phần của tài liệu Cac He Thong TGThuc ppsx (Trang 33 - 38)