II.2.2 Qui tắc cho sự hoạt động gắn bó của các bộ cung cấp: stt Qui tắc 1 Các bộ cung cấp bắt buộc phải thực hiện cùng một giải thuật 2 Các bộ cung cấp đều nhận tất cả các thông điệp phá
Trang 1Môn học: Hệ Tin Học Phân Tán
• Tiểu luận môn học:
Trang 2NỘI DUNG
Phần I Lý thuyết
1 Khái quát chung về hệ phân tán
2 Bài toán bãi để xe ôtô và vấn đề đồng bộ hoá giữa
các tiến trình.
Phần II Bài tập : Bài số 4 chương IV – Trang 195.
Trang 3I KHÁI QUÁT VỀ HỆ TIN HỌC PHÂN TÁN:
1 Khái niệm:
Hệ tin học phân tán (Distributed System) là hệ thống
xử lý thông tin bao gồm nhiều bộ xử lý hoặc bộ vi
xử lý nằm tại các vị trí khác nhau được liên kết với
nhau thông qua phương tiện viễn thông dưới sự điều
khiển thống nhất của một hệ điều hành.
Trang 42 Đặc điểm của hệ :
Không dùng chung hoặc chia sẻ bộ nhớ.
Không sử dụng chung đồng hồ xung nhịp.
Chúng liên lạc với nhau thông qua mạng truyền thông Mỗi hệ xử lý có bộ xử lý, bộ nhớ riêng
3 Mục tiêu của hệ phân tán:
Tăng tốc độ bình quân trong tính toán, xử lý.
Cải thiện tình trạng luôn luôn sẵn sàng của các loại tài nguyên.
Tăng độ an toàn cho dữ liệu.
Đa dạng hóa các loại hình dịch vụ tin học
Trang 5II ĐỒNG BỘ HOÁ GIỮA CÁC TIẾN TRÌNH:
II.1 Đặt vấn đề:
Mọi hệ thống tin học đều cần nghiên cứu công cụ
đủ mạnh và hiệu quả để có thể đồng bộ hóa các tiến trình
và sự trao đổi thông tin sao cho hệ tránh được bế tắc, hai nguyên nhân cơ bản là:
Tương tranh Hợp lực
Trang 6II.2 Bài toán bãi để xe ôtô:
Trong đó BV - người bảo vệ
có nhiệm vụ phân phối chỗ cho
các xe ô tô
VT - vị trí cho từng xe ôtô cụ
thể
Các mũi tên hai chiều được sử
dụng để mô tả dòng vào ra của
Trang 7Bài toán nêu ra một số tình huống sau:
NBV không nắm được trạng thái hiện hành của bãi
Có nhiều trung tâm ra quyết định
Tình huống 2, liên quan đến vấn đề cung cấp tài nguyên của hệ, chức năng cung cấp được phân tán trên nhiều trạm của hệ Tình huống đặt ra cho các NBV(Chương trình cung cấp):
-Phải hợp lực với nhau để phân phối chính xác các chỗ trống trong bãi >Như vậy các NBV cần hoạt động gắn bó với nhau, điều này đòi hỏi
họ phải có thông tin đầy đủ về hệ, và phải đồng bộ trong việc xử lý
Trang 8phát đi thông tin cho ở bên
Xem xét một trường hợp về không gắn bó của bài toán bãi
để xe :
Bảng II-1 stt ký
hiệu thông tin phát đi
1 M1 thêm 20 chỗ trống
2 M2 có 10 chỗ bị chiếm
3 M3 dành 10% chỗ trống
để quét dọn bãi
Trang 9Sự không gắn bó giữa 4 người bảo vệ
Nếu ta không có ràng buộc nào đối với trình tự xử lý các thông điệp nhận được của các người bảo vệ thì các NBV sẽ có thông tin
về số lượng chỗ trống khác nhau
Trang 10II.2.2 Qui tắc cho sự hoạt động gắn bó của các bộ
cung cấp:
stt Qui tắc
1 Các bộ cung cấp bắt buộc phải thực hiện cùng một giải thuật
2 Các bộ cung cấp đều nhận tất cả các thông điệp phát đi từ các
tiến trình
3 Các thông điệp phải được xử lý cùng một trật tự như nhau
trong các chương trình cung cấp.
Trang 11II.3 Vấn đề đồng bộ hóa cho các tiến trình :
Trong các hệ tin học tập trung, vấn đề đồng bộ hóa được giải
quyết thông qua cơ chế loại trừ tương hỗ Cơ chế này cho
phép xác lập trật tự hoàn toàn các sự kiện
lập một trật tự giữa các sự kiện Giữa các trạm khác nhau, trật
tự đó có thể thể hiện thông qua việc trao đổi các thông điệp với nhau
Có nhiều công trình nghiên cứu về cách sắp xếp trật tự của
Trang 12II.4 Sắp xếp kiểu đóng dấu:
II.4.1 Trật tự từng phần ( → ):
Trong thực tế một số hệ thống khi đồng bộ hóa chỉ đòi hỏi trật
tự từng phần
Giả sử rằng ta có thể xác định một trật tự giữa các sự kiện của
kiện được xác định dựa trên các nguyên tắc sau:
Nếu A và B là hai sự kiện của cùng một trạm và A xảy ra
Nếu A là phát thông điệp từ một trạm nào đó và B là nhận
Trang 13II.4.2 Trật tự tổng quát chặt chẽ - Lamport ( ⇒ ) :
Giải thuật Lamport
Mỗi trạm s đều có trang bị công tơ với các giá trị nguyên gọi là Hs, đó là đồng hồ logic tăng lên giữa hai sự kiện kế tiếp
hành của He Khi nhận được thông điệp, trạm r cập nhật đồng hồ Hr riêng của mình bằng giải thuật sau đây :
Nếu H r, thì
H r := H e +1 Chấm dứt nếu
Trang 14a ⇒ b ⇒ (Hi(a) < Hj(b)) hay (Hi(a) = Hj(b) và i<j)
Một sự kiện a sinh ra trong trạm i và được đánh dấu bởi
đồng hồ cục bộ gọi là Hi(a) Nếu a và b đều là hai sự kiện trên hai trạm i và j, ta luôn luôn có quan hệ xác định như sau :
a → b ⇔ Hi(a) < Hj(b)
Trang 15Giới thiệu giải thuật loại trừ tương hỗ trên cơ sở đóng dấu của Lamport
ST
1 REQ Thông điệp REQ được phát đi cho tất cả các trạm, khi
trạm i muốn vào trong đoạn găng
2 REL Thông điệp REL được phát đi cho tất cả các trạm, khi
trạm i đã rời khỏi đoạn găng
3 ACQ Thông điệp ACQ được gửi bởi trạm i cho trạm j đã
nhận được từ trạm i thông điệp REQ.
Trang 16Thuật toán:
nó sẽ gửi thông điệp REQ có đánh dấu thời gian cho tất cả các trạm trong hệ thống kể có trạm Si
cầu sắp xếp theo trật tự các dấu thời gian; các đồng hồ logic
và quan hệ trật tự toàn bộ được sử dụng để gắn các dấu thời gian
vào hàng đợi yêu cầu của nó theo thứ tự dấu thời gian và gửi một thông điệp trả lời ACQ Nếu cần, quan hệ trật tự toàn bộ được sử dụng để phá vỡ các sự ràng buộc
Trang 17Như vậy một tiến trình không thể thi hành đoạn găng của nó cho đến khi nó nhận được trả lời từ tất cả các trạm khác
Tóm lại, một trạm thi hành miền găng của nó khi:
Khi một trạm hoàn thành miền găng của nó, nó sẽ gửi khuyến nghị giải phóng REL đến tất cả các trạm Yêu cầu của nó được loại khỏi tất cả các hàng đợi tại thời điểm này Nếu các trạm khác đang chờ để thi hành miền găng của chúng, một trong
các trạm đó bây giờ có thể bắt đầu thực hiện miền găng của
mình
Trang 18Đề bài nêu lên phương pháp sắp xếp các đồng hồ lô gíc cho phép triễn khai trên cơ sở của dấu là KENEKO Phương pháp
này thể hiện việc phát có hệ thống thời gian logic và có khả
năng đáp ứng được sự hợp lực giữa các tiến trình khi triển khai việc liên thông tập thể(hội thảo) Tại đây, trên một trạm,
ta có thể biết trạng thái của các trạm còn lại với độ chính xác chấp nhận được Phương pháp này được phát kiến nhằm vào việc quản lý các bản sao trong CSDL phân tán
PHẦN II :BÀI TẬP
ĐỀ SỐ 24 (Bài 4 Chương IV)
Trang 19Trong phương pháp này, trạm Si được trang bị một đồng hồ
lô gíc Hi để đánh dấu vào các thông điệp Việc tăng đồng hồ
lên được tiến hành theo hai giai đoạn :
tăng Zk khi Hi phát triển từ K - 1 đến K.
+ 1, khi nó nhận được các thông điệp Zk từ các trạm khác
và khi nó đã kết thúc việc xử lý dự trữ cho thời gian K.
Trang 201 Thời gian này có đặc tính thú vị sau đây : Nếu trạm Si gửi thông điệp M trong thời gian lô gíc Hi = K, thì thông điệp này được nhận bởi người nhận của nó Sj chậm nhất vào thời gian
Hj = K +1.
Thật vậy, ở phương pháp sắp xếp đồng hồ logic này,
việc tăng đồng hồ được thực hiện một cách có hệ thống,
và bằng các thông điệp riêng, cơ chế cho phép các trạm
điều chỉnh đồng hồ cục bộ, tạo cho các trạm có trạng thái đồng hồ gần như giống nhau ở các thời điểm
Trang 21Hệ phải được thiết kế sao cho thời gian di chuyển thông điệp không được quá khoản thời gian xử lý dự trữ trên các trạm
khác (tiếp nhận thông điệp)
Giả sử: trạm Si phát cho tất cả các trạm một thông điệp tăng Zk+1 khi Hi phát triển từ K đến K+1, xét trường hợp xấu nhất
là thông điệp này đến Sj vào lúc kết thúc việc xử lý dự trữ cho thời gian K+1 trên Sj (thông điệp di chuyển mất khoản thời
gian T, thời gian tối đa truyền thông điệp trên hệ) Và giả sử tồn tại một thông điệp M , phát từ Si trong thời gian lô gíc Hi =
K (trước Zk+1 ), nhưng thông điệp này được nhận bởi người nhận của nó Sj sau thời gian Hj = K +1, như vây thông điệp đã
di chuyển từ Si đến Sj với khoản thời gian lớn hơn T (mâu
Trang 222 Như là một hệ quả, vào thời điểm K +2, trạm Si biết tập
hợp các thông điệp gửi về địa chỉ của nó ở thời điểm K
Không còn các thông điệp nào đang đi trên đường với dấu K.Điều đó cho phép triển khai các thuật toán phân tán mà tại
thời gian lô gíc K + 2 các giải thuật này xử lý tình huống xác lập bởi tập hợp các yêu cầu của thời gian K Do vì các bộ cung cấp có được các yêu cầu vào thời điểm K, chỉ cần đảm bảo
thực hiện cùng một thuật toán và cùng một trật tự cho các yêu cầu trong thời gian K là đủ Nếu xảy ra xung đột, thì ta có thể
sử dụng một trật tự toàn phần được tiền định tại các trạm và một quy tắc riêng có tính chất cục bộ cho từng trạm, đơn giản nhất là trật tự truyền các yêu cầu của chính trạm đó
Trang 23Trong phương pháp này, nhiều yêu cầu được truyền từ trạm
Si có thể mang cùng dấu Ta có thể điều khiển nhịp tăng của các đồng hồ lô gíc bằng cách tác động vào thời hạn truyền các thông điệp tăng Zk, và như thế ta có thể can thiệp vào số
lượng các yêu cầu thời gian cùng dấu
Việc loại trừ tương hỗ, và quản lý bản sao(nhiều bản sao) :
Nhằm đảm bảo cho sự gắn bó, điều kiện đủ bắt buộc phải tuân thủ trình tự nào đó cho tất cả các bản sao, các cập nhật thông tin Đối với phương pháp nêu trên trình tự chặt chẽ hoàn toàn có thể xác lập dựa trên dấu, thứ tự các trạm, và trật tự các thông điệp được tiền định tại các trạm
Trang 24Có thể định dạng thông điệp m từ Si tại Zk dạng:(m, Zk, i,ni )Trong đó ni là trật tự truyền các yêu cầu của Si, 3 thông số
Zk, i và ni xác lập nên tính duy nhất của dấu.Như vậy việc loại trừ tương hỗ là có thể đạt được
phương pháp trên thực hiện gắn bó chậm, nên hệ cho phép sử dụng biện pháp phát thông tin đăng ký đến tất cả các bản sao
và thực hiện cùng một trình tự cho mỗi hệ thống cục bộ điều này cho phép các chương trình đăng ký thực hiện song song
đồng bộ là ít hơn so với số lượng của phương pháp Lamport
Trang 253 Việc xếp hàng các đồng hồ lô gíc cũng cho phép ghi nhận các sự cố của một trạm Thực tế là nếu trạm Si rơi vào trạng thái hỏng tại Hi = K, thì trạm này không thể gửi được thông điệp tăng Zk + 1 Hay nói cách khác, tất cả các trạm đều cần thông điệp này để tăng đồng hồ của chúng tại K + 2 Do vậy, nếu trạm Si hay đường truyền giữa Si và Sj bị rơi vào sự cố tại thời điểm Hi = K, thì các đồng hồ lô gíc không tăng nữa cho đến khi sự cố được khắc phục hoàn toàn Hệ quả là trạm j phát hiện sự cố trước thời điểm Hj = K + 2 cho phép quay trở về phía sau Mỗi trạm đều có khả năng phát hiện sự cố nhờ vào thời hạn bảo vệ và điều đó cho phép trạm không phải chờ vô hạn thông điệp Zk
Trang 26Trong giải thuật loại trừ tương hỗ và trong giải thuật quản lý nhiều bản sao các sự cố được xử lý như sau:
tự động.
ra thì bắt buộc nó phải quay trở(rollback) lại điểm xuất phát.
Như đã nêu ở trên, điều kiện thứ nhất là hoàn toàn đáp ứng được đối với phương pháp này
Đối với điều kiện sau, nhờ gắn bó chậm ở thời điểm K+2
khi phát hiện một trạm (Sj) nào đó bị sự cố hệ có thể
rollback giao dịch chưa kết thúc của Sj tại thời điểm K
Trang 27XIN CHÂN THÀNH CÁM ƠN THẦY GIÁO VÀ CÁC BẠN ĐÃ LẮNG NGHE