CHƯƠNG 1 BÀI TOÁN MÔ PHỎNG N-BODY VÀ MÔ HÌNH SONG SONG
1.3. Mô hình tính toán hình song song
1.3.4. Giao diện truyền thông điệp MPI
Truyền thông diệp hầu như được dùng rộng rãi trong mô hình lập trình song song ngày nay. Các chương trình truyền thông điệp sinh ra nhiều tác nhiệm (task) với mỗi tác nhiệm bao gồm dữ liệu địa phương. Mỗi tác nhiệm được xác định bởi một tên duy nhất, và các tác nhiệm tương tác với nhau bằng việc gửi và nhận thông điệp. Trong khía cạnh này, truyền thông điệp thật sự chỉ là một sự thay đổi không quan trọng trên mô hình tác nhiệm/kênh (task/channel), sự khác biệt là ở kỹ thuật được dùng để chuyển dữ liệu. Nghiên cứu mô hình truyền thông điệp MPI, việc định nghĩa các kênh là một sự rèn luyện trí óc hữu ích khi thiết kế các chương trình truyền thông điệp, bởi nó bắt ta khái niệm hóa cấu trúc truyền thông của một
Mô hình truyền thông điệp gồm cả việc tạo các tác nhiệm một cách động, việc thực hiện nhiều công việc trên một bộ xử lý, hoặc thực hiện nhiều chương trình khác nhau bởi các tác nhiệm khác nhau. Trong thực tế hầu hết các hệ thống truyền thông điệp tạo một số cố định các tác nhiệm chính tại chương trình bắt đầu. Mô hình SPMD thích hợp cho một phạm vi rộng các bài toán lập trình song song.
Xuất phát từ một số tính năng hiệu quả của MPI như: truyền thông điệp rất tốt, tốc độ truyền thông điệp nhanh… nên phù hợp cho việc cài đặt thuật toán thử nghiệm của luận văn.
Giao diện truyền thông điệp MPI là chuẩn truyền thông điệp được phát triển bởi MPIF (Message Passing Interface Forum). Diễn đàn này thiết kế một chuẩn rất gọn nhẹ phục vụ cho việc viết các chương trình truyền thông điệp với mục tiêu là dễ sử dụng, hiệu quả và mềm dẻo. MPIF hội tụ trên 40 tổ chức khác nhau, bắt đầu công việc thiết kế chuẩn từ năm 1992. Trong bản thử nghiệm đầu tiên (phiên bản 1.0) được phát hành năm 1994, đã chịu ảnh hưởng rất nhiều bởi công việc của trung tâm nghiên cứu IBM T.J. Watson. Diễn đàn này tiếp tục nâng cấp lên phiên bản thứ hai (MPI-2), và đã công bố vào năm 1997. Thông tin chi tiết về MPI và diễn đàn MPIF có trong website http://www.mpi-forum.org/
Mục tiêu và phạm vi của MPI:
- Thiết kế một giao diện lập trình ứng dụng (không nhất thiết cho trình biên dịch hoặc cho hệ thống thư viện).
- Cho phép truyền thông điệp hiệu quả: tránh sao chép bộ nhớ (memory-to- memory copying) và cho phép tính toán và truyền thông đồng thời. - Hỗ trợ môi trường không thuần nhất
- Cho phép lập trình với C và Fortran 77
- Truyền thông tin cậy, người lập trình không phải giải quyết các lỗi truyền thông. Lỗi truyền thông được khắc phục ở phần cơ sở
- Giao diện không quá khác so với các chuẩn đã có như PVM, NX, Express, p4, .v.v. và thêm phần mở rộng với độ mềm dẻo cao hơn
- Chuẩn giao diện này có thể áp dụng trên nhiều nên phần cứng cũng như hệ điều hành khác nhau.
- Độc lập với ngôn ngữ lập trình
CHƯƠNG 2. THUẬT TOÁN KHAI TRIỂN ĐA CỰC NHANH
VÀ PHƯƠNG PHÁP CÂY BÁT PHÂN