Ngữ nghĩa của kênh truyền (1/2)

Một phần của tài liệu Parallel Processing - xử lý song song (Trang 43)

III. MÔ HÌNH LẬP TRÌNH

2.Ngữ nghĩa của kênh truyền (1/2)

• Những hệ thống khác nhau sẽ cung cấp những kênh truyền ở những mức trừu tượng khác nhau.

Hầu hết các hệ thống đều đảm bảo rằng các kênh truyền thông không có các lỗi thông thường. Nghĩa là, tất cả các thông điệp được gửi đi và sẽ đến được đích mà không bị sai lạc.

Kênh truyền thông có thể được xem như là hàng đợi,và thông điệp sẽ được gửi đến đích theo thứ tự nó được gửi đi. • Kênh truyền thông cũng có thể được xem như là hộp thư

(mailbox) của một tiến trình nhận/gửi thông điệp. Ở mức trừu tượng này sẽ loại bỏ được ràng buộc về thứ tự đến của các thông điệp.

• Tiến trình có thể chọn các thông điệp từ hộp thư theo một số tiêu chí nào đó.

255

III. MÔ HÌNH LẬP TRÌNH

2. Ngữ nghĩa của kênh truyền (1/2)

• Một số hệ thống đưa ra khái niệm thông điệp có cấu trúc. Các kênh được định nghĩa theo các kiểu của thông điệp và một số kênh đặc biệt chỉ truyền tải được một số kiểu nhất định. • Một tiến trình muốn gia nhập vào một kênh có kiểu xác định

thì phải tự gắn bó với kênh đó.

• Một kênh cũng có thể phục vụ cho một nhóm các tiến trình trong một chương trình song song.

• Các kênh được mô tả như sau: 1. Khai báo một kênh được gắn với kiểu

channel mych(id1:type1, id2:type2, …, idn:typen)

Kênh mych chuyển tải được những thông điệp được xác định như trong các đối số.

2. Gắn tiến trình với kênh truyền

join_channel(mych: string);

Gọi ở tiến trình hiện thời để gia nhập vào kênh mych. 256

III. MÔ HÌNH LẬP TRÌNH

Một phần của tài liệu Parallel Processing - xử lý song song (Trang 43)