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

Tác vụ tuần hoàn và không tuần hoàn ppt

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 (891.97 KB, 38 trang )

Tác

vụ

tuần

hoàn



không

tuần

hoàn
Topics
 Khái niệm
 Tác vụ không tuần hoàn
 Khoảng deadline sớmnhất đầu tiên
 Tác vụ tuần hoàn
 Lậplịch đơn điệu
2


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.
Mởđầu
 Lậplịch trong tác vụ không tuần hoàn với
thời gian thực thông qua mộtsố thuật toán
 Theo deadline sớmnhất (EDD – Earliest
Deadline Due)
 Deadline sớmnhất đầu tiên (EDF – Earliest
Deadline First)
Theo deadline sớmnhất(EDD)
 Luật Jackson: Cho mộtbộ n tác vụ. Xử lý theo
thứ tự của các deadline không giảmlàsự tìm
giá trị tối ưunhỏ nhấtcủakhoảng trễ cực đại.
 Chứng minh:
EDD ví

dụ

1
EDD ví


dụ

2
Deadline sớmnhất

đầutiên(EDF)
 Luật Horn: Cho a là tậphợp n tác vụđộclậpvới
thờigianđếntùyý, bấtkỳ thuật toán mà tác vụ
tuân theo, thựcthivới deadline tuyệt đốisớm
nhất trong các tác vụ sẵn sàng, thì thuật toán đó
là tối ưu khi tìm cách làm giảmgiátrị của độ trễ
cực đại.
 Chứng minh: Cho mỗikhoảng thời gian [t, t+1)
đượcchứng thực, khi tác vụ thựcthụ thựcthilà
với deadline tuyệt đốisớmnhất. Nếu không phải
như trên, thì tác vụ với deadline tuyệt đốisớm
nhất đượcthực thi trong khoảng thời gian thay
thế. Sự hoạt động đó không làm tăng khoảng trễ
cực đại.
EDF tiếp
 Các đạilượng sử dụng như sau:
 σ(t) – nhậnbiếttácvụ thực thi trong khoảng
[t, t+1)
 E(t) – nhậnbiếttácvụ sẵn sàng tạithời gian t,
mà có deadline sớmnhất.
 t
E
(t) – là thờigian(≥ t) mà mỗikhoảng tiếp
theo củatácvụ E(t) bắt đầuthực thi theo sự
lậplịch hiệntại.

EDF tiếp
Tác

vụ

nào

đang

thựcthi?
Tác

vụ

nào



deadline sớmnhất?
Khoảng

thờigian
Khoảng

thờigian

thay

đổi
Trạng


thái

sau

khi

thay

đổi
EDF –

tiếp
 Đảmbảo
 Thờigiankết thúc xấunhấtcủatácvụ i:
 Trong đóc
k
là thờigianthựcthi
xấunhấtcònlạicủatácvụ k.
 Điềukiện đảmbảoEDF:
 Thuật toán
Algorithm: EDF_guarantee (J, Jnew)
{ J’=J∪{J
new
}; /* ordered by deadline */
t = current_time();
f
0
= 0;
for (each J

i
∈J’) {
f
i
= f
i-1
+ c
i
(t);
if (f
i
> d
i
) return(INFEASIBLE);
}
return(FEASIBLE);
}
EDF –



dụ
ThuậttoánEDF*
 Vấn đề trong lậplịch vớin tácvụ vớiépbuộc
quyền ưu tiên có thểđượcgiải quyết trong hàm
đathứcvề thờigiannếutácvụđược ưu tiên.
 ThuậttoánEDF* xácđịnh sự lậplịch có thể thực
hiện đượctrongtrường hợptồntạimộttácvụ
ép buộc quyền ưu tiên.
 Đảmbảovề sự tồntạicủasự lậplịch đúng đắn

 Tác vụ bắt đầuthực thi không sớmhơnthờigiangiải
phóng và không sớmhơnthờigiankết thúc củatác
vụ ngay trước đó.
 Tấtcả các tác vụ kết thúc sự thực thi trong deadline
củanó.
EDF* -

tiếp
 Tác vụ phảibắt đầusự thực thi không sớmhơnthời
gian giải phóng
 Tác vụ phải không bắt đầuthựcthisớmhơnthờigian
kết thúc nhỏ nhấtcủatácvụ trướcnó
Tác

vụ

b phụ

thuộcvàoa: J
a

→ J
b
 Giải pháp: r
j
* = max(r
j
, max(r
i
* + C

i
: J
i
→ J
j
))
EDF* -

tiếp
 Tác vụ phảikếtthúcthờigianthực thi theo
deadline
 Tác vụ phải không kết thúc thờigianthựcthi
muộnhơn giá trị bắt đầuthờigianlớnnhấtcủa
tác vụ sau nó
Tác

vụ

b phụ

thuộcvàoa: J
a

→ J
b
 Giải pháp: d
i
* = min(d
i
, min(d

j
* - C
j
: J
i
→ J
j
))
EDF* -

tiếp
 Thuật toán dành cho giải phóng thờigian:
1.

Cho

bấtkỳđiểmbắt

đầu

nào

củacâyưutiênr
i

* = r
i
2.

Chọntácvụ


j sao

cho

thờigiangiải

phóng

không

thay

đổi,
nhưng

thờigiangiải

phóng

củatấtcả

các

tác

vụ

liềntrướcnói



thay

đổi. Nếu

không

tồntại, thoát

khỏithuật

toán.
3.

r
j

* = max(r
j

, max(r
i

* + C
i

: J
i

→ J

j

))
4.

Quay lạibước2.
 Thuật toán dành cho deadline
1.

Cho

bấtkỳđiểmcuối

nào

củacâyưutiênd
i

* = d
i
2.

Lựachọntácvụ

i sao

cho

deadline của




không

thay

đổi,
nhưng

thờigiangiải

phóng

củatấtcả

các

tác

vụ

j ngay

sau

đó

thay

đổi. Nếu


không

tồntại, thoát

khỏithuật

toán.
3.

d
i

* = min(d
i

, min(d
j

* -

C
j

: J
i

→ J
j


))
4.

Quay lạibước2.


hình

tác

vụ

tuần

hoàn
 Γ : biểuthị tậphợptácvụ tuần hoàn
 τ
i
: biểuthị tác vụ tuần hoàn chung
 Τ
i,j
: biểuthị trường hợpthứ j củatácvụ I
 r
i,j
: biểuthị thờigiangiải phóng (release)
 s
i,j
: biểuthị thờigianbắt đầu(start)
 f
i,j

: biểuthị thờigiankết thúc (finish)
 d
i,j
: deadline tuyệt đốicủathời điểmj trongtác
vụ i
 Φ
i
: pha củatácvụ i
 D
i
: deadline tương đốicủatácvụ i


hình

tác

vụ

tuần

hoàn
 Giả thuyết sau:
 Thời điểmcủatácvụ tuần hoàn đượckíchhoạt đều
đặntạimộtkhoảng cốđịnh. Khoảng T
i
giữa hai lần
kích hoạtliêntục đượcgọilàchukỳ. Thờigiangiải
phóng
r

i,j

= Φ
i

+ (j-1)T
i
 Tấtcả các thời điểm đều cùng có WCET C
i
 Tấtcả các thời điểmcủatácvụ tuần hoàn đều cùng
có một deadline tương đốiD
i
. Theo đó deadline tuyệt
đối tính theo công thứcsau
d
i,j

= Φ
i

+ (j-1)T
i

+ D
i
…tiếp
 Giả thuyết sau:
 Thông thường, deadline tương đốibằng vớichu
kỳ D
i

= T
i
, vì thế
d
i,j

= Φ
i

+ jT
i
 Tấtcả các tác vụ tuần hoàn đều độclậpvới
nhau, không có sựưu tiên và ràng buộctài
nguyên.
 Tác vụ không thể tự dừng.
 Mọitácvụđượcgiải phóng nhanh như khi nó tới
 Mọitầng trên của OS kernel theo giả thiếtbằng 0


dụ
Rate-monotonic Scheduling (RM)
 Mệnh đề:
 Tác vụưutiênđược gán cho tác vụ trướckhithựcthi
và không thay đổi trong thờigianthực thi. (phân bố
sựưutiêntĩnh)
 RM về bảnchấtlàsựưu tiên: tác vụđang thựcthi
được ưutiênbởitácvụ có độ ưutiêncaohơn.
 Deadline sẽ bằng chu kỳ D
i
= T

i
 Thuật toán: Mỗimộttácvụđượcgánchomột
độ ưu tiên. Tác vụ vớimức đòi hỏicaohơn(với
chu kỳ ngắnhơn) sẽ có mức ưu tiên cao hơn.
Tác vụ vớimức ưu tiên cao hơnsẽ ngắtcáctác
vụ vớimức ưu tiên thấp.
RM tiếp
 Tối ưu: RM đượctối ưu thông qua sự phân bố mức ưu
tiên cốđịnh mà không có thuật toán vềưutiêncốđịnh
đượclậplịch bởiRM.
 Phân tích khả năng lậplịch: bộ tác vụ tuần hoàn là có
thể lậplịch vớiRM nếu(điềukiện đủ)
 Biểuthức:
biểuthị

hệ

số

sử

dụng

bộ

xử



U, là


phân

số

củathời

gian

xử



trong

quá

trình

thựcthicủatácvụ
Deadline Monotonic Scheduling (DM)
 Mệnh đề: giống vớiRM, nhưng
 Deadline có thể nhỏ hơnchukỳ C
i
≤ D
i
≤ T
i
 Thuật toán: Mỗimộttácvụđượcgánvớimột
mức ưu tiên. Tác vụ với deadline nhỏ hơnsẽ có

mức ưutiêncaohơn. Tác vụ vớimức ưu tiên
cao hơnngắtcáctácvụ vớimức ưu tiên thấp.
 Phân tích khả năng lậplịch: tậphợpcủatácvụ
tuần hoàn là có thể lậplịch với DM nếu(điều
kiện đủ)
DM tiếp
 Sự cầnvàđủ kiểmtrakhả năng lậplịch
 Sựđòi hỏibộ xử lý trong trường hợpxấunhấtxảyra
khi mọitácvụđượcgiải phóng cùng mộtlúctạicác
thời điểm có tính quyết định của chúng.
 Cho mỗitácvụ i, tổng thờigianxử lý của chúng và sự
cảntrở bởicáctácvụ có mức ưutiêncaohơnphải
nhỏ hơnhoặcbằng D
i
 Đosự cảntrở trong trường hợpxấunhấtcủatácvụ i
có thểđược tính bằng tổng củathờigianxử lý của
mọitácvụởmức độ ưutiêncaohơn đượcgiải
phóng trướcthời gian t, mà theo thứ tự i < j Ù D
i
< D
j
DM tiếp
 Thời gian response dài nhấtR
i
củatácvụ
tuần hoàn i được tính bằng tổng thời gian
tính toán củanótạithời điểm có tính quyết
định, và sự cảntrở bởitácvụ có mức ưu
tiên cao hơnR
i

= C
i
+ I
i
 Kiểm tra tính lậplịch khả thi cầnphải tính
toán giá trị nhỏ nhấtcủaR
i
cho mọitácvụ
i vớiR
i
≤ D
i

×