Abstract

We present three channel primitives for sending messages: two-way-flush, forward-flush, and backward-flush, collectively termed Flush. A non-FIFO channel that supports Flush will be termed an F-channel. F-channels can permit as much concurrency as non-FIFO channels and yet retain the properties of FIFO channels that lead to simplicity of reasoning in design and proofs of correctness of distributed algorithms. We illustrate these claims using examples of distributed algorithms for taking global snapshots and in the process we also illustrate that use of these primitives weaker definition of a channel state compared to defining it as a sequence of messages.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.