Giulio Eulisse
9013ee8e29
Reduce bloat due to statics
...
Avoid disseminating every compile unit including Message.h with TransportNames and
TransportTypes and the associated unordered_map helper methods (e.g.
murmur_hash).
2025-01-07 15:53:22 +01:00
Giulio Eulisse
91b31f0799
Hide actual container from the API
2024-05-23 15:54:24 +02:00
Alexey Rybalchenko
0e221b28b8
shm: use node_allocator for ref counts
2024-01-25 10:45:34 +01:00
Alexey Rybalchenko
1ee0977df4
shm: use (de)allocate_one() for ref counts
2024-01-25 10:45:34 +01:00
Alexey Rybalchenko
24d578a4ba
shm: extend monitor output for refCount region
2024-01-25 10:45:34 +01:00
Alexey Rybalchenko
2df3d909fa
shm: when refCount segment size is zero, fallback to old behaviour
...
, which is to store reference counts inside the main data segment
2023-11-29 19:21:42 +01:00
Alexey Rybalchenko
58ffdfd1f4
Remove unused ctor and constant
2023-11-29 19:21:42 +01:00
Alexey Rybalchenko
faf577086a
shm: fix initialization of rc segment when region is created externally
2023-11-24 14:19:21 +01:00
Alexey Rybalchenko
ff1f9b94ef
shm: include rcCountSegment free memory in the monitor output
2023-11-24 14:19:21 +01:00
Alexey Rybalchenko
424e22b41a
shm: Throw RefCountBadAlloc if insufficient space in the ref count segment
2023-11-15 12:52:14 +01:00
Alexey Rybalchenko
f05a09da5a
shm: Message: refactor ctors
2023-10-19 19:16:00 +02:00
Alexey Rybalchenko
5aa6c99442
shm: remove alignment member from Message
2023-10-19 19:16:00 +02:00
Alexey Rybalchenko
3c714fd9e0
Message::SetUsedSize: add optional alignment argument, to avoid storing alignment with the msg object
2023-10-19 19:16:00 +02:00
Alexey Rybalchenko
1b7532a520
Refactor shm::Message to contain sorted members of MetaHeader
...
Move the members of MetaHeader flat into shmem::Message and sort them by
size to reduce the size of the class.
2023-10-19 19:16:00 +02:00
Alexey Rybalchenko
8d28824489
Shm: Use MakeShmName to construct shm object names
2023-09-29 11:18:24 +02:00
Alexey Rybalchenko
7bd31f8ff0
apply readability-else-after-return
2023-09-29 11:18:24 +02:00
Alexey Rybalchenko
1a0ab3a4e2
shm: Ref counting for unmanaged regions in a dedicated segment
2023-09-29 11:18:24 +02:00
Alexey Rybalchenko
cacf69d5f6
Replace boost::variant with std::variant
2023-09-29 11:18:24 +02:00
Alexey Rybalchenko
68038c4693
shm: Move ShmHeader into Common.h
2023-09-29 11:18:24 +02:00
Dennis Klein
f278e7e312
feat: Add new tunable --shm-metadata-msg-size
...
The shm metadata msg will be right-padded to the given size. This
tunable may be used to saturate the kernel msg buffers more quickly with
the effect that the ZeroMQ message queue size - on which the FairMQ
shmem transport relies upon - behaves more accurately for very small
queue sizes.
This introduces a change for the meta msg format in the multipart case:
old: | MetaHeader 1 | ... | MetaHeader n |
new: | n | MetaHeader 1 | ... | MetaHeader n | padded to fMetadataMsgSize |
where `n` is a `size_t` and contains the number of following meta headers.
Previously, this number was infered from the msg buffer size itself which is
no longer possible due to the potential padding.
Implements #432
2023-06-13 21:24:40 +02:00
Dennis Klein
491a943c63
feat: Use zmq_msg_send
for single message Send
2023-06-13 21:24:40 +02:00
Dennis Klein
c47fc6f9fe
feat: Move ZMsg
to fair::mq::zmq
...
Implement move semantics.
2023-06-13 21:24:40 +02:00
Dennis Klein
8960ce9416
fix: Use std::chrono
consistently
2023-03-06 15:32:48 +01:00
Dennis Klein
05b734ee0d
feat!: Migrate to std::filesystem
consistently
2023-03-06 15:32:48 +01:00
Alexey Rybalchenko
4af0954ae9
Shm: fix unused value
2023-03-02 19:12:29 +01:00
Alexey Rybalchenko
8f5efdf74c
Extend shmem docs
2023-02-24 14:28:18 +01:00
Piotr Konopka
9389030835
Warn when going to try allocate a shmem message more times
2022-11-18 09:36:52 +01:00
Alexey Rybalchenko
ed364a4857
shm: error on duplicate region IDs
2022-10-05 09:13:37 +02:00
Alexey Rybalchenko
9a25c4d28a
shm: refactor UnamangedRegion: rename fRemote to fController
2022-10-05 09:13:37 +02:00
Alexey Rybalchenko
19e40bd32e
shm: Improve debug output a bit
2022-10-05 09:13:37 +02:00
Dennis Klein
904037d9be
fix(shm): Handle pre-conditions
2022-09-14 07:37:52 +02:00
Alexey Rybalchenko
de09018198
Shm: fix region init with external regions
2022-09-09 15:11:12 +02:00
Alexey Rybalchenko
46e568c55e
shm: add some debug output
2022-09-09 15:11:12 +02:00
Alexey Rybalchenko
75e68e3e4d
fix(shm): Fix incorrect parameters when mapping regions
2022-09-06 07:57:45 +02:00
Alexey Rybalchenko
4587af2eb4
fix(shm): race/deadlock in region locks
2022-08-19 12:24:35 +02:00
Alexey Rybalchenko
b06efc401e
shm: Monitor: Add region/segment presence check function
2022-06-22 13:31:51 +02:00
Alexey Rybalchenko
2500771689
shm: ResetContent(): reset data after recreating the metadata
2022-05-28 14:46:21 +02:00
Alexey Rybalchenko
d2aa3b6bb0
shm: open managament data as read only during cleanup
2022-05-28 14:46:21 +02:00
Alexey Rybalchenko
00df117c7c
Shm::Monitor: add nullptr check for segment info
2022-05-28 14:46:21 +02:00
Alexey Rybalchenko
29827f0426
Shm: bring back thread-safety for fRegions (intra-process)
2022-02-16 23:17:04 +01:00
Alexey Rybalchenko
8efe7adf0e
Shm: fix number of region events
2022-02-16 23:17:04 +01:00
Alexey Rybalchenko
b747a8787c
shm: check region size when opening existing
2022-02-08 09:09:25 +01:00
Alexey Rybalchenko
1a75141fc4
shm: allow monitor::ResetContent to cleanup after a crash
2022-02-02 10:49:00 +01:00
Alexey Rybalchenko
2f82eb4f09
shm: monitor: disable number of msgs in the ack queue output
2022-02-02 10:49:00 +01:00
Alexey Rybalchenko
92a56c26bc
shm: remove UR queues on ResetContent
2022-02-02 10:49:00 +01:00
Alexey Rybalchenko
4f9aeda8ec
shm: Add size to UnmanagedRegion debug output
2022-02-02 10:49:00 +01:00
Alexey Rybalchenko
bfd08bb33f
Don't use to-be-deprecated names
2022-01-24 06:40:24 +01:00
Alexey Rybalchenko
ddf9bc7272
shm: keep mng segment around when skipping cleanup
2022-01-12 19:54:49 +01:00
Alexey Rybalchenko
f79a0714b4
shm: fix double unlock()
2022-01-12 19:54:49 +01:00
Alexey Rybalchenko
c04958e2a4
shm: reduce contention on region events
2022-01-10 19:42:08 +01:00