Tải bản đầy đủ (.ppt) (40 trang)

báo cáo tiểu luận môn lập trình mạng lập trình về bộ tuần tự tuần hoàn trên vòng tròn ảo

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 (455.57 KB, 40 trang )

31/01/15 1
BÁO CÁO MÔN H CỌ
BÁO CÁO MÔN H CỌ
Đ tài: L P TRÌNH B TU N T TU N ề Ậ Ộ Ầ Ự Ầ
Đ tài: L P TRÌNH B TU N T TU N ề Ậ Ộ Ầ Ự Ầ
HOÀN TRÊN VÒNG TRÒN OẢ
HOÀN TRÊN VÒNG TRÒN OẢ
Giảng viên: PGS, TS. Lê Văn Sơn
Học viên : Huỳnh Công Trường
Lớp : KHMT – K24
BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG
31/01/15 2
Nội dung

Ph n I: Lý thuy t v b tu n t tu n ầ ế ề ộ ầ ự ầ
hoàn

Ph n II: Gi i thi u v các ph ng án ầ ớ ệ ề ươ
có s cự ố

Ph n III: Lầ ập trình về bộ tuần tự
tuần hoàn trên vòng tròn oả
31/01/15 3
PH N IẦ LÝ THUY T V B TU N Ế Ề Ộ Ầ
T TU N HOÀNỰ Ầ
I.Khái ni m b tu n tệ ộ ầ ự

B tu n t là đ i t ng đ ng b cung c p ộ ầ ự ố ượ ồ ộ ấ
cho m i yêu c u m t s có giá tr nguyên d ng ỗ ầ ộ ố ị ươ
(hay còn g i là m t tíc kê) nh m xác l p tr t ọ ộ ằ ậ ậ


t . Hai yêu c u k ti p nhau đ c th hi n b i ự ầ ế ế ượ ể ệ ở
hai s nguyên liên ti p, trong đó giá tr 0 đ c ố ế ị ượ
cung c p cho yêu c u đ u tiên.ấ ầ ầ
Gi s ta có b tu n t S, lúc này m t ti n ả ử ộ ầ ự ộ ế
trình mu n nh n giá tr t b tu n t S thì nó ố ậ ị ừ ộ ầ ự
ph i g i th t c hay hàm có tên là TICKET(S). ả ọ ủ ụ
Gi s r ng t t c các s ki n đ c đánh ả ử ằ ấ ả ự ệ ượ
s b i m t b tu n t duy nh t S. Khi m t ti n ố ở ộ ộ ầ ự ấ ộ ế
trình cung c p cho m t s ki n i m t s thông ấ ộ ự ệ ộ ố
qua TICKET(S), ta có th kh ng đ nh nh sau:ể ẳ ị ư
31/01/15 4
PH N IẦ LÝ THUY T V B TU N Ế Ề Ộ Ầ
T TU N HOÀNỰ Ầ
1. Các s ki n t bao hàm các giá tr nh h n t đã đ oc di n ự ệ ị ỏ ơ ự ễ
ra.
2. S th t s ki n k li n sau t ph i b ng t +1.ố ứ ự ự ệ ề ề ả ằ
Vi c tri n khai m t b tu n t c n ph i mang hai đ c ệ ể ộ ộ ầ ự ầ ả ặ
tính sau:

Đ c tính P1:ặ
N u a và b là hai s ki n th c hi n trên ế ự ệ ự ệ
cùng hàm TICKET(S), thì ta có a  b hay b  a. Đ c ặ
tính này th hi n vi c lo i tr t ng h trên các phép ể ệ ệ ạ ừ ươ ỗ
toán TICKET(S).

Đ c tính P2:ặ
N u a th c hi n phép t = TICKET(S) thì ế ự ệ
giá tr gán cho t là s l ng các phép TICKET(S) đã ị ố ượ
đ c th c hi n tr c a. Đ c tính P2 th hi n tính liên ượ ự ệ ướ ặ ể ệ
t c trong khi đánh s có nghĩa là không đ l i kho ng ụ ố ể ạ ả

tr ng khi đánh s .ố ố
31/01/15 5
PH N IẦ LÝ THUY T V B TU N Ế Ề Ộ Ầ
T TU N HOÀNỰ Ầ
V y: B tu n t là đ i t ng đ ng b ậ ộ ầ ự ố ượ ồ ộ
cung c p cho m i yêu c u m t s (hay ấ ỗ ầ ộ ố
còn g i là m t tíc kê) nh m xác l p ọ ộ ằ ậ
tr t t tu n hoàn. M t ti n trình ậ ự ầ ộ ế
mu n nh n giá tr t b tu n hoàn S ố ậ ị ự ộ ầ
thì nó ph i g i th t c (ho c hàm) có ả ọ ủ ụ ặ
tên là TICKET(S). M i m t giá tr ch ỗ ộ ị ỉ
ph c v cho m t và ch m t s ki n ụ ụ ộ ỉ ộ ự ệ
mà thôi.
31/01/15 6
PH N IẦ LÝ THUY T V B TU N Ế Ề Ộ Ầ
T TU N HOÀNỰ Ầ
I.2. n phong Ấ
Vi c v n d ng t ng đ i t ng quát b ệ ậ ụ ươ ố ổ ộ
tu n t S trong h phân tán là s ầ ự ệ ự
chuy n đ ng gi a các tr m m t đ i ể ộ ữ ạ ộ ố
t ng duy nh t g i là n phong ch a ượ ấ ọ ấ ứ
giá tr hi n hành c a b tu n t . Khi ị ệ ủ ộ ầ ự
m t tr m có n phong nó có th th c ộ ạ ấ ể ự
hi n hàm TICKET(S).ệ
31/01/15 7
PH N IẦ LÝ THUY T V B TU N Ế Ề Ộ Ầ
T TU N HOÀNỰ Ầ
I.3. Vòng tròn oả
Đ tri n khai m t n phong có k t qu , ể ể ộ ấ ế ả
đ u tiên ta c n ph i xác đ nh hành trình ầ ầ ả ị

c a nó trong m ng máy tính nh th nào. ủ ạ ư ế
Ph ng pháp đ n gi n nh t là l p đ t các ươ ơ ả ấ ắ ặ
tr m n m trên m t vòng tròn theo m t ạ ằ ộ ộ
chi u xác đ nh. M i tr m ch đ c liên h ề ị ỗ ạ ỉ ượ ệ
v i hai tr m g n nh t.ớ ạ ầ ấ
31/01/15 8
PH N IẦ LÝ THUY T V B TU N Ế Ề Ộ Ầ
T TU N HOÀNỰ Ầ
Xét m t m ng g m t p h p N tr m đ c n i v i ộ ạ ồ ậ ợ ạ ượ ố ớ
nhau và m t tr m b t kỳ trong m ng có th liên ộ ạ ấ ạ ể
l c v i các tr m khác trong m ng m t cách d ạ ớ ạ ạ ộ ễ
dàng. M i tr m trong m ng đ c phân ph i m t ỗ ạ ạ ượ ố ộ
l n m t s duy nh t t 0 đ n N-1. M t tr m i b t ầ ộ ố ấ ừ ế ộ ạ ấ
kỳ trong m ng s có tr m hàng xóm bên ph i (hay ạ ẽ ạ ả
tr m k ti p sau) mà s c a tr m đó là suc[i] và ạ ế ế ố ủ ạ
tr m hàng xóm bên trái (hay tr m k li n tr c) ạ ạ ề ề ướ
mà s c a nó là pred[i]. Lúc này suc[i]=i+1 modulo ố ủ
N và pred[i]=i-1 modulo N. S mô t này ki n ta ự ả ế
hình dung m t vòng tròn o. Hình v II.1 sau đây ộ ả ẽ
mô ph ng vòng tròn o gi a các tr m.ỏ ả ữ ạ
31/01/15 9
PH N IẦ LÝ THUY T V B TU N Ế Ề Ộ Ầ
T TU N HOÀNỰ Ầ
3
1
6
07 2
5
4
Trạm đang

giữ ấn phong
(thẻ bài)
Hàng xóm
trái
Hàng xóm
phải
4
2
1
0
7
3
6
5
31/01/15 10
PH N IẦ LÝ THUY T V B TU N Ế Ề Ộ Ầ
T TU N HOÀNỰ Ầ
M t s nguyên t c đ c đ t ra:ộ ố ắ ượ ặ

n phong đ c c th hoá trên m t vài c u hình Ấ ượ ụ ể ộ ấ
c a các bi n tr ng thái và quay trên vòng tròn o ủ ế ạ ả
luôn luôn theo m t chi u xác đ nh. ộ ề ị

Khi có s c x y ra m t tr m nào đó (gi s ự ố ả ở ộ ạ ả ử
tr m i) thì c n xây d ng l i (c u hình l i) vòng ạ ầ ự ạ ấ ạ
tròn đ vòng tròn có th ho t đ ng t t. T c là ể ể ạ ộ ố ứ
ph i c p nh t l i các giá tr c a suc[i] và pred[i] ả ậ ậ ạ ị ủ
c a hàng xóm bên ph i và bên trái c a tr m b s ủ ả ủ ạ ị ự
c .ố
Khi m t tr m b s c đã đ c kh c ph c và ho t ộ ạ ị ự ố ượ ắ ụ ạ

đ ng tr l i thì nó có th tham gia l i vào m ng ộ ở ạ ể ạ ạ
thông qua phép chèn.
31/01/15 11
PH N IẦ LÝ THUY T V B TU N Ế Ề Ộ Ầ
T TU N HOÀNỰ Ầ
I.4. Hai thu t toán di chuy n n phongậ ể ấ
I.4.1. n phong b ng bi n tr ng tháiẤ ằ ế ạ
M t ti n trình Pi đ c giao nhi m v di chuy n ộ ế ượ ệ ụ ể
n phong c n tuân th các nguyên t c sau đây:ấ ầ ủ ắ
1. Xét khi các tr m trong m ng không x y ra s cạ ạ ả ự ố
M t s nguyên K (K>1) đ c ch n trong t p h p c a ộ ố ượ ọ ậ ợ ủ
h . Trên tr m i v i iệ ạ ớ ∈{0 N-1}, m i ti n trình Pi đ c ỗ ế ượ
giao nhi m v di chuy n n phong ph i tuân th các ệ ụ ể ấ ả ủ
quy t c sau:ắ
- M i ti n trình Pi đ u có bi n tr ng thái S[i]ỗ ế ề ế ạ ∈{0 K-1},
31/01/15 12
PH N IẦ LÝ THUY T V B TU N Ế Ề Ộ Ầ
T TU N HOÀNỰ Ầ
- M i bi n S[i] đ u đ c c p nh t b i ti n ỗ ế ề ượ ấ ậ ở ế
trình Pi và có th đ c b i tr m k ti p sau ể ọ ở ạ ế ế
(hàng xóm ph i) c a Pi.ả ủ
- Thu t toán di chuy n tr ng thái n phong ậ ể ạ ấ
đ c th hi n nh sau:ượ ể ệ ư
a. Ti n trình Pi có n phong ch khi:ế ấ ỉ
S[i]≠S[i-1], cho i≠0
S[0]=S[N-1], cho i=0
31/01/15 13
PH N IẦ LÝ THUY T V B TU N Ế Ề Ộ Ầ
T TU N HOÀNỰ Ầ
Khi ti n trình Pi có n phong, thì nó ế ấ

ph i b n phong sau m t kho ng ả ỏ ấ ộ ả
th i gian xác đ nh và thay đ i tr ng ờ ị ổ ạ
thái c a nó.ủ
S[i]:=S[i-1], n u iế ≠0
S[i]:=S[i]+1 mod N, n u i=0ế
31/01/15 14
PH N IẦ LÝ THUY T V B TU N Ế Ề Ộ Ầ
T TU N HOÀNỰ Ầ
Đây là tr ng h p duy nh t mà ti n trình có ườ ợ ấ ế
th c p nh t các giá tr c a mình. Quy n ể ậ ậ ị ủ ề
bình đ ng gi a các tr m đ c đ m b o khi ẳ ữ ạ ượ ả ả
t t c các ti n trình Pi đ u s d ng thu t ấ ả ế ề ử ụ ậ
toán này. M i ti n trình đ u đ c nh n n ỗ ế ề ượ ậ ấ
phong khi đ n phiên mình và vì n phong ế ấ
trong m ng là duy nh t nên n u m t tr m ạ ấ ế ộ ạ
sau khi nh n đ c n phong nh ng l i ậ ượ ấ ư ạ
không vào đo n găng thì ph i l p t c gi i ạ ả ậ ứ ả
phóng nó.
31/01/15 15
PH N IẦ LÝ THUY T V B TU N Ế Ề Ộ Ầ
T TU N HOÀNỰ Ầ
Xét khi có x y ra s c m t tr m nào đó trong ả ự ố ở ộ ạ
m ng.ạ
Đ đ a m t tr m b s c đã đ c kh c ph c ể ư ộ ạ ị ự ố ượ ắ ụ
xong vào m ng, lúc này ta ph i đ nh l i c u hình ạ ả ị ạ ấ
c a vòng tròn o. Sau đó, ti n trình c n ph i kh i ủ ả ế ầ ả ở
đ ng l i S[i], mi n là tr m j=suc[i] không đ c ộ ạ ễ ạ ượ
phép đ c bi n S[j] c a mình trong th i gian vào ọ ế ủ ờ
đo n găng. Có nghĩa là:ạ
N u j<i thì S[i]:=S[j] -1 mod Kế

Ng c l i S[i]:=S[j]ượ ạ
31/01/15 16
PH N IẦ LÝ THUY T V B TU N Ế Ề Ộ Ầ
T TU N HOÀNỰ Ầ
I.4.2. Jecton tu n hoànầ
Ý t ng:ưở Thu t toán th hai [Le Lann], n phong ậ ứ ấ
đ c c th hóa b ng m t thông đi p đ c bi t ượ ụ ể ằ ộ ệ ặ ệ
g i là Jeton (th bài) tu n hoàn trên vòng tròn. ọ ẻ ầ
Nh th , vi c s c trên tr m có th d n đ n ư ế ệ ự ố ạ ể ẫ ế
m t Jeton. Các bi n tr ng thái đ c duy trì trên ấ ế ạ ượ
m i tr m cho phép tái sinh Jeton trong tr ng ỗ ạ ườ
h p b m t.ợ ị ấ
Thu t toán đ c tri n khai d a trên ý t ng này ậ ượ ể ự ưở
là:
31/01/15 17
PH N IẦ LÝ THUY T V B TU N Ế Ề Ộ Ầ
T TU N HOÀNỰ Ầ
1. Jeton mang giá tr là ị ν. M i tr m j có m t bi n ỗ ạ ộ ế
tr ng thái ạ
S[j]
. Tr c khi phát l i m t Jeton ướ ạ ộ
vào m ng, các tác đ ng nh sau đ c th c hi n:ạ ộ ư ượ ự ệ
S[j]:=ν Cho j≠0
ν:=ν+1 mod k; S[j]:=ν Cho j=0
2. M i m t l n di chuy n jeton trên tr m j, m t ỗ ộ ầ ể ạ ộ
đ ng h b o v đ c trang b . N u nó đ c ồ ồ ả ệ ượ ị ế ượ
phát đ ng tr c khi Jeton đ n thì j tham chi u ộ ướ ế ế
đ n bi n tr ng thái ế ế ạ
S[j]
c a tr m k li n tr c ủ ạ ề ề ướ

i=pred(i) trên vòng tròn.
31/01/15 18
Ph n IIầ
GI I THI U V CÁC PH NG ÁN Ớ Ệ Ề ƯƠ
CÓ S CỰ Ố
I. Gi i thi u v b tu n t trên kênh lan ớ ệ ề ộ ầ ự
truy nề

Xét tr ng h p liên l c gi a các tr m đ c ườ ợ ạ ữ ạ ượ
th c hi n b i m t kênh lan truy n duy nh t. ự ệ ở ộ ề ấ
Các tr m đ c n i v i nhau b i ạ ượ ố ớ ở
thi t b ế ị
truy n thôngề
(TBTT). Vi c c nh tranh truy ệ ạ
c p đ ng truy n, vi c x lý các xung đ t ậ ườ ề ệ ử ộ
và vi c nh n các thông đi p đ c th c hi n ệ ậ ệ ượ ự ệ
thông qua TBTT. Và theo thi t k , m t lúc ế ế ộ
ch có m t thông đi p đ c truy n.ỉ ộ ệ ượ ề
31/01/15 19
Ph n IIầ
GI I THI U V CÁC PH NG ÁN Ớ Ệ Ề ƯƠ
CÓ S CỰ Ố

Ta gi s r ng m i TBTT truy n các thông ả ử ằ ỗ ề
đi p vào đ ng truy n theo trình t mà ệ ườ ề ự
tr m liên l c v i nó xác đ nh và truy n l i ạ ạ ớ ị ề ạ
tr m này các thông đi p t đ ng truy n, ạ ệ ừ ườ ề
k c các thông đi p c a chính nó. Ngoài ể ả ệ ủ
ra, ta còn gi đ nh là đ ng truy n không ả ị ườ ề
h làm m t mát thông đi p và các TBTT ề ấ ệ

đ u s p x p các thông đi p theo m t tr t ề ắ ế ệ ộ ậ
t gi ng nhau.ự ố
31/01/15 20
Ph n IIầ
GI I THI U V CÁC PH NG ÁN Ớ Ệ Ề ƯƠ
CÓ S CỰ Ố
TBTT
K2
J3
K1
J2
I1
J1
Trạm I
I1
I2
TBTT
J1
J2
J3
Trạm J
K2
J3
K1
J2
I1
J1
TBTT
K1
K2

K3
Trạm K
K2
J3
K2
J2
I1
J1
Trật tự cục
bộ (hàng
đợi vào)
Trật tự toàn
cục (hàng
đợi ra)
Hình II.1.
Triển khai bộ tuần tự trên kênh truyền
Để thực hiện một bộ tuần tự phân tán S, trạm i nào đó cần phải
duy trì công tơ cục bộ và thực hiện cùng một thuật toán
31/01/15 21
Ph n IIầ
GI I THI U V CÁC PH NG ÁN Ớ Ệ Ề ƯƠ
CÓ S CỰ Ố
II. Thu t toán tri n khai phép toán Ticket()ậ ể
1. Ho t đ ng c a h th ng không có s cạ ộ ủ ệ ố ự ố
- Khi có m t ti n trình trên m t tr m mu n g i ộ ế ộ ạ ố ọ
phép toán Ticket(S) thì ph i có m t yêu c u đ t ả ộ ầ ặ
vào trong hàng đ i vào c a thi t b truy n thông ợ ủ ế ị ề
(TBTT). Ti n trình yêu c u đó c n ph i đ i cho ế ầ ầ ả ợ
đ n khi yêu c u c a nó xu t hi n trong hàng đ i ế ầ ủ ấ ệ ợ
c a TBTT: t i th i đi m đó, yêu c u này đã đ c ủ ạ ờ ể ầ ượ

lan truy n và nó đ c s p x p cùng v i các yêu ề ượ ắ ế ớ
c u khác.ầ
31/01/15 22
Ph n IIầ
GI I THI U V CÁC PH NG ÁN Ớ Ệ Ề ƯƠ
CÓ S CỰ Ố
- Tr m i x lý t t c các yêu c u Ticket(S) ạ ử ấ ả ầ
đang có trong hàng đ i c a TBTT c a nó. ợ ủ ủ
M i khi có m t yêu c u đ n t m t trong ỗ ộ ầ ế ừ ộ
các tr m khác, thì tr m i s n sàng tăng n i ạ ạ ẵ ộ
dung công t c c b c a mình lên. Khi có ơ ụ ộ ủ
m t yêu c u nào đó đ n t m t trong các ộ ầ ế ừ ộ
ti n trình c a chính tr m i thì ti n trình ế ủ ạ ế
này nh n giá tr hi n hành c a công t c c ậ ị ệ ủ ơ ụ
b và công t này tăng lên m t s gia. ộ ơ ộ ố
31/01/15 23
Ph n IIầ
GI I THI U V CÁC PH NG ÁN Ớ Ệ Ề ƯƠ
CÓ S CỰ Ố
2. X lý trong tr ng h p có s cử ườ ợ ự ố
- S c hay gián đo n v t lý t i m t tr m nào đó đ c ự ố ạ ậ ạ ộ ạ ượ
phát hi n s ngay l p t c thông báo đ n t t c các ệ ẽ ậ ứ ế ấ ả
tr m có ý đ nh liên l c v i nó (tr m b s c s không ạ ị ạ ớ ạ ị ự ố ẽ
lien l c đ c v i m ng). Chính vì v y mà s c x y ra ạ ượ ớ ạ ậ ự ố ả
v i tr m ch a vào đ c trong đo n găng không làm r i ớ ạ ư ượ ạ ố
lo n ho t đ ng c a gi i thu t v i đi u ki n là nó gây ạ ạ ộ ủ ả ậ ớ ề ệ
ra vi c truy n thông đi p ệ ề ệ
vang_mat
(v ng) cho vi c ắ ệ
chuy n t i t ng giao v n. Do có trang b nh th , ể ả ở ầ ậ ị ư ế

vi c vào đo n găng tr nên không đ c nhanh chóng và ệ ạ ở ượ
d dàng cho các tr m khác. N u tr m có s c đã g i ễ ạ ế ạ ự ố ở
yêu c u, thì nó k t thúc v i lý do tr thành tr c đ i ầ ế ớ ở ướ ố
v i t t c các tr m khác.ớ ấ ả ạ
31/01/15 24
Ph n IIầ
GI I THI U V CÁC PH NG ÁN Ớ Ệ Ề ƯƠ
CÓ S CỰ Ố
- Khi m t tr m l i đ c đ a vào trong m ng sau khi ộ ạ ạ ượ ư ạ
đã kh c ph c s c , nó c n ph i ki n t o l i tr ng ắ ụ ự ố ầ ả ế ạ ạ ạ
thái hi n hành c a các yêu c u. Đ đ m b o đi u ệ ủ ầ ể ả ả ề
đó, nó phát đi thông đi p ệ
vao_lai
(xin vào l i) và ạ
đ tr l i, các tr m g i ho c th i gian c a yêu ể ả ờ ạ ở ặ ờ ủ
c u cu i cùng c a nó REQ không đ c th a mãn ầ ố ủ ượ ỏ
(n u có t n t i m t REQ) ho c m t thông đi p ế ồ ạ ộ ặ ộ ệ
REL. M ng c n ph i b khuy t cho các tr m b s ạ ầ ả ổ ế ạ ị ự
c b ng cách g i thông đi p ố ằ ở ệ
vang_mat
. Khi nó đã
nh n t t c các tr l i cho thông đi p vao_lai, ậ ấ ả ả ờ ệ
tr m v a đ a vào đó có th b t đ u l i b ng các ạ ừ ư ể ắ ầ ạ ằ
yêu c uầ
31/01/15 25
Ph n IIầ
GI I THI U V CÁC PH NG ÁN Ớ Ệ Ề ƯƠ
CÓ S CỰ Ố
Đ có th t tham gia l i công vi c trong m ng ể ể ự ạ ệ ạ
sau s c , tr m i ph i g i yêu c u vào l i cho ự ố ạ ả ở ầ ạ

m t tr m nào đó trong s các tr m còn l i, ví ộ ạ ố ạ ạ
d nh j ch ng h n và đ t mình vào tr ng thái ụ ư ẳ ạ ặ ạ
l ng nghe đ ng truy n trong hàng đ i c a ắ ườ ề ợ ủ
TBTT c a mình. Tr m j s g i cho nó m t ủ ạ ẽ ở ộ
thông đi p đ ng b đ c p nh t. Khi thông ệ ồ ộ ể ậ ậ
đi p này xu t hi n trong hàng đ i c a TBTT, ệ ấ ệ ợ ủ
thì:
1. Tr m j là tr m c n ph i g i thông đi p cho i ạ ạ ầ ả ở ệ
hi u r ng nó ph i g i giá tr hi n hành c a ể ằ ả ở ị ệ ủ
công t c a nó.ơ ủ

×