MPI-dagi asosiy operatsiya xabarlarni uzatishdir.Deyarli barcha asosiy aloqa shakllari MPIda amalga oshiriladi: nuqtadan nuqtaga, jamoaviy va bir tomonlama.
Dasturlar parallel jarayonlarni yaratish va tugatish vositalarini va ishlaydigan jarayonlarning o'zaro ta'sirini o'z ichiga oladi.
Jo’natish jarayonlari quyidagicha bo’lishi mumkin: Individual turi ya’ni nuqtadan nuqtaga.Kollektiv - operatsiyada kommunikatorning barcha protsessorlari ishtirok etadi.
Xabar almashish turi
Barcha protseduralar quyidagi sinflarga bo'linadi: blokirovka qiluvchi (sinxronizatsiya bilan) va blokirovkasiz (asinxron) protseduralar.
Bloklirovkali xabar almashish protseduralari ishni to shart bajarilgunga qadar to'xtatib turadi. Asinxrondan qaytish aloqa operatsiyasini ishga tushirgandan so'ng darhol sodir bo'ladi.
Bloklirovkali xabar almashish bilan ehtiyotkorlik bilan foydalanish lozim.
Asinxron operatsiyalardan foydalanish ma'lumotlar massivlaridan ehtiyotkorlik bilan foydalanishni talab qiladi.
Xabarni tashkil qiluvchilar.
1. Xabarlar malumotlar blogi – void*
2. Xabar ma'lumotlari quyidagilar.
(a) ma'lumotlar turi –MPI_Datatype;
(b) ma'lumotlar soni.
3. Xabarni qabul qiluvchi va jo'natuvchi haqida ma'lumot.
(a) Komunikator – MPI_Comm tipidagi jarayonlar guruhi identifikatori, yuqori darajadagi kommunikator – MPI_COMM_WORLD;
(b) qabul qiluvchining darajasi - ko'rsatilgan kommunikatordagi qabul qiluvchi jarayonning raqami;
(c) jo'natuvchi darajasi - ko'rsatilgan kommunikatordagi jo'natuvchi jarayonning raqami
MPI_ANY_SOURCE orqali tegishli kommunikatorda barcha jo‘natuvchilardan xabarlar olishingiz mumkin.
4. Xabar tegi. int turining ixtiyoriy soni. Siz xabarlarni ma'lum bir teg bilan qabul qilishingiz mumkin, ixtiyoriy tegdagi xabarni qabul qilish uchun -MPI_ANY_TAG dan foydalanish mumkin.