C4- truyền thông hướng thông điệp tạm thời
1.Message-Oriented Transient Communication
Truyền thông hướng thông điệp tạm thời (Transient communication): bản tin gửi đi chỉ được lưu lạitrong phiên trao đổi đó. Khi phiên trao đổi đã hoàn thành hoặc khi kết nối bị hủy bỏ thì các bản tin đó cũng bị hủy bỏ trên các server. Do đó, vì một lý do nào đó mà một server trung gian không thể chuyển tiếp bản tin đi được thì bản tin này sẽ bị hủy bỏ.
Vấn đề gửi messages thông qua socket của tầng transport:
Một socket là một điểm truyền thông cuối mà một ứng dụng có thể viết dữ liệu , gửi thông qua hạ tầng mạng nằm bên dưới, và từ đó dữ liệu đến có thể được đọc. Socket có hình thức trừu tượng hơn một điểm truyền thông cuối trong thực tế được sử dụng bởi hệ điều hành địa phương cho một giao thức transport cụ thể.
Một số kiểu Socket nguyên thủy cho giao thức TCP
Server
-“Socket”: là một điểm giao tiếp của quá trình truyền thông. Nơi mà ứng dụng có thể ghi dữ
liệu có thể được gửi qua mạng. Và từ đó dữ liệu được gửi đến có thể đọc được.
-“Bind”: Các ràng buộc nguyên thủy sẽ liên kết địa chỉ cục bộ với các Socket mới được tạo ra.
Ví dụ một máy chủ nên ràng buộc địa chỉ IP của máy với số hiệu cổng tới một Socket. Ràng buộc cho hệ điều hành máy chủ mong muốn nhận thông điệp duy nhất tử cổng và địa chỉ đã quy định.
-“Listen” được gọi trong trường hợp truyền thông hướng kết nối.-> thông báo sẵn sàng để chấp nhận kết nối.
-“Accept”: Một cuộc gọi sẽ chấp nhận người gọi đến khi có một yêu cầu kết nối đến. -Khi yêu cầu kết nối đến, hệ điều hành địa phương sẽ tạo ra một Socket mới có tính chất tương tự với bản gốc và gửi về cho người gọi. Phương pháp tiếp cận này sẽ cho phép máy chủ xử lý các thông tin truyền thông thực tế thông qua những kết nối mới. Trong khi chờ đợi máy chủ có thể quay trở lại và chờ đợi một kết nối vào Socket ban đầu.
Client
Ở đây, một Socket trước tiên phải được tạo ra từ các Socket nguyên thủy ban đầu nhưng việc ràng buộc địa chỉ cục bộ vào một Socket là không cần thiết kể từ khi hệ điều hành có thể tự động cấp phát một cổng khi kết nối được thiết lập. Kết nối nguyên thủy yêu cầu người gọi xác định địa chỉ “transport-level” mà một yêu cầu kết nối được gửi tới. Client sẽ bị chặn cho tới khi kết nối được thiết lập thành công, sau đó cả hai bên có thể bắt đầu trao đổi thông tin qua việc gửi và nhận. Cuối cùng ngắt một kết nối là đối xứng khi sử dụng Socket, và được thiết lập bởi cả hai bên là client và server gọi là “close pimitive”.
MPI
Vì lý do không đáp ứng được của Socket: chi phí tối thiểu, mức độ thuận tiện trừu tượng ( dễ dàng phát triển ứng dụng) => Những giao thức yêu cầu một giao diện mà có thể xử lý các tính năng tiên tiến hơn. => hầu hết các mạng lưới kết nối và nhiều máy tính hiệu suất cao đã được vận chuyển với các thư viện truyền thông độc quyền. Các thư viện này cung cấp một cách đa dạng các giao tiếp nguyên thủy cao cấp và hiệu quả. => yêu cầu tính di động cao do các thư viện không tương thích với nhau.=> MIP được thiết kế cho các ứng dụng song song và phù hợp với truyền thông tạm thời + hỗ trợ truyền thông tạm thời thông điệp nguyên thủy.
=> phù hợp với truyền thông tạm thời vì
+ thiết kế cho các ứng dụng song song
+ độc lập phần cứng
+ có các phương thức truyền message nguyên thủy hỗ trợ cho truyền thông tạm thời tại lõi MPI.
Các giao thức đó là:
MPI_bsend: gắn thêm thông điệp gửi đi đến 1 bộ đệm gửi cục bộ : Trước khi thông điệp được gửi đi, 1 bản được sao chép vào 1 bộ đệm cục bộ. Nó sẽ được loại bỏ khỏi bộ đệm khi người nhận báo nhận bằng 1 phương thức nguyên thủy khác.
MPI-send: chặn những người gọi cho đến khi các messages cụ thể đã được sao chép vào hệ thống thời gian chạy MPI tại phía của người gửi, hoặc cho đến khi người nhận đã khởi xướng một hoạt động nhận.
Giao tiếp đồng bộ bằng các khóa người gửi cho đến khi yêu cầu được chấp nhận cho 1 tien trinh có sẵn nào đó thông qua phương thức nguyên thủy MPI~ ssend.
Khi người gửi một cuộc gọi MPI_sendrecv, nó sẽ gửi một yêu cầu cho người nhận và khóa cho đến khi trở về sau một message trả lời. Về cơ bản, phương thức nguyên thủy này tương ứng với một RPC bình thường.
Với MPI_isend, người gửi chuyển một con trỏ vào message sau khi có hệ thống thời gian chạyMPI chăm sóc truyền thông. Những người gửi ngay lập tức tiếp tục. Để ngăn không ghi đè lên m essage trước khi truyền thông hoàn tất, MPIcung cấp phương thức nguyên thủy để kiểm tra hoàn thành, hoặc thậm chí để chặn nếu cần.
Với MPI_issend, một người gửi gửi đi một con trỏ tới: hệ thống MPI thời gian chạy. Khi hệ thống thời gian chạy cho thấy nó có xử lý messages, người gửi sau đó bảo đảm rằng người nhận đã nhận được message và đang làm việc trên nó.
Các MPI_recv hoạt động để nhận messages, nó khóa người gọi cho đến khi messages đến. Cũng có một biến thể không đồng bộ, được gọi là MPLirecv, do đó chỉ ra rằng một người nhận được chuẩn bị để chấp nhận một messages. Người nhận có thể kiểm tra hay không một messages đã thực sự đến, hoặc chặn cho đến khi nó đến.
Đánh giá MPI:
Ngữ nghĩa của phương thức giao tiếp nguyên thủy MPI không phải lúc nào cũng đơn giản, và phương thức nguyên thủy khác nhau đôi khi có thể được trao đổi mà không ảnh hưởng đến sự đúng đắn của một chương trình. Lý do chính thức tại sao rất nhiều hình thức khác nhau của giao tiếp được hỗ trợ là nó mang lại cho hệ thống thực hiện của MPI đủ khả năng để tối ưu hóa hiệu suất . MPI đã được thiết kế cho các ứng dụng song song hiệu suất cao, mà làm cho nó dễ hiểu hơn v à sự đa dạng của nó trong phương thức truyền thông nguyên thủy khác nhau.
Bạn đang đọc truyện trên: AzTruyen.Top