H phân tán là t p h p các thi t b tính riêng r ệ ậ ợ ế ị ẽ có th giao ti p v i nhau ể ế ớ – Ví d : chíp VLSI, b đa x lý, m ng c c b , Internet ụ ộ ử ạ ụ ộ • H phân tán vs. h song song ệ ệ – H song song ph i h p nhi u b x lý nh m gi i ệ ố ợ ề ộ ử ằ ả quy t m t v n đ cho tr c m t cách nhanh nh t ế ộ ấ ề ướ ộ ấ – Trong h phân tán, m i b x lý nói chung có ch ng ệ ỗ ộ ử ươ trình làm vi c riêng bán đ c l p, vì l i ích chung nên ệ ộ ậ ợ c n ph i h p hành đ ng v i nhau ầ ố ợ ộ ớ • M c đích môn h c là nghiên c u các công c và ụ ọ ứ ụ k thu t xây d ng ph n m m phân tán
Trang 1CÁC H PHÂN TÁN Ệ
TS Nguy n Đ i Th ễ ạ ọ
B môn M ng & Truy n thông Máy tính ộ ạ ề
Khoa Công ngh Thông tinệ
nguyendaitho@vnu.edu.vn
Năm h c 2006ọ
Đ I H C QU C GIA HÀ N I Ạ Ọ Ố Ộ
TRƯỜNG Đ I H C CÔNG NGHẠ Ọ Ệ
Trang 2Tài li u tham kh o ệ ả
• Giáo trình
– Hagit Attiya, Jennifer Welch Distributed Computing:
Fundamentals, Simulations, and Advanced Topics, Second
Edition John Wiley & Sons, 2004.
• Sách tham kh o ả
– Valmir C Barbosa An Introduction to Distributed Algorithms MIT
Press, 1996.
– Vijay K Garg Elements of Distributed Computing John Wiley &
Sons, 2002.
– Vijay K Garg Concurrent and Distributed Computing in Java
John Wiley & Sons, 2004.
– Nancy A Lynch Distributed Algorithms Morgan Kaufmann, 1997 – Gerard Tel Introduction to Distributed Algorithms, Second
Trang 3Web sites
• Web site sách giáo trình
http://www.cs.technion.ac.il/~hagit/DC/
– Xây d ng b i ự ở Hagit Attiya
– Có nhi u đ a ch các khóa h c khác v cùng ch đ ề ị ỉ ọ ề ủ ề
• Web site bài gi ng ả
http://faculty.cs.tamu.edu/welch/teaching/668.f02/
– Xây d ng b i ự ở Jennifer Welch
– Ch a các slides dùng làm căn c chính cho bài gi ng trên l p ứ ứ ả ớ
• Các Web site khác
http://www.google.com/
– Ví d có th tìm theo các t khóa ụ ể ừ distributed algorithms course
Trang 4Ch ươ ng 1
Gi i thi u ớ ệ
Trang 5Khái ni m h phân tán ệ ệ
– Ví d : chíp VLSI, b đa x lý, m ng c c b , Internetụ ộ ử ạ ụ ộ
– H song song ph i h p nhi u b x lý nh m gi i ệ ố ợ ề ộ ử ằ ả
quy t m t v n đ cho trế ộ ấ ề ước m t cách nhanh nh tộ ấ
– Trong h phân tán, m i b x lý nói chung có chệ ỗ ộ ử ương trình làm vi c riêng bán đ c l p, vì l i ích chung nên ệ ộ ậ ợ
c n ph i h p hành đ ng v i nhau ầ ố ợ ộ ớ
– T p trung vào khía c nh gi i thu tậ ạ ả ậ
Trang 6Vai trò c a các h phân tán ủ ệ
– Ti n đ phát tri n các m ng máy tínhề ề ể ạ
– Giúp gi m chi phí h th ngả ệ ố
– H th ng v n ho t đ ng khi m t b ph n g p s cệ ố ẫ ạ ộ ộ ộ ậ ặ ự ố
– Th c hi n công vi c chung hay chia s công vi cự ệ ệ ẻ ệ
– Phân h th ng thành các ti n trình tác h p v i nhauệ ố ế ợ ớ
Trang 7Đ c tr ng c a các h phân tán ặ ư ủ ệ
– Không th đ ng b hóa đ ng h c a các b x lý ể ồ ộ ồ ồ ủ ộ ử
khác nhau vì không th bi t ch c đ tr truy n thôngể ế ắ ộ ễ ề – Dùng khái ni m nhân qu thay cho đ ng h v t lýệ ả ồ ồ ậ
– Các b x lý không th bi t độ ử ể ế ược tr ng thái toàn c c ạ ụ
c a h th ngủ ệ ố
– C n có gi i thu t đánh giá các tính ch t toàn c cầ ả ậ ấ ụ
– Không th phân bi t để ệ ược b x lý ch m hay b s ộ ử ậ ị ự cố
– C n xây d ng c ch phát hi n s cầ ự ơ ế ệ ự ố
Trang 8Lý thuy t h phân tán ế ệ
– D a trên các tiêu chí nh th i gian th c hi n, lự ư ờ ự ệ ượng
b nh s d ng, s thông báo trao đ iộ ớ ử ụ ố ổ
– Ph thu c nhi u vào gi thi tụ ộ ề ả ế
Trang 9Các lĩnh v c ng d ng ự ứ ụ
– Các ti n trình c n giao ti p v i nhauế ầ ế ớ
– Các server CSDL c n đầ ược ph i h p đ ng bố ợ ồ ộ
– Cho ch y nhi u chạ ề ương trình đ nâng cao đ tin c yể ộ ậ
– Thi t k các d ch v đi u khi n m ngế ế ị ụ ề ể ạ
– Các b x lý k t n i v i nhau c n ph i h p th c hi nộ ử ế ố ớ ầ ố ợ ự ệ
Trang 10T lý thuy t đ n ng d ng ừ ế ế ứ ụ
– Cũng g p ph i các v n đ lo i tr l n nhau, khóa ặ ả ấ ề ạ ừ ẫ
ch t, nh trong các h phân tán v t lýế ư ệ ậ
– N u có đ ng h chung thì s d ng mô hình đ ng bế ồ ồ ử ụ ồ ộ – N u không thì s d ng mô hình không đ ng bế ử ụ ồ ộ
– S d ng mô hình truy n thông báo không đ ng bử ụ ề ồ ộ
– Mô hình treo n u ng ng ho t đ ng không thông báoế ừ ạ ộ – Mô hình Byzantine n u khó hi u ho c có d ng ý ế ể ặ ụ
Trang 11PH N I Ầ
KI N TH C C S Ế Ứ Ơ Ở
Trang 12Ch ươ ng 2
TRUY N THÔNG BÁO C B N Ề Ơ Ả
Trang 13Mô hình truy n thông báo ề
2
1
2 3
1 2
2
Trang 14Tr ng thái ạ
– M i tr ng thái c a ỗ ạ ủ p i có 2r thành ph n đ c bi t ầ ặ ệ
outbuf i [l] và inbuf i [l], v i ớ l = 1 r
• outbuf i [l] ch a các thông báo ứ p i g i cho nút bên c nh trên kênh ử ạ
l nh ng ch a đ n n iư ư ế ơ
• inbuf i [l] ch a các thông báo ứ p i nh n đ ậ ượ c trên kênh l nh ng ư
ch a x lý ư ử
– T p tr ng thái ậ ạ Q i ch a m t t p con g m các tr ng thái ứ ộ ậ ồ ạ ban đ uầ
• Ở ạ tr ng thái ban đ u các ầ inbuf i [l] ph i r ngả ỗ
– Hàm chuy n c a ể ủ p i có đ u vào (tr ng thái kh truy ầ ạ ả
nh p) không bao g m các ậ ồ outbuf [l] và đ u ra là m t ầ ộ
Trang 15C u hình ấ
– Tr ng thái c a các bi n ạ ủ ế outbuf c a c u hình th hi n ủ ấ ể ệ các thông báo đang di chuy n trên các kênh truy nể ề – C u hình ban đ u là m t vect (ấ ầ ộ ơ q0, , q n-1) th a mãn ỏ
m i ỗ q i là m t tr ng thái ban đ u c a ộ ạ ầ ủ p i
• Nói cách khác c u hình ban đ u t t c các b x lý đ u ở ấ ầ ấ ả ộ ử ề ở
tr ng thái ban đ u t ạ ầ ươ ng ng ứ
Trang 16S ki n ự ệ
– S ki n giao ự ệ : chuy n m t thông báo t ể ộ ừ outbuf c a ủ bên g i đ n ử ế inbuf c a bên nh nủ ậ
• Thông báo s đ ẽ ượ c x lý ngay khi bên nh n th c hi n s ử ậ ự ệ ự
ki n tính toán ti p theo ệ ế
– S ki n tính ự ệ : m t bộ ước th c hi n c a b x lýự ệ ủ ộ ử
• T ươ ng ng v i vi c áp d ng hàm chuy n lên tr ng thái kh ứ ớ ệ ụ ể ạ ả truy nh p hi n th i ậ ệ ờ
Tr ng thái kh ạ ả
truy nh p cũ ậ
Tr ng thái ạ
kh truy nh p ả ậ
m i ớ Các thông báo
g i đi ử
+
S ki n tính ự ệ
- X lý các thông báo g i đ n ử ử ế
- Chuy n tr ng thái b x lý ể ạ ộ ử
Trang 17Th c hi n và tính th a đáng ự ệ ỏ
– Đi u ki n an toàn ề ệ : đi u ki n ph i đúng v i m i ti n ề ệ ả ớ ọ ề
t h u h n c a chu i mô tố ữ ạ ủ ỗ ả
• Ch a có đi u gì x u x y ra ư ề ấ ả
– Đi u ki n s ng đ ng ề ệ ố ộ : đi u ki n ph i đúng m t s ề ệ ả ộ ố
l n nh t đ nh (có th vô h n l n)ầ ấ ị ể ạ ầ
• Đi u t t s đ n ề ố ẽ ế
Trang 18Th c hi n không đ ng b ự ệ ồ ộ
– t lúc thông báo đừ ược g i đi cho đ n lúc giaoử ế
– ho c gi a các bặ ữ ước th c hi n c a b x lýự ệ ủ ộ ử
c u hình, s ki n, c u hình, s ki n, c u hình, ấ ự ệ ấ ự ệ ấ
– V i m i b ba (c u hình, s ki n, c u hình), c u hình ớ ỗ ộ ấ ự ệ ấ ấ
gi ng nh c u hình cũ ngo i trố ư ấ ạ ừ
• Tr ườ ng h p s ki n giao : thông báo đã cho đ ợ ự ệ ượ c chuy n t ể ừ
outbuf c a bên g i đ n ủ ử ế inbuf c a bên nh nủ ậ
• Tr ườ ng h p s ki n tính : tr ng thái c a b x lý đã cho ợ ự ệ ạ ủ ộ ử (bao g m các ồ outbuf) thay đ i theo hàm chuy n c a nóổ ể ủ
Trang 19Th c hi n đ ng b ự ệ ồ ộ
giao giao giao tính tính tính tính
– Đ u tiên giao t t c các thông báo có trong các ầ ấ ả outbuf
– Sau đó m i ỗ p0, p1, , p n-1 th c hi n m t bự ệ ộ ước tính
– Có th mô ph ng đ ho t đ ng theo các mô hình ể ỏ ể ạ ộ
th c t h nự ế ơ
Trang 20Th a đáng v i các mô hình ỏ ớ
– M i thông báo trong các ọ outbuf nh t đ nh s đấ ị ẽ ược giao – M i b x lý th c hi n vô h n bọ ộ ử ự ệ ạ ước tính
– Ng m th a mãn hai đi u ki n th a đáng không đ ng ầ ỏ ề ệ ỏ ồ bộ