Process: (hay cịn gọi là tiến trình hoặc xử lý ): với kiểu lập trình trên một máy cĩ một bộ xử lý thì process được coi như là một tiến trình trong một chương trình cĩ khơng gian điạ chỉ riêng do hệ điều hành cung cấp. Với phương pháp lập trình song song để giải quyết các bài tốn phức tạp thì process được xem như là một xử lý đang chạy một một máy và chương trình MPI phân bố các xử lý này trên hệ thống mạng lên các máy tính với địa chỉ IP khác nhau .
http://etrithuc.vn
Send/Receive : vì các chương trình sử dụng phương pháp lập trình Message Passing khơng chia sẻ vùng nhớ chung ,hay biến cục bộ, mà tất cả các dạng dữ liệu đều phải giao tiếp thơng qua truyền thơng. Do đĩ MPI định nghĩa Send /Receive là hai cơ chế gửi và nhận thơng điệp giữa các xử lý trên các máy khác nhau. Một xử lý muốn gửi dữ liệu đến xử lý khác thì phải dùng thủ tục Send và xử lý nhận phải dùng thủ tục Receive để đĩn bắt dữ liệu
Đồng bộ và bất đồng bộ (Synchoronous/Asynchronous ) là hai cơ chếđặc biệt liên quan đến việc lập trình song song. Giống như việc lập trình dùng tiểu trình trên Windows hay trên Linux, việc đồng bộ hĩa được thực hiện trên các dữ
liệu chung (biến cục bộ) thì phải dùng các đối tượng do hệđiều hành cung cấp như Mutex, Monitor v.v... Cịn với MPI do khơng chia sẻ vùng nhớ chung nên việc
đồng bộ ở đây chỉ đề cập đến hình thức dữ liệu truyền nhận. Nên chương trình MPI thuộc dạng khơng đồng bộ vì mỗi xử lý trên các máy khác nhau chỉ thực hiện xử lý của mình mà khơng quan tâm đến dữ liệu của xử lý trên máy khác. Vì thế sự đồng bộđề cập là tất cả các dữ liệu đều được nhận bởi các xử lý trên các máy hay giữa các xử lý cĩ sự bắt tay nhau trong việc gửi nhận thơng tin.
Bộ đệm ứng dụng và bộ đệm hệ thống (Application Buffer /System Buffer) : Nếu muốn đạt được sự xử lý nhanh chĩng giữa việc truyền thơng dữ liệu và xử lý dữ liệu thì MPI đưa ra thêm một khái niệm nữa là bộđệm ứng dụng. Bộ đệm hệ thống dùng để lưu trữ dữ liệu từ bộ đệm ứng dụng (hay cịn gọi là biến trong lập trình). Dữ liệu trong bộ đệm hệ thống dùng để truyền đi đến các xử lý nhận hay nhận dữ liệu từ các xử lý khác.
http://etrithuc.vn Hình 4-2 : Cách thức truyền thơng của các process
Blocking và non-blocking : Đây đặc điểm cần chú ý khác trên lập trình song song. Blocking được xem là khoảng thời gian mà xử lý phải đợi để thực hiện một xử lý con đang chạy ở dạng nền, trái ngược với nĩ là non-blocking cĩ nghĩa là khơng cần phải đợi .Khái niệm này giống như chúng ta viết các chương trình dạng tuần tự với các chương trình dùng tiểu trình trên Windows
Hình 4-3 : Blocking và non-blocking
Group là một nhĩm các xử lý.
Communicator được xem như vỏ bọc của Group dùng để quản lý các Group và các xử lý bên trong Group.
Rank cịn gọi là định danh của xử lý ,một khái niệm tương tự như định danh của tiểu trình trên Window. Đồng thời nĩ cịn hàm ý cả đặc tả địa chỉ máy nếu thực thi chương trình trên hệ thống mạng. Rank cĩ giá trị từ 0 đến n-1 với n là
http://etrithuc.vn
số xử lý của chương trình MPI hay số node trên mạng do người thực thi chương trình sử dụng để chạy chương trình MPI
Hình 4-4 : Group, communicator và rank