Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 25 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
25
Dung lượng
320 KB
Nội dung
LỜI MỞ ĐẦU Hệtinhọc phân tán là hệthống rất đa dạng, đa diện, phức tạp về mặt cấu trúc, là vùng tri thức hiện đại đang được các chuyên gia công nghệ thôngtin đặc biệt quan tâm và đổi mới rất nhanh chóng. Một trong những tư tưởng lớn của cáchệ phân tán là phân tán hóacác quá trình xử lý thôngtin và thực hiện cáccông việc đó trên các trạm xa nhau. Đó là cơ sở để xây dựng cáchệ ứng dụng lớn như thương mại điện tử, giáo dục điện tử, chính phủ điện tử. . . Phân tán hóacác quá trình xử lý, tạo nên ưu thế của hệ có thể đáp ứng việc giải quyết các bài toán lớn, một cách nhanh chóng. Nhưng cũng tạo tính phức tạp, nan giải trongcác yêu cầu thiết lập hệ. Việc hợp lực của các thành viên trong hệ, dẫn đến hàng loạt các vấn đề như: định danh, cấp phát tài nguyên dùng chung (đảm bảo tránh tương tranh), giải quyết sự cố tạo nên tính tin cậy của hệ. . . Để đảm bảo tính gắn bó của hệ, yêu cầu đặt ra trước hết là đồngbộhóacáctiến trình. Với hệ phân tán (không có bộ nhớ chung, bộ tạo xung đồng hồ chung), khả năng gắn bó và việc đồngbộhóa cho hệ chỉ dựa trên phương tiện duy nhất là truyền thông điệp, nên lời giải cho yêu cầu đồngbộhóa thường chỉ dừng lại ở mức chấp nhận được đối với mỗi hệ . Về mặt bố cục, ngoài phần mở đầu, tài liệu tham khảo và mục lục, báo cáo được chia làm 3 chương, chương 1 tổng quan về hệ phân tán, chương 2 nói về cáccôngcụđồngbộhoácáctiếntrìnhtronghệthốngtinhọc và chương 3 đề ra các giải pháp thích hợp đối với các sự cố ở một trạm nào đó của một bộ tuần tự tuần hoàn trên vòng tròn ảo. Em rất chân thành cảm ơn Thầy giáo PGS-TS. Lê Văn Sơn đã cung cấp kiến thức, tài liệu để tôi hoàn thành báo cáo này. Do thời gian và trình độ hạn chế, đề tài nhất định không tránh khỏi sai sót. Kính mong sự chỉ bảo của Thầy giáo hướng dẫn cũng như các Anh, Chị trong lớp. Xin chân thành cảm ơn. MỤC LỤC LỜI MỞ ĐẦU .I TỔNG QUAN VỀ HỆTINHỌC PHÂN TÁN .2 .I Hệtinhọc phân tán 2 .I.1. Định nghĩa .2 .I.2. Đặc điểm cơ bản của hệtinhọc phân tán 2 .I.3. Ưu điểm và khuyết điểm của hệtinhọc phân tán 3 CÁCCÔNGCỤĐỒNGBỘHÓACÁCTIẾNTRÌNHTRONGHỆTHỐNGTINHỌC 5 .I Các khái niệm 5 .I.1. Thời gian lôgic và trật tự sự kiện từng phần .5 .I.2. Gắn thời gian lôgic với các sự kiện 8 .I.3. Thuật toán đóng dấu thời gian của Lamport 8 .II Các thuật toán loại trừ tương hỗ 10 .II.1. Thuật toán giả phân tán : Hàng đợi tập trung .10 .II.2. Thuật toán Lamport: Hàng đợi phân tán .11 .II.3. Thuật toán Ricart và Agrawala .15 .II.4. Thuật toán Toren Ring .18 BÀI TẬP 19 .I Cơ sở lý thuyết .20 .I.1. Bộ tuần tự 20 .I.2. Vòng tròn ảo 21 .II Giải quyết bài toán .21 TÀI LIỆU THAM KHẢO 24 [1] PGS. TS Lê Văn Sơn. Hệtinhọc phân tán. Nhà xuất bản ĐHQG Tp HCM-2002. .24 [2] Modern Operating System – Andrwe S. Tanebaun, prentice Hall 1994 24 [3] Distributed Systems: Concepts and Design - Addison-Wesley 2001 .24 [4] Operating System Concept – Silberschatz, Galvin and Gagne - 2002 .24 [5] Advances in Distributed and Parallel Knowledge Discovery – Hillol Kargupta and Philip Chan - 2002. .24 [6] Tham khảo các tài liệu trên internet .24 CHƯƠNG 1 TỔNG QUAN VỀ HỆTINHỌC PHÂN TÁN .I Hệtinhọc phân tán .I.1. Định nghĩa Hệtinhọc phân tán là hệthống rất đa dạng, đa diện, phức tạp về mặt cấu trúc, là vùng tri thức hiện đại đang được các chuyên gia công nghệ thôngtin đặc biệt quan tâm và đổi mới rất nhanh chóng Hiện nay, đứng trên những phương diện khác nhau, người ta có thể có các định nghĩa khác nhau về hệtinhọc phân tán, nhưng phổ biến hơn cả là định nghĩa sau đây: Hệtinhọc phân tán hay nói ngắn gọn là hệ phân tán (Distributed System) là hệthống xử lý thôngtin 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 và đượ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 hệ điều hành. Từ định nghĩa, người ta có thể xem hệ phân tán như là một tập hợp bao gồm cácbộ xử lý, cácbộ vi xử lý với bộ nhớ và đồng hồ nhịp độc lập. Có nghĩa là cácbộ xử lý không sử dụng chung bộ nhớ và đồng hồ. Như vậy, mỗi một hệ xử lý thôngtin thành phần của hệ phân tán bao gồm một hay nhiều bộ xử lý và bộ nhớ cục bộ .I.2. Đặc điểm cơ bản của hệtinhọc phân tán Hệtinhọc phân tán gồm bốn thực thể như sau: Hệthống phần mềm: gồm hệ điều hành, các chương trình cơ sở & các chương trình ứng dụng Sinh viên: Nguyễn Tùng Sinh 2 Hệthống truyền thôngHệthống truyền thôngCáchệthống phần mếm Cáchệthống phần mếm Hệthống dữ liệu Hệthống dữ liệu Tập hợp phần cứng Tập hợp phần cứng Tiểu luận: Hệtinhọc phân tán Lớp: Khoa học máy tính –K14 Tập hợp phần cứng: gồm những máy tính cụ thể, những mạng nhỏ nối với nhau để trở thành mạng lớn hơn. Hệthống truyền thông (đường truyền): gồm các thiết bị giao tiếp Hệthống dữ liệu: gồm các Cơ sở dữ liệu Nguyên tắc xây dựng một hệ phân tán có thể liệt kê trong bốn điểm sau: STT Tên gọi Thuyết minh 1 Chia sẻ tài nguyên Một tiếntrình trên một trạm nào đó có thể yêu cầu được cung cấp tài nguyên dùng chung ở một trạm khác 2 Liên lạc Khi hệthống đã được mắc nối với nhau, các thực thể của hệ có thể trao đổi thôngtin cho nhau 3 Tin cậy Một trạm của hệ bị sự cố không làm cho toàn hệ bị ảnh hưởng, mà ngược lại, công việc của trạm đó được phân cho các trạm khác đảm nhiệm. Ngoài ra, trạm bị sự cố có thể được tự động phục hồi lại các trạng thái trước khi bị sự cố hay trạng thái ban đầu của nó 4 Tăng tốc Đây là một khái niệm mới về phân tán tải. Một tính toán lớn nào đó, nếu chỉ sử dụng một trạm thì thời gian tính toán sẽ rất lớn. Tính toán này được chia nhỏ và thực hiện song song trên các trạm, tránh tình trạng trạm bị quá tải. .I.3. Ưu điểm và khuyết điểm của hệtinhọc phân tán Hệtinhọc phân tán thực hiện hang loạt các chức năng phức tạp, nhưng cơ bản nhất là đảm bảo cung cấp cho người sử dụng khả năng truy cập đến các loại tài nguyên vốn có và rất đa dạng của hệthống như những tài nguyên dùng chung. Ưu điểm của điều đó được thể hiện trong bảng sau: STT Ưu điểm so với hệ tập trung 1 Tính kinh tế. Cho tỉ số giá/hiệu suất tốt hơn 2 Tăng tốc độ bình quân trong tính toán, xử lý. Nâng cao hiệu suất thông qua song song hóa 3 Thực hiện công việc chung hay chia sẻ công việc. Có sức mạnh của nhiều máy tính cộng lại Sinh viên: Nguyễn Tùng Sinh 3 Tiểu luận: Hệtinhọc phân tán Lớp: Khoa học máy tính –K14 4 Tính phân tán. Thích hợp với cáchệthống có tính phân tán 5 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 6 Độ tin cậy. Hệthống vẫn làm việc tốt khi có máy bị lỗi ngừng làm việc 7 Có khả năng mở rộng. Có thể mở rộng hệthống theo từng bước 8 Đảm bảo tính toàn vẹn của thôngtin Ưu điểm so với các máy tính riêng lẻ 9 Khả năng chia sẻ dữ liệu. Cho phép nhiều người dùng truy cập đến 1 CSDL chung 10 Khả năng chia sẻ thiết bị. Cho phép người dùng chia sẻ các thiết bị đắt tiền 11 Khả năng truyền thông. Cho phép trao đổi thôngtin giữa người dùng và người dung một cách dễ dàng 12 Tính mềm dẻo. Chia sẻ công việc cho nhiều máy một cách hiệu quả 13 Đơn giản thiết kế thông qua chuyên dụng hóa Bên cạnh những ưu điểm, hệthống phân tán cũng có những nhược điểm của mình. Để đảm bảo các chức năng, yêu cầu như trên, hệ phân tán phải có các yêu cầu kỹ thuật đủ mạnh nhằm đồngbộhóa hoạt động của cáctiếntrình và sự trao đổi thôngtin với nhau sao cho hệthống tránh được các trường hợp có thể dẫn đến bế tắc. Ngoài ra, trong hệ, người ta còn cần phải giải quyết hang loạt các vấn đề mới phát sinh mà trước đây chưa từng gặp trongcáchệthông thường. STT Nhược điểm của hệthống phân tán 1 Phần mềm. Sự phức tạp trong cách thiết kế, xây dựng và sử dụng phần mềm cho hệthống phân tán 2 Truyền thông mạng. Phải xử lý các vấn đề liên quan đến truyền thông mạng như sự chậm trễ, sự mất mát dữ liệu 3 Tính bảo mật: người dùng dễ truy cập = dễ tiết lộ thôngtin Sinh viên: Nguyễn Tùng Sinh 4 CHƯƠNG 2 CÁCCÔNGCỤĐỒNGBỘHÓACÁCTIẾNTRÌNHTRONGHỆTHỐNGTINHỌCTrong một hệthống cho phép cáctiếntrình liên lạc với nhau, bao giờ nó cũng cần cung cấp kèm theo những cơ chế đồngbộhóa để bảo đảm hoạt động của cáctiếntrìnhđồng hành không tác động sai lệch đến nhau vì các lý do sau đây: - Nhìn chung, cáctiếntrình kể cả cáctiếntrình xuất phát từ các ứng dụng độc lập muốn truy cập vào các tài nguyên với số lượng vốn rất hạn chế hay truy cập vào thôngtin dùng chung cùng một lúc. Trường hợp này gọi là truy cập tương tranh. Tương tranh chính là nguyên nhân chính của các xung đột của giữa cáctiếntrình muốn truy cập vào tài nguyên dùng chung. - Cáctiếntrình của cùng một hệ ứng dụng hoạt động theo kiểu hợp lực để giải quyết các bài toán đặt ra và cho kết quả nhanh chóng nhất. Điều này cho phép tăng hiệu năng sử dụng thiết bị và hiệu quả hoạt động của chương trình. Hợp lực là nguyên nhân chính của sự tác động tương hỗ được lập trình giữa cáctiếntrình nhằm cho phép chúng tham gia vào các hành động chung. Sự tương tranh và hợp lực giữa cáctiếntrình đòi hỏi phải có trao đổi thông điệp qua lại với nhau. Trongcáchệthống tập trung, điều đó được thực hiện nhờ thuật toán loại bỏ tương hỗ thông qua các biến cùng tác độngtrong một vùng nhớ chung. Tronghệtinhọc phân tán, cácthôngtin cần trao đổi thông qua các kênh thuộc hệthống viễn thông. .I Các khái niệm .I.1. Thời gian lôgic và trật tự sự kiện từng phần Trongcáchệtinhọc tập trung, vấn đề đồngbộ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. Tuy nhiên, trong thực tế một số hệthống khi đồngbộhóa chỉ đòi hỏi trật tự từng phần. Chính vì vậy, trật tự hóa từng phần giữa các sự kiện mà tiếntrình của nó cần phải đồngbộ là vấn đề cần phải quan tâm giải quyết. Tronghệ phân tán, việc đồngbộhóa chủ yếu yêu cầu thiết 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ácthông điệp với nhau. Trở lại năm 1979, Lamport đã đưa ra rằng hai sự kiện từ các trạm khác nhau chỉ có thể có trật tự nếu chúng được tách rời với nhau bằng cách gửi và nhận thông điệp. Ngược lại, cho dù một sự kiện xảy ra trước sự kiện khác theo thời gian, không có cách nào cho sự kiện thứ hai có thể quan sát trật tự này và vì vậy, không có cách nào cho sự chính xác của nó phụ thuộc vào nó. Giả định ở đây là không có sự quan sát Sinh viên: Nguyễn Tùng Sinh 5 Tiểu luận: Hệtinhọc phân tán Lớp: Khoa học máy tính - K14 bên ngoài của trật tự sự kiện. Nếu sự chính xác của hệthống phụ thuộc vào trật tự được quan sát bởi con người, ví dụ, thì sự quan sát Lamport không áp dụng. Tuy nhiên, sự chính xác trật tự chỉ phục thuộc vào sự đồngbộ bên trong của các sự kiện và vì thế định nghĩa của Lamport có thể áp dụng. Giả sử rằng ta có thể xác định một trật tự giữa các sự kiện của hệ phân tán nhờ vào quan hệ “có trước” (→): Bây giờ ta xem xét về trật tự sự kiện: Các sự kiện trên P có quan hệ như thế nào với các sự kiện trên Q? Các sự kiện nào của P xảy ra trước các điều kiện nào của Q? Trật tự từng phần của các sự kiện: P 1 → P 2 → P 3 , và Q 1 → Q 2 → Q 3 Sinh viên: Nguyễn Tùng Sinh 6 • • a b P 1. a “có trước” b (a → b) • a P 2. a “có trước” b (a → b) • b Q • 3. a P a “xảy ra trước” c (a → c) - bắc cầu - • b Q • c P 1 P 2 P 3 Q 1 Q 2 Q 1 P Q P 1 P 2 P 3 Q 1 Q 2 Q 1 P Q thông điệp Tiểu luận: Hệtinhọc phân tán Lớp: Khoa học máy tính - K14 Nếu P 1 là sự kiện phát thông điệp và Q 2 là sự kiện nhận tương ứng thì: P 1 → Q 2 Trật tự các sự kiện được định nghĩa như sau: − Nếu A và B là hai sự kiện của cùng một trạm và A xảy ra trước B thì ta có A→B. − Nếu A là phát thông điệp từ một trạm nào đó và B là nhận thông điệp thì ta có A→B. − Nếu A→B và B→C, thì A→C. Sơ đồ của “ có trước ”: + a → b có nghĩa: chúng ta có thể đi từ a đến b theo sơ đồ bằng cách di chuyển về phía trước theo thời gian dọc theo các đường tiếntrình và thông điệp, ví dụ p1 → r4 + Chúng ta nói rằng a tác động nhân quả đến b + Hai sự kiện là hợp lực nếu chúng có tác động nhân quả với nhau, ví dụ p3 và q3 là hợp lực. + Cho dù q3 xảy ra tại thời điểm vật lý sớm hơn p3 , tiếntrình P không biết tiếntrình Q đã làm gì tại thời điểm q3 cho đến khi nó nhận được thông điệp tại thời điểm p4. Sinh viên: Nguyễn Tùng Sinh 7 p2 p1 p3 p4 q1 q2 q3 q4 q5 q6 r1 r2 r3 r4 P RQ Tiểu luận: Hệtinhọc phân tán Lớp: Khoa học máy tính - K14 .I.2. Gắn thời gian lôgic với các sự kiện − Cácđồng hồ lôgic: gán một số cho mỗi sự kiện cục bộ nhưng không liên quan đến thời gian vật lý. − Hệthốngcácđồng hồ lôgic phải chính xác : − Hay nói cách khác: − Làm thế nào chúng ta có thể thực thi cácđồng hồ thỏa mãn Điều kiện Đồng hồ? Bằng thuật toán đóng dấu thời gian của Lamport – cung cấp một tập hợp các quy luật thực thi đơn giản. .I.3. Thuật toán đóng dấu thời gian của Lamport − Đồng hồ lôgic là thuật toán cho phép đóng dấu cho từng sự kiện tronghệ phân tán để với mỗi cặp sự kiện A và B ta có: nếu A có trước B (A → B) thì đồng hồ lôgic của A nhỏ hơn đồng hồ lôgic của B. − Các quy luật: + Quy luật 1: Mỗi tiếntrình P i gia tăng C i thêm một trị số giữa hai sự kiện thành công + Quy luật 2: Mỗi tiếntrình Pi đóng dấu thời gian cho cácthông điệp m gửi đi, T m = C i (a) + Quy luật 3: Khi nhận được thông điệp m, tiếntrình P j đặt lại giá trị C j : C j = max (C j , T m ) + 1 Sinh viên: Nguyễn Tùng Sinh 8 ∀ sự kiện a,b : nếu a → b thì C(a) < C(b) Điều kiện đồng hồ • a Pi • b Pj • c Ci (a) < Cj (b) và Cj (b) < Cj (c) • P i a C i C i +1 • P i a C i C i +1 (m, T m = C i (a) ) Tiểu luận: Hệtinhọc phân tán Lớp: Khoa học máy tính - K14 − Trật tự sự kiện toàn bộ: giả sử là cácđồng hồ thỏa mãn Điều kiện Đồng hồ, ta định nghĩa quan hệ sau: với các sự kiện a trên Pi và b trên P j − Trật tự từng phần với trật tự toàn bộ + Chú ý rằng quan hệ “có trước”chỉ định nghĩa trật tự từng phần của các sự kiện. Điều này có nghĩa là trong khi một số sự kiện được sắp xếp trật tự bằng quan hệ “có trước”, vẫn còn một số sự kiện không được sắp xếp theo thứ tự + Thỉnh thoảng chúng ta cần đến trật tự toàn bộ của các sự kiện. + Trật tự toàn bộ sắp xếp thứ tự cho từng sự kiện để tất cả các trạm đồng ý với trật tự này. + Lamport định nghĩa trật tự toàn bộ dựa trên quan hệ “có trước”, nó gán cho mỗi trạm một số duy nhất và sau đó sử dụng số này để lập trật tự cho các sự kiện không được sắp xếp thứ tự bằng quan hệ “có trước”. + Trật tự nhất quán của các sự kiện phát: + Định dạng thông điệp từ P i : (m, T m , i) + Tại tiếntrình Pi, một sự kiện phát (m, T m , j) từ P j được gọi là có trước sự kiện phát (n, T n , k) từ P k nếu : Nếu T m < T n , hoặc Nếu T m = T n và j < k + Chú ý, đây là trật tự ⇒ Sinh viên: Nguyễn Tùng Sinh 9 • P j C j C j = max (C j , T m ) + 1 (m, T m ) a a ⇒ b nếu C i (a) < C j (b) hoặc C i (a) = C j (b) và i < j P1 P2 P3 P4 0 0 0 0 (a,1,1) (b,1,4) 3 2 2 3 2 2 . Nguyễn Tùng Sinh 4 CHƯƠNG 2 CÁC CÔNG CỤ ĐỒNG BỘ HÓA CÁC TIẾN TRÌNH TRONG HỆ THỐNG TIN HỌC Trong một hệ thống cho phép các tiến trình liên lạc với nhau, bao. về các công cụ đồng bộ hoá các tiến trình trong hệ thống tin học và chương 3 đề ra các giải pháp thích hợp đối với các sự cố ở một trạm nào đó của một bộ