可变机制的MPI内容/骨架?

时间:2015-09-23 18:06:11

标签: c++ serialization mpi boost-mpi

我想知道对于斯凯尔顿和斯特龙的好处是什么? MPI功能的内容实现,例如Boost.MPI中提供的。 据我所知,骨架和内容方法只有在有益的情况下才有用 消息具有固定大小的任意类型,并且此消息需要使用不同的内容多次发送。

所以骨架和内容在以下情况下不起作用:

std::list<int> l;

// Exchange Skeleton mpi::skeleton(l)

// Send Content mpi::content(l) (but modify the size of the list, so sending once 10 element and in the next time 2 elements, for example)

Boost通过序列化数据发送内容,并在另一端反序列化。 (我假设它会发送类型为MPI_BYTE的数据并以某种方式用标志处理endianess?)

两个问题:

  1. 为什么需要为任何可序列化类型发送骨架(也可以是序列化包装器对象):Boost不仅可以反序列化(给定相同的序列化包装器提供反序列化)接收的数据而不需要骨架吗? / LI>

    因此,在后续调用中不需要再次序列化列表的动态大小等等,因此skelton&amp; content方法是有益的。因此,真正的好处是序列化消息(发送内容)随着骨架和内容方法而变小。如果消息被多次发送,这将是有益的。

    总而言之,如果消息是高度动态的(形状变化)并且只发送一条消息,则不应该应用骨架和内容。

    这是对的吗?

0 个答案:

没有答案