Giao tiếp giữa các tác vụ

Một phần của tài liệu Các hệ vi xử lý tiên tiến (Trang 81 - 82)

Giao tiếp giữa các tác vụ PVM được thực hiện bằng cách sử dụng phương pháp truyền tin, điều này được thực hiện bằng cách sử dụng thư viện các chương trình con và daemon. Trong quá trình thực thi chương trình, các chương trình người dùng giao tiếp với daemon PVM qua các chương trình con thư viện. Daemon, chạy trên từng máy trong môi trường PVM, xác định điểm đến của mỗi tin nhắn. Nếu tin nhắn được gửi đến một tác vụ trên máy cục bộ, daemon định tuyến tin trực tiếp. Nếu tin dành cho tác vụ trên host từ xa, daemon sẽ gửi tin nhắn đến daemon tương ứng trên máy tính từ xa. Sau đó, Daemon từ xa định tuyến tin nhắn đến ngay tác vụ nhận.

Các hoạt động gửi và nhận là trung tâm của phương pháp truyền thông này, sơ đồ này nói chung là không đồng bộ. Một tin có thể được gửi tới một hoặc nhiều địa điểm bằng cách gọi một trong các hàm gửi PVM. Một tin có thể được nhận bằng cách gọi một hàm nhận khóa hoặc không khóa. Hình 8.4 minh họa quá trình truyền thông trong PVM. Các mũi tên từ các ứng dụng người dùng đến các daemon biểu diễn các cuộc gọi truyền thông (qua ranh giới API). Các mũi tên từ các daemon trở lại ứng dụng người dùng biểu diễn sự quay lại từ các cuộc gọi API. Chuỗi điều khiển tác vụ người dùng khóa ngay trên daemon.

Sử dụng tiêu chuẩn truyền thông không đồng bộ PVM, quá trình gửi phát ra một lệnh gửi (điểm 1 trong hình. 8.4). Tin được chuyển sang daemon (điểm 2), sau đó quá trình điều khiển quay lại ứng dụng người dùng (điểm 3 và 4). Daemon sẽ truyền một tin trên liên kết vật lý vài lần sau khi quay lại điều khiển ứng dụng người dùng (điểm 3). Tại một số thời điểm khác, trước hoặc sau khi gửi lệnh, tác vụ nhận phát đi một lệnh nhận (điểm 5 trong hình. 8.4). Trong trường hợp nhận thông điệp có chờ, các khối tác vụ nhận trên daemon chờ tin nhắn (điểm 6). Sau khi tin nhắn đến, quá trình kiểm soát được trả lại cho ứng dụng người dùng (điểm 7 và 8). Trong trường hợp nhận không chờ, quá trình kiểm soát được trả về ứng dụng người dùng ngay lập tức (điểm 7 và 8) ngay cả khi tin nhắn chưa đến.

Hình 8.4 Truyền thông trong PVM.

Một tác vụ gửi có thể gửi một tin đến một hoặc nhiều bộ nhận trong ba bước sau đây: 1. Một bộ đệm gửi phải được khởi tạo.

2. Tin được đóng gói vào bộ đệm này.

3. Tin hoàn chỉnh được gửi đến đích của nó (s).

Tương tự, việc nhận một tin được thực hiện trong hai bước sau đây: 1. Tin nhắn đã nhận được.

2. Các mục được nhận được giải nén từ bộ đệm nhận.

Một phần của tài liệu Các hệ vi xử lý tiên tiến (Trang 81 - 82)