Иногда MPI используется для отправки низкоэнтропийных данных в сообщениях. Поэтому может быть полезно попытаться сжать сообщения перед отправкой. Я знаю, что MPI может работать в очень быстрых сетях (10 Гбит/с и более), но многие программы MPI используются с дешевыми сетями, такими как 0,1G или 1Gbit/s Ethernet, и с дешевым (медленным, с низким делением пополам) сетевым коммутатором. Существует очень быстрый алгоритм сжатия Snappy (википедия), который имеет
скорость сжатия 250 МБ/с и скорость распаковки 500 МБ/с
, поэтому при сжимаемых данных и медленной сети он будет дать некоторое ускорение.
Существует ли какая-либо библиотека MPI, которая может сжимать сообщения MPI (на уровне MPI, а не при сжатии пакетов ip, как в PPP).
Сообщения MPI также структурированы, поэтому может использоваться какой-то специальный метод, например, сжатие экспоненциальной части в массиве двойных значений.
PS: Существует также метод сжатия LZ4с сопоставимой скоростью