TệNH TOỄN PHÂN TỄN: MỌ HỊNH TRU YN THỌNG Đ IP

Một phần của tài liệu Bài giảng xử lý song song (Trang 41)

1.Mô hình truy n thông đi p(Message Passing)

• Việc truyền thông và đồng bộ hoá hoạt động c a các tiến trình được thực hiện thông qua hai phương th c send()

receive().

• Tất cả các biến là biến cục bộ c a các tiến trình. Vì thế, những vấn đề về xung đột dữ liệu (cần phải khoá dữ liệu khi một tiến trình truy cập), hay tranh chấp thông tin khôngxuất hiện trong mô hình này.

• Việc đồng bộ hoá các tiến trình c a một chương trình song song cũng được thực hiện theo có chế truyền thông điệp. Nghĩa là, khi một tiến trình muốn gửi một thông điệp thì nó phải chờ cho đến khi tiến trình nhận sẵn sàng nhận thông điệp đóvà ngược lại, cũng tương tự. đây không có các buffer để tạm lưu giữ các thông điệp cần trao đổi giữa các tiến trình.

242

II. TệNH TOỄN PHÂN TỄN: MỌ HỊNH TRUY N THỌNG ĐI P

2. Mô hình t ng quát

• Trong mô hình truyền thông điệp, các tiến trình chia sẻ với

nhau kênh truyền thông.

Các kênh được truy cập bởi hai phương thức: send() và

receive().

• Để bắt đầu trao đổi được với nhau thì một tiến trình phải gửi đi (send) một thông điệp vào kênh truyền và có một tiến trình khác yêu cầu nhận (receive) thông điệp đó.

• Sự trao đổi được hoàn tất khi dữ liệu đã được chuyển từ nơi gửi tới nơi nhận.

243

II. TệNH TOỄN PHÂN TỄN: MỌ HỊNH TRUY N THỌNG ĐI P

2. Mô hình t ng quát

Có hai loại mô hình truyền thông điệp: dị bộ và đồng bộ

a.Truyền thông điệp dị bộ:

• Trongmô hình này,một kênh truyền được giả thiết là có khả năng tiếp nhận không bị giới hạn(bằng cáchsử dụngbuffer)

để tiếp nhận các thông điệp gửi đếnchomỗi tiến trình.

• Dođó, tiến trình gửi sẽ không phải ch để tiến trình nhận sẵn sàng nhận mà c gửikhicó yêu cầu.

• Haitiến trình gửi và nhận có thể hoạt động gần như độc lập

nhauvà thông điệp có thể nhận đượcsaumột khoảng th i

giannào đó (lâu bất kỳ) kể từkhinó được gửi đi.

• Tiến trình nhận thì phải ch chođếnkhicó được thông điệp c a một tiến trình khác gửichonó.

244

II. TệNH TOỄN PHÂN TỄN: MỌ HỊNH TRUY N THỌNG ĐI P

II. TệNH TOỄN PHÂN TỄN: MỌ HỊNH TRUY N THỌNG ĐI P

b.Truy n thông đi p đ ng b :

• Trong mô hình này, tiến trình gửi bị chặn lại cho đến khi tiến trình nhận sẵn sàng nhận. đây, sự truyền thông và đồng bộ hoá luôn gắn chặt với nhau. Mô hình này có thể tìm thấy những hệ thống đa bộ xử lý được cài đặt dựa trên các Transputer. (adsbygoogle = window.adsbygoogle || []).push({});

• Hệ thống truyền thông điệp đồng bộ hoàn toàn giống như hệ điện thoại, kênh truyền bị chặn lại trong quá trình đàm thoại. Hệ truyền dị bộ lại giống nhiều hơn với hệ thống bưu chính, ngư i nhận phải ch cho đến khi có thư được gửi đến.

• Hầu hết các thư viện lập trình hỗ trợ mô hình truyền thông điệp dị bộ.

246

III. MỌ HỊNH L P TRỊNH

(Trong phần này chúng ta định nghĩa mô hình lập trình cho hệ thống truyền thông điệp dị bộ.)

• Lập trình theo mô hình truyền thông điệp trong hệ thống nhiều máy tính có thể thực hiện theo ba cách:

1.Sử dụng NNLT song song đặc biệt, ví dụ Occam được thiết kế để sử dụng với các Transputer (Inmos 1986)

2.Sử dụng NNLT bậc cao (tuần tự) truyền thống được m rộng bằng cách bổ sung thêm các từ khoá và m rộng cú pháp để xử lý việc trao đổi thông điệp, ví dụ CC++ (m rộng c a C++)

3.Sử dụng những NNLT bậc cao và cung cấp hệ thống chương trình thư viện gồm những th tục xử lý việc trao đổi thông điệp, ví dụ ngôn ngữ C và hệ chương trình thư viện để chạy với PVM.

Một phần của tài liệu Bài giảng xử lý song song (Trang 41)