Safe Lock-free Primitives with iceoryx2's ByteAtomic
programming.dev
Safe Lock-free Primitives with iceoryx2's ByteAtomic
geteilt von: https://programming.dev/post/54554551 [https://programming.dev/post/54554551] > iceoryx2 [https://github.com/eclipse-iceoryx/iceoryx2] provides zero-copy inter-process communication mechanisms based on shared memory and data structures that are modified concurrently by multiple processes. > > One of the key operations in these algorithms is a memory copy using core::ptr::copy. However, this results in undefined behavior if one process reads the data while another process writes to it concurrently. Even if our lock-free algorithm reliably detects such a race, iceoryx2 cannot depend on undefined behavior in a safety-critical system. > > This blog post introduces our solution: a byte-wise atomic wrapper that enables well-defined concurrent copy operations. It also shows how it can be used to implement a simple sequence lock. > > Note: I am not the original author of the blog post. Since the author does not have a programming.dev account, I am posting it on her behalf.
0 comments
No comments yet.