Tải bản đầy đủ (.pdf) (55 trang)

Phân tích xấp xỉ khả năng lập lịch của hệ thời gian thực trong trường hợp độ ưu tiên cố định với kỳ hạn không ràng buộc và độ trễ phát hành

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.48 MB, 55 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ

PHẠM ĐỨC MẠNH

PHÂN TÍCH XẤP XỈ KHẢ NĂNG LẬP LỊCH CỦA HỆ THỜI GIAN
THỰC TRONG TRƢỜNG HỢP ĐỘ ƢU TIÊN CỐ ĐỊNH VỚI KỲ
HẠN KHÔNG RÀNG BUỘC VÀ ĐỘ TRỄ PHÁT HÀNH

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

Hà Nội - 2013


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ

PHẠM ĐỨC MẠNH

PHÂN TÍCH XẤP XỈ KHẢ NĂNG LẬP LỊCH CỦA HỆ THỜI GIAN
THỰC TRONG TRƢỜNG HỢP ĐỘ ƢU TIÊN CỐ ĐỊNH VỚI KỲ
HẠN KHÔNG RÀNG BUỘC VÀ ĐỘ TRỄ PHÁT HÀNH

Ngành: Công nghệ thông tin
Chuyên ngành: Công nghệ phần mềm
Mã số: 60 48 10

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

NGƢỜI HƢỚNG DẪN KHOA HỌC: TS. NGUYỄN THỊ HUYỀN CHÂU


Hà Nội - 2013


MỤC LỤC
MỤC LỤC
DANH MỤC CÁC TỪ VIẾT TẮT
DANH MỤC CÁC BẢNG
DANH MỤC CÁC HÌNH VẼ
CHƢƠNG 1. ĐẶT VẤN ĐỀ........................................................................................... 1
1.1. Bối cảnh nghiên cứu .......................................................................................... 1
1.2. Mục tiêu nghiên cứu .......................................................................................... 2
1.3. Cấu trúc luận văn ............................................................................................... 2
CHƢƠNG 2. CƠ SỞ LÝ THUYẾT ................................................................................3
2.1. Mô hình nhiệm vụ hệ thời gian thực ..................................................................3
2.1.1. Hệ thống thời gian thực .............................................................................3
2.1.1.1. Khái niệm .......................................................................................... 3
2.1.1.2. Tầm quan trọng của hệ thời gian thực ..............................................3
2.1.1.3. Phân loại nhiệm vụ thời gian thực ....................................................3
2.1.2. Các tham số đặc trƣng cho hệ thời gian thực .............................................4
2.2. Các phƣơng pháp kiểm định dựa trên độ ƣu tiên cố định ..................................7
2.2.1. Một số khái niệm về lập lịch ......................................................................7
2.2.1.1. Lập lịch là gì .....................................................................................7
2.2.1.2. Phân loại lập lịch ...............................................................................7
2.2.1.3. Lập lịch dựa trên độ ƣu tiên cố định .................................................7
2.2.2. Những kết quả cơ bản .................................................................................9
2.2.2.1. Bài toán nghiên cứu ..........................................................................9
2.2.2.2. Hàm Request Bound Function (𝑅𝐵𝐹)...............................................9
2.2.2.3. Hàm Workload Function (𝑊) ......................................................... 10
2.2.2.4. Thời điểm ngặt nghèo (Critical Instant) ..........................................11
2.2.2.5. Khoảng bận rộn mức i (level-i busy period) ...................................12

2.2.3. Các phƣơng pháp kiểm định chính xác hệ có độ ƣu tiên cố định.............12
2.2.3.1. Response Time Analysis (RTA) .....................................................12


2.2.3.2. Processor Demand Analysis (PDA) ................................................16
CHƢƠNG 3. PHÂN TÍCH XẤP XỈ KHẢ NĂNG LẬP LỊCH CỦA HỆ THỜI GIAN
THỰC TRONG TRƢỜNG HỢP ĐỘ ƢU TIÊN CỐ ĐỊNH VỚI KỲ HẠN KHÔNG
RÀNG BUỘC VÀ ĐỘ TRỄ PHÁT HÀNH .................................................................21
3.1. Một số khái niệm ............................................................................................. 21
3.2. Các kết quả ban đầu ......................................................................................... 24
3.3. Phân tích khả năng lập lịch của hệ thời gian thực sử dụng biểu đồ xấp xỉ ......28
3.3.1. Thuật toán: Approx(𝜏, 𝑖, 𝑘) .......................................................................28
3.3.2. Ví dụ minh họa ......................................................................................... 31
3.4. Tính đúng đắn của thuật toán ...........................................................................33
CHƢƠNG 4. THỰC NGHIỆM VÀ ĐÁNH GIÁ HIỆU QUẢ CỦA BIỂU ĐỒ XẤP XỈ .......40

4.1. Phƣơng pháp thực nghiệm ...............................................................................40
4.2. Phƣơng pháp đánh giá......................................................................................41
4.3. Kết quả thực nghiệm ........................................................................................ 41
CHƢƠNG 5. KẾT LUẬN ............................................................................................. 45
5.1. Xuất xứ bài toán nghiên cứu ............................................................................45
5.2. Phƣơng pháp đề xuất và kết quả đạt đƣợc ....................................................... 45
5.3. Hƣớng phát triển trong tƣơng lai .....................................................................45
TÀI LIỆU THAM KHẢO ............................................................................................. 47


DANH MỤC CÁC TỪ VIẾT TẮT

RTA


Phƣơng pháp phân tích thời gian đáp ứng của nhiệm vụ (Response Time
Analysis).

PDA

Phƣơng pháp phân tích lƣợng công việc yêu cầu bộ xử lý thực hiện
(Processor Demand Analysis).

RBF

Hàm lƣợng công việc mà nhiệm vụ yêu cầu CPU thực hiện (Request
Bound Function).

W

Hàm lƣợng công việc mà các nhiệm vụ yêu cầu CPU thực hiện
(Workload).

RM

Thuật toán gán độ ƣu tiên dựa vào tỉ lệ yêu cầu của các nhiệm vụ (Rate
Monotonic).

DM

Thuật toán gán độ ƣu tiên tỉ lệ nghịch với kỳ hạn tƣơng đối của nhiệm
vụ (Deadline Monotonic).

CPU


Bộ xử lý trung tâm (Central Processing Unit).


DANH MỤC CÁC BẢNG
Số hiệu
bảng

Tên bảng

Trang

2.1

Tập các nhiệm vụ có độ ƣu tiên cố định

8

2.2

Tập các nhiệm vụ đƣợc kích hoạt từ thời điểm 𝑡 = 0

8

2.3

Tập các nhiệm vụ với kỳ hạn không ràng buộc

8

2.4


Hệ với kỳ hạn không ràng buộc và độ trễ phát hành

14

3.1

Hệ với kỳ hạn không ràng buộc và độ trễ phát hành

31


DANH MỤC CÁC HÌNH VẼ
Số hiệu
hình vẽ

Tên hình vẽ

Trang

2.1

Các tham số đặc trƣng của một nhiệm vụ thời gian thực 𝜏𝑖 .

4

2.2

Nhiệm vụ tuần hoàn với độ trễ phát hành.


5

2.3

Chuỗi các tác vụ của một nhiệm vụ tuần hoàn 𝜏𝑖 .

6

2.4

Hàm RBF (Request Bound Function).

10

2.5

Hàm W (Workload Function).

11

2.6

Thời điểm ngặt nghèo.

12

2.7

Khoảng thời gian bận rộn mức i.


12

2.8

Hàm W (Workload Function) trong phƣơng pháp RTA.

13

2.9

Hàm W (Workload Function) trong phƣơng pháp PDA.

17

3.1

Hàm RBF xấp xỉ đối với nhiệm vụ 𝜏𝑖 .

22

3.2

Hàm tải công việc cho tác vụ 𝜏𝑖,𝑙 .

23

3.3

Các tác vụ hoàn thành trong khoảng thời gian nguyên tố.


27

3.4

Tác vụ đầu tiên hoàn thành trong khoảng thời gian nguyên tố.

30

3.5

Tác vụ cuối cùng hoàn thành trong khoảng thời gian nguyên tố.

31

4.1

Tỉ lệ chấp nhận của SupD và thuật toán đề xuất theo số nhiệm vụ
của hệ.

41

4.2

Tỉ lệ chấp nhận của SupD và thuật toán đề xuất theo hệ số sử dụng
CPU.

42

4.3


Tỉ lệ chấp nhận của SupD và thuật toán đề xuất dựa trên ratioJ.

43

4.4

Tỉ lệ chấp nhận của SupD và thuật toán đề xuất theo số nhiệm vụ
của hệ và k.

43

4.5

Tỉ lệ chấp nhận của SupD và thuật toán đề xuất theo hệ số sử dụng
CPU và k.

44


1

CHƢƠNG 1. ĐẶT VẤN ĐỀ
1.1. Bối cảnh nghiên cứu
Trong những năm gần đây, các hệ thống thời gian thực đóng vai trò ngày càng
quan trọng trong nhiều lĩnh vực ứng dụng. Hệ thống thời gian thực đã và đang đƣợc
ứng dụng rộng rãi trong các dây chuyền sản xuất tự động, robot, điều khiển lƣu thông,
điều khiển các thí nghiệm tự động, truyền thông, điều khiển trong quân sự …
Với những hệ thống này, lƣợng công việc cần thực hiện có thể không đƣợc dự
báo chính xác, các nhiệm vụ có thể sinh ra thêm trong thời gian chạy. Do đó mà hệ
thống cần có khả năng giải quyết những tình huống quá tải tạm thời. Điều này đƣợc

thực hiện thông qua một bộ điều khiển gia nhập có khả năng quyết định chấp nhận hay
từ chối một nhiệm vụ nào đó nhằm điều tiết lƣợng công việc dựa trên các tính toán về
khả năng lập lịch. Những tính toán này đòi hỏi phải đủ nhanh do chúng đƣợc thực hiện
thƣờng xuyên trong suốt thời gian tồn tại của hệ thống.
Tồn tại 2 phƣơng pháp phân tích chính xác khả năng lập lịch của một hệ thống
thời gian thực với độ ƣu tiên cố định là Response Time Analysis (RTA - [4, 6]) và
Processor Demand Analysis (PDA - [5, 6]). Mặc dù có độ phức tạp giả đa thức nhƣng
cả 2 phƣơng pháp này đều đƣợc cài đặt rất hiệu quả trong thực tế. Tuy nhiên, với
những hệ mà các nhiệm vụ đƣợc sản sinh động, các test kiểm định đƣợc gọi liên tiếp
với số lƣợng lớn, một thuật toán với độ phức tạp giả đa thức trở nên quá chậm. Thay
vào đó, chúng ta hƣớng đến một thuật toán có độ phức tạp đa thức. Một trong số đó là
phƣớng pháp biểu đồ xấp xỉ mà luận văn sử dụng.
Việc sử dụng phƣơng pháp xấp xỉ để phân tích tính khả thi của hệ đã đƣợc trình
bày trong [2] cho trƣờng hợp các nhiệm vụ có độ ƣu tiên cố định với kỳ hạn ràng buộc
và đƣợc mở rộng cho hệ với kỳ hạn không ràng buộc trong [3]. Những kiểm định xấp
xỉ này chạy trong thời gian đa thức và đƣợc điều khiển bởi một tham số chính xác 𝜀.
Trong [10] đã đƣa ra một phƣơng pháp kiểm định xấp xỉ dựa trên khái niệm cận trên
thời gian phản ứng cho hệ có độ ƣu tiên cố định với kỳ hạn ràng buộc và độ trễ phát
hành (release jitters) và sau đó đƣợc chuẩn hóa và mở rộng trong [12, 13]. Tiếp đó,
[14] đã trình bày và sửa chữa các vấn đề kỹ thuật trong [3], đồng thời đề xuất một
thuật toán xấp xỉ cải thiện cho hệ với kỳ hạn không ràng buộc. Nó cũng đƣợc mở rộng
để tính toán cận trên thời gian phản ứng trong [11].
Nhƣ vậy, hiện chƣa có phƣơng pháp kiểm định xấp xỉ nào cho hệ có độ ƣu tiên
cố định với kỳ hạn không ràng buộc và độ trễ phát hành. Do đó, luận văn nghiên cứu
đề xuất một thuật toán kiểm định xấp xỉ cho hệ này, với mức độ xấp xỉ đƣợc tham số
hóa, cho phép chúng ta “co dãn” thuật toán để cân bằng giữa độ chính xác và độ phức
tạp của thuật toán.


2


1.2. Mục tiêu nghiên cứu
Trong đề tài này, tôi sử dụng phƣơng pháp biểu đồ xấp xỉ để kiểm định khả
năng lập lịch của hệ thời gian thực trong trƣờng hợp độ ƣu tiên cố định với kỳ hạn
không ràng buộc và độ trễ phát hành. Thuật toán có độ phức tạp đa thức, cung cấp một
kết quả “xấp xỉ” về khả năng lập lịch của các nhiệm vụ trong hệ thống. Thêm vào đó,
luận văn cũng đƣa ra hàm RBF xấp xỉ thay thế để cải thiện thuật toán xấp xỉ đã đƣợc
trình bày trong [14]. Cuối cùng, luận văn trình bày các kết quả thực nghiệm để đánh
giá hiệu quả của biểu đồ xấp xỉ so với những phƣơng pháp kiểm định đã đƣợc biết đến
khác.

1.3. Cấu trúc luận văn
Trong các phần tiếp theo của luận văn, tôi sẽ trình bày những nội dung sau:
Chƣơng 2 trình bày về cơ sở lý thuyết của đề tài. Chƣơng này đề cập đến mô
hình nhiệm vụ hệ thời gian thực. Tiếp đến, tôi mô tả các phƣơng pháp kiểm định chính
xác cho hệ có độ ƣu tiên cố định. Trong mỗi phƣơng pháp, luận văn đều đƣa ra ý
tƣởng, thuật toán và ví dụ minh họa cụ thể.
Chƣơng 3 đƣa ra phƣơng pháp phân tích khả năng lập lịch của hệ thời gian thực
có độ ƣu tiên cố định với kỳ hạn không ràng buộc và độ trễ phát hành sử dụng biểu đồ
xấp xỉ. Trong chƣơng này, luận văn sẽ đề xuất 1 hàm RBF xấp xỉ để cải thiện chất
lƣợng thuật toán. Phần cuối chƣơng, tôi sẽ trình bày 1 ví dụ minh họa cũng nhƣ phân
tích tính đúng đắn của phƣơng pháp mà luận văn đề xuất.
Chƣơng 4 trình bày các kết quả thực nghiệm để đánh giá hiệu quả của biểu đồ
xấp xỉ so với các phƣơng pháp kiểm định đã đƣợc biết đến khác.
Chƣơng 5 tóm tắt những kết quả đạt đƣợc cũng nhƣ hƣớng phát triển trong
tƣơng lại.


3


CHƢƠNG 2. CƠ SỞ LÝ THUYẾT
2.1. Mô hình nhiệm vụ hệ thời gian thực
2.1.1. Hệ thống thời gian thực
2.1.1.1. Khái niệm
Hệ thống thời gian thực là hệ thống máy tính có khả năng phản ứng chính xác
và kịp thời với các sự kiện trong môi trƣờng. Một phản ứng xảy ra quá muộn sẽ vô ích
hoặc gây nguy hiểm cho hệ thống. Nhƣ vậy, hệ thời gian thực đƣợc hiểu nhƣ là một
mô hình xử lý mà tính đúng đắn của nó không chỉ phụ thuộc vào sự chính xác của kết
quả mà còn phụ thuộc vào thời điểm đƣa ra kết quả đó. Hệ thống bị cho là có lỗi khi
yêu cầu về thời gian không đƣợc đáp ứng.

2.1.1.2. Tầm quan trọng của hệ thời gian thực
Ngày nay, các hệ thống thời gian thực đóng một vai trò quan trọng trong xã hội
vì ngày càng có nhiều hệ thống phức tạp dựa một phần hoặc hoàn toàn vào sự điều
khiển của máy tính. Những ứng dụng về thời gian thực đã và đang đƣợc sử dụng rộng
rãi trong rất nhiều lĩnh vực nhƣ: tự động hóa công nghiệp, robot, kiểm soát tiến trình
(điều khiển nhà máy hạt nhân, hệ thống chuyển mạch đƣờng sắt, hệ thống kiểm soát
bay), trong y tế, quân sự và viễn thông …
Một trong những vấn đề thu hút sự quan tâm của giới khoa học nghiên cứu về
thời gian thực đó là điều hành thời gian thực và lập lịch vì tầm quan trọng của nó. Đa
số các vụ tai nạn xảy ra trong các nhà máy điện hạt nhân, hoặc hệ thống phòng thủ
thƣờng do lỗi của phần mềm trong hệ thống điều khiển. Một lỗi xảy ra trong quá trình
lập lịch có thể là một thảm họa, gây thiệt hại lớn về kinh tế hoặc thậm chí gây hậu quả
thảm khốc, bao gồm cả sự mất mát về ngƣời.

2.1.1.3. Phân loại nhiệm vụ thời gian thực
Ở cấp độ xử lý, sự khác biệt chính giữa một nhiệm vụ thời gian thực và một
nhiệm vụ không phải thời gian thực là nhiệm vụ thời gian thực đƣợc đặc trƣng bởi một
kỳ hạn (deadline). Đó là khoảng thời gian tối đa mà nhiệm vụ phải hoàn thành. Tùy
thuộc vào những hậu quả có thể xảy ra do kỳ hạn bị lỗi, các nhiệm vụ thời gian thực có

thể đƣợc phân thành những loại chính sau:
- Nhiệm vụ thời gian thực cứng (Hard real-time task): các nhiệm vụ phải
đƣợc thực thi trong một khoảng thời gian xác định. Sự sai sót về kỳ hạn có thể làm sụp
đổ hệ thống hoặc gây ra những hậu quả nghiêm trọng.
Một ví dụ cho loại này là hệ thống điều khiển không lƣu. Việc phân phối
đƣờng bay, thời gian cất cánh, hạ cánh không hợp lý có thể gây ra tai nạn thảm khốc.


4

- Nhiệm vụ thời gian thực mềm (Soft real-time task): đối với loại nhiệm vụ
này, thời gian trả lời của hệ thống cho các yếu tố kích thích là quan trọng, tuy nhiên
trong trƣờng hợp ràng buộc này bị vi phạm, hệ thống vẫn tiếp tục hoạt động bình
thƣờng. Lỗi về mặt thời gian của các nhiệm vụ chỉ đơn giản là làm giảm độ tin cậy
hoặc suy giảm hiệu suất hệ thống mà không có hậu quả thảm khốc nào xảy ra.
Mạng lƣới thu ngân tự động của ngân hàng là ví dụ rõ nhất cho nhiệm vụ thời
gian thực mềm. Khi bạn đƣa thẻ ATM vào máy, bạn mong là máy sẽ phản ứng lại
trong vòng 1 hay 2 giây. Nhƣng nếu nó lâu hơn thế, điều tồi tệ nhất có thể xảy ra là …
bạn sốt ruột và thấy khó chịu đối với cái máy đó.
- Nhiệm vụ thời gian thực trung gian (Firm real-time task): một nhiệm vụ trễ
hạn sẽ trở nên vô ích đối với hệ thống nhƣng không gây ra bất kỳ thiệt hại nào.
Ví dụ: các hoạt động của hệ thống đa phƣơng tiện nhƣ play video, mã hóa và
giải mã audio, video …
Trong đề tài này, tôi tập trung vào hệ thống thời gian thực cứng (hard real-time
system). Hệ thống phải tiếp nhận và nắm bắt đƣợc kỳ hạn của các nhiệm vụ tại mọi
thời điểm. Việc kiểm tra và đảm bảo các nhiệm vụ quan trọng hoàn thành đúng kỳ hạn
đƣợc thực hiện bằng cách phân tích khả năng lập lịch trong trƣờng hợp xấu nhất, đó là
phân tích thời gian thực hiện tối đa cho các nhiệm vụ.

2.1.2. Các tham số đặc trưng cho hệ thời gian thực

Cho đến nay, có rất nhiều phƣơng pháp đã đƣợc đề xuất để nâng cao khả năng
dự báo của hệ thống thời gian thực. Để trình bày những kết quả này, tôi đƣa vào các
tham số đặc trƣng của một nhiệm vụ thời gian thực. Những tham số này sẽ đƣợc sử
dụng trong các phần sau.
𝑇𝑖
𝑅𝑇𝑖
𝐶𝑖
𝐽𝑖
𝑎𝑖

𝑡
𝑟𝑖

𝑓𝑖

𝑠𝑖

𝑑𝑖

𝐷𝑖

Hình 2.1. Các tham số đặc trƣng của một nhiệm vụ thời gian thực 𝜏𝑖 .
- Thời điểm đến (Arrival time) 𝒂𝒊 : là thời điểm mà tại đó nhiệm vụ đƣợc
kích hoạt, hay nói cách khác là nhiệm vụ yêu cầu đƣợc xử lý.


5

- Thời điểm phát hành (Release time) 𝒓𝒊 : là thời điểm mà tại đó nhiệm vụ
sẵn sàng để thực hiện

- Thời gian bắt đầu (Start time) 𝒔𝒊 : là thời gian mà một nhiệm vụ bắt đầu
thực hiện.
- Thời gian kết thúc (Finishing time) 𝒇𝒊 : là thời gian mà một nhiệm vụ kết
thúc thực hiện.
- Thời gian tính toán (Computation time) 𝑪𝒊 : là thời gian cần thiết để bộ xử
lý thực hiện nhiệm vụ mà không bị gián đoạn: 𝐶𝑖 = 𝑓𝑖 − 𝑠𝑖 .
- Kỳ hạn tuyệt đối (Absolute Deadline) 𝒅𝒊 : là thời gian mà nhiệm vụ phải
hoàn thành để không gây thiệt hại cho hệ thống.
- Kỳ hạn tƣơng đối (Relative Deadline) 𝑫𝒊 : là khoảng thời gian giữa kỳ hạn
tuyệt đối và thời gian kích hoạt: 𝐷𝑖 = 𝑑𝑖 − 𝑎𝑖 .
- Thời gian phản ứng (Response time) 𝑹𝑻𝒊 : là khoảng thời gian từ lúc
nhiệm vụ đƣợc kích hoạt cho đến khi nó kết thúc: 𝑅𝑇𝑖 = 𝑓𝑖 − 𝑎𝑖 .
- Vì một số lý do nhƣ sự chậm trễ của dữ liệu đầu vào mà một nhiệm vụ có
thể không sẵn sàng thực hiện ngay sau khi nó đƣợc kích hoạt. Để giải quyết vấn đề
này, tôi xét các nhiệm vụ với độ trễ phát hành (release jitters). Độ trễ phát hành 𝐽𝑖 của
nhiệm vụ 𝜏𝑖 là khoảng thời gian từ khi tác vụ đƣợc kích hoạt cho đến khi nó đƣợc phát
hành, hay đƣợc coi là sẵn sàng thực hiện.

𝐽𝑖

𝑇𝑖

t

Hình 2.2. Nhiệm vụ tuần hoàn với độ trễ phát hành.
Một đặc trƣng về thời gian khác xác định trên một nhiệm vụ thời gian thực liên
quan đến tính đều đặn trong việc kích hoạt của nhiệm vụ. Cụ thể, một nhiệm vụ có thể
đƣợc định nghĩa là tuần hoàn hoặc không tuần hoàn. Các nhiệm vụ tuần hoàn bao gồm
một chuỗi vô hạn các hoạt động giống hệt nhau đƣợc gọi là các tác vụ (jobs), chúng
đƣợc kích hoạt đều đặn với tốc độ không đổi hay nói cách khác là theo chu kỳ. Trong

khi đó, các nhiệm vụ không tuần hoàn thì các tác vụ của nó đƣợc kích hoạt không theo
chu kỳ.
Luận văn của tôi tập trung nghiên cứu các nhiệm vụ tuần hoàn. Để rõ ràng, tôi
ký hiệu một nhiệm vụ tuần hoàn là 𝜏𝑖 , tác vụ thứ 𝑙 của 𝜏𝑖 ký hiệu là 𝜏𝑖,𝑙 . Thời gian kích
hoạt của tác vụ thứ 𝑙 đƣợc cho bởi công thức 𝑎𝑖,𝑙= 𝑙 − 1 𝑇𝑖 − 𝐽𝑖 với 𝑇𝑖 là chu kỳ kích
hoạt của nhiệm vụ (khoảng thời gian giữa 2 lần kích hoạt liên tiếp của nhiệm vụ).
Trong thực tế, một nhiệm vụ tuần hoàn đƣợc đặc trƣng bởi thời gian tính toán 𝐶𝑖 , chu
kỳ 𝑇𝑖 , độ trễ phát hành 𝐽𝑖 và kỳ hạn tƣơng đối 𝐷𝑖 của nó. Gọi 𝜏 là một tập các nhiệm vụ
định kỳ, 𝜏 = 𝜏𝑖 𝑇𝑖 , 𝐶𝑖 , 𝐷𝑖 , 𝐽𝑖 , 𝑖 = 1, … , 𝑛 .


6

Tiếp theo, tôi sẽ đƣa ra những tham số đặc trƣng cho một tác vụ của nhiệm vụ
tuần hoàn.

Tác vụ thứ 𝑙 (𝜏𝑖,𝑙 )

Tác vụ đầu tiên

𝑅𝑇𝑖,𝑙

𝑇𝑖

𝜏𝑖
𝐽𝑖
𝑎𝑖,1

𝐶𝑖
𝑟𝑖,1


𝑡

𝐷𝑖

𝑎𝑖,𝑙

𝑓𝑖,𝑙 𝑑𝑖,𝑙

++

+

+

Hình 2.3. Chuỗi các tác vụ của một nhiệm vụ tuần hoàn
𝜏.
+ +𝑖
- Kỳ hạn tuyệt đối của tác vụ (𝒅𝒊,𝒍 ): là thời gian mà tác vụ phải hoàn thành
để tránh thiệt hại cho hệ thống: 𝑑𝑖,𝑙 = 𝑎𝑖,𝑙 + 𝐷𝑖
- Thời gian phản ứng của tác vụ: là thời gian từ lúc tác vụ đƣợc kích hoạt
cho đến khi kết thúc: 𝑅𝑇𝑖,𝑙 = 𝑓𝑖,𝑙 − 𝑎𝑖,𝑙 . Với 𝑓𝑖,𝑙 là thời gian hoàn thành của tác vụ thứ 𝑙
của 𝜏𝑖 .
- Thời gian phản ứng của 1 nhiệm vụ: là thời gian phản ứng lớn nhất trong
số tất cả các tác vụ của nó: 𝑅𝑇𝑖 = max1≤𝑙≤𝑛 𝑅𝑇𝑖,𝑙 .
- Hệ số sử dụng CPU của một nhiệm vụ: thể hiện tỉ lệ thời gian mà CPU đã
sử dụng để thực hiện nhiệm vụ này.
𝐶𝑖
𝑈𝑖 ≝
𝑇𝑖

- Hệ số sử dụng CPU của tập các nhiệm vụ: thể hiện tỉ lệ thời gian mà CPU
đã dùng để thực thi các nhiệm vụ này. Với 𝑈𝑖 là tỉ lệ thời gian mà CPU dùng vào việc
thực thi nhiệm vụ 𝜏𝑖 , do đó hệ số sử dụng CPU cho tập n nhiệm vụ đƣợc cho bởi công
thức sau:
𝑛

𝑈≝

𝑈𝑖
𝑖=1

Đây là một tiêu chuẩn để đánh giá tải trọng của CPU cho một tập các nhiệm vụ
tuần hoàn. Một hệ thời gian thực có khả năng lập lịch thì phải đảm bảo điều kiện cần
là hệ số sử dụng CPU là 𝑈 ∈ (0, 1]. Nếu 𝑈 > 1 thì hệ không thể lập lịch bằng bất kỳ
thuật toán nào do tồn tại 𝐶𝑖 > 𝑇𝑖 .


7

2.2. Các phƣơng pháp kiểm định dựa trên độ ƣu tiên cố định
2.2.1. Một số khái niệm về lập lịch
2.2.1.1. Lập lịch là gì
- Lịch trình: khi bộ xử lý đơn phải thực hiện nhiều nhiệm vụ một cách đồng
thời, các nhiệm vụ đó có thể chồng chéo lên nhau trong thời gian chạy. Nhƣng CPU
không thể xử lý cùng lúc nhiều nhiệm vụ, do đó nó cần đƣợc phân phối cho những
nhiệm vụ khác nhau theo một tiêu chuẩn đƣợc xác định trƣớc, đó là một lịch trình.
- Lập lịch: là một tập các quy tắc xác định thứ tự thực hiện của các nhiệm vụ
hay nói cách khác là xác định lịch trình.

2.2.1.2. Phân loại lập lịch

- Lập lịch ƣu tiên (preemptive): trong thuật toán lập lịch ƣu tiên, các nhiệm
vụ đang thực hiện có thể bị gián đoạn bất cứ lúc nào để nhƣờng bộ xử lý cho một
nhiệm vụ khác có độ ƣu tiên cao hơn.
- Lập lịch không ƣu tiên (non-preemptive): trong thuật toán này, một
nhiệm vụ, một khi bắt đầu, sẽ đƣợc thực hiện bởi bộ xử lý cho đến khi hoàn thành. Do
đó, các nhiệm vụ khác chỉ đƣợc thực hiện sau khi nhiệm vụ đó đã chấm dứt hoạt động.
- Lập lịch tĩnh (static): các tham số lập lịch của hệ không thay đổi và đƣợc
xác định trƣớc khi hệ thống đi vào hoạt động.
- Lập lịch động (dynamic): việc lập lịch dựa trên các tham số động, có thể
thay đổi trong quá trình hệ thống hoạt động.
Đề tài của tôi là phân tích khả năng lập lịch của hệ thời gian thực trong trƣờng
hợp độ ƣu tiên cố định. Nghĩa là độ ƣu tiên của các nhiệm vụ không thay đổi mà đƣợc
xác định trƣớc. Một nhiệm vụ đang thực hiện có thể bị gián đoạn bất cứ lúc nào để
nhƣờng bộ xử lý cho một nhiệm vụ khác có độ ƣu tiên cao hơn.

2.2.1.3. Lập lịch dựa trên độ ƣu tiên cố định
Trong phƣơng pháp này, mỗi nhiệm vụ đƣợc gán một tham số lập lịch gọi là độ
ƣu tiên, tất cả các tác vụ của nhiệm vụ thực hiện dựa trên độ ƣu tiên này. Tại mọi thời
điểm, nhiệm vụ có độ ƣu tiên cao nhất đƣợc lựa chọn để thực hiện. Một nhiệm vụ đang
thực hiện sẽ bị gián đoạn để nhƣờng bộ xử lý cho nhiệm vụ có độ ƣu tiên cao hơn. Cơ
chế lập lịch này khá linh hoạt vì nó cho phép thực hiện một số thuật toán lập lịch bằng
cách thay đổi các quy tắc gán quyền ƣu tiên cho nhiệm vụ.
Hệ nhiệm vụ 𝜏 gọi là có khả năng lập lịch dựa trên độ ƣu tiên cố định nếu tồn
tại một thuật toán gán độ ƣu tiên cho các nhiệm vụ mà khi 𝜏 lập lịch dựa trên độ ƣu
tiên này thì tất cả các kỳ hạn đều đƣợc đáp ứng.
Ví dụ: Xét hệ gồm 5 nhiệm vụ 𝜏1 , 𝜏2 , 𝜏3 , 𝜏4 , 𝜏5 . Thời gian thực hiện và độ ƣu
tiên của các nhiệm vụ đƣợc cho trong bảng 2.1.


8


Bảng 2.1. Tập các nhiệm vụ có độ ƣu tiên cố định

Nhiệm vụ
𝜏1
𝜏2
𝜏3
𝜏4
𝜏5

Thời gian thực hiện (ms)
10
1
2
1
5

Độ ƣu tiên
3
1
4
5
2

Sử dụng thuật toán lập lịch dựa trên độ ƣu tiên, ta có thứ tự thực hiện của các
nhiệm vụ nhƣ sau:
𝜏2

𝜏5


0 1

𝜏1

6

𝜏3

16

𝜏4

18 19

Hai thuật toán lập lịch dựa trên độ ƣu tiên cố định đƣợc sử dụng phổ biến là
Rate Monotonic (RM) [8] và Deadline Monotonic (DM) [7]. Trong thuật toán RM, độ
ƣu tiên của các nhiệm vụ đƣợc gán bằng nghịch đảo của chu kỳ. Trong khi đó, DM lại
gán độ ƣu tiên cho các nhiệm vụ dựa trên nghịch đảo của kỳ hạn tƣơng đối.
- Lập lịch Rate Monotonic (RM): trong thuật toán này, một quy tắc đơn giản
để gán độ ƣu tiên cho các nhiệm vụ là dựa vào tỉ lệ yêu cầu của chúng. Cụ thể, nhiệm
vụ có tỉ lệ yêu cầu cao hơn, nghĩa là có chu kỳ ngắn hơn sẽ có độ ƣu tiên cao hơn. Nói
cách khác, trong thuật toán này, nhiệm vụ nào càng diễn ra thƣờng xuyên càng đƣợc
ƣu tiên. RM đƣợc biết đến là tối ƣu cho hệ với kỳ hạn tƣơng đối nhỏ hơn hoặc bằng
chu kỳ (𝐷𝑖 ≤ 𝑇𝑖 ).
Giả sử cho hệ nhiệm vụ nhƣ sau:
Bảng 2.2. Tập các nhiệm vụ đƣợc kích hoạt từ thời điểm 𝑡 = 0

Task
𝜏1
𝜏2


ri
0
0

Ci
2
4

Ti
5
7

Ta có 𝑇1 < 𝑇2 , do đó theo RM thì 𝜏1 có độ ƣu tiên cao hơn 𝜏2 .
- Lập lịch Deadline Monotonic (DM): trong thuật toán này, các nhiệm vụ
đƣợc gán độ ƣu tiên cố định tỉ lệ nghịch với kỳ hạn tƣơng đối của nó. Nghĩa là, tại mọi
thời điểm, nhiệm vụ nào càng gấp, có kỳ hạn tƣơng đối càng ngắn sẽ đƣợc ƣu tiên thực
hiện. DM đƣợc biết đến là tối ƣu cho cả trƣờng hợp kỳ hạn tƣơng đối vƣợt quá chu kỳ
(𝐷𝑖 > 𝑇𝑖 ).
Giả sử cho hệ nhiệm vụ nhƣ sau:
Bảng 2.3. Tập các nhiệm vụ với kỳ hạn không ràng buộc

Task

𝑪𝒊

𝑻𝒊

𝑫𝒊



9

𝜏1
𝜏2
𝜏3
𝜏4

1
1
2
1

4
5
6
11

3
4
5
12

Theo DM, ta có thứ tự ƣu tiên cho các nhiệm vụ lần lƣợt là 𝜏1 , 𝜏2 , 𝜏3 , 𝜏4 .
Đề tài của tôi áp dụng cho hệ có độ ƣu tiên cố định với kỳ hạn không ràng buộc,
do đó khi tiến hành thực nghiệm tôi sử dụng thuật toán lập lịch DM để gán độ ƣu tiên
cho các nhiệm vụ.

2.2.2. Những kết quả cơ bản
2.2.2.1. Bài toán nghiên cứu

Bài toán: Giả sử rằng các nhiệm vụ tuần hoàn chạy trên cùng một bộ xử lý, độc lập
với nhau. Tất cả các nhiệm vụ có độ ƣu tiên cố định, đƣợc thiết lập trƣớc khi ứng dụng
bắt đầu và không thay đổi trong quá trình hoạt động. Tại bất kỳ thời điểm nào, nhiệm
vụ có độ ƣu tiên cao nhất đƣợc lựa chọn để thực hiện trong số những nhiệm vụ đã sẵn
sàng. Không mất tính tổng quát, tôi giả sử rằng các nhiệm vụ đƣợc đánh chỉ số theo
thứ tự giảm dần của độ ƣu tiên: 𝜏1 có độ ƣu tiên cao nhất và 𝜏𝑛 có độ ƣu tiên thấp nhất.
Một nhiệm vụ tuần hoàn 𝜏𝑖 1 ≤ 𝑖 ≤ 𝑛 đƣợc đặc trƣng bởi thời gian thực hiện
𝐶𝑖 , kỳ hạn tƣơng đối 𝐷𝑖 , độ trễ phát hành 𝐽𝑖 và chu kỳ 𝑇𝑖 . Giả sử rằng kỳ hạn không
liên quan đến chu kỳ, hay nói cách khác là kỳ hạn không ràng buộc. Tác vụ thứ 𝑙 của
𝜏𝑖 đƣợc ký hiệu là 𝜏𝑖,𝑙 . Tôi giả sử rằng tất cả các tham số là số nguyên, 𝐽𝑖 < 𝑇𝑖 , và
𝐶𝑖 ≠ 0.

2.2.2.2. Hàm Request Bound Function (𝑅𝐵𝐹)
Hàm Request Bound Function của nhiệm vụ 𝜏𝑖 tại thời điểm t (𝑅𝐵𝐹 𝜏𝑖 , 𝑡 ) thể
hiện tổng thời gian mà 𝜏𝑖 yêu cầu CPU thực hiện trong khoảng thời gian (0, 𝑡]. Với bộ
xử lý có công suất đơn vị là 1 thì hàm này cũng chính là lƣợng công việc mà nhiệm vụ
𝜏𝑖 đòi hỏi CPU phải thực hiện trong khoảng thời gian trên.
𝑅𝐵𝐹 𝜏𝑖 , 𝑡 ≝

𝑡+𝐽 𝑖
𝑇𝑖

𝐶𝑖

(2.1)

Trong công thức này, mỗi lần nhiệm vụ 𝜏𝑖 phát hành 1 tác vụ thì 𝐶𝑖 đơn vị thời
gian xử lý đƣợc yêu cầu. Nói các khác, mỗi lần tăng lên 𝑇𝑖 đơn vị thời gian thì 𝐶𝑖 đơn
vị thời gian yêu cầu đƣợc thêm vào. Do đó, 𝑅𝐵𝐹 đƣợc gọi là hàm nhảy bậc, không liên
tục. Hàm này sẽ đƣợc sử dụng để tính tổng thời gian mà các nhiệm vụ yêu cầu CPU

thực hiện.


10

Tải
𝑅𝐵𝐹(𝜏𝑖 , 𝑡)

5𝐶𝑖
4𝐶𝑖
3𝐶𝑖
2𝐶𝑖
𝐶𝑖

t
−𝐽𝑖 0

𝑇𝑖

2𝑇𝑖

3𝑇𝑖

4𝑇𝑖

5𝑇𝑖

Hình 2.4. Hàm RBF (Request Bound Function).

2.2.2.3. Hàm Workload Function (𝑊)

Hàm Workload (𝑊𝑖,𝑙 (𝑡)) biểu diễn tổng thời gian (hay lƣợng công việc) yêu cầu
CPU thực hiện của tất các các nhiệm vụ có độ ƣu tiên cao hơn 𝜏𝑖 và thời gian thực hiện
của 𝑙 tác vụ đầu tiên của 𝜏𝑖 trong thời gian 𝑡.
𝑊𝑖,𝑙 𝑡 ≝ 𝑙𝐶𝑖 +

𝑗 <𝑖

𝑅𝐵𝐹(𝜏𝑗 , 𝑡)

(2.2)

Hàm này có ý nghĩa hết sức quan trọng trong việc phân tích khả năng lập lịch
cũng nhƣ tính thời gian phản ứng của nhiệm vụ. Điểm cắt giữa lƣợng công việc yêu
cầu CPU thực hiện và lƣợng công việc CPU thực hiện đƣợc chính là thời điểm hoàn
thành công việc. Sử dụng hàm này, chúng ta có thể định nghĩa 2 phƣơng pháp kiểm
định chính xác hệ có độ ƣu tiên cố định là RTA và PDA trong những phần sau.


11

Tải

𝑊𝑖,𝑙 (𝑡)

𝑦=𝑡

: Điểm hoàn thành công việc

t


0

Hình 2.5. Hàm W (Workload Function).

2.2.2.4. Thời điểm ngặt nghèo (Critical Instant)
Khi phân tích khả năng lập lịch của hệ thời gian thực, chúng ta luôn phải xét
trƣờng hợp xấu nhất, bi quan nhất có thể. Liu và Layland [8] đã định nghĩa thời điểm
ngặt nghèo của 1 nhiệm vụ là thời điểm làm cho nhiệm vụ có thời gian phản ứng lớn
nhất. Họ cũng chứng minh rằng thời gian phản ứng lớn nhất của 𝜏𝑖 xảy ra khi nó đƣợc
kích hoạt cùng lúc với tất cả các nhiệm vụ có độ ƣu tiên cao hơn (𝑟1 = 𝑟2 = … = 𝑟𝑛 =
0). Họ cũng đã chứng minh rằng thời gian phản ứng lớn nhất của 𝜏𝑖 chính là thời gian
phản ứng của tác vụ đầu tiên. Do đó, chỉ cần kiểm tra kỳ hạn của tác vụ đầu tiên để xác
định tất cả kỳ hạn của 𝜏𝑖 có đƣợc đáp ứng hay không. Kết quả này đúng trong trƣờng
hợp 𝐷𝑖 ≤ 𝑇𝑖 . Tuy nhiên, với trƣờng hợp 𝐷𝑖 > 𝑇𝑖 , Lehoczky [6] đã chứng mình rằng
cần phải kiểm tra kỳ hạn của tất cả các tác vụ trong khoảng bận rộn mức 𝑖 (level-i
busy period).
Đối với hệ có độ trễ phát hành, một nhiệm vụ không thể sẵn sàng thực hiện
ngay sau khi đƣợc kích hoạt. Trong thực tế, các nhiệm vụ này phải chờ đợi một thời
gian thì mới sẵn sàng thực hiện. Nhƣ vậy, thời gian phản ứng trong trƣờng hợp xấu
nhất cho hệ này xảy ra khi một nhiệm vụ bất kỳ 𝜏𝑖 sẵn sàng cùng lúc với các nhiệm vụ
có độ ƣu tiên cao hơn sau 𝐽𝑗 đơn vị thời gian 𝑗 < 𝑖 .


12

−𝐽1

𝑇1
−𝐽2


t

𝑇2

−𝐽3

t

𝑇3
0

t

Hình 2.6. Thời điểm ngặt nghèo.

2.2.2.5. Khoảng bận rộn mức i (level-i busy period)
Để xác định thời gian phản ứng trong trƣờng hợp xấu nhất của nhiệm vụ 𝜏𝑖 ,
khái niệm về khoảng bận rộn mức 𝑖 đƣợc giới thiệu. Khoảng thời gian khi mà chỉ có
các nhiệm vụ với độ ƣu tiên cao hơn hoặc bằng 𝑖 đang thực hiện. Khoảng thời gian này
đƣợc gọi là khoảng bận rộn mức 𝑖 (level- 𝑖 busy period [2,3]).
𝑅𝑇𝑖,1

𝑇𝑖

...
𝑎𝑖,1

𝑎𝑖,2 𝑓𝑖,1

𝑎𝑖,3


𝑓𝑖,2

𝑡
𝑎𝑖,𝑙

𝑓𝑖,𝑙−1

++

𝑓𝑖,𝑙

𝑎𝑖,𝑙+1
++

Khoảng bận rộn mức i
Hình 2.7. Khoảng thời gian bận rộn mức i.
Hình 2.7 cho thấy, trong khoảng bận rộn mức 𝑖, các tác vụ của 𝜏𝑖 đều bị trễ hẹn
(nghĩa là đều lấn sang tác vụ kế tiếp) do nó phải nhƣờng CPU cho các nhiệm vụ có độ
ƣu tiên cao hơn. Tuy nhiên, tác vụ thứ 𝑙 hoàn thành trong kỳ hạn mà không lấn sang
tác vụ kế tiếp, lúc này khoảng thời gian bận rộn mức 𝑖 kết thúc.

2.2.3. Các phương pháp kiểm định chính xác hệ có độ ưu tiên cố định
2.2.3.1. Response Time Analysis (RTA)
Phƣơng pháp này xác minh tính khả thi của hệ thống bằng cách tính toán thời
gian phản ứng trong trƣờng hợp tồi nhất (worst-case response times) của nhiệm vụ. So
sánh kết quả này với kỳ hạn tƣơng đối ta có thể xác định nhiệm vụ có khả năng lập
lịch hay không.



13

Dựa trên hàm 𝑊𝑖,𝑙 (𝑡) biểu diễn lƣợng công việc mà tác vụ 𝜏𝑖,𝑙 yêu cầu CPU xử
lý, chúng ta định nghĩa giao điểm đầu tiên giữa hàm này và đƣờng 𝑦 = 𝑡, ký hiệu là
𝑅𝑖,𝑙 cho mỗi tác vụ 𝜏𝑖,𝑙 nhƣ sau:
𝑅𝑖,𝑙 ≝ min 𝑡 > 0 | 𝑊𝑖,𝑙 𝑡 = 𝑡
(2.3)
Trong công thức trên, 𝑅𝑖,𝑙 chính là giao điểm mà tại đó lƣợng công việc yêu cầu
CPU thực hiện đúng bằng công suất của CPU. Nói cách khác là tại điểm này nhiệm vụ
đƣợc hoàn thành. Và nếu chúng đƣợc hoàn thành trong kỳ hạn thì nhiệm vụ có khả
năng lập lịch.

Tải

𝑦=𝑡
𝑊𝑖,𝑙 𝑡
𝑅𝑖,𝑙

𝑊𝑖,𝑙 𝑡 = 𝑡
: Điểm hoàn thành nhiệm vụ

t
0
Hàm tải công việc

Hàm công suất bộ xử lý

Hình 2.8. Hàm W (Workload Function) trong phƣơng pháp RTA.
Gọi số tác vụ trong khoảng bận rộn mức 𝑖 là 𝑁𝑖 , thì 𝑁𝑖 chính là chỉ số của tác vụ
cuối cùng trong khoảng này hay là chỉ số của tác vụ đầu tiên mà không lấn sang tác vụ

kế tiếp.
𝑁𝑖 ≝ min 𝑙 ∈ 𝑁 | 𝑅𝑖,𝑙 ≤ 𝑟𝑖,𝑙+1

(2.4)

Từ giao điểm 𝑅𝑖,𝑙 , thời gian phản ứng của tác vụ 𝜏𝑖,𝑙 (kí hiệu là 𝑅𝑇𝑖,𝑙 ) đƣợc định
nghĩa nhƣ sau:
𝑅𝑇𝑖,𝑙 ≝ 𝑅𝑖,𝑙 − 𝑟𝑖,𝑙

(2.5)

Thời gian phản ứng trong trƣờng hợp xấu nhất của nhiệm vụ 𝜏𝑖 kí hiệu là 𝑅𝑇𝑖
đƣợc định nghĩa nhƣ sau:


14

𝑅𝑇𝑖 ≝ max 𝑅𝑇𝑖,𝑙 | 𝑙 ≤ 𝑁𝑖

(2.6)

Trong phƣơng pháp RTA, nhiệm vụ 𝜏𝑖 có khả năng lập lịch khi và chỉ khi
𝑅𝑇𝑖 ≤ 𝐷𝑖 . Vì số lƣợng tác vụ trong khoảng bận rộn mức i (𝑁𝑖 ) là một số giả đa thức
[6], do đó thuật toán này có độ phức tạp giả đa thức.

Thuật toán:
-

Xét trƣờng hợp 𝐷𝑖 ≤ 𝑇𝑖 , chúng ta chỉ cần tính thời gian phản ứng của tác vụ đầu
(0)


tiên 𝜏𝑖,1 theo cách sau: 𝑊𝑖,1 =
(𝑘+1)

Tiếp tục tính 𝑊𝑖,1

𝑖
𝑗 =1

𝐶𝑗 .
𝑘+1

nhƣ sau: 𝑊𝑖,1

= 𝐶𝑖 +

(𝑘)
𝑖−1
𝑗 =1 𝑅𝐵𝐹(τj , 𝑊𝑖,1 ).

(𝑘)

Với 𝑊𝑖,1 là lƣợng công việc mà 𝜏𝑖,1 yêu cầu CPU thực hiện ở lần thứ k.
(𝑘+1)

Việc tính toán sẽ dừng lại khi 𝑊𝑖,1

(𝑘)

= 𝑊𝑖,1 , lúc này lƣợng công việc mà tác


vụ 𝜏𝑖,1 yêu cầu CPU thực hiện không thay đổi. Điểm này gọi là điểm chững, kí hiệu là
(∗)

𝑊𝑖,1 = 𝑅𝑖,1 . Khi đó, thời gian phản ứng của tác vụ 𝜏𝑖,1 đƣợc tính nhƣ sau: 𝑅𝑇𝑖,1 =
𝑅𝑖,1 − 0 + 𝐽𝑖 . Do đó, τ𝑖 có khả năng lập lịch nếu 𝑅𝑇𝑖,1 ≤ 𝐷𝑖 , ngƣợc lại thì τ𝑖 không có
khả năng lập lịch.
- Với trƣờng hợp 𝐷𝑖 > 𝑇𝑖 , chúng ta cần tính thời gian phản ứng của tất cả các tác vụ
trong khoảng bận rộn mức i. Thời gian phản ứng của tác vụ 𝜏𝑖,𝑙 đƣợc tính theo cách
(0)

sau: 𝑊𝑖,𝑙 = 𝑙𝐶𝑖 +
Tiếp tục tính

𝑖−1
𝑗 =1 𝐶𝑗 .
(𝑘+1)
𝑊𝑖,𝑙
nhƣ

(𝑘+1)

sau: 𝑊𝑖,𝑙

= 𝑙𝐶𝑖 +

(𝑘)
𝑖−1
𝑗 =1 𝑅𝐵𝐹(τ𝑗 , 𝑊𝑖,𝑙 ).


(𝑘)

Với 𝑊𝑖,𝑙 là lƣợng công việc mà tác vụ 𝜏𝑖,𝑙 yêu cầu CPU thực hiện ở lần thứ k.
(𝑘+1)

Việc tính toán sẽ dừng lại khi 𝑊𝑖,𝑙

(𝑘)

= 𝑊𝑖,𝑙 , lúc này lƣợng công việc mà tác
(∗)

vụ 𝜏𝑖,𝑙 yêu cầu CPU thực hiện không thay đổi. Khi đó, điểm chững 𝑊𝑖,𝑙 = 𝑅𝑖,𝑙 . Thời
(∗)

gian phản ứng của tác vụ 𝜏𝑖,𝑙 là: 𝑅𝑇𝑖,𝑙 = 𝑊𝑖,𝑙 − 𝑟𝑖,𝑙 . So sánh giá trị này với 𝑇𝑖 , nếu
𝑅𝑇𝑖,𝑙 > 𝑇𝑖 , nghĩa là khoảng bận rộn mức i chƣa kết thúc, ta xét tiếp tác vụ 𝜏𝑖,𝑙+1 .
Ngƣợc lại, chứng tỏ khoảng bận rộn đã kết thúc, chúng ta dừng việc tính toán.
Thời gian phản ứng trong trƣờng hợp tồi nhất của τ𝑖 đƣợc tính theo công thức:
𝑅𝑇𝑖 = max𝑙 ≤ 𝑁𝑖 𝑅𝑇𝑖,𝑙 . So sánh giá trị này với 𝐷𝑖 để xác định khả năng lập lịch của
nhiệm vụ τ𝑖 .
(0)

Trong phƣơng pháp này, giá trị của 𝑊𝑖,𝑙 đóng vai trò quan trọng trong việc
giới hạn số lần tính toán để tìm ra điểm nhỏ nhất mà 𝑊𝑖 𝑡 = 𝑡.
Ví dụ: Cho hệ nhiệm vụ với kỳ hạn không ràng buộc và độ trễ phát hành nhƣ sau:
Bảng 2.4. Hệ với kỳ hạn không ràng buộc và độ trễ phát hành


15


-

Ci

Di

Ti

Ji

τ1

1

8

4

2

τ2

2

7

6

3


τ3

3

15

8

5

Xét nhiệm vụ τ1 :
(0)

𝑊1,1 = 1
(1)

𝑊1,1 = 1 ⟹ 𝑅1,1 = 1
⟹ 𝑅𝑇1,1 = 1 + 𝐽1 = 1 + 2 = 3 < 𝑇1 = 4
-

⟹ 𝑅𝑇1 = max 𝑅𝑇1,𝑙 = 3 < 𝐷1 = 8. Do đó, τ 1 có khả năng lập lịch.
Xét nhiệm vụ τ 2
(0)

+ 𝑊2,1 = 𝐶2 + 𝐶1 = 2 + 1 = 3
(1)

3+𝐽 1


(2)

𝑇1
4+𝐽 1

𝑊2,1 = 𝐶2 +
𝑊2,1 = 𝐶2 +

𝑇1

3+2

=2+

=4

4
4+2

=2+

= 4 ⟹ 𝑅2,1 = 4

4

⟹ 𝑅𝑇2,1 = 𝑅2,1 − 1 − 1 𝑇2 + 𝐽2 = 4 − 0 + 3 = 7 > 𝑇2 = 6
(0)

+ 𝑊2,2 = 2 ∗ 𝐶2 + 𝐶1 = 4 + 1 = 5
5+𝐽 1


(1)

𝑊2,2 = 2 ∗ 𝐶2 +
(2)

𝑊2,2 = 2 ∗ 𝐶2 +

𝑇1
6+𝐽 1
𝑇1

=4+
=4+

5+2
4
6+2

=6
= 6 ⟹ 𝑅2,2 = 6

4

⟹ 𝑅𝑇2,2 = 𝑅2,2 − 2 − 1 𝑇2 + 𝐽2 = 3 < 𝑇2 = 6
-

⟹ 𝑅𝑇2 = max 𝑅𝑇2,𝑙 = 7 = 𝐷2 . Do đó τ 2 có khả năng lập lịch.
Tƣơng tự với τ 3
(0)


+ 𝑊3,1 = 𝐶3 + 𝐶2 + 𝐶1 = 3 + 2 + 1 = 6
(1)

𝑊3,1 = 𝐶3 +

6+𝐽 1

(2)

𝑇1
7+𝐽 1

(3)

𝑇1
8+𝐽 1

𝑊3,1 = 𝐶3 +
𝑊3,1 = 𝐶3 +

𝑇1

+
+
+

6+𝐽 2
𝑇2
7+𝐽 2

𝑇2
8+𝐽 2
𝑇2

=3+
=3+
=3+

6+2
4
7+2
4
8+2
4

6+3

+

=7

6
7+3

+

=8

6
8+3


+

= 8 ⟹ 𝑅3,1 = 8

6

⟹ 𝑅𝑇3,1 = 𝑅3,1 − 1 − 1 𝑇3 + 𝐽3 = 8 − 0 + 5 = 13 > 𝑇3 = 8
(0)

+ 𝑊3,2 = 2 ∗ 𝐶3 + 𝐶2 + 𝐶1 = 2 ∗ 3 + 2 + 1 = 9
(1)

𝑊3,2 = 2 ∗ 𝐶3 +

9+𝐽 1

(2)

𝑇1
11+𝐽 1

(3)

𝑇1
13+𝐽 1

𝑊3,2 = 2 ∗ 𝐶3 +
𝑊3,2 = 2 ∗ 𝐶3 +


𝑇1

+
+
+

9+𝐽 2
𝑇2
11+𝐽 2
𝑇2
13+𝐽 2
𝑇2

=6+
=6+
=6+

9+2

+

4
11+2
4
13+2
4

9+3
6


+
+

= 11

11+3
6
13+3
6

= 13
= 13


16

⟹ 𝑅3,2 = 13
⟹ 𝑅𝑇3,2 = 𝑅3,2 − 2 − 1 𝑇3 + 𝐽3 = 13 − 8 + 5 = 10 > 𝑇3 = 8
(0)

+ 𝑊3,3 = 3 ∗ 𝐶3 + 𝐶2 + 𝐶1 = 3 ∗ 3 + 2 + 1 = 12
(1)

𝑊3,3 = 3 ∗ 𝐶3 +

12+𝐽 1

(2)

𝑇1

16+𝐽 1

(3)

𝑇1
18+𝐽 1

𝑊3,3 = 3 ∗ 𝐶3 +
𝑊3,3 = 3 ∗ 𝐶3 +

𝑇1

+
+
+

12+𝐽 2
𝑇2
16+𝐽 2
𝑇2
18+𝐽 2
𝑇2

=9+
=9+
=9+

12+2
4
16+2

4
18+2
4

+
+
+

12+3
6
16+3
6
18+3
6

= 16
= 18
= 18

⟹ 𝑅3,3 = 18
⟹ 𝑅𝑇3,3 = 𝑅3,3 − 3 − 1 𝑇3 + 𝐽3 = 18 − 16 + 5 = 7 < 𝑇3 = 8
⟹ 𝑅𝑇3 = max 𝑅𝑇3,𝑙 = 13 < 𝐷3 = 15.
Do đó τ 3 có khả năng lập lịch.

2.2.3.2. Processor Demand Analysis (PDA)
Một cách tiếp cận khác để xác minh tính khả thi của hệ thống là kiểm tra lƣợng
công việc yêu cầu xử lý bởi các nhiệm vụ luôn nhỏ hơn hoặc bằng công suất của bộ xử
lý. Bản chất của phƣơng pháp này là tìm điểm nằm trong khoảng (0, 𝐷𝑖 ] làm cho
𝑊𝑖 (𝑡) ≤ 𝑡. Trong [5] đã trình bày phƣơng pháp PDA cho hệ với kỳ hạn ràng buộc. Và
đƣợc mở rộng cho hệ với kỳ hạn không ràng buộc trong [6]. Nó cũng dễ dàng mở rộng

cho hệ có độ trễ phát hành nhƣ sau:
Định lý 1: Hệ nhiệm vụ 𝜏 với độ trễ phát hành có khả năng lập lịch khi và chỉ khi
∀ τ𝑖 ∈ τ, ∀ 𝑙 𝑙 > 0 ∈ N, ∃ t ∈ (𝑟𝑖,𝑙 , 𝑑𝑖,𝑙 ], 𝑊𝑖,𝑙 (𝑡) ≤ 𝑡.
Để xác định độ phức tạp của thuật toán, chúng ta cần xác định đƣợc các thời
điểm mà tại đó định lý 1 cần đƣợc kiểm tra. Nhƣ trong [5], chúng ta có thể thiết lập tập
các điểm lập lịch trong khoảng bận rộn cần xét nhƣ sau:
𝑆𝑖 = {𝑎𝑇𝑏 − 𝐽𝑏

𝑏 = 1 … 𝑖 − 1, 𝑎 = 1 …

𝐷𝑖 + 𝐽 𝑏
𝑇𝑏

∪ {𝐷𝑖 }

(2.7)


17

Tải

y=t
𝑊𝑖,𝑙 (𝑡)

𝑊𝑖,𝑙 𝑡 ≤ 𝑡
Điểm cắt
Điểm lập lịch đầu tiên
sau điểm cắt


t
0
Hàm tải công việc

Hàm công suất bộ xử lý

Hình 2.9. Hàm W (Workload Function) trong phƣơng pháp PDA.
Hình 2.9 cho thấy điểm hình chữ nhật là điểm lập lịch đầu tiên sau khi nhiệm vụ
hoàn thành (điểm lập lịch đầu tiên sau điểm cắt). Tại điểm này ta thấy hàm 𝑊𝑖 (𝑡) ≤ 𝑡.
Nhƣ vậy, nếu điểm này nằm trong kỳ hạn thì nhiệm vụ có khả năng lập lịch.
Thuật toán: phân tích khả năng lập lịch của nhiệm vụ 𝜏𝑖 .
-


Bƣớc 1: Xét xem có tồn tại 𝑡𝑖,1
∈ (0, 𝐷𝑖 ] không ?
+ Nếu không tồn tại ⟹ kết luận nhiệm vụ không lập lịch đƣợc.

+ Nếu tồn tại ⟹ xét xem có tồn tại 𝑡𝑖,1
∈ (0, 𝑇𝑖 ] không ?

-

• Nếu tồn tại ⟹ kết luận nhiệm vụ lập lịch đƣợc và kết thúc.
• Nếu không tồn tại ⟹ tiếp tục bƣớc 2.

Bƣớc 2: Xét xem có tồn tại 𝑡𝑖,2
∈ 0, 𝑇𝑖 + 𝐷𝑖 không ?

-


+ Nếu không tồn tại ⟹ kết luận nhiệm vụ không lập lịch đƣợc.

+ Nếu tồn tại ⟹ xét xem có tồn tại 𝑡𝑖,2
∈ 0, 2𝑇𝑖 không ?
• Nếu tồn tại ⟹ kết luận nhiệm vụ lập lịch đƣợc và kết thúc.
• Ngƣợc lại ⟹ tiếp tục bƣớc 3.

Bƣớc 𝑘: Xét xem có tồn tại 𝑡𝑖,𝑘
∈ 0, 𝑘 − 1 𝑇𝑖 + 𝐷𝑖 không ?
+ Nếu không tồn tại ⟹ kết luận nhiệm vụ không lập lịch đƣợc.

+ Nếu tồn tại ⟹ xét xem có tồn tại 𝑡𝑖,𝑘
∈ 0, 𝑘𝑇𝑖 không ?



Nếu tồn tại ⟹ kết luận nhiệm vụ lập lịch đƣợc và kết thúc.
Ngƣợc lại ⟹ tiếp tục bƣớc 𝑘 + 1.


18

Ở mỗi bƣớc, 𝑡𝑖,𝑘
chính là điểm cắt đầu tiên không lấn sang tác vụ kế tiếp. Để tìm

𝑡𝑖,𝑘
∈ (0, 𝑡𝑟 ) ta thực hiện nhƣ sau:

Xây dựng tập 𝑆𝑖,𝑡 𝑟 :

𝑆𝑖,𝑡 𝑟 = {𝑎𝑇𝑏 − 𝐽𝑏

𝑏 = 1 … 𝑖 − 1, 𝑎 = 1 …

𝑡𝑟 + 𝐽𝑏
𝑇𝑏

∪ {𝑡𝑟 }


Duyệt tập 𝑆𝑖,𝑡 𝑟 từ trái sang phải xem có tồn tại 𝑊𝑖,𝑘 (𝑡) ≤ 𝑡, đó chính là 𝑡𝑖,𝑘
cần

tìm.
Nhƣ vậy, phƣơng pháp này không tính thời gian phản ứng mà tìm điểm cắt
trƣớc kỳ hạn. Ở mỗi bƣớc, ta đều thấy xét khả năng lập lịch trƣớc rồi mới xét xem tác
vụ có bị lấn sang tác vụ kế tiếp hay không. Điều kiện dừng của thuật toán là tồn tại

𝑡𝑖,𝑘
∈ (0, 𝑘𝑇𝑖 ] tức là nhiệm vụ 𝜏𝑖 hoàn thành và điểm cắt thuộc khoảng bận rộn mức 𝑖.
Ví dụ: Áp dụng phƣơng pháp này cho hệ nhiệm vụ với kỳ hạn không ràng buộc và có
độ trễ phát hành ở trên:
-

Xét nhiệm vụ 𝜏1 :

Bƣớc 1: Xét xem có tồn tại 𝑡1,1
∈ 0, 𝐷1 không ?
+ 𝑆1,8 = 2, 6, 8
𝑊1,1 2 = 1 < 2

+ 𝑆1,4 = 2, 4


⟹ Tồn tại 𝑡1,1
∈ 0, 𝐷1 và 𝑡1,1
∈ 0, 𝑇1 để 𝑊1 (𝑡) ≤ 𝑡.

Do đó 𝜏1 lập lịch đƣợc.
-

Xét nhiệm vụ 𝜏2 :

Bƣớc 1: Xét xem có tồn tại 𝑡2,1
∈ 0, 𝐷2 không ?
+ 𝑆2,7 = 2, 6, 7
𝑊2,1 2 = 1. 𝐶2 +
𝑊2,1 6 = 1. 𝐶2 +

2+ 𝐽 1

𝑇1
6+ 𝐽 1
𝑇1

𝐶1 = 2 +

𝐶1 = 2 +

2+ 2


4
6+ 2
4

1=3>2

1=4<6

+ 𝑆2,6 = 2,6


⟹ Tồn tại 𝑡2,1
∈ 0, 𝐷2 và 𝑡2,1
∈ 0, 𝑇2 để 𝑊2 𝑡 ≤ 𝑡. Do đó 𝜏2 lập lịch

đƣợc.
-

Xét nhiệm vụ 𝜏3 :

Bƣớc 1: Xét xem có tồn tại 𝑡3,1
∈ 0, 𝐷3 không ?
+ 𝑆3,15 = 2, 3, 6, 9, 10, 14, 15
𝑊3,1 2 = 1. 𝐶3 +

2 + 𝐽1
2 + 𝐽2
𝐶1 +
𝐶2
𝑇1

𝑇2


×