I really like Open-MPI and its Modular Component Architecture.
The --mca parameters are so useful for learning and testing things !
So here are my questions.
I know that the default point-to-point messaging layer is ob1
(the Obi-Wan Kenobi PML). I know that there is also the PML
cm (the Connor MacLeod PML).
From what I understand, the force is strong with Obi-Wan Kenobi, so he
can use various byte transfer layers (BTLs).
And there can be only one highlander (probably Connor MacLeod) so
when I use the MTL psm, I can not use any of the BTLs because Connor
MacLeod can only be alone at the end.
But what about the PML csum ?
What exactly is the PML csum (checksum) doing ?
Which code is the PML csum using for actually transferring stuff between
MPI ranks ? BTLs or MTLs or something else or nothing ?
I have searched the web a little but have not found much about it.
If I use the MTL psm, can the PML csum be used to detect message
corruption ? I guess the answer is no because csum is not Connor MacLeod.
I have read that when the MTL psm is used, all the Open-MPI BTL objects are
What code would the PML dr use to move bytes around should it
be stable and production-ready ?
And my final question:
When a company design a new interconnect, why choose the MTL architecture
(and thus the PML cm) instead of the BTL architecture (with the ob1 PML) ?
It seems to me that ob1 and BTLs are mature and that BTLs self and sm
useful and bug-free for what I know. New code should only do the case
when the two
MPI processes are on different nodes, right ?
Thank you !
p.s.: I found the silly names here ->