Dennis Klein
0c46d06596
feat(ofi): Require asiofi 0.5
...
* Modernize some ofi transport code along the way
* Replace Boost.Container with `<memory_resource>`
* Introduce namespaced headers
* `<fairmq/Channel.h>`
* `<fairmq/Message.h>`
* `<fairmq/Poller.h>`
* `<fairmq/Socket.h>`
* `<fairmq/TransportFactory.h>`
* `<fairmq/UnmanagedRegion.h>`
* Compile-firewall Boost.Process in `shmem::Manager` because it conflicts
with standalone asio
2021-07-16 11:38:27 +02:00
Alexey Rybalchenko
03ba9eb558
Add --shm-zero-segment-on-creation option
2021-07-16 09:40:17 +02:00
David Rohr
a6193a380d
Add --shm-mlock-segment-on-creation option
2021-07-16 09:40:17 +02:00
Alexey Rybalchenko
a8bdb91165
shm: throw TransportError if could not lock region
2021-06-15 11:54:29 +02:00
Alexey Rybalchenko
37c059177f
shm: improve exception handling
2021-06-15 11:54:29 +02:00
Alexey Rybalchenko
28a887a457
shm: optimize monitor heartbeats
2021-06-15 11:54:29 +02:00
Alexey Rybalchenko
9444de5868
Apply readability-redundant-member-init
2021-05-28 13:14:51 +02:00
Alexey Rybalchenko
9bf908fb52
shm: revert some changes from c85d6e0
that introduced a race
2021-05-20 00:40:58 +02:00
Alexey Rybalchenko
091d0824d1
ofi: fix Events() signature
2021-05-07 21:33:15 +02:00
Alexey Rybalchenko
857aa84fa3
add mlock/zero options to unmanaged region
2021-05-07 21:33:15 +02:00
Alexey Rybalchenko
c85d6e079c
shm: reduce shm contention when dealing with ack queues
2021-05-07 21:33:15 +02:00
Alexey Rybalchenko
b67b80e0ad
shmmonitor: add severity setting
2021-05-07 21:33:15 +02:00
Alexey Rybalchenko
2c89b24857
shm: eliminate race/deadlock in region subscriptions
2021-05-07 21:33:15 +02:00
Alexey Rybalchenko
8a2641d842
shm: check result of region acquisition
2021-05-07 21:33:15 +02:00
Alexey Rybalchenko
2ca62d06db
shm region cache: fix multiple sessions issue
2021-05-07 14:20:00 +02:00
Gvozden Neskovic
ef5b3c782e
improve message counter cache line use
2021-05-07 14:20:00 +02:00
Gvozden Neskovic
f7ba3052aa
use thread local cache to avoid interprocess lock on shm GetData
2021-05-07 14:20:00 +02:00
Alexey Rybalchenko
0976465338
shm: reduce delay between monitor daemon launch & HBs
2021-04-08 10:11:23 +02:00
Alexey Rybalchenko
9144258b89
shmmonitor: daemon output to file if FAIRMQ_SHMMONITOR_VERBOSE is true
2021-04-08 10:11:23 +02:00
Alexey Rybalchenko
72175e5757
shmmonitor: optimize startup to avoid repeated start
2021-04-08 10:11:23 +02:00
Alexey Rybalchenko
effba534f0
shmmonitor: add session name and creator id to the output
2021-04-08 10:11:23 +02:00
Alexey Rybalchenko
5228407932
shmmonitor: distinguish daemon from monitor mode (orthogonal)
2021-04-08 10:11:23 +02:00
Dennis Klein
4b6cf8b181
Fix aggregate initialization issue before C++20
...
Use value initialization to prevent
error: temporary of type ... has protected destructor
see https://stackoverflow.com/a/56745475
2021-03-26 10:06:10 +01:00
Alexey Rybalchenko
62438bd99e
shm: Improve error message when segment cannot be opened
2021-03-18 09:02:08 +01:00
Alexey Rybalchenko
c8ad684b18
Add --shm-no-cleanup option
...
When true, device will skip the segment cleanup even when it is the last
segment user
2021-03-18 09:02:08 +01:00
Alexey Rybalchenko
0fd2fcadc2
shm: Make sure no event notifications are missed
2021-03-11 12:14:00 +01:00
Alexey Rybalchenko
9b48b31a75
shm: Make sure all region events are fired
2021-03-11 12:14:00 +01:00
Alexey Rybalchenko
4a09154a91
17-ify namespaces
2021-01-25 13:46:40 +01:00
Alexey Rybalchenko
751c53171c
Replace tools::make_unique with std::make_unique
2021-01-25 13:46:40 +01:00
Alexey Rybalchenko
02a3980343
Remove useless parameter from implementation
2021-01-13 12:36:32 +01:00
Alexey Rybalchenko
f46d446d52
shm: do mlock/zeroing under shmem lock
2020-12-04 13:27:45 +01:00
Alexey Rybalchenko
db0937f339
shm: ensure local segments are complete for region subscriptions
2020-11-25 13:41:23 +01:00
Alexey Rybalchenko
fdbf289364
Update monitor & debug tools for multiple segments
2020-09-08 16:56:35 +02:00
Alexey Rybalchenko
266843cda5
Shm: initial multiple segments support
2020-09-08 16:56:35 +02:00
Alexey Rybalchenko
73109fe6d3
Shm: configurable allocation strategy
2020-09-08 16:56:35 +02:00
Alexey Rybalchenko
3b2d2a0ac8
Shm: Refactor to localize segment access
2020-09-08 16:56:35 +02:00
Alexey Rybalchenko
72a45f78b3
Shm: Add Monitor::GetDebugInfo()
2020-09-08 16:56:35 +02:00
Alexey Rybalchenko
b63f31d0e0
Shm: Provide debug infos only in debug mode
2020-09-08 16:56:35 +02:00
Alexey Rybalchenko
70a583d08d
Shm: Provide segment/msg debug infos
2020-09-08 16:56:35 +02:00
neskovic@gmail.com
f1d6b18668
Message counter: use relaxed/acquire memory ordering
2020-08-13 11:49:55 +02:00
Alexey Rybalchenko
b0f73017e2
shmmonitor: add output with -v (non-interactive)
2020-08-06 12:24:01 +02:00
Alexey Rybalchenko
65f9519917
Add error handling for mlock
2020-08-06 12:24:01 +02:00
Alexey Rybalchenko
3eca8e9def
Add test for shm transport options
2020-07-15 13:59:53 +02:00
Alexey Rybalchenko
beb7766fca
Shm: add options to zero and/or mlock the segment
2020-07-15 13:59:53 +02:00
Alexey Rybalchenko
78b1c188bf
Shm: report correct size when opening segment
2020-06-30 20:58:53 +02:00
Alexey Rybalchenko
8125489776
Handle out_of_range when locating RegionInfo
2020-06-29 14:44:49 +02:00
Alexey Rybalchenko
539e5602a6
Expose fair::mq::shmem::Monitor::Cleanup() API
2020-06-29 14:44:49 +02:00
Alexey Rybalchenko
f885b4618e
Optimize unmanaged region ReceiveAcks
2020-06-29 14:44:49 +02:00
Alexey Rybalchenko
0d03c76a75
Shm: throw on bad_alloc, option to disable
2020-05-18 14:32:19 +02:00
Alexey Rybalchenko
ccbf0be572
Shmem: refactor, clean includes, make header only
2020-05-18 14:32:19 +02:00