Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 149 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
149
Dung lượng
1,73 MB
Nội dung
Lập trình phân tán lập trình mạng Occam, RS Linda mô tả ngôn ngữ đồng thời mô hình cho hệ thống chặt chẽ Chúng không đáp ứng cho hệ thống không chặt chẽ mạng máy tính, nơi vấn đề khả suốt khả tương tác toán tử cần suy nghĩ Trong hệ thống lỏng, thực hệ chương trình đồng thời cần cung cấp truyền thông tin cậy, đối tượng riêng biệt, nhân liệu hệ thống hỗn tạp Hai ngôn ngữ lập trình ORCA JAVA ví dụ liên quan đến lập trình hệ phân tán mạng ORCA Orca ngôn ngữ lập trình động thời dựa mô hình đối tượng chia sẻ logic cho hệ thống phân tán lỏng Nó hỗ trợ việc thực song song QT máy khác nhờ truy nhập đồng thời đối tượng liệu chia xẻ Đối tượng liệu chia xẻ thể kiểu liệu trừu tượng người dùng định nghĩa Chúng phân tán vật lý nhân để truy nhập cục hiệu thuận tiện chúng hoàn toàn “trong suốt“ chương trình ứng dụng nhờ thi hành Orca QT Orca khởi tạo, truyền thông xuyên qua đối tượng chia xẻ dùng phép toán người dùng định nghĩa đối tượng Ưu điểm việc sử dụng biến chia xẻ cho TTLQT tương phản với CTĐ hoàn toàn rành mạch Truyền thông liên xử lý hoàn toàn “trong suốt” thông tin toàn cục chia xẻ trực tiếp Viết chương trình đồng thời gần gũi với kiểu lập trình thông thường Thêm nữa, thể cấu trúc liệu phức tạp đối tượng phân tán vật lý, việc sử dụng CTĐ tường minh để truy cập vào phần cấu trúc liệu trở nên khó khăn không dài dòng Khái niệm cốt lõi dùng hệ thống Orca đối tượng chia xẻ lôgic kiểu liệu trừu tượng Khái niệm đối tượng chia xẻ lôgic (hoặc cấu trúc liệu) biết Linda khái niệm kiểu liệu trừu tượng có SR Trong Linda đối tượng chai xẻ (bao gồm liệu QT) không gian Phương thức truy nhập phù hợp (địa hóa nội dung) mức thấp (nguyên thủy in, out, rd) Mặc dù ngữ nghĩa đơn giản đẹp đẽ, viết chương trình với cấu trúc liệu phức tạp Linda không trực giác (nhúng ngôn ngữ lập trình) Dùng kiểu liệu trừu tượng Orca cho phép chặt chẽ kiểm tra kiểu độ mềm dẻo phép toán đối tượng SR ngôn ngữ định kiểu mạnh có tính trừu tượng kiểu liệu giống Orca Tuy nhiên, khái niệm đối tượng chia xẻ logic nên SR phải dựa vào tập hợp lớn nguyên thủy đồng truyền thông (cuộc hẹn, CALL, SEND, lực đồng biến chia xẻ khác) Mặt dù ngôn ngữ 101/249 dồi cho lập trình đồng thời, đồng truyền thông QT lại không suốt Orca xem ngôn ngữ thoả hiệp tốt Linda RS QT đồng thời Orca kích hoạt cách tạo QT máy hoàn toàn xác định lệnh fork: fork Tên_QT ( tham số) { on [ số Bộ XL]} Tham số truyền từ QT cha xuống QT giá trị, đối tượng thường đối tượng chia xẻ Giá trị đối tượng thường liệu cục QT Đối tượng chia xẻ toàn cục Chúng nhân xử lý cần giao thức cập nhật nguyên tử để trì quán đối tượng chia xẻ Hai kiểu đồng đối tượng Orca cung cấp loại trừ ràng buộc cộng tác có điều kiện Orca cho tất phép toán hoàn toàn cô lập đối tượng Mỗi đối tượng gắn khóa để loại trừ ràng buộc Khoá có hiệu lực mức đối tượng giới hạn với đối tượng đơn Khoá chia xẻ cung cấp phép lúc có nhiều phép toán đọc đối tượng Để cộng tác có điều kiện, Orca sử dụng lệnh an toàn (Guarded) tương tự CSP: Operation Op(parameters) //operation Tên_toán_tử(các_tham_số) Guarded condition statements; //Guarded điều_kiện các_câu_lệnh; Guarded condition statements; // Guarded điều_kiện các_câu_lệnh; Lệnh toán tử thực điều_kiện Guarded Nếu không QT bị chặn lại Nếu có điều kiện đúng, lệnh điều kiện chọn động để cung cấp cách thức thực không xác định Một toán tử đối tượng chương trình ứng dụng Orca biên dịch thành nguyên thủy invoke (yêu cầu) invoke (object, operation, parameters) Các nguyên thủy invoke bẫy tới hệ thống thời gian thực Orca (Orca RTS: Orca Run Time System) RTS kiểm tra xem đối tượng có phải đọc Nếu đúng, RTS đặt khoá chia xẻ cho địa phương, thực QT đọc, sau lại mở khóa đối tượng Nếu không, RTS khởi tạo TĐ quảng bá đến tất vị trí đối tượng chia xẻ, bao gồm nó, để cập nhật đối tượng kết khối QT Khi nhận TĐ quảng bá để ghi lên đối tượng, RTS đặt khoá ghi lên đối tượng, thực toán tử ghi mở khoá đối tượng Nếu thông điệp quảng bá hình thành cục bộ, kết khối QT RTS giả thiết truyền thông tin cậy Nó hỗ trợ tầng quảng bá tin cậy hệ thống thời gian chạy Tầng quảng bá tin cậy thi hành nhiều giao thức quảng 102/249 bá theo đòi hỏi ngữ nghĩa khác Giao thức quảng bá kỳ vọng đảm bảo phía đối tượng nhận toàn TĐ quảng bá tất TĐ phân phát theo thứ tự (tức quảng bá xem nguyên tử) Thi hành giao thức quảng bá nguyên tử trình bày chương sau, giới thiệu khái quát cách tiếp cận đơn giản Orca để thực quảng bá nguyên tử Khi quảng bá RTS yêu cầu, nhân RTS gửi TĐ điểm-điểm đến lời gọi nhân đặc biệt sequencer Sequencer gắn số hiệu dãy tới yêu cầu quảng bá TĐ bao gồm số hiệu dãy tới phía đối tượng nhân Chi số dãy nhân dùng để xác định thứ tự phân phát TĐ, kiểm tra TĐ bội, yêu cầu sequencer chuyển lại TĐ TĐ bị Đối tượng đơn vị liệu tảng Orca Đối tượng trình bày cấu trúc liệu chẳng hạn danh sách, đồ thị, thường dùng trỏ ngôn ngữ lập trình quy ước Con trỏ (pointer) địa máy Truyền địa máy ngữ nghĩa dẫn đến xung đột an ninh CTĐ HPT Cơ chế cho phép thi hành truyền cấu trúc liệu phức tạp có sẵn để tạo mô hình đối tượng chia xẻ hữu dụng Orca giải vấn đề cách thay trỏ tên Với đối tượng RTS quản lý, mảng logic liệu có cấu trúc trì cho đối tượng Ví dụ, nhị phân đơn giản t với nút {A, B, C} liên kết trái phải, trình bày sau: t[1] = 6,A,8 t[6] = 0,B,0 t[8] = 0,C,0 Mỗi nút cấu trúc liệu tạo động nguyên thủy RTS addnode(t), trả lại tên n cho nút Tên n dùng số hiệu cấu trúc mảng để đặt tên cho nút để liên kết tới nút khác Tương tự có nguyên thuỷ xóa nút deletenote(t,n) Chỉ dẫn tới nút bị xóa gặp lỗi thực Mảng đối tượng mang tính lôgic: định vị giải phóng lưu giữ chúng RTS quản lý động Dùng nút đặt tên để thi hành cấu trúc liệu đạt hiệu lực tới trỏ mà không cần địa máy Truyền cấu trúc liệu phức tạp trở thành chấp nhận với việc trả thêm tổng phí hệ thống thời gian chạy Java Mục tiêu nguyên thủy Orca hỗ trợ lập trình đồng thời hệ phân tán Vấn đề thi hành yếu tính toán phân tán tạo độ suốt truyền thông tới QT cộng tác Java đưa theo phối cảnh khác Nó ngôn ngữ lập trình môi trường lập trình, nhằm đạt khả cộng tác phát triển phần mềm mạng Chúng ta hình dung ứng dụng mạng chứa tập hợp môdun phần mềm 103/249 phân tán cách vật lý hệ mạng diện rộng hỗn tạp Mỗi môdun phần mềm thi hành trì cá thể khác nút mạng Để thực ứng dụng mạng phải tập hợp số modun tới nút mạng đơn Khả liên thao tác để mở ứng dụng mạng cần hỗ trợ ba hệ thông sở: Các giao diện chuẩn định nghĩa tốt để tích hợp môđun phần mềm, Năng lực thực môđun phần mềm máy tính bất kỳ, Hạ tầng cho cộng tác vận chuyển modun phần mềm Để thuận tiện tích hợp phần mềm, Java thông qua mô hình hướng đối tượng, kiểu lập trình dùng rộng rãi phát triển phần mềm lớn Ngôn ngữ Java tương tự ngôn ngữ hướng đối tượng C++ Với chấp nhận với kiểu liệu, số logic, thực thể phần mềm mô hình hóa đối tượng Java Một đối tượng tóm lược liệu thủ tục (hoặc phương pháp) liên quan đối tượng Đối tượng tạo việc thuyết minh lớp qua ví dụ Lớp mẫu xác định biến phương pháp chung cho tất đối tượng kiểu (lớp) Lớp thường chứa đựng lớp khác (thừa kế) Chúng sở để xây dựng khối chương trình Java Các file lớp thường dùng phân loại xếp thư viện lớp gọi gói gói nạp cục hay từ xa để khởi tạo đối tượng Phát triển phần mềm mạng trở thành dễ điều khiển thư viện lớp chia xẻ Tiếp cận đặt với Java cho phép chạy modul phần mềm nơi theo ngữ nghĩa khái niệm máy ảo Hệ thống Java với trình biên dịch trình phiên dịch Đầu tiên, chương trình Java biên dịch thành file lớp chứa mã trung gian gọi applet (tiểu dụng) Tiểu dụng chương trình độc lập máy thông dịch máy tính có trình thông dịch Java Thông dịch mã trung gian hiệu so với chạy mã máy biên dịch Tuy nhiên, ưu điểm lớn cách thức mã trung gian chuyển TĐ tới môi trường chạy trực tiếp không cần dịch lại Một ứng dụng mạng mang file mã byte đường truyền để thực Do file mã không cần lưu cục bộ, toán trì tính quán cập nhật phiên phát triển phần mềm cộng tác loại bỏ Java ràng buộc cẩn thận nhằm đảm bảo tính độc lập máy Một vài đặc trưng ngôn ngữ thông dụng nguyên nhân làm cho vấn đề liên thao tác an toàn loại bỏ khỏi ngôn ngữ Ví dụ, Java không cung cấp trỏ, kiểu cấu trúc, chuyển đổi kiểu ngầm định thừa kế bội Khái niệm file đầu (.h) C bị loại trừ khỏi Java Hơn nữa, phương thức biến file lớp Java chhỉ dẫn tên giải trước thực Việc làm chậm giải pháp tên đòi hỏi hỗ 104/249 trợ dịch vụ tên Nó cung cấp suốt truy nhập, suốt định vị an toàn bổ sung Hạ tầng để chuyển vận tiểu dụng Java sáng tỏ tốt nhờ việc tích hợp Java với hệ thống duyệt WWW Theo nhiều khía cạnh, triết lý Java giống với duyệt Web sử dụng giao thức giao vận giao thức chuyển siêu văn HTTP để chuyển modun HTML dọc theo nút mạng hỗn tạp HTML ngôn ngữ đánh dấu độc lập máy để mô tả liệu siêu văn Giống file lớp Java, file HTML đối tượng chứa file HTML khác định vị liên kết dùng định vị tài nguyên tổng thể toàn mạng URL Tiểu dụng Java hợp file HTML thông dịch trình thông dịch Java dựng nội trình duyệt Theo cách đó, trình duyệt vừa hiển thị nội dung liệu siêu văn tĩnh vừa chạy linh hoạt tiểu dụng Java Trình ứng dụng Với trình duyệt đa luồng Java đa luồng, trình duyệt hiển thị đồng thời văn hình ảnh động trở thành tương tác khách phục vụ ứng dụng Một cách hiệu quả, trang Web trình bày file HTML trở thành lối vào tiểu dụng Java Khái niệm thực thông dịch trực tuyến Java Ví dụ, Postscript liệu đồ họa GIF thông dịch hệ thống trình duyệt Tuy nhiên, Java ngôn ngữ đa suy nghĩ cẩn thận cho lập trình mạng Lưu ý cuối vấn đề an toàn thiết kế Java An toàn vấn đề khó tính lập trình mạng hệ thống mở Thêm nữa, để định nghĩa ngôn ngữ chặt chẽ nhằm đề phòng lạm dụng ngôn ngữ, Java ngôn ngữ định kiểu mạnh giống Orca Mọi đối tượng Java phải định kiểu tường minh Trình biên dịch làm hiệu lực kiểm tra kiểu tĩnh Do máy thấy tiểu dụng từ bên theo mã trung gian, cần phải xác minh mã trung gian bị làm giả hay biến dạng Kiểu thông tin điều khiển khác tích hợp với tiểu dụng Trước thực tiểu dụng, mã buộc phải kiểm tra chặt chẽ kiểm tra Java (Java Virifier) xem vi phạm truyền tham số, chuyển đổi kiểu bất hợp pháp, khả tràn (vượt trần) hụt (xuống đáy) stack, vi phạm truy nhập sinh mã trung gian giả trình biên dịch đáng ngờ Việc kiểm tra lỗi thời gian chạy mức tối thiểu nhằm có thực hiệu Một vần đề an toàn khác đáng ý tới lập trình mạng nhái lại đối tượng Khi tiểu dụng thực gọi đối tượng khác File lớp tải cho đối tượng tiểu dụng đích thực với tên xuất từ địa hạt mong muốn Ví dụ, đối tượng lớp hệ thống file vào I/O nên đến địa phương Mỗi lớp file lớp tương ứng địa hạt bảo vệ Địa hạt phân ba mức: máy tính cục bộ, mạng cục mạng toàn cục mà mức máy tính cục có mức bảo vệ cao Khi tải file lớp, lớp với độ bảo vệ cao ưu tiên lớp độ bảo vệ thấp Hơn nữa, lớp dịa hạt truy nhập phương pháp địa hạt Các phương pháp thuộc lớp địa 105/249 hạt khác truy nhập chúng khai báo công cộng Quy tắc tải lớp tuân theo Bộ tải lớp Java (the Java Class Loader) người lập trình Java định nghĩa Câu hỏi tập 3.1 Khái niệm QT luồng, ý nghĩa khái niệm luồng Đặc điểm mô hình Client/Server hệ phân tán 3.2 Vai trò dịch vụ thời gian hệ phân tán Giải pháp đồng hồ vật lý đồng hồ lôgic hệ phân tán 3.3 Đồng hóa sử dụng biến chung 3.4 Đồng hóa chuyển thông điệp 106/249 Truyền thông CTĐ Các QT cộng tác hệ thống máy tính tương tác lẫn theo mô hình TTLQT nhằm phối hợp thực TTLQT cộng tác QT phân tán chủ đề chương Chương ba nhấn mạnh tầm quan trọng mô hình clien/server truyền thông quan hệ gắn kết TTLQT đồng TTLQT đóng vai trò đáng kể hệ phân tán có phương pháp trao đổi liệu QT CTĐ Vì mô hình truyền thông liên QT mức cao xây dựng CTĐ Mọi cộng tác QT phân tán dựa vào truyền thông liên QT CTĐ TTLQT phụ thuộc vào lực định vị thực thể truyền thông Đây vai trò dịch vụ tên hệ phân tán Chương trình bày ba mô hình truyền thông CTĐ sở mô hình dịch vụ tên Tiếp theo minh hoạ cộng tác QT phân tán sử dụng hai toán kinh điển TTCTĐ: loại trừ ràng buộc phân tán chọn thủ lĩnh TTLQT xem xét mức trừu tượng khác Bảng 4.1 cho năm mức từ mạng tới hệ giao vận tới QT ứng dụng Theo phương diện HĐH phân tán, quan tâm tới ba mức chuyển vận TĐ QT phân tán Chúng CTĐ, mô hình truyền thông định hướng dịch vụ mức cao sử dụng truyền thông hỏi/đáp truyền thông giao dịch dựa mô hình hỏi/đáp CTĐ Bảng 4.1 cho thấy CTĐ mức thấp TT QT TT TT hỏi/đáp dựa khái niệm client/server Khi thi hành lời gọi thủ tục chương trình phân tán, mô hình TT quy tới lời gọi thủ tục từ xa (RPC) Một cách tự nhiên, hỏi/đáp RPC dựa phương tiện CTĐ sở Giao dịch dãy TT hỏi/đáp đòi hỏi TT nguyên tử Giao dịch biểu diễn đơn vị sở TT ứng dụng mức cao, chẳng hạn hệ CSDL Thực đồng thời giao dịch cần đồng để trì tính quán hệ thống Ngoài ra, khái niệm nhớ chia xẻ lôgic đối tượng liệu phương pháp TT khác biệt đáng kể so với ba mô hình CTĐ Trong hệ thống với nhớ vật lý phân tán, nhớ chia xẻ mô CTĐ Lợi nhớ chia xẻ lôgic dễ dàng lập trình, TT suốt Giao dịch nhớ chia xẻ phân tán trình bày chương Bảng 4.1 Các mức khác TT TTLQT Giao dịch Hỏi / Đáp (RPC) 107/249 CTĐ HĐH mạng Kết nối giao vận Mạng truyền thông Chuyển gói TĐ tập đối tượng liệu, mà cấu trúc giải thich chúng xác định QT ngang hàng với Đối tượng liệu TĐ thường định kiểu nhằm dễ dàng chuyển đổi đối tượng liệu hệ thống hỗn tạp TĐ bao gồm đầu TĐ (chứa thông tin điều khiển phụ thuộc hệ thống) thân TĐ với kích thước cố định biến thiên Trong hệ thống CTĐ, QT TT chuyển TĐ đóng gói tới dịch vụ giao vận hệ thống cung cấp kết nối truyền TĐ mạng Giao diện tới dịch vụ giao vận dịch vụ nguyên thủy hiển, chẳng hạn gửi nhận, biến thể hai Ngữ nghĩa dịch vụ nguyên thủy TT cần xác định hoàn toàn Các toán đưa đoạn sau bao gồm TT trực tiếp hay gián tiếp, kết khối hay không kết khối, tin cậy hay không tin cậy, dùng vùng đệm hay không Dịch vụ TT nguyên thủy sở Hai dịch vụ TT nguyên thủy sở ví dụ để gửi nhận TĐ Sẽ hiệu QT ứng dụng rõ thực thể TT TĐ truyền: send (đích, TĐ) receive (nguồn, TĐ) nguồn đích = (tên QT, liên kết, hộp thư cổng) Một câu hỏi nảy sinh trực tiếp từ dịch vụ nguyên thủy làm để địa hóa thực thể TT, nguồn đích? Dưới bàn luận bốn lựa chọn trên: tên QT, kết nối, hộp thư, cổng Đầu tiên, giả sử địa hóa thực thể TT tên QT (tức định danh QT toàn cục) Khi thi hành thực sự, định danh QT toàn cục tạo qua kết hợp địa máy chủ mạng với số hiệu QT cục sinh Sơ đồ ngầm định có đường TT lôgic trực tiếp tồn cặp hai QT gửi nhận hình 4.1.a Điều tương tự TT input/output dùng CSP mà đoạn 3.5.3 hạn chế cách tiếp cận Sơ đồ địa dẫn địa đối xứng QT gửi/ nhận tương ứng biết rõ dịch vụ TT nguyên thủy Trong số trường hợp, thuận lợi cho QT nhận nhận TĐ từ nguồn chưa biết Trong trường hợp thế, địa nguồn DV nguyên thủy nhận biến vào mà cho giá trị định danh QT gửi TĐ (nếu có QT nhận) Địa gửi nhận bất đối xứng QT gửi cần định vị người nhận Hình 4.1.b trường hợp tổng quát DV nguyên thuỷ nhận 108/249 Sơ đồ giả thiết tồn đường TT trực tiếp cặp hai QT Thực tế, đường TT suốt hoàn toàn không ý tới kết nối giao vận TĐ Về quan niệm đơn giản để hợp lý có đường TT định hướng kép cặp hai QT TT Để cho phép đường truyền liệu phức QT TT trực tiếp, bắt buộc định danh đường dịch vụ TT nguyên thuỷ Đòi hỏi đưa đến khái niệm kết nối hayliên kết, tương tự với khái niệm chu trình ảo mạng TT TĐ gửi theo chu trình ảo khác Như vậy, điểm TT phức QT cần phải đinh danh việc sử dụng kết nối khác nhau, kết nối ánh xạ tới đường TT thực Giống chu trình ảo, kết nối tạo loại bỏ theo yêu cầu Chúng nhân hệ thống quản lý cục kênh TT không định hướng TĐ gửi qua kết nối hướng vào đường TT mạng phân phối tới máy chủ xa Máy chủ từ xa ánh xạ TĐ tới kết nối đầu vào QT nhận Hình 4.1.c tính hợp lý việc trì hai kết nối QT dùng hai số hiệu kết nối khác QT đọc cần ý kết nối tương tự với tên điểm vào thủ tục hẹn (đoạn 3.5.3) với lý chúng cung cấp điểm TT phức QT Tuy nhiên, giao vận liệu truyền tham số hẹn định hướng kép Dùng tên QT số hiệu kết nối để định vị điểm TT cung cấp chế TT trực tiếp QT ngang hàng Tuy nhiên, TT gián tiếp ưa chuộng QT gửi không quan tâm tới định danh riêng biệt QT nhận có QT nhận TĐ Tương tự, QT nhận quan tâm đến TĐ mà không cần biết QT gửi Ví dụ, client phức đòi hỏi dịch vụ từ nhiều dịch vụ phức (định danh khách chứa TĐ) Kịch TT cồng kềnh dùng TT trực tiếp thi hành Đây tình chung sống hàng ngày, giải hộp thư chung CTĐ dùng hộp thư chung sơ đồ TT gián tiếp cung cấp TT đa điểm đa đường cách hợp lý Kịch minh hoạ hình 4.2 109/249 Về quan niệm, hộp thư cấu trúc liệu toàn cục chia xẻ QT sản xuất (gửi) QT khách hàng (nhận) Dùng hộp thư đòi hỏi đồng xác dọc theo mạng mà toán khó Do hộp thư dùng cho TT, gắn với cấu trúc chuyển vận yếu thi hành chúng cách dùng vùng đệm liên kết TT Cổng ví dụ tốt cho hộp thư Cổng khái niệm trừu tượng dòng xếp hàng có kích thước cố định hoạt động theo FIFO nhân trì TĐ gắn vào đuôi loại bỏ từ dòng đợi thao tác gửi nhận xuyên qua đường TT Như vậy, cổng tương tự danh sách ngoại trừ chúng định hướng kép có vùng đệm Các QT TT qua cổng gián tiếp Cổng tạo QT người dùng nhờ lời gọi hệ thống đặc biệt phù hợp với QT chủ đủ lực Chúng dẫn số hiệu cổng, mà bị nhầm lẫn với địa cổng giao vận giao vận gói (địa cổng giao vận cổng mạng suốt với QT người dùng) Khi thi hành, cổng QT ánh xạ tới cổng giao vận ngược lại Cổng hộp thư hình dung phục vụ TT đồng bộ, biện luận đoạn 3.6 Thuật ngữ cổng hộp thư thường tráo đổi (thay nhau) vài tài liệu Tương tự socket cổng HĐH UNIX Socket giao diện mức cao sử dụng khái niệm cổng Cổng có chủ nhân QT riêng biệt Cổng cung cấp TT nhiều-một (n-1) Hộp thư đối tượng chia xẻ cho phép truyền thông nhiều-nhiều (n-n) Đồng hóa TĐ vùng đệm TT CTĐ phụ thuộc số điểm đồng Khi gửi TĐ tới đích xa, TĐ chuyển tới nhân hệ thống gửi để thực chuyển giao TĐ cho mạng TT Cuối cùng, TĐ tới nhân hệ thống đích (ở xa) thực việc trao trả TĐ cho QT đích Đồng hóa truyền TĐ xảy xa QT người dùng nhân hệ thống, nhân nhân, QT nguồn QT đích Hình 4.3 rõ giai đọan khác CTĐ hệ thống 110/249 Mỗi xung đột biểu lộ, giao thức khoá pha chuẩn hay tem thời gian dùng để thực dãy Để đảm bảo Khách đọc gần toàn liệu số hiệu phiên liên quan tới liệu nhân Thao tác đọc tới R(d), giá rị với số hiệu cao cho Thao tác ghi với W(d) thêm với số hiệu cao tìm thấy số hiệu với lần đọc ghi Hầu hết ứng dụng R(d) chọn nhỏ W(d) Trong trường hợp đặc biệt R(d)=1 W(d) =Vd) Nếu W(d)[...]... từ thành viên i, thành viên j hoặc tiếp nhận hoặc làm trễ phân phối m theo các luật dưới đây (Chú ý Si là thành phần vector số hiệu tại thành viên j): ? Tiếp nhận TĐ m nếu Ti=Si+1 và Tk ≤ Sk với mọi k≠i Điều kiện đầu tiên (Ti=Si+1) chỉ ra rằng thành viên j mong chờ TĐ tiếp sau theo dãy từ thành viên i Điều kiện thứ hai xác minh rằng thành viên j đã phân phát mọi TĐ phân phát bội mà thành viên i đã phân. .. Thi hành thứ tự nhân quả các TĐ bằng cách mở rộng số hiệu tuần tự thành vector số hiệu tuần tự, S=(S1, S2, , Sn) được mỗi thành viên duy trì Mỗi Sk trình bày số hiệu TĐ sẽ nhận được từ thành viên k của nhóm Khi thành viên i phân phát bội một TĐ mới m, nó làm tăng Si lên 1 (dấu hiệu cho biết số lượng TĐ mà i đã phân phát bội) và gắn vector S với m Khi nhận được TĐ m có vector tuần tự T=(T1, T2, , 120 /24 9... nhận TĐ và sắp xếp lại theo thứ tự tới QT ứng dụng Điều này tương tự như tính chất mô hình bất biến của hệ thống file phân tán và hệ thống bộ nhớ chia xẻ phân tán Chúng là tương tự nhau trong bối cảnh phân tán 119 /24 9 Thi hành theo thứ tự FIFO (hình 4.7a) là dễ dàng Do chỉ có các TĐ được gửi từ cùng một QT khởi tạo, các TĐ này được gán số hiệu TĐ tuần tự Điều khiển TT có thể làm trễ TĐ hoặc loại bỏ các... lập trình đồng thời Ngôn ngữ lập trình đồng thời là một hệ chương trình hỗ trợ việc đặc tả tính đồng thời, sự đồng bộ, việc truyền thông trong tương tác giữa các QT đồng thời Sự thi hành của ngôn ngữ lập trình đồng thời được dành cho HĐH phân tán hơn là chương trình dịch như kiểu các ngôn ngữ tuần tự Điều đó do tính đồng thời, đồng bộ và truyền thông QT là một vần đề thời gian chạy Ngôn ngữ lập trình. .. luận về việc này) Khi thi hành, phân phát bội đòi hỏi công phu hơn Theo trực giác, đòi hỏi rằng một phân phát bội buộc phải hoàn thiện và TĐ phân phát bội buộc phải được sắp xếp theo thời gian hoàn thiện phân phát bội trước khi phân phát tới QT ứng dụng Điều đó tạo nên lý do kết hợp quảng bá nguyên tử với quảng bá thứ tự tổng thành một giao thức Điều này đưa đến khái niệm phân phát bội thứ tự tổng... nó phân phát bội m (có thể một vài cái nữa) Như vậy, j đã thực sự phân phát mọi TĐ đứng trước (nhân quả) m ? Làm trễ TĐ m nếu hoặc Ti>Si + 1 hoặc tồn tại một số k≠i mà Tk > Sk Trường hợp đầu tiên, một vài TĐ phân phát bội trước đây từ thành viện i đã bị thất lạc mà thành viên j đã không nhận được Trường hợp thứ 2, khi thành viên i phân phát bộ m thì nó đã nhận được nhiều TĐ phân phát bội từ các thành... xử lý bởi Record Layer trở thành bí mật 117 /24 9 và bền vững Khái niệm giao thức socket an toàn vẫn đang được tiếp tục tiến hóa và cải tiến Truyền thông nhóm và phân phát bội (multicast) Mô hình TT CTĐ được trình bày trên đây dùng cho TT điểm-điểm Mục này mô tả nhu cầu và thi hành TT nhóm đa điểm Cần lưu ý là nhóm là bản chất để phát triển phần mềm cộng tác trong hệ phân tán hay tự trị Quản trị nhóm... này thường được gọi là phân phát bội tin cậy Đòi hỏi toàn bộ hoặc không cái nào có nghĩa là TĐ phân phát bội nhận được cần được đưa vào vùng đệm trước khi phân phối cho QT ứng dụng Chú ý trong phân phát bội tin cậy đồng bộ ảo, TĐ có thể được phân phối trước khi nhận được (Đồng bộ ảo được thảo luận ở phần sau) Ihi hành phân phát bội phức tạp hơn vì gặp nhiều thiếu thốn do chưa có phân phát bội nguyên... các QT nhận phải đưa vào bộ đệm phân phát bội cho tới khi TĐ đã trở nên an toàn cho phân phối Lỗi được kiểm soát nhờ hệ thống ảo Phân phát bội bỏ qua đồng bộ ảo là không thực sự tin cậy; chúng chỉ là cố-gắng-nhất Quan hệ trực tiếp với bài toán phân phối tin cậy là bài toán về thứ tự phân phối các TĐ Khi TĐ phức là phân phát bội tới cùng một nhóm, chúng xuất hiện tại các thành viên khác nhau trong nhóm... gian cam kết lôgic toàn cục của TĐ phân phát bội Giao thức phân phát bội 2 pha được biểu diễn trong hình 4.8 Trong hình vẽ, hai TĐ, m1 và m2 từ hai nguồn khác nhau được quảng bá tới một nhóm Để rõ ràng, ở đây có hai nguồn (s1, s2) và hai thành viên trong nhóm (g1, g2) Thời gian đồng hồ lôgic khởi tạo của chúng cho trong vòng tròn Các đường liền nét và rời nét tương ứng trình bày TĐ và TĐ xác nhận Mỗi ... phân phát bội) gắn vector S với m Khi nhận TĐ m có vector T=(T1, T2, , 120 /24 9 Tn) từ thành viên i, thành viên j tiếp nhận làm trễ phân phối m theo luật (Chú ý Si thành phần vector số hiệu thành... với k≠i Điều kiện (Ti=Si+1) thành viên j mong chờ TĐ tiếp sau theo dãy từ thành viên i Điều kiện thứ hai xác minh thành viên j phân phát TĐ phân phát bội mà thành viên i phân phát trước phân phát... quan hệ nhân Thi hành thứ tự nhân TĐ cách mở rộng số hiệu thành vector số hiệu tuần tự, S=(S1, S2, , Sn) thành viên trì Mỗi Sk trình bày số hiệu TĐ nhận từ thành viên k nhóm Khi thành viên i phân