1. Trang chủ
  2. » Luận Văn - Báo Cáo

CÁC CÔNG cụ ĐỒNG bộ hóa các TIẾN TRÌNH TRONG hệ THỐNG TIN học

25 569 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

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ệ tin họ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ông tin đặ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ác hệ phân tán là phân tán hóa các quá trình xử lý thông tin và thực hiện các công việc đó trên các trạm xa nhau. Đó là cơ sở để xây dựng các hệ ứ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óa cá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 trong cá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 của hệ, yêu cầu đặt ra trước hết là đồng bộ hóa các tiế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 và việc đồng bộ 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 đồng bộ 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á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ộ 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Ệ TIN HỌC PHÂN TÁN .2 .I Hệ tin học phân tán 2 .I.1. Định nghĩa .2 .I.2. Đặc điểm cơ bản của hệ tin học phân tán 2 .I.3. Ưu điểm và khuyết điểm của hệ tin học phân tán 3 CÁC CÔNG CỤ ĐỒNG BỘ HÓA CÁC TIẾN TRÌNH TRONG HỆ THỐNG TIN HỌ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ệ tin họ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Ệ TIN HỌC PHÂN TÁN .I Hệ tin học phân tán .I.1. Định nghĩa Hệ tin họ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ông tin đặ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ệ tin học phân tán, nhưng phổ biến hơn cả là định nghĩa sau đây: Hệ tin họ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ô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 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ác bộ xử lý, các bộ vi xử lý với bộ nhớ và đồng hồ nhịp độc lập. Có nghĩa là các bộ xử lý không sử dụng chung bộ nhớ và đồng hồ. Như vậy, mỗi một hệ xử lý thông tin 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ệ tin học phân tán Hệ tin họ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ông Hệ thống truyền thông Các hệ thống phần mếm Các hệ 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ệ tin họ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ến trì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ông tin 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ệ tin học phân tán Hệ tin họ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ệ tin họ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ác hệ 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ông tin Ư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ông tin 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 đồng bộ hóa hoạt động của các tiến trình và sự trao đổi thông tin 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 trong các hệ 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ông tin Sinh viên: 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 giờ nó cũng cần cung cấp kèm theo những cơ chế đồng bộ hóa để bảo đảm hoạt động của các tiến trì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ác tiến trình kể cả các tiến trì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ông tin 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ác tiến trình muốn truy cập vào tài nguyên dùng chung. - Các tiến trì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ác tiến trì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ác tiến trình đòi hỏi phải có trao đổi thông điệp qua lại với nhau. Trong các hệ 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 động trong một vùng nhớ chung. Trong hệ tin học phân tán, các thông tin 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 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. Tuy nhiê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. Chính vì vậy, trật tự hóa từng phần giữa các sự kiện mà tiến trình của nó cần phải đồng bộ là vấn đề cần phải quan tâm giải quyết. Trong hệ phân tán, việc đồng bộ 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ác thô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ệ tin họ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ự đồng bộ 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ệ tin họ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ến trìnhthô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ến trình P không biết tiến trì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ệ tin họ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ống cá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 trong hệ 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ến trì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ến trình Pi đóng dấu thời gian cho các thô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ến trì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ệ tin họ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ến trì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ộ

Ngày đăng: 26/12/2013, 11:12

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w