Files
FairMQ/fairmq/shmem
Alexey Rybalchenko 5aaf27bf02 Refactor the transport interface
- give transport Initialize() method with access to device config.
 - avoid using global context in the transport.
 - simplify shutdown procedure (no need for extra thread).
2017-04-20 11:07:49 +02:00
..

Shared Memory transport

First version of the shared memory transport. To try with existing devices, run the devices with --transport shmem option.

The transport manages shared memory via boost::interprocess library. The transfer of the meta data, required to locate the content in the share memory, is done via ZeroMQ. The transport supports all communication patterns where a single message is received by a single receiver. For multiple receivers for the same message, the message has to be copied.

Under development:

  • Cleanup of the shared memory segment in case all devices crash. Currently at least one device has to stop properly for a cleanup.
  • Implement more than one transport per device.
  • Configuration of the shared memory size (currently hard-coded).