Abstract
We propose and solve a synchronization problem called the mailbox problem, motivated by a particular type of interaction between a processor and an external device or between two threads. In this problem, a postman delivers letters to the mailbox of a home owner and uses a flag to signal a non-empty mailbox. The owner must remove all letters delivered to the mailbox and should not walk to the mailbox if it is empty. We present algorithms and an impossibility result for this problem.
Similar content being viewed by others
References
Abadi M., Lamport L.: The existence of refinement mappings. Theor. Comput. Sci. 82(2), 253–284 (1991)
Ellen, F., Lev, Y., Luchangco, V., Moir, M.: SNZI: scalable nonzero indicators. In: PODC ’07: Proceedings of the Twenty-Sixth Annual ACM Symposium on Principles of Distributed Computing, pp. 13–22. ACM, New York (2007). doi:10.1145/1281100.1281106
Herlihy M.P.: Wait-free synchronization. ACM Trans. Program. Lang. Syst. 13(1), 124–149 (1991)
Herlihy M.P., Wing J.M.: Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 12(3), 463–492 (1990)
Lamport L.: A new solution of Dijkstra’s concurrent programming problem. Commun. ACM 17(8), 453–455 (1974)
Lamport L.: Proving the correctness of multiprocess programs. IEEE Trans. Softw. Eng. SE 3(2), 125–143 (1977)
Lamport L.: On interprocess communication—part II: algorithms. Distrib. Comput. 1, 86–101 (1986)
Lamport L.: The temporal logic of actions. ACM Trans. Program. Lang. Syst. 16(3), 872–923 (1994)
Lamport, L.: The PlusCal algorithm language. In: Leucker, M., Morgan, C. (eds.) Proceedings of the 6th International Colloquium on Theoretical Aspects of Computing, Springer, Berlin. Lecture Notes in Computer Science, vol. 5684, pp. 36–60 (2009). Current information on PlusCal can be found at http://research.microsoft.com/users/lamport/tla/pluscal.html. The page can also be found by searching the Web for the 25-letter string obtained by removing the “-” from uid-lamportpluscalhomepage
Lampson B.W., Redell D.D.: Experience with processes and monitors in mesa. Commun. ACM 23(2), 105–117 (1980)
Lynch N.A.: Distributed algorithms. Morgan Kaufmann, San Mateo (1995)
Peterson G.L.: Concurrent reading while writing. ACM Trans. Program. Lang. Syst. 5(1), 46–55 (1983)
Saltzer, J.H.: Traffic control in a multiplexed computer system. Project MAC Technical Report MAC-TR-30, M.I.T. (1966)
Yu, Y., Manolios, P., Lamport, L.: Model checking TLA + specifications. In: Pierre, L., Kropf, T. (eds.) Correct Hardware Design and Verification Methods. Springer, Berlin. Lecture Notes in Computer Science, vol. 1703, pp. 54–66, 10th IFIP wg 10.5 Advanced Research Working Conference, CHARME ’99 (1999)
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Aguilera, M.K., Gafni, E. & Lamport, L. The mailbox problem. Distrib. Comput. 23, 113–134 (2010). https://doi.org/10.1007/s00446-010-0102-8
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00446-010-0102-8