tiểu luận môn lập trình mạng mô phỏng quá trình phát nhận thông điệp trong hệ phân tán

29 555 0
tiểu luận môn lập trình mạng mô phỏng quá trình phát nhận thông điệp trong hệ phân tán

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG  TIỂU LUẬN LẬP TRÌNH MẠNG Đề tài: MÔ PHỎNG QUÁ TRÌNH PHÁT NHẬN THÔNG ĐIỆP TRONG HỆ PHÂN TÁN Giáo viên hướng dẫn : PGS.TS LÊ VĂN SƠN Học viên : ĐẶNG NGỌC THẮNG Chuyên ngành : Khoa Học Máy Tính Đà Nẵng - Năm 2012 LỜI MỞ ĐẦU Thế kỷ 21 được đánh giá là thế kỷ của thời đại Công nghệ thông tin. Các thành tựu của ngành khoa học trí tuệ này đã góp phần quan trọng vào việc thay đổi bộ mặt thế giới cả về bề mặt lẫn chiều sâu, nó đưa con người trên khắp thề giới tìm được tiếng nói chung, đó là tiếng nói của Công nghệ thông tin. Và việc ứng dụng các thành tựu của nền Công nghệ hiện đại này trở thành vấn đề chủ chốt quyết định sự thành bại của các thành phần tham gia vào lĩnh vực hoạt động trên thế giới từ kinh tế, văn hoá, chính trị đến quân sự , đó chính là việc các thành phần này sẽ sử dụng nền Công nghệ này như thế nào và xử lí chúng ra sao. Ngày nay vấn đề đặt ra cho các nhà tin học là làm sao có thể khai thác một cách có hiệu quả nguồn thông tin của nhân loại. Mặc khác, các nguồn thông tin lại nằm rải rác trên các Server ở khắp nơi và việc liên hệ trao đổi thông điệp được giữa các server đều thông qua đường truyền. Trong giới hạn của một báo cáo tiểu luận kết thúc môn học, nội dung của bài báo cáo “Hãy viết chương trình mô phỏng quá trình phát và nhận thông điệp trong hệ phân tán”, tôi xin trình bày phần nội dung sau: Phần lí thuyết: nhằm đưa ra cơ lý thuyết cơ bản về hệ phân tán và lập trình phân tán trên nền ngôn ngữ Java. Phần bài tập: - Xây dựng hệ thống 3 server có khả năng phát nhận thông điệp. - Sắp xếp trật tự các thông điệp đến và xử lý đoạn găng. - Hiển thị kết quả lên màn hình. Trong quá trình thực hiện tiểu luận này, bản thân tôi xin chân thành biết ơn sự giúp đỡ của PGS.TS Lê Văn Sơn và các anh chị em đồng nghiệp. Học viên thực hiện Đặng Ngọc Thắng MỤC LỤC LỜI MỞ ĐẦU 2 MỤC LỤC 3 CHƯƠNG I 5 CƠ SỞ LÝ THUYẾT 5 I.Các khái niệm cơ bản 5 .I.1.Hệ thống tin học 5 .I.2.Hệ tin học phân tán 5 .I.3.Tiến trình 5 II.Đồng bộ hóa các tiến trình 6 .II.1.Vấn đề tương tranh và hợp lực 6 .II.2.Vấn đề gắn bó dữ liệu 7 .II.3.Trật tự từng phần 8 .II.4.Giả định các điều kiện chung 10 .II.5.Trật tự tổng quát chặt chẽ 10 II.5.1.Cung cấp tập trung 10 II.5.2.Cung cấp phân tán 11 III.Sắp xếp kiểu đóng dấu 11 .III.1.Đồng hồ logic 11 .III.2.Minh họa trật tự từng phần 11 .III.3.Gắn thời gian lôgic với các sự kiện 12 IV.Đồng bộ hóa theo một trật tự tổng quát chặt chẽ 13 .IV.1.Cấu trúc trật tự tổng quát chặt chẽ 13 .IV.2.Giải thuật đóng dấu thời gian của Lamport 14 V.Giải thuật loại trừ tương hỗ 15 .V.1.Giới thiệu giải thuật 15 .V.2.Kiểm nghiệm giải thuật 16 CHƯƠNG II 17 LẬP TRÌNH PHÂN TÁN 17 I.Mô hình Client-Server 17 .I.1.Giới thiệu 17 .I.2. Client 18 .I.3.Server 18 II.Mạng máy tính phân tán 19 III.Các điểm mạnh trong hệ phân tán 19 IV.Giới thiệu phương thức triệu gọi đối tượng từ xa RMI (Remote Method Invocation) 20 .IV.1.Triệu gọi phương thức từ xa 20 .IV.2.Kiến trúc RMI Java 21 CHƯƠNG 3 24 TRIỂN KHAI CHƯƠNG TRÌNH 24 I.Bài toán đặt ra 24 II.Hướng giải quyết 24 III.Thuật toán Lamport 24 .III.1.Các giả định 24 .III.2.Các kiểu thông điệp 24 .III.3.Các biến tiến trình 25 .III.4.Thuật toán 25 .III.5.Nhận xét 25 IV.Kết quả Demo chương trình 26 27 CHƯƠNG IV 28 KẾT LUẬN 28 I.Đánh giá kết quả đã thực hiện 28 II.Hạn chế 28 III.Hướng phát triển ứng dụng 28 TÀI LIỆU THAM KHẢO 29 GVHD: PGS.TS Lê Văn sơn Tiểu luận Lập trình mạng CHƯƠNG I CƠ SỞ LÝ THUYẾT I. Các khái niệm cơ bản .I.1. Hệ thống tin học Hệ thống tin học (Informatics System) là hệ thống bao gồm hai phần cơ bản là phần cứng (hardware) hay là phần vật lý và phần mềm (software) là phần logic hay là chương trình gắn bó hữu cơ với nhau và có khả năng xử lý thông tin. Hệ thống tin học gồm ba thực thể: phần cứng, phần mềm, dữ liệu. .I.2. Hệ tin học phân tán Hệ tin học phân tán là hệ thống không chia sẻ bộ nhớ và đồng hồ. Điều đó cho phép phân biệt với một xu hướng tin học khác về phân tán các tính toán trên nhiều bộ xử lý hay vi xử lý của hệ thống đa bộ xử lý. Hệ tin học phân tán đòi hỏi hệ thống phần cứng của mình phải trang bị bộ nhớ cục bộ. Các bộ xử lý trao đổi với nhau thông qua các hệ thống đường truyền khác nhau như là cáp quang, điện thoại, cáp chuyên dụng, bus trao đổi, .I.3. Tiến trình Tiến trình (Process) là khái niệm khá quen thuộc và là đối tượng nghiên cứu của hệ điều hành. Trong hệ phân tán ta chỉ xem xét và bổ sung đặc điểm hoạt động và truy cập của các tiến trình có nhu cầu cung cấp tài nguyên dùng chung. Các đặc điểm đó là : o Các tiến trình được hình thành và điều khiển bởi hệ điều khiển duy nhất có nghĩa là nếu trong các thành phần tham gia hệ phân tán như mạng máy tính, các hệ tập trung, có thể có các hệ điều hành riêng với các tiến trình riêng của mình, thì chúng cũng bị phái sinh lại trong nội dung của tiến trình mới, phân tán. o Tiến trình là chương trình hay đoạn chương trình đang hoạt động trong hệ phân tán là đối tượng chủ yếu có nhu cầu tài nguyên phần cứng hay phần mềm để thực hiện các lệnh của mình. Tiến trình cần tài nguyên để phát triển. Về nguyên tắc, tất cả các tiến trình và tài nguyên được cung cấp là các đối tượng ở xa. o Các nguyên lý của hệ tập trung có thể nghiên cứu và áp dụng cho các tiến trình phân tán như dự phòng và chống bế tắc, chống xung đột, o Khi tiến trình được cung cấp tài nguyên có thể nó thực hiện ngay, nếu nó là đối tượng được gửi đến từ trước trên bộ xử lý (máy) cục bộ hoặc phải gửi đối tượng là tiến trình qua hệ thống đường truyền. o Việc cung cấp tài nguyên cho các tiến trình có thể thực hiện theo 2 cách trong hệ phân tán :  Thông qua hệ thống cung cấp chung cho toàn hệ như Controllor/Allocator.  Thông qua Allocator cục bộ trên Server/Workstation bằng cách tham chiếu vào bảng trạng thái, ảnh của thông tin toàn cục. HVTH: Đặng Ngọc Thắng Trang 5 GVHD: PGS.TS Lê Văn sơn Tiểu luận Lập trình mạng II. Đồng bộ hóa các tiến trình Đồng bộ hoá tiến trình được hiểu như là quá trình điều khiển tạo nên sự ăn khớp với nhau giữa tất cả các tiến trình khác nhau giúp cho hệ phân tán hoạt động nhịp nhàng, tin cậy và phòng tránh các sự cố kỹ thuật. .II.1. Vấn đề tương tranh và hợp lực Trong tất cả các hệ thống tin học, ta cần phải nghiên cứu các công cụ đủ mạnh và hiệu quả để có thể đồng bộ hóa các tiến trình. Tính cấp thiết về mặt nguyên lý và kỹ thuật của vấn đề này thể hiện ở hai nguyên do cơ bản sau đây: 1. 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 rất hạn chế hay truy cập vào thông tin dùng chung cùng một lúc gây nên hiện tượng truy cập tương tranh. Tương tranh là nguyên nhân chính của các xung đột giữa các tiến trình muốn truy cập vào các tài nguyên dùng chung. 2. 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 tóan đặ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 tin 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 trừ 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 thông điệp bằng các kênh viễn thông. Một sự hoạt động gắn bó của các chương trình cung cấp phân tán quản lý trên cùng một tập hợp các tài nguyên chỉ đạt được nếu tuân thủ các qui tắc sau: 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. Qui tắc cuối, nhấn mạnh đến sự thiết yếu phải có một trật tự duy nhất trên tập hợp các thông điệp của hệ. Trật tự này có thể được thực hiện thông qua việc hợp lực của các tiến trình cung cấp. Ở phần sau chúng ta nghiên cứu một số phương pháp sắp xếp nhằm xác lập một trật tự đảm bảo cho yêu cầu đồng bộ hóa. HVTH: Đặng Ngọc Thắng Trang 6 GVHD: PGS.TS Lê Văn sơn Tiểu luận Lập trình mạng .II.2. Vấn đề gắn bó dữ liệu Gắn bó dữ liệu là quá trình khi thực hiện trao đổi thông tin qua lại với nhau vào tại một thời điểm t nào đó thì giá trị các tiến trình phải giống nhau. Để hiểu rõ hơn về gắn bó dữ liệu ta xét bài toán bãi đỗ xe như sau : 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 ra vào. Trong bài toán này chúng ta nhận thấy : - Bãi đậu xe chính là tài nguyên - Xe chính là các tiến trình - Nếu một cửa là tập trung còn nhiều của sẽ diến ra tranh chấp  Tình huống thứ 1 : Ta giả sử rằng bãi để xe ô tô là loại bãi lớn có một cổng vào dưới sự kiểm soát của một người bảo vệ (NBV) duy nhất. NBV chỉ biết được một phần của trạng thái bãi để xe. Trong khi anh ta nghĩ rằng bãi để xe đã bị đầy, khi đó lại có nhiều lái xe đang cho xe chạy ra cổng. Vì suy nghĩ như vây, trong trường hợp này, anh ta không giải quyết được cho các xe khác tiếp tục được vào bãi nữa, mặc dù lúc này trong bãi đang có chổ trống, như vậy, NBV không nắm được trạng thái hiện hành của bãi.  Tình huống thứ 2 : Nếu ta có bãi để xe có nhiều cổng vào và tại mỗi cổng có một người bảo vệ thì mỗi người bảo vệ chỉ có thể biết được trạng thái với độ trễ nhất định và điều đó đãn đến tình huống thứ 2. Đó là tình huống có nhiều trung tâm ra quyết định như trong hình vẽ trên. Trên thực tế một người bảo vệ nào đó tin rằng không còn chỗ trống nữa, trong khi một người bảo vệ khác lại vừa mới cho ra khỏi bãi một số xe mà anh ta chưa kịp báo cho các người bảo vệ khác. Cũng có thể diễn ra trường hợp là cùng một lúc các người bảo vệ giải quyết các xe vào cùng một vị trí trong bãi do vì họ thiếu thông tin. HVTH: Đặng Ngọc Thắng Trang 7 VT VT VT VT VT VT VT VT VT VT VT VT VT VT VT VT VT VTVT VT VT BV BV BV BV BV BV GVHD: PGS.TS Lê Văn sơn Tiểu luận Lập trình mạng Như vậy các người bảo vệ phải hợp lực với nhau để phân phối chính xác các chổ trong bãi, đặc biệt là số lượng chổ còn trống càng ít thì vai trò của hợp lực còn quan trọng. Đây chính là sự không gắn bó dữ liệu ở bãi đậu xe ô tô. Để hiểu rõ hơn vấn đề đồng bộ hoá ta xét ví dụ cụ thể như sau : Giả sử rằng ở thời điểm cho trước ta có 4 ngưòi bảo vệ và có 100 chỗ còn trống. Tất cả các người bảo vệ đều có thông tin đó. Trạng thái lúc này của hệ là gắn bó. Ba trong số họ phát đi các thông tin sau : 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. Để bảo đảm các bản cập nhật giống nhau thì trình tự cập nhật nhất thiết phải giống nhau trên tất cả các trạm. Trật tự xử lý Bảo vệ 1 Bảo vệ 2 Bảo vệ 3 Bảo vệ 4 Thông điệp Giá Trị Thông điệp Giá Trị Thông điệp Giá Trị Thông điệp Giá Trị 100 100 100 100 1 M1 120 M2 90 M3 90 M1 120 2 M3 108 M3 81 M1 110 M2 110 3 M2 118 M1 101 M2 100 M3 99 Trong bài toán quản lý bãi đỗ xe việc không gắn bó dữ liệu luôn luôn xảy ra ở các trạm nếu không có một cơ chế để thực hiện đồng bộ hoá các tiến trình (cho phép các ô tô vào bãi đậu theo một trình tự). Khi thực hiện phân tán chức năng cung cấp trên nhiều trạm khác nhau (các bảo vệ) sự hoạt động gắn bó với nhau giữa các chương trình cung cấp là rất cần thiết để đảm bảo cho hoạt động cung cấp hoàn toàn chính xác. Trên cơ sở phân tích bài toán ở trên chúng ta nhận thấy vấn đề không gắn bó dữ liệu trên các hệ phân tán cần phải có cách giải quyết thích hợp. .II.3. Trật tự từng phần Cần chú ý rằng, trong các hệ thống tin học tập trung, vấn đề đồng bộ hoá được giải quyết thông qua cơ chế loại trừ tương hỗ. Cơ chế này cho phép sắp đặt (xác lập trật tự) hoàn toàn các sự kiện. Trong thực tiễn, nói một cách chính xác, có một hệ HVTH: Đặng Ngọc Thắng Trang 8 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 sân bãi GVHD: PGS.TS Lê Văn sơn Tiểu luận Lập trình mạng thống vấn đề về đồng bộ hoá chỉ đòi hỏi trật tự từng phần. Chính vì vậy trật tự hoá từng phần giữa các sự kiện mà các 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 các hệ thống phân tán, việc đồng bộ hoá chỉ đặt ra duy nhất vấn đề 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ự đó chỉ có thể hiện được thông qua việc trao đổi các thông điệp với nhau. 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 ký hiệu là → và gọi là “có trước” hay “ở ngay trước”. Quan hệ này tối thiếu phải thoã mãn được ràng buộc thể hiện trong bảng sau đây : Hình vẽ sau đây cho ta một ví dụ về trật tự hoá từng phần của các sự kiện trong hệ thống. Theo hình vẽ trên, ta có thể biểu diễn trật tự như sau :  Trật tự từng phần của các sự kiện A 1 → A 2 → A 3 → A 4 → A 5 B 1 → B 2 → B 3 → B 4  Trao đổi thông tin A 1 → B 2 và B 3 → A 4  Chuyển qua A 1 → A 2 → B 2 → B 3 → B 4 HVTH: Đặng Ngọc Thắng Trang 9 C 1 : Nếu A và B là hai sự kiện của cùng một trạm và nếu A được thực hiện trước B thì theo trật tự cục bộ của trạm ta có A → B. C 2 : Nếu A là phát thông điệp bởi một trạm nào đó và nếu B là thu của thông điệp này thì ta có A → B. A1 A2 A3 A4 A5 B1 B2 B3 B4 B5 t GVHD: PGS.TS Lê Văn sơn Tiểu luận Lập trình mạng B 1 → B 2 → B 3 → A 4 → A 5 A 1 → A 2 → B 2 → B 3 → A 4 → A 5 Ví dụ về các sự kiện không so sánh B 1 và A 1 , A 2 , A 3 A 3 và B 2 , B 3 , B 4 Ràng buộc C1 thể hiện rằng trật tự có thể được bởi quan hệ có trước là tương thích với các trật tự cục bộ được định nghĩa trong từng trạm. Ràng buộc C2 nói lên nguyên tắt nhân quả. Quan hệ có trước xác định một trật tự từng phần trên tập hợp các sự kiện của hệ và trật tự này có thể hiện trong hình vẽ trên. .II.4. Giả định các điều kiện chung Các hệ phân tán được xây dựng trên cơ sở các trạm làm việc được mắc nối với nhau (nối mạng). Mỗi một trạm có bộ nhớ riêng của mình và tuyệt đối không có bộ nhớ chung. Ta áp dụng các ký hiệu trong bảng sau: STT Ký hiệu Thuyết minh 1 H 1 Một trạm trong các trạm đều có thể liên lạc với các trạm còn lại trong hệ 2 H 2 Không có lỗi truyền thông tin và không mất thông điệp 3 H 3 Trật tự nhận trên trạm j của dãy các thông điệp cũng giống như chính tại trạm I là giống với trật tự của nơi phát 4 H 4 Sự cố hay gián đoạn vật lý tại một trạm nào đó được phát hiện sẽ lập tức thông báo đến tất cả các trạm có ý định liên lạc với nó. Trước hết, trong đề tài này nghiên cứu sự hoạt động của hệ không có sự cố, rồi sau đó sẽ chỉ ra hiệu ứng của sự cố hay việc phục hồi lại một trạm. Đó là trường hợp đã nêu lên trong H4 ở trên. Ngoài ra còn giả sử rằng hiện tượng gây sự cố trên một trạm chỉ làm cho trạm đó không liên lạc được với mạng mà hoàn toàn không ảnh hưởng đến sự hoạt động của các trạm còn lại hoặc ít nhất là một nhóm các trạm khác. .II.5. Trật tự tổng quát chặt chẽ Trong một số trường hợp cần phải sắp xếp toàn bộ theo kiểu chặt chẽ các sự kiện của hệ liên quan trực tiếp đến việc cung cấp các tài nguyên. Nguyên lý của vấn đề được khái quát như sau. Một tiến trình nào đó gởi thông điệp để yêu cầu sử dung tài nguyên; một tiến trình sử dụng xong tài nguyên nào đó truyền một thông tin giải phóng khi nó ngừng chiếm dụng. II.5.1. Cung cấp tập trung Hiện tại, trong các hệ thống tập trung, mỗi một loại tài nguyên của hệ được quản lý bởi một chương trình cung cấp duy nhất, goi là bộ cung cấp tài nguyên. Chương trình này tiếp tục nhận tất cả các yêu cầu, khuyến nghị giải phóng và sắp xếp HVTH: Đặng Ngọc Thắng Trang 10 [...]... loại thông điệp khác nhau STT Thông điệp Giải thích 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 j cho trạm j đã nhận được từ trạm i thông điệp REQ 2 Mỗi trạm quản lý một hàng đợi các thông điệp được sắp xếp hoàn toàn bởi quan hệ. .. trạm, khi nhận được một thông điệp dạng (REQ, Hi, i) hay (REL, Hi, i), thông điệp này thay thế thông điệp Mi bất chấp nó là gì Khi nhận thông điệp loại (ACQ, Hi, i), thông điệp này thay thế Mi ngoại trừ nếu Mi là một yêu cầu mà trong trường hợp đó ACQ bị bỏ qua.Do vây, ta có thể tiết kiệm việc gởi đi thông điệp ACQ cho trạm I khi trạm này đã gởi một thông điệp REQ và không còn thông điệp REL HVTH: Đặng... mình, nó còn cần phải được nhận một thông điệp của từng trạm khẳng định rằng không có thông điệp nào trước các thông điệp khác mà đang quá cảnh trên đường Thuật toán loại trừ tương hỗ được mô tả theo các bước sau: 1 Trạm i của mạng có thể gửi cho các trạm khác thông điệp có dạng (T, Hi, i), trong đó Hi là dấu của thông điệp có nghĩa là đồng hồ logic của nó và T có thể nhận một trong ba giá trị REQ, REL,... 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 .III.5 Nhận xét o Cách thức hoạt động: 3(N-1) thông điệp cần thiết cho mỗi miền găng được thi hành (N-1) thông điệp REQ, (N-1) thông điệp REP và (N-1) thông điệp REL o Độ trễ đồng bộ: T (trong đó T thời gian trung bình truyền thông điệp) Khi nhận được thông điệp giải phóng, tiến trình tiếp theo có thể bắt... LẬP TRÌNH PHÂN TÁN I Mô hình Client-Server I.1 Giới thiệu Mô hình Client/Server là mô hình tổ chức trao đổi thông tin trong đó mô tả cách mà các máy tính có thể giao tiếp với nhau theo một phương thức nhất định Phương thức này là một chiến lược tổ chức phân cấp mà trong đó có một máy tính đặc biệt phục vụ các yêu cầu về lưu trữ, xử lý, tính toán tất cả các máy trên mạng Kiểu tổ chức tổng quát của mô. .. vào đoạn găng có nghĩa là nó đã nhận thông điệp từ tất cả các trạm khác và tất cả các thông điệp đều sau thông điệp REQ của riêng nó Ta kiểm tra các đặc tính sau đây: 1 Trạm i đang ở trong đoạn găng là trạm duy nhất nằm trong đoạn găng ấy Thực tế cho thấy thông điệp REQ được phát bởi i vẫn tiếp tục tồn tại trong tất cả các hàng đợi cho đến khi nó được thay thế bởi thông điệp REL 2 Trạm đã yêu cầu vào... tiến trình Pi cho tiến trình Pj khi Pi nhận được yêu cầu từ Pj o (REL, Ci, i) : Thông điệp giải phóng từ Pi thông báo cho biết nó đã rời khỏi CS Thông điệp này được gửi cho tất cả các tiến trình khác .III.3 Các biến tiến trình o Ci : Đồng hồ cục bộ của Pi, khởi tạo từ 0 o qi : Hàng đợi [0 … n-1] chứa các thông điệp .III.4 Thuật toán o Khi một tiến trình tại trạm Si muốn thi hành đoạn găng, nó sẽ gửi thông. .. cần lập lịch hay đồng bộ đối với thời gian thực Nó chỉ là thứ tự sự kiện hoạt động liên quan Trong trường hợp như vậy, đồng hồ logic có thể được dùng để biểu thị thứ tự thông tin cho các sự kiện, đặc biệt trong hệ phân tán, nó khó giữ được đồng hồ vật lý chung giữa tất cả các tiến trình đang sắp xếp Đồng hồ logic Lamport là khái niệm cơ bản để sắp xếp các tiến trình và các sự kiện trong hệ phân tán. .. IV Đồng bộ hóa theo một trật tự tổng quát chặt chẽ Trong các hệ thống tập trung, mỗi loại tài nguyên được quản lý bởi một chương trình cung cấp duy nhất Chương trình này tiếp nhận tất cả các yêu cầu, khuyến nghị giải phóng và sắp xếp chúng trong một hàng đợi xử lý theo kiểu loại trừ tương hỗ Trong các hệ phân tán, chương trình cung cấp nằm trên một trạm và các tiến trình đề nghị từ các trạm khác Các... thiết lập: Mỗi trạm S đều có trang bị công tơ với các giá trị nguyên Cs đó chính là đồng hồ logic, hoạt động theo các qui tắc sau: Gia tăng Ci thêm một trị số giữa hai sự kiện kế tiếp Ci o a • Ci+1 Khi phát thông điệp thì gán giá trị của đồng hồ logic vào Trạm e phát thông điệp m , ghi dấu thời gian cho các thông điệp m gửi đi, Tm = Ce (a) Ci a • Ci+1 (Tm = Ce (a) ) o Khi nhận được thông điệp m, trạm nhận . BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG  TIỂU LUẬN LẬP TRÌNH MẠNG Đề tài: MÔ PHỎNG QUÁ TRÌNH PHÁT NHẬN THÔNG ĐIỆP TRONG HỆ PHÂN TÁN Giáo viên hướng dẫn : PGS.TS LÊ VĂN SƠN Học. phỏng quá trình phát và nhận thông điệp trong hệ phân tán , tôi xin trình bày phần nội dung sau: Phần lí thuyết: nhằm đưa ra cơ lý thuyết cơ bản về hệ phân tán và lập trình phân tán trên. liên hệ trao đổi thông điệp được giữa các server đều thông qua đường truyền. Trong giới hạn của một báo cáo tiểu luận kết thúc môn học, nội dung của bài báo cáo “Hãy viết chương trình mô phỏng

Ngày đăng: 31/01/2015, 22:52

Từ khóa liên quan

Mục lục

  • LỜI MỞ ĐẦU

  • MỤC LỤC

  • CƠ SỞ LÝ THUYẾT

    • I. Các khái niệm cơ bản

      • .I.1. Hệ thống tin học

      • .I.2. Hệ tin học phân tán

      • .I.3. Tiến trình

      • II. Đồng bộ hóa các tiến trình

        • .II.1. Vấn đề tương tranh và hợp lực

        • .II.2. Vấn đề gắn bó dữ liệu

        • .II.3. Trật tự từng phần

        • .II.4. Giả định các điều kiện chung

        • .II.5. Trật tự tổng quát chặt chẽ

          • II.5.1. Cung cấp tập trung

          • II.5.2. Cung cấp phân tán

          • III. Sắp xếp kiểu đóng dấu

            • .III.1. Đồng hồ logic

            • .III.2. Minh họa trật tự từng phần

            • .III.3. Gắn thời gian lôgic với các sự kiện

            • IV. Đồng bộ hóa theo một trật tự tổng quát chặt chẽ

              • .IV.1. Cấu trúc trật tự tổng quát chặt chẽ

              • .IV.2. Giải thuật đóng dấu thời gian của Lamport

              • V. Giải thuật loại trừ tương hỗ

                • .V.1. Giới thiệu giải thuật

                • .V.2. Kiểm nghiệm giải thuật

                • LẬP TRÌNH PHÂN TÁN

                  • I. Mô hình Client-Server

                    • .I.1. Giới thiệu

                    • .I.2. Client

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan