Luận văn ThS: Định tuyến phân tán tự ổn định dựa trên cộng tác điểm đích

Luận văn thạc sĩ: Nghiên cứu định tuyến phân tán tự ổn định dựa trên cộng tác giữa các điểm đích. Chuyên ngành Công nghệ Thông tin. Mã số: 1 01 10.

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Luận Văn Cao Học

2007

75
1
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CAM ĐOAN

DANH SÁCH CÁC HÌNH VẼ

1. CHƯƠNG 1: Khái niệm hệ phân tán

1.1. Vai trò của hệ phân tán

1.2. Đặc trƣng của các hệ phân tán

1.3. Mô hình hóa các hệ phân tán

1.3.1. Mô hình chuyển thông báo

1.3.2. Mô hình với bộ nhớ dùng chung

1.3.3. Mô hình xen kẽ

1.4. Thực hiện và những tính chất của thực hiện

1.5. Đánh giá độ phức tạp

2. CHƯƠNG 2: TỰ ỔN ĐỊNH

2.1. Tính chất tự ổn định

2.2. Vai trò của tự ổn định

2.3. Đánh giá độ phức tạp

2.4. Ví dụ 1: Loại trừ lẫn nhau

2.5. Ví dụ 2: Xây dựng cây khung

3. CHƯƠNG 3: Bài toán định tuyến tổng quát

3.1. Một số bài toán định tuyến cụ thể

3.1.1. Định tuyến với đường đi ngắn nhất

3.1.2. Định tuyến với số chặng ít nhất

3.1.3. Định tuyến với băng thông cực đại

3.2. Phân loại các giải thuật định tuyến

3.3. Định tuyến theo véctơ khoảng cánh

3.4. Định tuyến phân tán có/không có sự cộng tác giữa các điểm đích

3.5. Định tuyến theo trạng thái liên kết

3.6. So sánh định tuyến theo véctơ khoảng cách và định tuyến theo trạng thái liên kết

3.7. Một số giải thuật định tuyến phân tán

3.7.1. Giải thuật Netchange

3.7.2. Giải thuật Humblet

4. CHƯƠNG 4: ĐỊNH TUYẾN PHÂN TÁN TỰ ỔN ĐỊNH CỦA SHLOMI DOLEV

4.1. Mô tả chung

4.2. Giải thuật đa cây BFS

4.3. Giải thuật đếm

5. CHƯƠNG 5: GIẢI THUẬT ĐỀ XUẤT

5.1. Giới thiệu chung

5.2. Mạng và những giả thiết cơ sở

5.3. Cấu trúc dữ liệu, nhiệm vụ của giải thuật

5.4. Ví dụ một thực hiện

5.5. Tính đúng đắn

5.6. Đánh giá giải thuật

TÀI LIỆU THAM KHẢO

MỞ ĐẦU

Tóm tắt

I. Tổng Quan Luận Văn Định Tuyến Phân Tán Tự Ổn Định

Luận văn ThS CNTT này tập trung vào lĩnh vực định tuyến trong mạng máy tính, đặc biệt là định tuyến phân tán tự ổn định. Định tuyến là một trong những hoạt động cốt lõi của mọi mạng máy tính, và việc xây dựng các hệ thống định tuyến đáng tin cậy và luôn sẵn sàng là một thách thức lớn. Các thuật toán định tuyến truyền thống có thể thích ứng với sự thay đổi trong tôpô mạng, nhưng lại dễ bị ảnh hưởng bởi các lỗi treo, gây ra những hậu quả nghiêm trọng. Do đó, luận văn này tập trung vào các hệ thống (thuật toán) định tuyến tự ổn định, có khả năng hoạt động chính xác bất kể trạng thái ban đầu hay các lỗi đã xảy ra. Tự ổn định, một khái niệm được Dijkstra giới thiệu, đã được nghiên cứu rộng rãi, nhưng vẫn còn tương đối mới ở Việt Nam. Ngoài tính không tự ổn định, các thuật toán định tuyến thường gặp phải vấn đề vòng lặp định tuyến. Vòng lặp định tuyến không chỉ làm cho thuật toán không kết thúc mà còn dẫn đến kết quả đường định tuyến sai. Việc khắc phục vòng lặp định tuyến cũng là một yêu cầu quan trọng trong thiết kế hệ thống định tuyến.

1.1. Vấn đề và thách thức trong định tuyến mạng

Thách thức lớn nhất là xây dựng hệ thống định tuyến thực sự sẵn sàng và đáng tin cậy. Các thuật toán định tuyến truyền thống có thể thích ứng với sự thay đổi trong tôpô mạng nhưng không bỏ qua được các lỗi treo. Một khi lỗi treo xuất hiện, nó phá vỡ hoạt động của hệ thống. Hậu quả của lỗi như vậy có thể rất nghiêm trọng. Trong nhiều mạng, việc khởi động mạng rất khó thực hiện. Do vậy, chúng ta rất mong muốn có các hệ thống (giải thuật) định tuyến tự ổn định, tức là hệ thống có thể hoạt động đúng đắn bất kể xuất phát từ trạng thái ban đầu nào và đã gặp lỗi gì. Tự ổn định được giới thiệu đầu tiên bởi Dijkstra, đã được nghiên cứu nhiều nơi trên thế giới, nhưng còn tương đối mới mẻ ở Việt Nam.

1.2. Mục tiêu và phạm vi nghiên cứu của luận văn

Mục đích và công việc của luận văn này không chỉ là nghiên cứu đưa ra một giải thuật định tuyến phân tán tự ổn định, có sự cộng tác giữa các điểm đích và không có vòng lặp định tuyến mà còn thông qua việc làm cụ thể này để trình bày, giới thiệu các nội dung của tự ổn định. Luận văn bắt đầu với Chương 1 bằng việc giới thiệu hệ phân tán, các mô hình hệ phân tán, vai trò, đặc trưng của các hệ phân tán, các khái niệm cơ bản về cấu hình, thực hiện và phương pháp đánh giá độ phức tạp của giải thuật phân tán. Tiếp theo, Chương 2 hệ thống hóa và giới thiệu các nội dung của tự ổn định. Sau phần trình bày khái niệm, mô hình hóa, vai trò tự ổn định, phương pháp đánh giá giải thuật tự ổn định là các phần trình bày ví dụ về giải thuật tự ổn định.

II. Tổng Quan Về Hệ Phân Tán Nền Tảng Định Tuyến Ổn Định

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. Đây là một khái niệm hết sức tổng quát, bao trùm một phạm vi rộng các hệ thống máy tính ngày nay, từ các bộ chíp VLSI đến các bộ đa xử lý, các mạng cục bộ, và Internet. Nếu như 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 thì hệ phân tán bao gồm một tập các bộ xử lý có chương trình làm việc riêng bán độc lập, vì những lý do gì đó, ví dụ chia sẻ tài nguyên, tăng tính sẵn sàng, khứ lỗi, các bộ xử lý cần phối hợp hành động với nhau. Ta có thể thấy các hệ phân tán ở khắp mọi nơi. Điển hình, các hệ phân tán được sử dụng để chia sẻ tài nguyên và chia sẻ dữ liệu. Các máy tính kết nối mạng với nhau có thể dùng chung máy in, máy quét, chia sẻ các tệp tài liệu, chương trình… Tính toán ngang hàng là một kiểu thực hiện của hệ phân tán ngày càng trở nên phổ biến cho việc cung cấp các thiết bị và dịch vụ tính toán.

2.1. Đặc trưng và vai trò quan trọng của hệ phân tán

Ba đặc trưng, và cũng là những khó khăn điển hình khi thiết kế, của hệ phân tán là: không đồng bộ, thiếu thông tin toàn cục, và không có cơ chế phát hiện sự cố chính xác. Một hệ phân tán không có đồng hồ chung. Ta cũng không thể đồng bộ hóa đồng hồ của các bộ xử lý khác nhau vì không biết chắc độ trễ truyền thông. Để đạt được tính đồng bộ, ta không thể dùng đồng hồ vật lý mà phải vận dụng các khái niệm và giải thuật nhân quả. Tương tự, một hệ phân tán không có bộ nhớ toàn cục chung. Các bộ xử lý không thể biết được trạng thái toàn cục của hệ thống. "Hiểu biết" của mỗi bộ xử lý chỉ có tính cục bộ. Do vậy, người thiết kế hệ phân tán, cụ thể là người xây dựng giải thuật phân tán phải xây dựng cơ chế đánh giá các tính toàn cục.

2.2. Mô hình hóa và đánh giá độ phức tạp hệ phân tán

Trong một hệ phân tán, mỗi thực thể (máy tính, bộ xử lý, tiến trình) chạy một chương trình riêng bao gồm tập các lệnh. Khi thực hiện lệnh, thực thể thay đổi trạng thái cục bộ của nó. Ta có thể mô hình hóa sự thay đổi này bằng cách xem mỗi thực thể là một máy trạng thái. Một hệ phân tán được mô hình hóa bằng tập n máy trạng thái. Ký hiệu máy thứ i là Pi. Truyền thông giữa các thực thể có thể thực hiện bằng cách chuyển thông báo hay sử dụng bộ nhớ dùng chung. Truyền thông bằng cách ghi vào và đọc ra từ bộ nhớ dùng chung thường hạn chế hệ thống với các thực thể gần nhau về mặt địa lý, ví như hệ thống đa bộ xử lý hay các máy tính đa nhiệm.

III. Tính Tự Ổn Định Giải Pháp Cho Định Tuyến Bền Vững

Khái niệm tự ổn định được Dijkstra đưa ra đầu tiên năm 1973 trong bài báo nổi tiếng “Self-stabilizing systems in spite of distributed control” [4]. Tự ổn định, sau đó, được nghiên cứu như một chuyên ngành thuộc tính toán phân tán. Một hệ tự ổn định có thể xuất phát từ một cấu hình bất kỳ, luôn đảm bảo sẽ thể hiện được hành vi “hợp lệ” mong muốn. Nói cách khác, với thực hiện bất kỳ, sau hữu hạn lần biến đổi cấu hình, ta có chuỗi cấu hình hợp lệ. Ta định nghĩa hành vi hợp lệ mong muốn bằng tập các thực hiện hợp lệ được ký hiệu là LE. Một tập các thực hiện hợp lệ được xác định cho một hệ thống cụ thể và một bài toán cụ thể. Mọi thực hiện của hệ thống tự ổn định có hậu tố xuất hiện trong LE [13].

3.1. Định nghĩa và vai trò quan trọng của tính tự ổn định

Một hệ thống tự ổn định có thể bỏ qua mọi lỗi. Ta tưởng tượng, lỗi xuất hiện đẩy hệ thống về một trạng thái nào đó. Nhờ khả năng tự ổn định, sau lần xuất hiện lỗi cuối cùng, và sau hữu hạn bước chuyển trạng thái nữa, hệ thống trở lại trạng thái hợp lệ và hoạt động bình thường. Tính tự ổn định đặc biệt hữu ích đối với các hệ thống động (các bộ xử lý và liên kết có thể được thêm mới, mất chức năng, được khôi phục lại). Tự ổn định cho chúng ta một cách giải quyết triệt để trong khắc phục lỗi. Một hệ thống không thể tránh được lỗi. Lỗi có thể do phần cứng, phần mềm, do người sử dụng thiết lập hay nhập liệu sai, …

3.2. Đánh giá độ phức tạp của giải thuật tự ổn định

Cũng như các giải thuật phân tán khác, giải thuật tự ổn định được đánh giá độ phức tạp thời gian dựa trên số vòng không đồng bộ. Số vòng trong thực hiện của một giải thuật tự ổn định được dùng để đánh giá độ phức tạp thời gian của giải thuật. Giải thuật tự ổn định không bao giờ kết thúc, và các bộ xử lý phải tiếp tục liên lạc với các láng giềng của chúng. Trong mô hình với bộ nhớ dùng chung, các bộ xử lý phải tiếp tục đọc các ô nhớ dùng chung của các láng giềng. Trong mô hình chuyển thông báo, các bộ xử lý phải tiếp tục gửi và nhận thông báo.

3.3. Ví dụ minh họa Bài toán loại trừ lẫn nhau tự ổn định

Cho n bộ xử lý được nối với nhau theo tôpô vòng, được đánh số P0, P1, P2, …, và Pn-1. Bộ xử lý Pi (i = 0, …, n-1) có láng giềng bên trái P(i-1) mod n, láng giềng bên phải P(i+1) mod n, và biến cục bộ xi nhận các giá trị nguyên từ 0 đến n. Chỉ Pi có quyền ghi vào xi. Pi có thể đọc biến cục bộ của láng giềng bên trái nó - x(i-1) mod n. Cấu hình của hệ thống là một véctơ n chiều (x0, x1, …, xn-1). Mỗi bước tại Pi bao gồm các thao tác: đọc x(i- 1)mod n, tính lại xi từ giá trị hiện tại của xi và x(i-1)mod n đọc được.

IV. Bài Toán Định Tuyến Yếu Tố Quan Trọng Trong Mạng Máy Tính

Cho một mạng bao gồm các bộ xử lý, hay là các nút, được nối với nhau bằng các liên kết, hay các cung. Với hai bộ xử lý bất kỳ P và Q trong mạng, tồn tại nhiều nhất một liên kết l(P, Q) nối từ P đến Q, và nhiều nhất một liên kết l(Q, P) nối từ Q đến P. Bộ xử lý Q được gọi là láng giềng của bộ xử lý P nếu có liên kết l(P, Q) nối từ P đến Q. Một đường đi trong mạng từ bộ xử lý M đến bộ xử lý K là một dãy M = P1, P2, …, Pn = K, trong đó Pi+1 là láng giềng của Pi, 1 ≤ i < n. Mỗi liên kết l(P, Q) được gán một giá, ký hiệu là Cost(P, Q). Chi phí của một đường đi là giá trị của một hàm tác động lên tất cả các giá của các liên kết nối giữa hai bộ xử lý liên tiếp trong đường đi đó. Ký hiệu Cost(path) là chi phí đường đi path - kết quả của hàm tác động lên các giá của các liên kết trên đường đi path.

4.1. Các bài toán định tuyến cụ thể và phương pháp tính chi phí

Các bài toán định tuyến cụ thể khác nhau ở cách tính chi phí cho các đường đi. Ba cách tính chi phí phổ biến nhất là: độ dài đường đi, số chặng, băng thông cực đại. Trong định tuyến với đường đi ngắn nhất, Giá của mỗi liên kết là độ dài của liên kết đó, và chi phí của một đường đi chính là độ dài của đường đi hay là tổng độ dài của các liên kết thuộc đường đi đó. Trong định tuyến với số chặng ít nhất, giá của mỗi liên kết được gán là 1 và chi phí của đường đi là số chặng trên đường đi đó. Định tuyến với băng thông cực đại, độ rộng băng thông được sử dụng để làm giá cho liên kết và chi phí của đường đi là giá của liên kết có băng thông nhỏ nhất thuộc đường đi.

4.2. Phân loại các giải thuật định tuyến phổ biến hiện nay

Hầu hết các giải thuật định tuyến được áp dụng hiện nay thuộc một trong hai loại: định tuyến theo trạng thái liên kết (link-state routing) và định tuyến theo véctơ khoảng cách (distance-vector routing). Trong định tuyến theo véctơ khoảng cách, mỗi bộ xử lý gửi tới mỗi láng giềng của nó một bản sao khoảng cách từ nó đến bộ xử lý đích. Dựa trên các khoảng cách nhận được từ láng giềng, mỗi bộ xử lý chọn nút đầu tiên trên đường định tuyến đến bộ xử lý đích và cập nhật khoảng cách tương ứng. Trong định tuyến theo trạng thái liên kết, mỗi bộ xử lý phát tỏa trạng thái của các liên kết liền kề nó tới tất cả các bộ xử lý trong mạng.

V. Định Tuyến Netchange Giải Pháp Độc Lập Tạo Vòng Lặp

Cho một mạng với các liên kết vô hướng, giải thuật định tuyến Netchange của Taijbnapis tính các bảng định tuyến tối ưu theo số chặng ít nhất. Giải thuật cho phép tính lại các bảng định tuyến khi tôpô mạng thay đổi với việc tính lại chỉ mang tính bộ phận. Giải thuật dựa trên các giả thiết sau: N1. Mỗi nút biết kích thước mạng (số nút trong mạng) N. Các kênh truyền có tính chất FIFO. Các nút được thông báo khi kênh truyền liền kề bị hỏng, sửa đổi hay thêm mới. Chi phí mỗi đường đi bằng số chặng trên đường đi. Giải thuật có thể xử lý các kênh truyền bị hỏng hay phục hồi, thêm mới, nhưng giả thiết các nút sẽ được thông báo mỗi khi kênh truyền liền kề bị hỏng hay phục hồi. Một nút hỏng hoặc được phục hồi được các nút láng giềng xem như các kênh truyền liền kề nó bị hỏng hay được phục hồi, tương ứng.

5.1. Mô tả chi tiết giải thuật định tuyến Netchange

Giải thuật duy trì tại mỗi nút u một bảng Nbu, trong đó Nbu[v] là định danh của nút láng giềng của u trên đường đi từ u đến v. Yêu cầu của giải thuật này như sau: R1. Nếu tôpô mạng ổn định sau hữu hạn lần thay đổi, giải thuật sẽ kết thúc sau hữu hạn bước tính. Khi giải thuật kết thúc, bảng Nbu thỏa mãn: (a) Nếu u = v thì Nbu[v] = local; (b) Nếu tồn tại đường đi từ u đến v  u thì Nbu[v] = w, trong đó w là láng giềng của u trên đường đi ngắn nhất từ u đến v; (c) Nếu không tồn tại bất kỳ đường đi nào từ u đến v thì Nbu[v] = udef.

5.2. Tính chất và hạn chế của giải thuật Netchange

  • Giải thuật Netchange được phát triển từ giải thuật của Bellman-Ford. - Cũng giống như giải thuật Bellman-Ford, giải thuật Netchange có vòng lặp định tuyến và hiện tượng đếm đến vô hạn. - Trong giải thuật Netchange, việc tính đường định tuyến đến nút này hoàn toàn độc lập với tính đường định tuyến đến các nút khác. Chính vì vậy, giải thuật Netchange thuộc lớp giải thuật định tuyến độc lập điểm đích.

VI. Định Tuyến Humblet Cộng Tác Tránh Vòng Lặp Vĩnh Viễn

Giải thuật định tuyến của Humblet [11] là một giải thuật phân tán tìm các đường đi ngắn nhất trong một mạng có tôpô thay đổi. Nó không tạo vòng lặp định tuyến như giải thuật của Bellman-Ford mặc dù tính toán của nó thực sự phân tán. Nếu như giải thuật Netchange thuộc nhóm giải thuật định tuyến độc lập điểm đích, giải thuật của Humblet thuộc nhóm giải thuật định tuyến cộng tác giữa các điểm đích.

6.1. Cơ chế hoạt động của giải thuật Humblet

Xét mạng bao gồm các nút và các liên kết có hướng. Ký hiệu LEN(I, J) là độ dài liên kết (I, J), MAXLEN là cận trên của các LEN(. Chúng ta có nhận xét như sau: Giả sử biết K là nút liền trước nút đích J trên đường đi ngắn nhất từ nút I đến nút J, ta có các kết quả sau với giả thiết 0  LEN(.)  MAXLEN và các đường đi từ I đến J, I đến K đã được tính đúng: - Khoảng cách từ I đến J lớn hơn khoảng cách từ I đến K. - Khoảng cách từ I đến J nhỏ hơn tổng khoảng cách từ I đến K với MAXLEN. - Nút láng giềng của I trên đường đi ngắn nhất từ I đến K nằm trên đường đi ngắn nhất từ I đến J.

6.2. Ưu điểm và hạn chế của giải thuật Humblet

  • Khác với giải thuật Netchange và giải thuật Bellman-Ford, trong giải thuật Humblet có sự cộng tác giữa các điểm đích. - Vòng lặp định tuyến có thể xuất hiện khi liên kết thay đổi. Xét một mạng với tôpô “bánh xe”, tức có một nút trung tâm liên kết với N nút khác trên một vòng lưỡng hướng. Tất cả các liên kết theo chiều kim đồng hồ và các liên kết hướng vào nút trung tâm có độ dài bằng 1, các liên kết khác có độ dài N. Khi các cây định tuyến đã được tạo, nếu tất cả các liên kết hướng vào nút trung tâm bị hỏng, tất cả các nút sẽ tính lại định tuyến, trong đó mỗi nút trên vòng nhận nút láng giềng theo chiều kim đồng hồ làm nút cha trên đường định tuyến từ nó đến nút trung tâm. Khi thông báo định tuyến đi hết một vòng thì vòng lặp định tuyến mới được phá bỏ.
24/09/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1. Khái niệm hệ phân tán 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. Đây là một khái niệm hết sức tổng quát, bao trùm một phạm vị rộng các hệ thống máy tính ngày nay, từ các bộ chíp VLSI đến các bộ đa xử lý, các mạng cục bộ, và Internet. Nếu như 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 thì hệ phân tán bao gồm một tập các bộ xử lý có chương trình làm việc riêng bán độc lập, vì những lý do gì đó, ví dụ chia sẻ tài nguyên, tăng tính sẵn sàng, khứ lỗi, các bộ xử lý cần phối hợp hành động với nhau.

Ta có thể thấy các hệ phân tán ở khắp mọi nơi. Điển hình, các hệ phân tán được sử dụng để chia sẻ tài nguyên và chia sẻ dữ liệu. Các máy tính kết nối mạng với nhau có thể dùng chung máy in, máy quét, chia sẻ các tệp tài liệu, chương trình… Tính toán ngang hàng là một kiểu thực hiện của hệ phân tán ngày càng trở nên phổ biến cho việc cung cấp các thiết bị và dịch vụ tính toán. Các hệ phân tán nhiều tham vọng hơn cho hiệu năng hoạt động cao bằng cách kết hợp giải các bài toán con một cách song song, đồng thời tăng tính sẵn sàng của hệ thống trong trường hợp một số thiết bị gặp lỗi.

Vai trò của hệ phân tán Hệ phân tán ngày càng trở nên phổ biến vì những vai trò sử dụng quan trọng của chúng. Trước hết, phải kể đến vai trò trao đổi thông tin. Các hệ phân tán cho khả năng chia sẻ thông tin rộng rãi. Thông tin từ hệ thống máy tính của ngân hàng đặt tại trụ sở nước này có thể được sử dụng bởi hệ thống máy tính của ngân hàng đặt tại trụ sở nước khác.

Hệ phân tán cũng cho khả năng chia sẻ thông tin giữa các thiết bị hỗn tạp. Một máy tính có thể "nói chuyện" với các máy tính khác loại, các điện thoại cố định, di động, các PDA, … Thứ hai, các hệ phân tán cho khả năng chia sẻ tài nguyên cả phần cứng lẫn phần mềm. Các máy tính kết nối mạng có thể dùng chung máy in, có thể chia sẻ các tệp dữ liệu, các tệp chương trình. Thứ ba, bằng việc sao lặp, nhân bản, các hệ phân tán cho độ tin cậy cao.

Nếu toàn bộ dữ liệu của một chi nhánh ngân hàng lưu trong máy tính đột nhiên biến mất, người ta có thể khôi phục lại bằng cách sao phần nhân bản đã được lưu tại một nơi khác trên hệ thống máy tính của ngân hàng. Thứ tư, thông qua song song hóa, các thực thể trong hệ phân tán có thể chia sẻ công việc, thực hiện đồng thời công việc chung, do vậy làm tăng hiệu suất hoạt động của hệ thống. Thứ năm, hệ phân tán làm đơn TIEU LUAN MOI download : skknchat@gmail.com 9 giản việc thiết kế các hệ thống phức tạp. Người ta thường phân một hệ thống phức tạp thành các hệ thống con chuyên dụng và hợp tác với nhau.

Làm như vậy, không những việc thiết kế đơn giản mà việc thực hiện cũng đơn giản. Đặc trưng của các hệ phân tán Ba đặc trưng, và cũng là những khó khăn điển hình khi thiết kế, của hệ phân tán là: không đồng bộ, thiếu thông tin toàn cục, và không có cơ chế phát hiện sự cố chính xác. Một hệ phân tán không có đồng hồ chung. Ta cũng không thể đồng bộ hóa đồng hồ của các bộ xử lý khác nhau vì không biết chắc độ trễ truyền thông.

Để đạt được tính đồng bộ, ta không thể dùng đồng hồ vật lý mà phải vận dụng các khái niệm và giải thuật nhân quả. Tương tự, một hệ phân tán không có bộ nhớ toàn cục chung. Các bộ xử lý không thể biết được trạng thái toàn cục của hệ thống. "Hiểu biết" của mỗi bộ xử lý chỉ có tính cục bộ.

Do vậy, người thiết kế hệ phân tán, cụ thể là người xây dựng giải thuật phân tán phải xây dựng cơ chế đánh giá các tính toàn cục. Ngoài ra, chúng ta không có cơ chế phát hiện sự cố chính xác trong hệ phân tán vì không thể phân biệt được bộ xử lý chậm hay bị sự cố. Khi một bộ xử lý gặp sự cố, các bộ xử lý còn lại vẫn phải tiếp tục làm việc để đạt được kết quả như mong muốn. Những đặc trưng này thực sự là những khó khăn khi thiết kế các hệ phân tán.

Mô hình hóa các hệ phân tán Trong một hệ phân tán, mỗi thực thể (máy tính, bộ xử lý, tiến trình) chạy một chương trình riêng bao gồm tập các lệnh. Khi thực hiện lệnh, thực thể thay đổi trạng thái cục bộ của nó. Ta có thể mô hình hóa sự thay đổi này bằng cách xem mỗi thực thể là một máy trạng thái. Một hệ phân tán được mô hình hóa bằng tập n máy trạng thái.

Ký hiệu máy thứ i là Pi. Truyền thông giữa các thực thể có thể thực hiện bằng cách chuyển thông báo hay sử dụng bộ nhớ dùng chung. Truyền thông bằng cách ghi vào và đọc ra từ bộ nhớ dùng chung thường hạn chế hệ thống với các thực thể gần nhau về mặt địa lý, ví như hệ thống đa bộ xử lý hay các máy tính đa nhiệm. Truyền thông theo cách chuyển thông báo không có giới hạn như vậy, có thể thực hiện trong cả hệ thống mà các thực thể rất xa nhau về mặt địa lý như các mạng máy tính.

Tùy theo phương pháp truyền thông được sử dụng, ta có mô hình chuyển thông báo hay mô hình với bộ nhớ dùng chung. TIEU LUAN MOI download : skknchat@gmail. Mô hình chuyển thông báo Trong mô hình chuyển thông báo, các láng giềng trao đổi thông tin cho nhau bằng cách gửi và nhận thông báo. Liên kết giữa các thực thể có thể đơn hoặc lưỡng hướng.

Liên kết đơn hướng từ thực thể Pi đến thực thể Pj được sử dụng để chuyển thông báo từ Pi đến Pj. Ta có thể trừu tượng hóa liên kết đơn hướng trên bằng hàng đợi FIFO qi, j chứa tất cả các thông báo được Pi gửi cho Pj nhưng Pj chưa nhận được. Mỗi khi Pi gửi cho Pj một thông báo m, m được đưa vào hàng đợi qi,j. Pj có thể nhận m khi nó trên đỉnh hàng đợi qi,j.

Liên kết lưỡng hướng giữa Pi và Pj có thể được mô hình hóa bằng hai hàng đợi: qi,j cho hướng từ Pi đến Pj và qj,i cho hướng từ Pj đến Pi. Trạng thái của hệ thống phân tán chuyển thông báo tại một thời điểm cụ thể được xác định bởi trạng thái của các bộ xử lý và nội dung của các hàng đợi chứa thông báo tại thời điểm đó. Cấu hình hệ thống (hay cấu hình) được dùng để chỉ trạng thái này. Một cấu hình được ký hiệu c = (s1, s2, …, sn, q1,2 q1,3, …, qi,j, …., qn, n-1), trong đó si, 1 ≤ i ≤ n , là trạng thái của Pi và qi, j, i  j, là hàng đợi chứa thông báo Pi gửi cho Pj nhưng Pj chưa nhận được.

Mô hình với bộ nhớ dùng chung Trong mô hình với bộ nhớ dùng chung, các bộ xử lý trao đổi thông tin cho nhau bằng cách sử dụng chung các ô nhớ. Các bộ xử lý có thể ghi vào một tập các ô nhớ và đọc ra từ một tập các ô nhớ khác. Cấu hình hệ thống bao gồm trạng thái của các bộ xử lý và nội dung của các ô nhớ dùng chung. Một cấu hình của hệ thống gồm n bộ xử lý và m ô nhớ dùng chung được ký hiệu c = (s1, s2, …, sn,, r1, r2, …, rm), trong đó si, 1 ≤ i ≤ n, là trạng thái của Pi, rj, 1 ≤ j ≤ m, là nội dung của ô nhớ dùng chung thứ j.

Mô hình xen kẽ Mô hình xen kẽ được sử dụng để lý giải hành vi của hệ thống phân tán. Trong mô hình này, tại mỗi thời điểm có duy nhất một bộ xử lý thực hiện một bước tính (còn gọi là bước nguyên tử). Mỗi bước nguyên tử bao gồm một số phép tính bên trong bộ xử lý, hay còn gọi là sự kiện tính, và một phép giao, hay còn gọi là sự kiện giao - một phép gửi hoặc nhận trong hệ thống chuyển thông báo hay một phép ghi hoặc đọc trong hệ thống sử dụng bộ nhớ dùng chung. Thực hiện và những tính chất của thực hiện Trong một hệ thống phân tán, các bộ xử lý có thể thực hiện các bước tính một cách đồng thời; tuy nhiên, chúng ta giả thiết bước tính này không ảnh hưởng đến bước tính TIEU LUAN MOI download : skknchat@gmail.

Điều này đúng trong mô hình chuyển thông báo vì một thông báo được gửi đi không thể nhận được bởi thao tác nhận xảy ra đồng thời với thao tác gửi. Trong mô hình bộ nhớ dùng chung, chúng ta giả thiết kiến trúc bộ nhớ dùng chung đảm bảo tuần tự hóa: có thể sắp xếp các thao tác đọc và ghi theo thứ tự hoàn toàn để kết quả của thao tác đọc từ một ô nhớ là giá trị được ghi vào ô nhớ tại lần ghi cuối cùng vào ô nhớ trước thao tác đọc. Trong các phần sau đây, chúng ta sử dụng thuật ngữ bước cho bước nguyên tử và ký hiệu một bước (cùng với định danh của bộ xử lý thực hiện bước tính) là a. Cấu hình c2 được gọi là đến được trực tiếp từ cấu hình c1, ký hiệu là c1 a c2, nếu tồn tại một bước tính a để từ cấu hình c1, thực hiện bước a, ta được cấu hình c2.

Cấu hình c’ được gọi là đến được từ cấu hình c, ký hiệu c  c’, nếu tồn tại các cấu hình ci, 0 ≤ i ≤ n, và các bước aj, 0 ≤ j < n, để c = c0 a0 c1 a1 c2  … cn-1an-1 cn = c’. Bước tính a’ được gọi là áp dụng được trên cấu hình c nếu tồn tại cấu hình c’ để c a' c’. Một thực hiện E = (c1, a1, c2, a2, …) là một dãy xen kẽ các cấu hình và bước tính trong đó ci-1 ai-1 ci (i > 1); nói cách khác, cấu hình ci (i > 1) đến được trực tiếp từ cấu hình ci-1 bằng việc áp dụng bước tính ai-1. Ví dụ, trong mô hình với bộ nhớ dùng chung, nếu tại bước ai, bộ xử lý Pj ghi giá trị x vào ô nhớ dùng chung rk, thì chỉ hai thành phần có giá trị khác nhau trong ci và ci+1 là Pj và rk.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ