6. Phương pháp nghiên cứu
2.2.2.3. Các khái niệm cơ bản
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 địa 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 toán phức tạp thì process được xem như là một xử lý đang chạy 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. [8]
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 nhận dữ liệu. [8]
Đồ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… 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. [8]
Blocking và non-blocking: Đây là đặ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. [8]
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 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à số tiến trình
của chương trình MPI hay số nút trên mạng do người thực thi chương trình sử dụng để chạy chương trình MPI. [8]