Abstract

A lock-free inter-process communication (IPC) system can utilize shared memory to broadcast system events from a single writer process to multiple reader processes. The system employs a shared memory circular queue and an atomic sequence counter that increments before and after write operations, allowing readers to determine if an active write is occurring. By calculating an active queue index using the sequence counter, reader processes can safely access previously committed historical state data without blocking or busy-waiting. This non-blocking architecture prevents IPC message queue overflows for frozen or suspended background applications, eliminates priority inversion, and avoids the thundering herd problem by enabling applications to “lazily” read updates. Furthermore, the system supports optional condition variable synchronization via a fast userspace mutex (e.g., a futex), cross-language marshaling, secure readonly memory sealing, and overhead-free snooping for debugging agents and artificial intelligence applications.

Creative Commons License

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.

Share

COinS