This Article 
 Bibliographic References 
 Add to: 
An Implementation of F-Channels
June 1993 (vol. 4 no. 6)
pp. 658-667

An F-channel can permit as much concurrency as a non-first-in-first-out (FIFO)communication channel and yet retain the properties of a FIFO channel that lead tosimplicity of reasoning in design and proofs of the correctness of distributed algorithms.The author presents an implementation of an F-channel on top of a non-FIFO channelthat derives its non-FIFO nature from a message taking any of the alternate paths fromthe source to the destination in the underlying network in which each channel is either anF-channel implemented using some other implementation or recursively using theimplementation presented or a FIFO channel. The correctness of the implementation isproven.

[1] M. Ahuja, "Flushprimitives for asynchronous distributed systems,"Inform. Processing Lett., vol. 34, no. 2, pp. 5-12, Feb. 1990.
[2] M. Ahuja, "An implementation ofF-Channels, A preferable alternative to FIFO channels," inProc. Eleventh Int. Conf. Distributed Comput. Syst., IEEE, 1991, pp. 180-189.
[3] M. Ahuja, "Global snapshots for asynchronous distributed systems with non-FIFO channels," Tech. Rep. CS92-268, Univ. of California, San Diego, Nov. 1992.
[4] M. Ahuja, "Communication in highways: Global Flush Broadcast and Flush-vector-time," Tech. Rep. CS93-278, Univ. of California, San Diego, Jan. 1993.
[5] M. Ahuja, K. Varadhan, and A. Sinha, "Flush message passing in communicating sequential processes," inParallel Architectures, N. Rishe, S. Navathe, and D. Tal, Eds., IEEE Computer Society Press, May 1991, pp. 31-47.
[6] M. Ahuja, "Repeated global snapshots in asynchronous distributed systems," Tech. Rep. OSU-CISRC-8/89-TR40, Ohio State Univ., Aug. 1989.
[7] M. Ahuja, "Hierarchy of communication speeds for designing concurrent systems," Tech. Rep. OSU-CISRC-1/91-TR1, Ohio State Univ., 1991.
[8] M. Ahuja and R. Prakash, "Hierarchy of communication speeds: Definition, uses in designing concurrent systems, and implementation," Tech. Rep. OSU-CISRC-5/92-TR-16, Ohio State Univ., May 1992.
[9] M. Ahuja, "An implementation ofF-Channelsusing acknowledgments," working manuscript, 1992.
[10] K.P. Birman and T.A. Joseph, "Reliable Communication in the Presence of Failures,"ACM Trans. Computer Systems, Vol. 5, No. 1, Feb. 1987, pp. 47-76.
[11] T. K. Camp, P. Kearns, and M. Ahuja, "Fast batched data transfer with Flush Channels," Tech. Rep. WM-93-1, College of William and Mary, 1993.
[12] K. M. Chandy and L. Lamport, "Distributed snapshots: Determining global states of distributed systems,"ACM Trans. Comput. Syst., vol. 3, no. 1, pp. 63-75, Feb. 1985.
[13] X. Dong and M. Ahuja, "An implementation ofFlushchannels for possibly cyclic networks," Tech. Rep. OSU-CISRC-5/92-TR-15, Ohio State Univ., May 1992.
[14] A. Gahlot, M. Ahuja, and T. Carlson, "GlobalFlushprimitive for sending a message to a group of processes," Tech. Rep. OSU-CISRC- 5/92-TR-17, Ohio State Univ., May 1992.
[15] J. M. Helary, "Observing global states of asynchronous distributed systems," inProc. Third Int. Workshop Distributed Algorithms, Springer-Verlag LNCS 392, 1989, pp. 124-135.
[16] P. Kearns, T. Camp, and M. Ahuja, "Implementation ofFlushchannels based on a verification methodology," inProc. Twelfth Int. Conf. Distributed Comput. Syst., IEEE, 1992, pp. 336-343.
[17] T.H. Lai and T.H. Yang, "On Distributed Snapshots,"Information Processing Letters, Vol. 25, No. 3, May 1987, pp. 153-158.
[18] G. Neiger and S. Toueg, "Substituting for real time and common knowledge in asynchronous distributed systems," inProc. 6th ACM Symp. Principles of Distributed Computing, Aug. 1987, pp. 281-293.
[19] P. Panangaden and K. Taylor, "Concurrent common knowledge: A new definition of agreement for asynchronous systems," inProc. Fifth Symp. Principles of Distributed Comput., ACM, 1988, pp. 197-209.
[20] L. L. Peterson, N. Buchholz, and R. D. Schlichting, "Preserving and using context information in interprocess communication,"ACM Trans. Comput. Syst., vol. 7, no. 3, pp. 217-246, Aug. 1989.
[21] F. B. Schneider, "Synchronization in distributed programs,"ACM Trans. Programming Languages Syst., vol. 4, no. 2, pp. 125-148, Apr. 1982.
[22] K. Shafer, "The relative primality of Flush primitives for asynchronous distributed communication," Tech. Rep. OSU-CISRC-8/90-TR25, Ohio State Univ., Sept. 1990.
[23] K. Shafer and M. Ahuja, "Process-Channelagent-process model of asynchronous distributed communication," inProc. Twelfth Int. Conf. Distributed Comput. Syst., IEEE, 1992, pp. 4-11.
[24] A. S. Tanenbaum,Computer Networks, Englewood Cliffs, NJ: Prentice-Hall, 1981.
[25] K. Taylor, "The role of inhibition in asynchronous consistent-cut protocols," inProc. Third Int. Workshop Distributed Algorithms, Springer-Verlag LNCS 392, 1989, pp. 280-291.

Index Terms:
Index TermsF-channels; concurrency; communication channel; distributed algorithms; alternatepaths; concurrency control; distributed algorithms
M. Ahuja, "An Implementation of F-Channels," IEEE Transactions on Parallel and Distributed Systems, vol. 4, no. 6, pp. 658-667, June 1993, doi:10.1109/71.242157
Usage of this product signifies your acceptance of the Terms of Use.