Mô
hình
thờigianthực
Topics
Khái niệmthời gian thực
Lậplịch
Thời gian
Các phương pháp tính
2
Vũ
Quang
Dũng
Sách
tham
khảo
P. Marwedel: Embedded System Design
(paperback), Springer Verlag, December 2005,
ISBN: 0387292373.
G.C. Buttazzo: Hard Real-Time Computing
Systems. Kluwer Academic Publishers, 1997.
W. Wolf: Computers as Components –
Principles of Embedded System Design. Morgan
Kaufman Publishers, 2000.
J. Teich: Digitale Hardware/Software Systeme,
Springer Verlag, 1997.
Khái
niệmcơ
bản
Hệ hard RT: các tác vụ củahệ thống bắtbuộc
phảinằm trong khoảng deadline cho phép của
hệ thống. Mọihoạt động nằm ngoài deadline đó
đượccoilàlỗicủahệ thống. (vượt quá WCET)
Hệ soft RT: tác vụ có thể do mộtsố nguyên
nhân, được phép gia hạn thêm thời gian ngoài
khoảng deadline củahệ thống, mà không gây
ảnh hưởng nghiêm trọng tớimôitrường cũng
như tính chính xác củahệ thống đó.
Lậplịch
Cho tậphợpcáctácvụ J = {J1, J2, …}
Lậplịch là sự gán cho các tác vụ sự xử lý, mà
mỗitácvụđượcthực thi hoàn toàn
Lậplịch có thểđượcxácđịnh như một hàm
số nguyên σ: R → N, trong đó σ(t) – tác vụ tại
thời điểmthựcthit. Nếu σ(t) = 0 thì tiếntrình
đượcgọilàrỗi (idle)
Nếu σ(t) thay đổi giá trị củanótạimộtthời
điểm nào đóthìtiếntrìnhđượcgọilàchuyển
đổingữ cảnh (context switch)
Lậplịch
(tiếp)
Đốivớimỗikhoảng mà σ(t) là hằng, thì tiến
trình đó đượcgọilàphầnthời gian (time slice)
Lậplịch ưutiênlàlậplịch mà các tác vụđang
hoạt động có thể bị ngắttùyý tạimọithời
điểm, và gán CPU cho tác vụ khác theo kế
hoạch đã đượclậptrước đó
Lậplịch
và
thờigian
Lậplịch có thể thựchiện được, nếumọitiếntrìnhcóthể
kết thúc theo mộtsự bắtbuộcchotrước
Tậphợpcáctiếntrìnhcóthể lậplịch được, nếutại đó
tồntạiítnhấtmộtgiảithuậtmàthủ tậplậplịch có thể
thựchiện được
Thờigianđếna
i
(arrival time) hay thờigiangiải phóng
(release time) r
i
là thờigianmàtại đótiếntrìnhsẵn sàng
để thựcthi
Sựước tính thờigianC
i
(computation time) là thờigian
cầnthiết để CPU thựcthimộttiến trình mà không xảyra
ngắt
Lậplịch
và
thờigian(tiếp)
Deadline d
i
là thời gian mà mỗitiếntrình
phải hoàn thành
Thời gian bắt đầus
i
(start time) là điểmbắt
đầuthựcthicủatiếntrình
Thời gian kết thúc f
i
(finishing time) là điểm
kết thúc thựcthicủatiếntrình
Lậplịch
và
thờigian
Sử dụng các định nghĩa trên, ta có d
i
≥ r
i
+ C
i
Sự trễ (lateness) L
i
= f
i
–d
i
, là sự trễ về kết thúc củatiến
trình so với deadline. Nếutiếntrìnhkếtthúctrước
deadline thì không có trễ
Thờigianvượttrội (exceeding time) E
i
= max(0, L
i
), là
thờigianmàtiến trình sau deadline
Tính lỏng lẻothời gian (slack time) X
i
= d
i
–a
i
–C
i
, là
thờigianlớnnhấtmàtiếntrìnhcóthể trễđểhoàn thành
trong deadline
Deadline
Deadline là khoảng thờigianmàmộttiếntrình
cần để hoàn thành
Relative deadline D
i
: là thời gian cho phép lớnnhất
đốivớimộttiếntrình
Absolute deadline d
i
: là thờigianmàtiếntrìnhbắt
buộcphải hoàn thành
Job và
task
Job – là đơnvị công việc đượclậplịch bởi
hệ thống
Task –làtậphợp các job có quan hệ tham
gia vào hệ thống
Lậplịch
và
thờigian
Tác vụ tuần hoàn τ
i
: sự nốitiếp liên tụccủa
những hoạt động đồng nhất, gọilàjobs, mà
đượchoạt động theo quy tắctạikhoảng cốđịnh
vớichukỳ T
i
. Thờigianhoạt động của job thứ
nhất đượcgọilàphaΦ
i
Ví
dụ
Computation time: C
1
=9, C
2
=12
Start time: s
1
=0, s
2
=6
Finishing time: f
1
=18, f
2
=28
Lateness: L
1
=-4, L
2
=1
Exceeding time: E
1
=0, E
2
=1
Slack time: X
1
=13, X
2
=11
Ép
buộc
quyền
ưutiên
Ép buộc quyền ưu tiên trong graphs có thể
đượcmôtả thông qua hướng không tuần hoàn
graph G, mà tiếntrìnhđượcthể hiệnbằng các
node và các quan hệ cao hơnbởicácmũitên
Có thể có các giải thích khác nhau
Mọisự kế thừacủatiếntrìnhđượcthực
thi (thực thi song song)
Mộtkếtthừacủatiếntrìnhđượcthựcthi
(không có sự lựa chon mang tính quyết
định)
Ví
dụ
Thực thi song song
Hình ảnh thu đượcacq1,
acq2
Xử lý ảnh mức độ thấp
edge1, edge2
Tách hình shape
Đốitượng vớikíchthướcH
Đốitượng nhậndạng rec
Phân
loạithuậttoánlậplịch
Thuậttoánlậplịch ưutiên–tiếntrìnhhoạt động có thể
bị ngắttạimọithời điểm, và gán sự xử lý tớitiếntrình
khác, thông qua sự lậplịch cho trước
Thuậttoánlậplịch không ưutiên–tiếntrình, mộtkhiđã
đượcthực thi, thi sẽ thực thi cho đếnkhikếtthúc
Thuậttoánlậplịch tĩnh–sự quyết định củalậplịch được
xây dựng trên những tham số cốđịnh, được gán cho
tiếntrìnhtrướckhithựcthi
Thuậttoánlậplịch động – sự quyết định củalậplịch
đượcxâydụng trên những tham sốđộng, mà có thể
thay đổi trong suốt quá trình thựcthi
Phân
loạithuậttoánlậplịch
Mộtthuật toán đượcgọilàtối ưunếucóthể tốigiản
đượcgiátrị hàm được định nghĩatrongtiếntrình
Mộtthuật toán đượcgọilàtự tìm (heuristic algorithm)
nếunónhắmtớisự hoàn thiện, nhưng không đảmbảo
tìm ra sự lậplịch tối ưu
Các
phép
tính
Ví
dụ
Ví
dụ
lậplịch
(a) – sự trễ lớnnhất đượctốigiản, nhưng các tiếntrình
không nằm trong deadline
(b) – sự trễ lớnnhất đã đượctăng, nhưng chỉ mộttiến
trình không nằm trong deadline