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

Xấp xỉ hóa thời gian phản ứng và kiểm định khả năng lập lịch của một hệ thống thời gian thực trường hợp kì hạn ràng buộc sử dụng biểu đồ xấp xỉ

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.49 MB, 52 trang )

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

NGUYỄN VĂN TẬP

XẤP XỈ HÓA THỜI GIAN PHẢN ỨNG VÀ KIỂM ĐỊNH KHẢ NĂNG
LẬP LỊCH CỦA MỘT HỆ THỐNG THỜI GIAN THỰC TRƯỜNG
HỢP KÌ HẠN RÀNG BUỘC SỬ DỤNG BIỂU ĐỒ XẤP XỈ

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

Cán bộ hướng dẫn khoa học: TS. Nguyễn Thị Huyền Châu

Hà nội – 2013


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

NGUYỄN VĂN TẬP

XẤP XỈ HÓA THỜI GIAN PHẢN ỨNG VÀ KIỂM ĐỊNH KHẢ NĂNG
LẬP LỊCH CỦA MỘT HỆ THỐNG THỜI GIAN THỰC TRƯỜNG
HỢP KÌ HẠN RÀNG BUỘC SỬ DỤNG BIỂU ĐỒ XẤP XỈ


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

Hà nội – 2013



I
LỜI CẢM ƠN
Trƣớc tiên, tôi xin cảm ơn gia đình tôi đã luôn động viên, giúp đỡ tôi
trong quá trình thực hiện luận văn này.
Dƣới sự hƣớng dẫn của TS.Nguyễn Thị Huyền Châu, tôi đã hoàn
thành các nhiệm vụ đề ra của luận văn. Tôi xin gửi lời cảm ơn sâu sắc tới
TS.Nguyễn Thị Huyền Châu, ngƣời đã tận tình hƣớng dẫn tôi trong suốt
quá trình thực hiện luận văn này.
Tôi xin chân thành cảm ơn các thầy, cô giáo trong Bộ môn Công Nghệ
Phần Mềm, Khoa Công Nghệ Thông Tin, Phòng Đào tạo Sau Đại Học Nghiên cứu khoa học, Trƣờng Đại Học Công Nghệ - Đại Học Quốc Gia Hà
Nội đã tạo mọi điều kiện tốt nhất để tôi hoàn thành khóa học này. Đồng
thời, tôi cũng xin cảm ơn bạn bè, những ngƣời luôn khuyến khích và giúp
đỡ tôi trong mọi hoàn cảnh. Tôi xin cảm ơn cơ quan và các đồng nghiệp đã
hết sức tạo điều kiện cho tôi trong suốt quá trình học tập và làm luận văn
này.

Hà Nội, ngày 20 tháng 12 năm 2013
Học viên

Nguyễn Văn Tập

I



II

LỜI CAM ĐOAN
Tôi xin cam đoan những kiến thức trình bày trong luận văn này là do
tôi tìm hiểu, nghiên cứu và trình bày lại theo cách hiểu của tôi. Trong quá
trình làm luận văn tôi có tham khảo các tài liệu có liên quan và đã ghi rõ
nguồn tài liệu tham khảo đó. Các số liệu trong luận văn là trung thực.
Những kết quả trong luận văn chƣa từng đƣợc công bố trong bất cứ một
công trình nào khác.
Hà Nội, ngày 20 tháng 12 năm 2013
Học viên

Nguyễn Văn Tập

II


III
MỤC LỤC
Mở đầu .............................................................................................................. 1
CHƢƠNG 1: TỔNG QUAN VỀ HỆ THỐNG THỜI GIAN THỰC ............... 3
1.1 Hệ thống thời gian thực (Hệ thời gian thực) .............................................. 3
1.1.1 Khái niệm hệ thời gian thực ..................................................................... 3
1.1.2 Các đặc điểm chính của một hệ thời gian thực ........................................ 3
1.1.3 Phân loại hệ thời gian thực ....................................................................... 4
1.1.4 Kiểm định khả năng lập lịch của một hệ thời gian thực .......................... 4
1.2 Nhiệm vụ thời gian thực.............................................................................. 5
1.2.1 Khái niệm nhiệm vụ thời gian thực.......................................................... 5
1.2.2 Các thuộc tính của nhiệm vụ thời gian thực ............................................ 5

1.2.2.1 Các thuộc tính cơ bản ............................................................................ 5
1.2.2.2 Các thuộc tính dẫn xuất ......................................................................... 6
1.2.3 Phân loại nhiệm vụ thời gian thực ........................................................... 6
CHƢƠNG 2: CÁC PHƢƠNG PHÁP KIỂM ĐỊNH SỬ DỤNG ĐỘ ƢU
TIÊN TĨNH ....................................................................................................... 8
2.1 Độ ƣu tiên của các nhiệm vụ ....................................................................... 8
2.2 Các phƣơng pháp gán độ ƣu tiên cho nhiệm vụ.......................................... 8
2.2.1 Phƣơng pháp gán độ ƣu tiên tĩnh ............................................................. 8
2.2.2 Phƣơng pháp gán độ ƣu tiên động ........................................................... 9
2.3 Các phƣơng pháp kiểm định chính xác khả năng lập lịch của một hệ thời
gian thực ............................................................................................................ 9
2.3.1 Một số khái niệm quan trọng ................................................................... 9
2.3.2 Phƣơng pháp kiểm định dựa trên phân tích yêu cầu bộ vi xử lí .............. 10
2.3.3 Phƣơng pháp kiểm định dựa trên phân tích thời gian phản ứng .............. 15

III


IV
CHƢƠNG 3: SỬ DỤNG BIỂU ĐỒ XẤP XỈ ĐỂ KIỂM ĐỊNH KHẢ
NĂNG LẬP LỊCH VÀ TÍNH XẤP XỈ THỜI GIAN PHẢN ỨNG CỦA
CÁC NHIỆM VỤ CHO HỆ VỚI KÌ HẠN RÀNG BUỘC .............................. 17
3.1 Sử dụng Biểu đồ xấp xỉ để kiểm định khả năng lập lịch của một hệ thời
gian thực ............................................................................................................ 17
3.1.1 Kiểm định theo phƣơng pháp của Fisher ................................................. 18
3.1.2 Kiểm định theo phƣơng pháp của Nguyen Thi Huyen Chau................... 20
3.1.3 Xấp xỉ hóa thời gian phản ứng ................................................................. 24
3.1.4 Đánh giá độ phức tạp ............................................................................... 26
3.2 Phƣơng pháp kiểm định dựa trên cận trên thời gian phản ứng của Bini
and Baruah......................................................................................................... 28

CHƢƠNG 4: MÔ PHỎNG ĐÁNH GIÁ BIỂU ĐỒ XẤP XỈ ........................... 31
4.1Những đại lƣợng chính dùng trong chƣơng trình ........................................ 31
4.2 Kĩ thuật mô phỏng ....................................................................................... 32
4.3 Chƣơng trình mô phỏng .............................................................................. 33
4.4 Kết quả đạt đƣợc ......................................................................................... 35
CHƢƠNG 5: KẾT LUẬN ................................................................................ 41
5.1 Xuất xứ bài toán .......................................................................................... 41
5.2 Kết quả đạt đƣợc ......................................................................................... 41
5.3 Ý nghĩa và khả năng ứng dụng của Biểu đồ xấp xỉ .................................... 42
5.4 Hƣớng nghiên cứu ....................................................................................... 43
TÀI LIỆU THAM KHẢO ................................................................................. 44

IV


V
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 1.1: Minh họa một số thuộc tính của nhiệm vụ ....................................... 6
Hình 2.1: Đồ thị hàm RBF ................................................................................ 11
Hình 2.2: Hàm Wi(t) và hàm y = t..................................................................... 12
Hình 3.1: Hàm   i ,t  với k =4 ......................................................................... 18
Hình 4.1: Saiso của 2 phƣơng pháp nhóm theo n ............................................. 36
Hình 4.2: Tiso của 2 phƣơng pháp nhóm theo n ............................................... 37
Hình 4.3: Saiso của 2 phƣơng pháp nhóm theo U ............................................ 38
Hình 4.4: Tiso của 2 phƣơng pháp nhóm theo U .............................................. 39

V


MỞ ĐẦU

Ngày nay, các hệ thống thời gian thực ngày càng đóng một vai trò quan
trọng trong xã hội. Chúng đƣợc ứng dụng trong các lĩnh vực quan trọng nhƣ quốc
phòng, viễn thông, điều khiển hàng không, tự động hóa công nghiệp… Trong
những hệ thống này thì các nhiệm vụ đƣợc sản sinh một cách động trong thời gian
chạy mà không thể dự đoán trƣớc đƣợc. Việc chấp nhận hay từ chối một nhiệm vụ
mới sinh ra phụ thuộc vào tính lập lịch đƣợc hay không của hệ thống sau khi thêm
nhiệm vụ đó. Nếu một nhiệm vụ mới đƣợc sinh ra mà hệ thống vẫn lập lịch đƣợc
thì nhiệm vụ đó đƣợc chấp nhận và ngƣợc lại.
Hai phƣơng pháp kiểm định chính xác khả năng lập lịch của một hệ thời
gian thực với độ ƣu tiên tĩnh thƣờng đƣợc sử dụng là phƣơng pháp RTA (Response
Time Analysis) và phƣơng pháp PDA (Processor Demand Analysis). Cả hai
phƣơng pháp này đều có độ phức tạp giả đa thức và hiện nay ngƣời ta chƣa tìm
thấy một phƣơng pháp kiểm định chính xác nào có độ phức tạp đa thức. Việc tìm
ra một phƣơng pháp kiểm định giảm đƣợc độ phức tạp thuật toán trở thành một vấn
để đƣợc quan tâm.
Trong bối cảnh nhƣ vậy, phƣơng pháp kiểm định xấp xỉ đƣợc tính đến nhƣ
là một giải pháp. Trong các phƣơng pháp kiểm định xấp xỉ thì việc sử dụng Biểu
đồ xấp xỉ để kiểm định khả năng lập lịch cũng nhƣ tính xấp xỉ thời gian phản ứng
cho các nhiệm vụ của một hệ thời gian thực cho ta độ phức tạp đa thức, độ phức
tạp mà ta mong muốn.
Chính vì những lí do đó, tôi quyết định chọn đề tài Xấp xỉ hóa thời gian
phản ứng và kiểm định khả năng lập lịch của một hệ thống thời gian thực
trƣờng hợp kì hạn ràng buộc sử dụng Biểu đồ xấp xỉ.
Trong đề tài này, tôi hƣớng đến xây dựng một phƣơng pháp kiểm định tính
lập lịch cũng nhƣ tính xấp xỉ thời gian phản ứng cho các nhiệm vụ trong hệ thời
gian thực với độ ƣu tiên tĩnh dựa trên kỹ thuật Biểu đồ xấp xỉ. Kĩ thuật Biểu đồ xấp
1


xỉ sử dụng thuật toán có độ phức tạp đa thức và cung cấp một kết quả “xấp xỉ” về

thời gian phản ứng cũng nhƣ khả năng lập lịch của các nhiệm vụ trong hệ thống.
Độ chính xác của Biểu đồ xấp xỉ sẽ đƣợc đánh giá thông qua việc so sánh các kết
quả có đƣợc với kết quả có đƣợc từ một phƣơng pháp kiểm định xấp xỉ hiệu quả
khác là phƣơng pháp kiểm định dựa trên cận trên thời gian phản ứng của Bini and
Baruah . Đề tài này đƣợc áp dụng cho lớp hệ thời gian thực với kỳ hạn ràng buộc
và độ ƣu tiên tĩnh.
Nội dung của đề tài :
Chương 1: Tổng quan về hệ thời gian thực
Trình bày lí thuyết về hệ thời gian thực và các khái niệm trong hệ thời gian
thực.
Chương 2: Các phương pháp kiểm định sử dụng độ ưu tiên tĩnh
Trình bày các khái niệm về kiểm định sử dụng độ ƣu tiên tĩnh. Các thuật toán
kiểm định sử dụng độ ƣu tiên tĩnh. Phƣơng pháp kiểm định dựa trên phân tích thời
gian phản ứng (RTA) và phƣơng pháp kiểm định dựa trên phân tích yêu cầu bộ vi
xử lí (PDA).
Chương 3: Sử dụng Biểu đồ xấp xỉ để kiểm định khả năng lập lịch và tính xấp
xỉ thời gian phản ứng của các nhiệm vụ cho hệ với kì hạn ràng buộc.
Xây dựng phƣơng pháp kiểm định tính lập lịch và tính xấp xỉ thời gian phản
ứng của các nhiệm vụ nhờ sử dụng Biểu đồ xấp xỉ cho hệ trƣờng hợp kỳ hạn ràng
buộc.
Chương 4: Mô phỏng đánh giá Biểu Đồ Xấp Xỉ
Xây dựng mô phỏng để đánh giá Biểu đồ xấp xỉ bằng cách so sánh các kết
quả thu đƣợc với các kết quả có đƣợc từ phƣơng pháp kiểm định xấp xỉ của Bini
and Baruah.
Chương 5: Kết luận
2


CHƢƠNG 1: TỔNG QUAN VỀ HỆ THỜI GIAN THỰC
1.1 Hệ thời gian thực [1, 2]

1.1.1 Khái niệm hệ thời gian thực
Hệ thời gian thực là một hệ thống máy tính phải phản ứng kịp thời và chính
xác với các sự kiện trong môi trƣờng. Trong hệ thời gian thực thì kết quả đƣợc tạo
ra phải đáp ứng đầy đủ hai yêu cầu là độ chính xác về giá trị và tính kịp thời về mặt
thời gian. Một kết quả đƣợc tạo ra muộn có thể là vô ích hoặc thậm chí có thể gây
ra những thảm họa cho hệ thống.
Trong một hệ thời gian thực thì mỗi nhiệm vụ(task) có một kì hạn (deadline)
riêng, là thời điểm chậm nhất mà kết quả phải đƣợc tạo ra. Một kết quả đƣợc tạo ra
sau kì hạn của nhiệm vụ là vô ích hoặc thậm chí là có hại cho hệ thống.
1.1.2 Các đặc điểm chính của một hệ thời gian thực
Các đặc điểm chính của một hệ thời gian thực bao gồm:
 Tính bị động: Các nhiệm vụ có thể sản sinh thêm trong quá trình hoạt
động của hệ thống. Thời gian xuất hiện của các nhiệm vụ không thể biết
trƣớc nên hệ thống luôn ở trong trạng thái bị động.
 Tính kịp thời: Vì các nhiệm vụ có thể phát sinh ở một thời điểm bất kì
mà không dự đoán trƣớc đƣợc nên hệ thống đƣợc thiết kế để phản ứng
kịp thời với các nhiệm vụ phát sinh.
 Tính đồng thời: Trong quá trình hoạt động của hệ thống thì tại một thời
điểm có thể có nhiều nhiệm vụ đƣợc phát sinh. Vì vậy, hệ thống đƣợc
thiết kế để phản ứng đồng thời với các nhiệm vụ đƣợc phát sinh đó.
 Lập lịch dựa trên độ ưu tiên: Mỗi nhiệm vụ trong hệ thống sẽ đƣợc gán
một độ ƣu tiên. Độ ƣu tiên sẽ cho biết tầm quan trọng của nhiệm vụ trong
hệ thống. Nhiệm vụ có độ ƣu tiên cao hơn sẽ đƣợc thực hiện trƣớc.

3


1.1.3 Phân loại hệ thời gian thực
Thông thƣờng, một hệ thống thời gian thực có thể đƣợc phân thành một trong 2
loại sau:

 Hệ thời gian thực cứng (Hard realtime system): Là hệ thời gian thực mà
việc sản sinh kết quả chậm trễ sẽ gây ra những hậu quả thảm khốc không
những cho hệ thống mà còn trên nhiều phƣơng diện khác. Trong một hệ
thời gian thực cứng thì yêu cầu sản sinh kết quả kịp thời là đặc biệt quan
trọng. Chính vì tính chất nhƣ vậy nên hệ thời gian thực cứng thƣờng là
các hệ thống yêu cầu độ chính xác cao nhƣ phòng thủ tên lửa, điều khiển
hàng không…
 Hệ thời gian thực mềm (Soft realtime system): Là hệ thời gian thực mà
việc sản sinh kết quả chậm trễ thƣờng không gây ra tác hại và hệ thống
vẫn có thể hoạt động bình thƣờng. Đôi khi, kết quả đƣợc tạo ra này vẫn
còn có tác dụng cho hệ thống.
1.1.4 Kiểm định khả năng lập lịch của một hệ thời gian thực
 Tính lập lịch được của hệ thời gian thực: Trong một hệ thời gian thực,
số lƣợng các nhiệm vụ là tƣơng đối nhiều và nhiệm vụ có thể phát sinh
thêm trong quá trình hoạt động của hệ thống. Nếu bằng một cách phân
công thực hiện nào đó mà tất cả các nhiệm vụ đều đƣợc hoàn thành mà
không bị lỡ kì hạn của chúng thì hệ thống đó đƣợc gọi là lập lịch đƣợc.
Để biết hệ thống có lập lịch đƣợc hay không ta phải sử dụng một thuật
toán kiểm định nào đó.
 Thuật toán kiểm định: Ta có thể hiểu một tập hữu hạn các quy tắc và các
phép toán để kiểm tra xem một hệ thời gian thực có lập lịch đƣợc hay
không đƣợc gọi là một thuật toán kiểm định.

4


1.2 Nhiệm vụ thời gian thực (task)
1.2.1 Khái niệm nhiệm vụ thời gian thực
Một hệ thời gian thực thƣờng bao gồm nhiều nhiệm vụ thời gian thực. Việc
kiểm định khả năng lập lịch của hệ thống thực chất là tiến hành kiểm định khả

năng lập lịch của từng nhiệm vụ trong hệ thống từ đó kết luận đƣợc tính lập lịch
của cả hệ thống.
Ở mức khái niệm ta có thể hiểu một nhiệm vụ thời gian thực là một yêu cầu
cần đƣợc xử lí phát sinh trong môi trƣờng hoạt động của hệ thống. Thời gian xuất
hiện của các nhiệm vụ là không biết trƣớc và mỗi nhiệm vụ đều có một kì hạn
riêng.
Trong trƣờng hợp có một nhiệm vụ mới phát sinh, việc thêm nhiệm vụ này
vào có thể làm cho hệ thống không lập lịch đƣợc. Vì vậy, trƣớc khi quyết định
chấp nhận thực hiện một nhiệm vụ mới phát sinh, ngƣời ta phải tính toán xem liệu
sau khi thêm thì các kì hạn của các nhiệm vụ có đƣợc đáp ứng nữa hay không.
1.2.2 Các thuộc tính của một nhiệm vụ thời gian thực
1.2.2.1 Các thuộc tính cơ bản
Các thuộc tính cơ bản của một nhiệm vụ thời gian thực bao gồm:


ai : Là thời điểm mà tại đó nhiệm vụ yêu cầu đƣợc thực hiện.

 Ci : Thời gian thực thi. Là thời gian cần thiết để xử lí nhiệm vụ mà
không bị gián đoạn.
 di : Kì hạn. Là thời điểm chậm nhất mà kết quả phải đƣợc tạo ra.
 Ti : Chu kì. Sau mỗi chu kì thì nhiệm vụ lại yêu cầu thực hiện một lần
(phát sinh một job).
 Di : Kì hạn tƣơng đối. Là khoảng thời gian từ lúc nhiệm vụ yêu cầu đƣợc
thực hiện với kì hạn. Di = di – ai.

5


Hình 1.1: Minh họa một số thuộc tính của nhiệm vụ
1.2.2.2 Các thuộc tính dẫn xuất

Các thuộc tính dẫn xuất là các thuộc tính chỉ xuất hiện trong quá trình thực hiện
hoặc đƣợc tính thống qua các thuộc tính cơ bản của một nhiệm vụ.
Chúng bao gồm:
 Si : Là thời điểm mà nhiệm vụ bắt đầu đƣợc thực hiện.
 fi : Là thời điểm mà nhiệm vụ đƣợc thực hiện xong.
 Ri : Thời gian phản ứng. Là khoảng thời gian từ khi nhiệm vụ yêu cầu
thực hiện đến khi nhiệm vụ đƣợc thực hiện xong. Ri = fi – ai.
 ui : Là hệ số sử dụng bộ vi xử lí của nhiệm vụ, đƣợc tính bởi công thức
ui = Ci / Ti . Trong một hệ thì tổng các ui = U ≤ 1.
1.2.3 Phân loại nhiệm vụ thời gian thực
Một nhiệm vụ thời gian thực có thể phân thành một trong các loại sau:
 Nhiệm vụ cứng (Hard task): Một nhiệm vụ thời gian thực đƣợc gọi là
cứng nếu kết quả đƣợc tạo ra sau kì hạn của nó sẽ gây ra những thiệt hại
to lớn cho hệ thống.
 Nhiệm vụ trung gian (Firm task): Một nhiệm vụ đƣợc gọi là một trung
gian nếu kết quả đƣợc tạo ra sau kì hạn của nó không gây ra thiệt hại gì
cho hệ thống.

6


 Nhiệm vụ mềm (Soft task): Một nhiệm vụ đƣợc gọi là mềm nếu kết quả
đƣợc tạo ra sau kì hạn của nó vẫn còn có một chút tác dụng cho hệ thống.
Tuy nhiên, đi kèm với nó là sự xuống cấp của hệ thống.
 Nhiệm vụ định kì: Là nhiệm vụ mà cứ sau mỗi khoảng thời gian nhƣ
nhau(chu kì) thì lại yêu cầu đƣợc thực hiện. Mỗi lần yêu cầu đƣợc thực
hiện đó đƣợc gọi là một job.
 Nhiệm vụ không định kì: Là nhiệm vụ mà khoảng thời gian xuất hiện
các job là không giống nhau. Trong nhiệm vụ không định kì thì không
tồn tại thuộc tính chu kì.

 Nhiệm vụ với kì hạn ràng buộc: Là nhiệm vụ mà mối quan hệ giữa kì
hạn và chu kì bị ràng buộc bởi điều kiện kì hạn ≤ chu kì.
 Nhiệm vụ với kì hạn không ràng buộc: Là nhiệm vụ mà mối quan hệ
giữa kì hạn và chu kì không bị giới hạn bởi bất kì ràng buộc nào.

7


CHƢƠNG 2: CÁC PHƢƠNG PHÁP KIỂM ĐỊNH SỬ DỤNG ĐỘ ƢU TIÊN
TĨNH
2.1 Độ ƣu tiên của các nhiệm vụ
Một trong những đặc điểm của một hệ thời gian thực là lập lịch dựa trên độ
ƣu tiên. Theo cách thực hiện đó, mỗi nhiệm vụ trong hệ thống đều có một độ ƣu
tiên của riêng mình. Độ ƣu tiên sẽ cho biết độ quan trọng của nhiệm vụ trong hệ
thống và nhiệm vụ nào quan trọng hơn sẽ đƣợc ƣu tiên thực hiện trƣớc.
Nhƣ vậy, ở mức khái niệm ta có thể hiểu độ ƣu tiên của nhiệm vụ là một giá
trị số đƣợc gán cho nhiệm vụ để cho biết tầm quan trọng của nhiệm vụ đó trong hệ
thống.
Khi có một nhiệm vụ mới phát sinh có độ ƣu tiên cao hơn độ ƣu tiên của
nhiệm vụ đang đƣợc thực hiện thì nhiệm vụ đang đƣợc thực hiện sẽ bị gián đoạn để
nhƣờng CPU cho nhiệm vụ mới phát sinh. Việc tính độ ƣu tiên cho nhiệm vụ có
thể thực hiện theo nhiều cách khác nhau.
2.2 Các phƣơng pháp gán độ ƣu tiên cho nhiệm vụ
2.2.1 Phƣơng pháp gán độ ƣu tiên tĩnh
Trong phƣơng pháp gán độ ƣu tiên tĩnh thì mỗi nhiệm vụ chỉ đƣợc gán độ ƣu
tiên một lần và độ ƣu tiên này sẽ tồn tại trong suốt quá trình hoạt động của nhiệm
vụ trong hệ thống. Việc gán độ ƣu tiên một lần cố định cho nhiệm vụ sẽ giúp cho
việc lập lịch cũng nhƣ kiểm định cho hệ thống đƣợc thực hiện một cách thuận tiện.
Hai phƣơng pháp gán độ ƣu tiên tĩnh thƣờng đƣợc sử dụng là phƣơng pháp
gán độ ƣu tiên theo thuật toán RM(Rate Monotonic) và phƣơng pháp gán độ ƣu

tiên theo thuật toán DM(Deadine Monotomic).
 Phương pháp gán độ ưu tiên theo thuật toán RM: Theo thuật toán RM thì
nhiệm vụ nào có chu kì ngắn hơn thì sẽ đƣợc gán độ ƣu tiên cao hơn.

8


 Phương pháp gán độ ưu tiên theo thuật toán DM: Theo thuật toán DM thì
nhiệm vụ nào có kì hạn tƣơng đối(D) ngắn hơn thì sẽ đƣợc gán độ ƣu tiên
cao hơn.
2.2.2 Phƣơng pháp gán độ ƣu tiên động
Trong phƣơng pháp gán độ ƣu tiên động thì độ ƣu tiên của một nhiêm vụ có
thể thay đổi trong quá trình hoạt động của hệ thống. Nhƣ vậy, việc gán độ ƣu tiên
động là tƣơng đối phức tạp. Tuy nhiên, việc gán độ ƣu tiên động lại yêu cầu ít bộ
nhớ hơn việc gán độ ƣu tiên tĩnh.
Trong khuân khổ đề tài này, luận văn chỉ tiến hành nghiên cứu các phƣơng
pháp kiểm định tính lập lịch cho hệ thời gian thực với độ ƣu tiên tĩnh.
2.3 Các phƣơng pháp kiểm định chính xác khả năng lập lịch của một hệ thời
gian thực
Hiện nay có nhiều phƣơng pháp kiểm định khả năng lập lịch của một hệ thời
gian thực. Hai phƣơng pháp chính thƣờng đƣợc sử dụng là Kiểm định dựa trên
phân tích yêu cầu bộ vi xử lí (PDA) và Kiểm định dựa trên phân tích thời gian
phản ứng (RTA). Cả hai phƣơng pháp đều cho ta một kết quả chính xác về khả
năng lập lịch của một hệ thời gian thực và có độ phức tạp giả đa thức.
2.3.1 Một số khái niệm quan trọng
 Thời điểm ngặt nghèo (Critical instant)
Thời điểm ngặt nghèo là một khái niệm để chỉ ngữ cảnh tồi tệ nhất khi thực
hiện các nhiệm vụ. Theo [3] thì thời điểm ngặt nghèo mức i xảy ra khi nhiệm vụ
ở mức này có thời gian phản ứng lớn nhất và thời điểm ngặt nghèo cho một
nhiệm vụ bất kỳ xảy ra khi nhiệm vụ này đƣợc yêu cầu thực hiện đồng thời với

các nhiệm vụ có độ ƣu tiên cao hơn nhiệm vụ đó. Nhƣ vậy khi muốn tính thời
gian phản ứng lớn nhất cho nhiệm vụ thì ta cần tìm đƣợc điểm ngắt nghèo của
nhiệm vụ đó.
9


 Khoảng bận rộn mức i (Level - i busy)
Theo [5] thì khoảng bận rộn mức i là khoảng thời gian [a,b] mà các job của
các nhiệm vụ có độ ƣu tiên ≥ độ ƣu tiên của nhiệm vụ τi đƣợc thực hiện xong. Tất
cả thời gian phản ứng của nhiệm vụ τi là một phần của khoảng bận rộn mức i bao
gồm cả thời gian phản ứng lớn nhất.
Một nhiệm vụ đƣợc kết luận là lập lịch đƣợc thì đồng nghĩa với việc nhiệm
vụ đó phải kết thúc đƣợc khoảng bận rộn của mình. Việc kiểm định khả năng lập
lịch của nhiệm vụ cũng chỉ tiến hành với các điểm t trong khoảng bận rộn của
nhiệm vụ đó.
Trong trƣờng hợp hệ với kì hạn ràng buộc thì khoảng bận rộn của nhiệm vụ
τi chính là khoảng thời gian (0 , di ]. Vì vậy ta chỉ cần xét các điểm t thuộc khoảng
thời gian này.
2.3.2 Phƣơng pháp kiểm định dựa trên phân tích yêu cầu bộ vi xử lí (PDA)
Trong một hệ thời gian thực thì tổng thời gian yêu cầu thực hiện của các job
của nhiệm vụ τi tại thời điểm t đƣợc xác định bởi công thức:

Hàm RBF(τi , t) là một hàm lấy theo phần nguyên trên của tỉ số t / Ti vì vậy hàm
này chỉ thay đổi giá trị sau mỗi chu kì của nhiệm vụ.
Nhìn trong hình 2.1 ta có thể thấy hàm RBF(τi , t) là một hàm bậc thang và chúng
nhảy bậc sau mỗi chu kì của nhiệm vụ.

10



Tổng thời gian yêu cầu thực hiện của tất cả các job của các nhiệm vụ có độ
ƣu tiên lớn hơn độ ƣu tiên của nhiệm vụ τi và job đầu tiên của nhiệm vụ τi đƣợc
xác định bởi hàm:

Trong đó τj là nhiệm vụ có độ ƣu tiên cao hơn độ ƣu tiên của nhiệm vụ τi. Về bản
chất thì hàm Wi (t) là một hàm cộng dồn của các hàm RBF(τj , t) và thời gian thực
thi của job đầu tiên của nhiệm vụ τi. Ta chỉ xét thời gian thực thi của job đầu tiên
của nhiệm vụ τi vì hệ thời gian thực trƣờng hợp kì hạn ràng buộc thì thời gian phản
ứng lớn nhất diễn ra ở job đầu tiên của nhiệm vụ.
Nhìn trong hình 2.2 ta thấy hàm Wi(t) cũng là một hàm bậc thang nhƣng
bƣớc nhảy thì không đều nhƣ hàm RBF(τj,t) vì ở đây hàm Wi(t) là một hàm cộng
dồn của các hàm RBF(τj , t).

11


Hình 2.2: Hàm Wi ( t ) và hàm y = t
Về bản chất thì phƣơng pháp kiểm định PDA chỉ ra rằng nếu tồn tại một
điểm t thuộc (0,di] mà tại đó hàm Wi (t) ≤ t tức là tổng thời gian yêu cầu xử lí tại
thời điểm t ≤ thời gian đang xét thì nhiệm vụ là lập lịch đƣợc và ngƣợc lại. Các
định lí và hệ quả, các bƣớc thực hiện cũng nhƣ tính đúng đắn của phƣơng pháp sẽ
đƣợc trình bày tiếp theo dƣới đây.
Đặt[4]:

Định lí 2.1 [4]: Cho một tập nhiệm vụ định kì τ1, τ2 . . . τn.
 Nhiệm vụ τi được gọi là lập lịch được theo thuật toán RM khi và chỉ khi
Li ≤ 1.
 Tập các nhiệm vụ được gọi là lập lịch được theo thuật toán RM khi và chỉ
khi L≤ 1.
12



Trong cách thực hiện ở trên ta luôn phải xét các điểm t(0, Ti] và số điểm t
này là vô hạn. Trên thực tế, chỉ một số hữu hạn các điểm t cần kiểm tra vì hàm Wi
(t) là một hàm bậc thang vì vậy ta chỉ cần xét các điểm t mà tại đó hàm Wi (t) nhảy
bậc. Tập các điểm này gọi là tập các điểm lập lịch và đƣợc xác định nhƣ sau [4]:

Mỗi điểm trong tập Si đƣợc gọi là một điểm lập lịch của nhiệm vụ τi.
Định lí 2.2 [4]: Cho một tập nhiệm vụ định kì τ1, τ2….. τn.
 Nhiệm vụ τi được gọi là lập lịch được theo thuật toán RM khi và chỉ khi:

 Tập các nhiệm vụ được gọi là lập lịch được theo thuật toán RM khi và chỉ
khi:

Khi số lƣợng các nhiệm vụ càng nhiều thì tập Si càng lớn vì vậy ta luôn muốn
thu gọn tập Si càng ít càng tốt. Việc thu gọn tập Si này có vai trò quan trọng trong
việc giảm khối lƣợng công việc cần tính toán.
Định lí 2.3[7]: Một khoảng bận rộn mức i không thể kết thúc tại bất kì điểm t nào
thuộc khoảng thời gian (mTj , mTj + Cj ) nào với 1 ≤ j ≤ i, m là một số nguyên.
Dựa vào định lí 2.3 ta có thể giảm bớt số điểm t cần xét bằng cách loại bỏ
các điểm t thuộc (mTj , mTj + Cj ). Số điểm t đƣợc giảm bớt này sẽ là đáng kể khi
trong hệ thống có nhiều nhiệm vụ. Khi này ta xây dựng tập Si nhƣ sau [7]:

Nhƣ vậy qui trình để kiểm tra xem một hệ thời gian thực có lập lịch đƣợc hay
không theo phƣơng pháp PDA trong trƣờng hợp kì hạn ràng buộc là:
13


 Bƣớc 1: Sắp xếp các nhiệm vụ theo độ ƣu tiên giảm dần.
 Bƣớc 2: Lần lƣợt xét các nhiệm vụ từ đầu đến cuối, với mỗi nhiệm vụ τi ta

thực hiện:
- Bƣớc 2.1: Tính tập Si .
- Bƣớc 2.2: Duyệt lần lƣợt các điểm t trong tập Si từ đầu đến cuối. Với
mỗi điểm t ta tính hàm Wi (t) tƣơng ứng.
- Bƣớc 2.3: Nếu tồn tại t mà Wi (t) ≤ t thì nhiệm τi lập lịch đƣợc, ngƣợc
lại thì τi không lập lịch đƣợc.
Nếu tất cả các nhiệm vụ lập lịch được thì hệ thống là lập lịch được.
Ví dụ minh họa: Cho tập 3 nhiệm vụ τ1, τ2, τ3 với các thông số về thời gian
thực thi, kì hạn tƣơng đối và chu kỳ đƣợc cho trong bảng 2.1.

Với các thông số trong bảng ta thấy thứ tự ƣu tiên của các nhiệm vụ theo thuật toán
RM lần lƣợt là τ1, τ2, τ3.
 Xét nhiệm vụ τ1: Ta thấy τ1 có độ ƣu tiên cao nhất nên luôn đƣợc thực hiện
trƣớc và C1 < D1 nên τ1 luôn lập lịch đƣợc.
 Xét nhiệm vụ τ2:

Vậy nhiệm vụ τ2 lập lịch đƣợc.
14


 Xét nhiệm vụ τ3:

Tối giản tập S3 ta đƣợc:

Tính:

Ta thấy tại t = 9 thì W3(t) ≤ t nên τ3 lập lịch đƣợc. Vậy hệ với 3 nhiệm vụ cho
trong bảng 2.1 là lập lịch đƣợc.
2.3.3 Phƣơng pháp kiểm định dựa trên phân tích thời gian phản ứng (RTA)
Phƣơng pháp kiểm định RTA vẫn dựa trên cơ sở là hàm Wi(t). Tuy nhiên,

phƣơng pháp RTA hƣớng tới việc tính chính xác thời gian phản ứng lớn nhất của
nhiệm vụ rồi đem so sánh với kì hạn của nhiệm vụ đó để xét xem nhiệm vụ có lập
lịch đƣợc hay không. Nếu thời gian phản ứng lớn nhất mà ≤ kì hạn thì nhiệm vụ
đó là lập lịch đƣợc và ngƣợc lại.
Theo cách thực hiện đó, phƣơng pháp kiểm định RTA sẽ liên tục tính hàm
Wi (t) cho đến khi hàm này chững lại theo công thức:

. . . .

15


Ví dụ minh họa: Giả sử trong ví dụ trong bảng 2.1 ta đang xét nhiệm vụ τ3 theo
phƣơng pháp RTA. Khi đó các bƣớc thực hiện sẽ nhƣ sau:

Nhƣ vậy sự khác nhau cơ bản giữa phƣơng pháp PDA và phƣơng pháp RTA
là phƣơng pháp PDA chỉ ra tồn tại một điểm t mà tại đó nhiệm vụ là lập lịch đƣợc
trong khi đó phƣơng pháp RTA lại hƣớng tới việc tính chính xác thời gian phản
ứng lớn nhất của nhiệm vụ rồi đem so sánh với kì hạn của nhiệm vụ đó để kết luận
khả năng lập lịch của nhiệm vụ.

16


CHƢƠNG 3: SỬ DỤNG BIỂU ĐỒ XẤP XỈ ĐỀ KIỂM ĐỊNH KHẢ NĂNG
LẬP LỊCH VÀ TÍNH XẤP XỈ THỜI GIAN PHẢN ỨNG CỦA CÁC NHIỆM
VỤ CHO HỆ VỚI KÌ HẠN RÀNG BUỘC
Nhƣ ta đã biết để kiểm định tính lập lịch của một hệ thời gian thực thì hai
phƣơng pháp chủ yếu đƣợc sử dụng là PDA và RTA. Tuy nhiên, cả hai phƣơng
pháp này đều có độ phức tạp giả đa thức. Việc sử dụng Biểu đồ xấp xỉ để kiểm

định khả năng lập lịch cho một hệ thời gian thực sẽ giúp ta giảm đƣợc độ phức tạp
tính toán. Chƣơng 3 sẽ trình bày chi tiết cách sử dụng Biểu đồ xấp xỉ để kiểm định
khả năng lập lịch cũng nhƣ tính xấp xỉ thời gian phản ứng cho các nhiệm vụ trong
một hệ thời gian thực. Ngoài ra chƣơng 3 cũng trình bày một phƣơng pháp kiểm
định xấp xỉ hiệu quả là phƣơng pháp kiểm định dựa trên cận trên thời gian phản
ứng của Bini and Baruah từ đó so sánh kết quả có đƣợc từ Biểu đồ xấp xỉ với với
kết quả có đƣợc từ phƣơng pháp của Bini and Baruah để đánh giá Biểu đồ xấp xỉ
(đƣợc trình bày trong chƣơng 4).
3.1 Sử dụng Biểu đồ xấp xỉ để kiểm định khả năng lập lịch của hệ thống
Nhƣ đã trình bày trong chƣơng 2 thì tổng thời gian yêu cầu thực hiện của các
job của nhiệm vụ τi tại thời điểm t đƣợc diễn tả bởi một hàm theo thời gian:

Hàm RBF(τi , t ) là một hàm bậc thang và nó nhảy bậc sau mỗi khoảng thời
gian Ti, ta gọi đó là bƣớc nhảy. Trên cơ sở hàm RBF(τi , t ), một hàm xấp xỉ đƣợc
xây dựng mà ở (k-1) bƣớc đầu tiên thì hàm đó chính là hàm RBF(τi , t ).
Để xây dựng đƣợc một hàm nhƣ vậy, trƣớc tiên một hằng số ε đƣợc lựa chọn
thỏa mãn điều kiện 0 < ε < 1. Dựa trên hằng số ε này, k đƣợc xác định nhƣ sau:

1 
k    1

Khi đã có k ta có thể tiến hành kiểm định theo phƣơng pháp của Fisher [6] hoặc
Nguyen Thi Huyen Chau [7].
17


×