Một nhóm (Group) là một tập có thứ tự của các tiến trình [10]. Mỗi tiến trình trong nhóm có một chỉ số duy nhất gọi là rank (hạng). Rank của một tiến trình có giá trị từ 0
đến p – 1, với p là số tiến trình trong nhóm.
Ngữ cảnh (Context) là một khái niệm trừu tƣợng, hàm ý mỗi thông điệp “biết” về bộ liên lạc của nó [32]. Ngữ cảnh ra đời nhằm chia tách các họ thông điệp, tránh tình trạng một thông điệp đƣợc gửi với một bộ liên lạc này lại đƣợc nhận với một bộ liên lạc khác. Nếu một thông điệp đƣợc truyền từ tiến trình thứ nhất và đƣợc nhận bởi tiến trình thứ hai, thì hai tiến trình này phải thuộc cùng một bộ liên lạc; khi đó ta nói rằng thông điệp đó đã đƣợc gửi và nhận trong cùng ngữ cảnh.
Một bộ liên lạc (Communicator) bao gồm một nhóm các tiến trình và một ngữ cảnh [32]. Các tiến trình nếu muốn gửi và nhận thông điệp của nhau thì bắt buộc phải thuộc cùng một bộ liên lạc, và ngƣợc lại, khi 2 tiến trình thuộc cùng một bộ liên lạc thì chúng
67
có thể truyền thông điệp cho nhau. Trong môi trƣờng MPI, mỗi tiến trình phải thuộc ít nhất một bộ liên lạc nào đó. Một tiến trình có thể thuộc nhiều hơn một bộ liên lạc.
Mỗi bộ liên lạc có một ngữ cảnh duy nhất tƣơng ứng với nó, và mỗi ngữ cảnh chỉ tƣơng ứng với duy nhất một bộ liên lạc [10].
Khi một chƣơng trình MPI bắt đầu chạy, có một nhóm sơ cấp đƣợc khởi tạo bao gồm tất cả các tiến trình. Tƣơng ứng với nó là bộ liên lạc sơ cấp MPI_COMM_WORLD. Sau khi ngƣời dùng gọi hàm MPI_Init, có một bộ liên lạc đặc biệt khác đƣợc tạo là MPI_COMM_SELF [20]. Đây là bộ liên lạc chỉ chứa duy nhất 1 tiến trình hiện tại.
Ngoài MPI_COMM_WORLD và MPI_COMM_SELF còn có một số object đặc biệt khác nhƣ MPI_COMM_NULL, …, tuy nhiên đây không phải là các bộ liên lạc đặc biệt ([21, 34, 35]).
Về khái niệm liên lạc trong (inter-communication), liên lạc ngoài (intra- communication), bộ liên lạc trong (inter-communicator), bộ liên lạc ngoài (intra- communicator), tham khảo [27, 28].