Compression for MPI

MPI, or the Message Passing Interface, provides all necessary functionality for writing parallel applications using message passing [1]. MPI supports basic and complex operations such as sending and receiving data as well as reduction operations. Moreover, it features functionality for performing parallel I/O.

Parallel I/O often deals with huge volumes of data. Additionally, the amount of data sent and received can become quite large depending on the application. Transferring the data via the network can therefore be an expensive operation.

As part of this thesis, you will implement compression for MPI operations such as send, receive, write and read. This can be achieved most easily using MPI's profiling interface [2]. You will compare a few different compression algorithms and analyze their impact on performance [3].

  1. https://www.mpi-forum.org/
  2. https://parcio.ovgu.de/parcio_media/Teaching/Winter+2022_2023/Parallele+Programmierung/PP_2022_10_MPI_Debugging-p-476.pdf
  3. https://github.com/inikep/lzbench

Contact: Michael Kuhn

Last Modification: 11.01.2024 - Contact Person: Webmaster