tính toán phân tán
Trang 1TÍNH TOÁN PHÂN TÁN
Học viên: Nguyễn Thị Mai Hương Lớp : M11CQCT01
Trang 2TỰ ỔN ĐỊNH
Khái niệm tự ổn định là, bất kể tình trạng ban đầu, hệ thống được đảm bảo hội
tụ đến một trạng thái thích hợp trong giới hạn thời gian của chính nó mà không cần bất kỳ sự can thiệp bên ngoài nào
Trang 3TỰ ỔN ĐỊNH
- Dijkstra cũng đã đưa ra một ví dụ về các khái niệm tự ổn định bằng cách sử dụng một
hệ thống tự ổn định token ring
- Để giải thích các khái niệm về tự ổn định ta
sử dụng một nhóm trẻ em và yêu cầu chúng đứng trong một vòng tròn.
Trang 4TỰ ỔN ĐỊNH
Các nguyên tắc tự ổn định áp dụng đối với bất kỳ hệ thống được xây dựng trên một
số lượng lớn của các thành phần được phát triển độc lập với nhau hoặc những thành phần được hợp tác hoặc cạnh tranh để đạt được mục tiêu chung
Trang 52 MÔ HÌNH HỆ THỐNG
Một mô hình hệ thống phân phối bao gồm một tập n các máy trạng thái được gọi là
bộ vi xử lý giao tiếp với nhau
Bộ vi xử lý thứ i trong hệ thống được gọi
là Pi Lân cận của một bộ xử lý là bộ vi xử lý trực tiếp kết nối với nó Một bộ xử lý có thể giao tiếp trực tiếp với các lân cận của nó
Trang 62 MÔ HÌNH HỆ THỐNG
Các giao tiếp giữa các bộ vi xử lý lân cận
có thể được thực hiện hoặc qua thông điệp hoặc bộ nhớ chia sẻ
- Bộ nhớ chia sẻ thường thích hợp với các hệ thống có các bộ xử lý gần nhau Ví dụ như máy tính đa xử lý
- Mô hình phân tán thông qua thông điệp phù hợp với các bộ xử lý đặt gần nhau cũng như được phân phối rộng rãi qua mạng
Trang 7MÔ HÌNH THÔNG QUA THÔNG
ĐIỆP
- Hàng đợi First-in first-out (FIFO) được sử dụng
để mô hình chuyển giao thông điệp không đồng bộ
- Liên kết 1 chiều P i đến P j sử dụng hàng đợi
first-in first-out (FIFO) Q ij để chứa các thông điệp được
gửi từ P i tới các lân cận P j
- Liên kết 2 chiều từ P i tới P j sử dụng 2 hàng đợi
FIFO Một hàng đợi để chứa các thông điệp từ P i
đến các lân cận P j và ngược lại
Trang 8MÔ HÌNH THÔNG QUA THÔNG
Trang 9SHARED MEMORY MODEL
- Bộ xử lý giao tiếp sử dụng thanh ghi truyền thông chia sẻ.
Trang 10• Hội tụ: Bắt đầu từ một trạng thái tùy ý, S
được đảm bảo đạt được một trạng thái P đáp ứng
trong một số hữu hạn các trạng thái hữu hạn
Trang 11• Hội tụ: Nếu S bắt đầu từ bất kì trạng thái
toàn cầu đáp ứng Q, S được đảm bảo đạt được một trạng thái P đáp ứng trong một số hữu hạn các trạng
thái hữu hạn
Trang 12TỰ ỔN ĐỊNH NGẪU NHIÊN VÀ TỰ ỔN
ĐỊNH XÁC SUẤT
Tự ổn định ngẫu nhiên: hệ thống được cho là tự
ổn định ngẫu nhiên, khi và chỉ khi nó tự ổn định và
số làm tròn cần đạt tới trạng thái chính xác được
giới hạn bởi một số k không đổi.
Trang 13TỰ ỔN ĐỊNH NGẪU NHIÊN VÀ TỰ ỔN
ĐỊNH XÁC SUẤT
Tự ổn định xác suất: hệ thống S được cho là tự
ổn định xác suất đối với thuộc tính P, nếu có đủ hai đặc tính sau đây:
- Tính khép kín: P được đóng dưới sự thực hiện của
S Đó là, một khi P được thành lập vào S, nó không thể được giả mạo
- Hội tụ: tồn tại một hàm f từ tập số tự nhiên [0,1] thỏa mãn lim k → f (k) = 0, như vậy mà xác suất đạt trạng thái P, từ trạng thái toàn cục tùy chọn trong quá trình chuyển đổi trạng thái k là 1-f (k)
Trang 14TỰ ỔN ĐỊNH NGẪU NHIÊN VÀ TỰ ỔN
ĐỊNH XÁC SUẤT
Một hệ thống giả ổn định là một hệ thống, nếu bắt đầu trong một trạng thái tùy chọn được đảm bảo để đạt được một trạng thái mà sau đó nó không bị lệch
ra khỏi vị trí được định sẵn
Trang 154 TRẠNG THÁI TRONG CÁC THÀNH
PHẦN ĐƠN LẺ
Dijkstra đưa ra 3 giải pháp cho vòng một
chiều với n máy, 0, 1, , n-1, có K trạng thái,
(i)K ≥ n, (ii)K = 3,(iii)K = 4Ghosh chỉ ra rằng một vòng tự ổn định yêu cầu tối thiểu 3 trạng thái
Trang 16(i) K ≥ n
Đối với bất kỳ máy nào, chúng ta sử dụng kí hiệu:
S: Trạng thái của máy
L: Trạng thái của máy bên trái
R: Trạng thái của máy bên phải
Trang 18(ii) K ≥ 3
Giải pháp này chỉ sử dụng 3 máy trạng thái, trạng thái trong mỗi máy là {0,1,2}
Máy 0: gọi là máy cận dưới
Máy n-1: được gọi là cận trên
Trang 19(ii) K ≥ 3
Máy cận dưới, máy 0:
Máy cận trên, máy n−1:
If (S+1) mod 3 = R then
S := (S−1) mod 3
If L = R and (L+1) mod 3 ≠ S then
S := (L+1) mod 3 S:= R
Trang 21(ii) K ≥ 3
Trạng thái của máy dưới cùng phụ thuộc vào trạng thái hiện tại của nó và máy lân cận bên phải của nó
Với s = 0, 1, 2 thì (s + 1) mod 3 = 1, 2, 0
Từ những kết quả này đưa ra 3 khả năng sau:
1 Nếu s = 0 và r = 1, sau đó trạng thái của s ->
Trang 22(ii) K ≥ 3
Trạng thái máy cận trên phụ thuộc vào lân cận trái
và lân cận phải của nó
Như vậy trạng thái của máy cận trên là:
- 1, khi lân cận bên trái của nó là 0
- 2, khi lân cận bên trái của nó là 1
- 0, khi lân cận bên trái của nó là 2
If L = R and (L+1) mod 3 ≠ S then
S := (L+1) mod 3S:= R
Trang 24(ii) K ≥ 3
Trang 255 ĐIỀU KIỆN CỦA TỰ ỔN ĐỊNH
Gouda và Evangelist đưa ra hai khái niệm liên quan đến điều kiện tự ổn định:
Khoảng hội tụ: số lượng tối đa của quá trình chuyển tiếp có thể được thực hiện trong một hệ thống, bắt đầu từ một trạng thái tùy ý, trước khi nó đạt đến một trạng thái an toàn
Trang 265 ĐIỀU KIỆN CỦA TỰ ỔN ĐỊNH
Khoảng đáp ứng: đáp ứng mở rộng số lượng tối đa của quá trình chuyển tiếp có thể được thực hiện trong một hệ thống để đạt được trạng thái mục tiêu, bắt đầu từ một số trạng thái ban đầu Sự lựa chọn trạng thái ban đầu và trạng thái mục tiêu phụ thuộc vào ứng dụng
Mục đích của thiết kế của một thuật toán tự ổn định là giảm khoảng hội tụ và tăng khoảng đáp ứng
Trang 27TÍNH TOÁN PHÂN TÁN
Học viên: Nguyễn Thị Yên Lớp : M11CQCT01
Trang 28 Để được gọi là tự ổn định, một hệ thống phải có khả năng để khôi phục lại hoạt động bình thường khi tiếp xúc với các cuộc tấn công như vậy
Trang 29Các phương pháp thiết kế hệ thống tự ổn định
Nếu hệ thống hoặc các bộ phận của nó bị phá hủy hoàn toàn, nó không còn có thể cho hệ thống hoạt động, sau đó không có hệ thống tự ổn định có thể làm việc Kẻ nghịch thù thành công trong việc đạt được mục tiêu của mình
Tuy nhiên, nếu có đủ các thành phần được để lại đảm bảo cho hệ thống hoạt động, sau đó một hệ thống tự ổn định từ từ sẽ tiếp tục hoạt động bình thường sau vụ tấn công.
Đó là các nhà thiết kế quyết định theo những điều kiện
hệ thống có thể được gọi là "phá hủy hoàn toàn" hoặc
"vẫn có khả năng vận hành."
Trang 30Phương pháp phân lớp và mô-đun hóa
Ý tưởng cơ bản là để phân chia hệ thống thành phần nhỏ hơn, làm cho mỗi thành phần tự ổn định độc lập, và sau đó tích hợp chúng để tạo nên hệ thống.
Ổn định tuân theo lớp, mối quan hệ tự ổn định là bắc cầu Vì vậy, các lớp khác nhau của các chương trình tự ổn định (của chính nó tự ổn định) có thể được bao gồm
Bước đầu tiên là xây dựng tự ổn định "nền tảng" và bất
kỳ chương trình được viết trên nền tảng đó sẽ tự động trở nên tự ổn định
Ý tưởng cơ bản đằng sau một nền tảng tự ổn định là cung cấp nguyên thủy có thể được sử dụng để viết các chương trình khác.
Trang 31Tự ổn định phân phối cây bao trùm
Trong các hệ thống phân tán, một cây bao trùm là cơ sở cho nhiều giao thức phân tán phức tạp.
Để xác định một cây bao trùm, mạng được mô phỏng như một
đồ thị G=(V,E) trong đó V là tập hợp của các nút mạng (đỉnh) và
E là tập hợp các liên kết truyền thông (cạnh) giữa các nút mạng.
Một cây bao trùm T=(V,E’) của G là một đồ thị bao gồm cùng một tập hợp các nút V, E’ là một tập hợp con của E.
Một cây bao trùm của đồ thị là nói chung không phải là duy nhất (ngay cả khi nút gốc là cố định).
Một cây bao trùm trong một mạng thường là một điều kiện tiên quyết cho các giao thức mạng tham gia nhiều hơn như định tuyến hoặc lưu hành thẻ
Nó thường làm tăng hiệu quả của các giao thức mạng
Trang 32Thuật toán tự ổn định cho cây bao trùm
Dolev, Israeli, and Moran algorithm
Nội dung thuật toán:
Hai nước láng giềng Pi và Pj giao tiếp với nhau bằng cách đọc và viết tới hai số đăng ký chia sẻ, rij và rji.
Để giao tiếp, Pi viết vào rij và đọc từ rji Pj viết vào rji và đọc
Trang 33Thuật toán tự ổn định cho cây bao
trùm
Nội dung thuật toán:
- Trong mỗi lần lặp, bộ xử lý đọc trong sổ đăng ký của tất
cả các nước láng giềng và tính toán giá trị cho biến dist.
- Tính giá trị cho biến dist bằng cách chọn khoảng cách tối thiểu của các nước láng giềng của nó, thiết lập biến dist
của nó đến mức tối thiểu khoảng cách cộng thêm 1.
- Cập nhật sổ đăng ký của các nước láng giềng
Biến cục bộ tương ứng để đăng ký rij được ký hiệu là lrij
Nó lưu trữ các giá trị cuối cùng của r được đọc bởi Pi
Trang 34Dolev, Israeli, and Moran algorithm
Trang 35Spanning-tree, is Self-stabilizing
Thuật toán ổn định bắt đầu từ quá trình gốc Sau khi nút gốc viết giá trị 0
trong sổ đăng ký của tất cả các nước láng giềng giá trị này sẽ không thay đổi nữa
Các nước láng giềng trực tiếp của gốc sau khi kiểm tra các biến đầu vào của
họ sẽ thấy rằng nút gốc có khoảng cách tối thiểu của tất cả các nút khác (các nút khác có khoảng cách ít nhất 1)
Do đó, tất cả các nước láng giềng trực tiếp của gốc sẽ chọn thư mục gốc là phụ huynh của họ và cập nhật khoảng cách của họ một cách chính xác đến 1
Sau khi tất cả các nút có khoảng cách từ gốc là d đã tính toán khoảng cách
từ gốc một cách chính xác và viết nó trong sổ đăng ký của nó, giá trị này không còn thay đổi và các nút cách gốc d+1 đã sẵn sàng để tính toán khoảng cách từ gốc
Sau khi chu kỳ cập nhật hoàn tất thì toàn bộ cây được ổn định.
Trang 36TÍNH TOÁN PHÂN TÁN
Học viên: Đỗ Thị Nhẫn Lớp : M11CQCT01
Trang 371 A Probabilitic Self-Stabilization
Leader Election Algorithm
Bài toán: Hệ thống phân tán bao gồm n vị trí và chúng cần bầu chọn ra vị trí đi
đầu để truyền thông điệp giữa chúng bằng việc sử dụng Probabilitic
Self-Stabilization Leader Election Algorithm
Trong suốt một đơnvị thời gian, các vị trí có thể xảy ra ba khả năng:
Im lặng: không có vị trí nào cố gắng chuyển một thông điệp
Thành công: chỉ có duy nhất một vị trí đã sử dụng kinh truyền để truyền
thông điệp
Va chạm: có ít nhất 2 vị trí đang cố gắng truyền thông điệp
Trang 38- Thuật toán được mô phỏng lại như sau:
1 A Probabilitic Self-Stabilization Leader Election Algorithm
Trang 391 A Probabilitic Self-Stabilization Leader Election Algorithm
Ví dụ mô phỏng thuật toán
Trang 40• Khả năng chịu lỗi:
Khả năng chịu lỗi được định nghĩa là khả năng chịu đựng sự thất bại tạm thời, trong đó trạng thái của một thành phần thay đổi một cách tự nhiên, nhưng các thành phần còn lại vẫn chính xác.
• Hệ thống tự ổn định đưa ra mức độ kháng lỗi mà hệ thống vẫn có thể tiếp tục vận hành khi có lỗi xảy ra Tự ổn định là một cách khác để xem xét khả năng kháng lỗi của hệ thống phân tán, nó cung cấp một chế độ “Xây dựng trong sự bảo vệ” để chống lại những sự thất bại tạm thời những thất bại có thể gây ra lỗi dữ liệu trong hệ thống phân tán, tự ổn định làm cho các hệ thống có thể tự phục hồi từ những thất bại một cách tự động mà không có bất cứ sự can thiệp của bên ngoài.
Trang 41• Tự ổn định đưa ra một phương pháp hợp nhất để chống lại những lỗi nhất thời bằng việc hợp nhất những lỗi đó vào trong mô hình thiết kế Những lỗi sau đây có thể được xử lý bởi một hệ thống tự ổn định”
– Khởi tạo không nhất quán: các tiến trình khác nhau trong một chương trình có thể được khởi tạo các trạng thái cục bộ mà không nhất quán với các tiến trình khác.
– Chế độ thay đổi: Có các chế độ khác nhau của sự thực thi một hệ thống Trong việc thay đổi chế độ của sự vận hành, tất cả các tiến trình không thể đem lại sự thay đổi ở cùng môt thời điểm Một chương trình nhất định đạt được một trạng thái toàn cục trong đó một vài tiến trình đã thay đổi trong khi một số tiến trình khác thì không.
– Lỗi truyền: Những lỗi này bao gồm mất, thất bại hoặc đặt lại thứ tự của các thông điệp và có thể dẫn đến sự không nhất quan của bên gửi và bên nhận.
– Lỗi tiến trình và phục hồi: Nếu một tiến trình bị sập và phục hồi sau đó, trạng thái cụ bộ của nó có thể không nhất quán với những phần còn lại của hệ thống/chương trình.
– Sự cố bộ nhớ: Sự cố bộ nhớ có thể là nguyên nhân dẫn đến mất trạng thái cục
bộ, tạo ra sự không nhất quán với các phần còn lại của hệ thống/chương trình.
Trang 42a Tính đối xứng:
• Sự tự ổn định yêu cầu tất cả các tiến trình không nên là đồng nhất/đối xứng bởi vì
giải pháp tự ổn định nhìn chung dựa vào một tiến trình đặc biệt.
• Một hệ thống có thể là không đối xứng bởi vì trạng thái hoặc tính không đối xứng
bởi vì định danh Một hệ thống không đối xứng bởi vì trạng thái khi tất cả các tiến trình là đồng nhất; tuy nhiên, chúng khởi tạo từ các trạng thái cục bộ ban đầu khác nhau Một hệ thống không đối xứng bởi định danh khi không có tiến trình nào là đồng nhất
• Nhìn chung, một thệ thống không đối xứng bởi trạng thái thì không tự ổn định,
trong khi một hệ thống không đối xứng bởi định danh thì có thể tự ổn định
Trang 43a Tính đối xứng:
Sự tự ổn định nhìn chung là không hợp với sự kết thúc
Nếu bất kỳ trạng thái toàn cục không an toàn nào là trạng thái kết thúc thì hệ thống sẽ không có thể là ổn định Nhờ có sự tự ổn định không hợp với sự kết thúc nhìn chung nên có một trường hợp ngoại lệ trong đó tự ổn định có thể được thực hiện khi có sự xuất hiện của sự kết thúc Trong các chương trình tuần tự trạng thái – xác định (khi số lượng trạng thái là xác định ) thì trình biên dịch có thể bỏ đi tất
cả những trạng thái không an toàn.
Trang 44d Cấu hình mô phỏng
Với những cấu hình mô phỏng kết quả là khi sự tính toán giống nhau (chuỗi các hành động) với hai trạng thái khác nhau thì không có cách nào phân biệt giữa chúng Nếu một trong hai trạng thái là không an toàn thì hệ thông không đảm bảo hội tụ từ trạng thái không an toàn.
Trang 45• Sự cần thiết của một máy tính đặc biệt:
Hầu như tất cả các thuật toán tự ổn định dựa trên thực tế rằng có ít nhất một máy đặc biệt trong hệ thống Điều này có thể khó khăn để đạt được trong một số hệ thống, nhưng nó không phải là một nhược điểm lớn trong hầu hết các hệ thốn phân tán.
• Cân bằng giữa hội tụ và phản hồi
• Ổn định giả
Đôi khi rất tốn kém để thiết kế các hệ thống tự ổn định Giảm bớt các yêu cầu của hệ thống có thể giảm bớt chi phí Một hệ thống được cho là ổn định khi và chỉ khi mỗi tính toán đều có một vài trạng thái trong đó bất cứ tính toán nào bắt đầu từ trạng thái này sẽ thuộc một tập các tính toán hợp pháp Mặt khác, để một hệ thống giả ổn định, mỗi tính toán chỉ cần có một vài trạng thái để các hậu tố của sự tính toán bắt đầu ở trạng thái này thuộc tập hợp các tính toán hợp pháp Đặc tính của giả ổn định rõ ràng là yếu hơn so với yêu cầu ổn định mặc dù nó ít tốn kém hơn để cài đặt.
• Xác minh tính đúng đắn của hệ thống tự ổn định
Trang 46Trân trọng cảm ơn!