Mơ hình truyền thơng điệp

Một phần của tài liệu Nghiên cứu tính toán lưới và thực nghiệm trên một số thuật toán lý thuyết đồ thị (Trang 28 - 30)

Cĩ rất nhiều ngơn ngữ lập trình và các thư viện được xây dựng nên để dành cho lập trình song song. Những điều này khác nhau ở cách nhìn của chúng về

http://etrithuc.vn

khơng gian địa chỉ dành cho người lập trình, mức đồng bộ trong các chỉ thị song song và sự đa dạng của các chương trình. Mơ hình lập trình truyền thơng điệp là một trong các mơ hình cổ nhất và được sử dụng rộng rãi nhất trong các mơ hình dùng cho lập trình trên các máy tính song song. Lý do chính cho việc này là vì nĩ yêu cầu tối thiểu về phần cứng bên dưới.

Trong phần này chúng ta sẽ đề cập một vài khái niệm căn bản về mơ hình truyền thơng điệp và các kỹ thuật dùng với thư viện MPI (sẽ mơ tả kỹ trong chương sau).

Hình 2-7 : Mơ hình truyền thơng điệp

Cĩ 2 tính chất quan trọng tạo nên bản chất của mơ hình truyền thơng điệp là: thứ nhất là nĩ giả sử khơng gian địa chỉ được phân chia và thứ hai là nĩ chỉ hỗ

trợ song song hĩa tường minh.

Cu trúc ca nhng chương trình truyn thơng đip

Các chương trình truyền thơng điệp thường được viết bằng cách sử dụng mơ hình bất đồng bộ hay ít đồng bộ. Trong mơ hình bất đồng bộ, tất cả các tác vụ

song song được thực thi một cách bất đồng bộ. Điều này cho phép ta cĩ thể triển khai bất cứ thuật tốn song song nào. Tuy nhiên những chương trình như vậy thường gặp khĩ khăn hơn để suy ra và bên cạnh đĩ cách thể hiện của nĩ cũng khĩ mà đốn trước do những điều kiện về thực thi. Ngược lại những chương trình ít

http://etrithuc.vn

đồng bộ cĩ thể kết hợp tốt cả hai thái cực này. Trong những chương trình như vậy, các tác vụ và những tập hợp con các tác vụđược đồng bộ hĩa để thực hiện những tương tác. Tuy nhiên giữa những tương tác này, các tác vụđược thực thi hồn tồn bất đồng bộ. Bởi vì những tương tác xảy ra một cách đồng bộ, nên việc suy ra chương trình như vậy cũng khá dễ dàng. Nhiều thuật tốn song song phổ biến cũng được thực hiện một cách tự nhiên bằng cách sử dụng những chương trình ít

đồng bộ hơn.

Trong dạng phổ biến nhất của mình, mơ hình truyền thơng điệp hỗ trợ thực thi cho các chương trình khác nhau trên từng bộ xử lý. Điều này cung cấp tính mềm dẻo tối đa trong lập trình song song, nhưng điều này cũng làm cho cơng việc viết các chương trình song song khơng thể mở rộng một cách hiệu quả. Vì nguyên nhân này mà hầu hết các chương trình truyền thơng điệp được viết bằng cách sử

dụng phương pháp single program multiple data (SPMD). Trong những chương trình SPMD, các tiến trình khác nhau thực thi đoạn code tương tự nhau ngọai trừ

một số nhỏ các tiến trình (là những tiến trình “gốc”). Điều này khơng cĩ nghĩa là những tiến trình làm việc theo lock-step. Các chương trình SPMD cĩ thể là ít đồng bộ hay là hồn tồn bất đồng bộ.

Một phần của tài liệu Nghiên cứu tính toán lưới và thực nghiệm trên một số thuật toán lý thuyết đồ thị (Trang 28 - 30)