Abstract
The timestamp problem captures a fundamental aspect of asynchronous distributed computing. It allows processes to label events throughout the system with timestamps that provide information about the real-time ordering of those events. We consider the space complexity of wait-free implementations of timestamps from shared read-write registers in a system of n processes. We prove an \({\Omega(\sqrt{n})}\) lower bound on the number of registers required. If the timestamps are elements of a nowhere dense set, for example the integers, we prove a stronger, and tight, lower bound of n. However, if timestamps are not from a nowhere dense set, this bound can be beaten: we give an implementation that uses n − 1 (single-writer) registers. We also consider the special case of anonymous implementations, where processes are programmed identically and do not have unique identifiers. In contrast to the general case, we prove anonymous timestamp implementations require n registers. We also give an implementation to prove that this lower bound is tight. This is the first anonymous timestamp implementation that uses a finite number of registers.
Similar content being viewed by others
References
Abrahamson, K.: On achieving consensus using a shared memory. In: Proc. 7th ACM Symposium on Principles of Distributed Computing, pp. 291–302 (1988)
Afek, Y., Dolev, D., Gafni, E., Merritt, M., Shavit, N.: A bounded first-in, first-enabled solution to the l-exclusion problem. ACM Trans. Program. Lang. Syst. 16(3), 939–953 (1994)
Aspnes, J., Herlihy, M.: Fast, randomized consensus using shared memory. J. Algorithms 11(2), 441–461 (1990)
Attiya, H., Fouren, A.: Algorithms adapting to point contention. J. ACM 50(4), 444–468 (2003)
Burns, J., Lynch, N.: Bounds on shared memory for mutual exclusion. Inf. Comput. 107(2), 171–184 (1993)
Charron-Bost, B.: Concerning the size of logical clocks in distributed systems. Inf. Process. Lett. 39(1), 11–16 (1991)
Dolev, D., Shavit, N.: Bounded concurrent time-stamping. SIAM J. Comput. 26(2), 418–455 (1997)
Dwork, C., Herlihy, M., Plotkin, S., Waarts, O.: Time-lapse snapshots. SIAM J. Comput. 28(5), 1848–1874 (1999)
Dwork, C., Waarts, O.: Simple and efficient bounded concurrent timestamping and the traceable use abstraction. J. ACM 46(5), 633–666 (1999)
Ellen, F., Fatourou, P., Ruppert, E.: The space complexity of unbounded timestamps. In: Proc. Distributed Computing, 21st International Symposium. LNCS, vol. 4731, pp. 223–237 (2007)
Fatourou, P., Fich, F.E., Ruppert, E.: Time-space tradeoffs for implementations of snapshots. In: Proc. 38th ACM Symposium on Theory of Computing, pp. 169–178 (2006)
Fich, F., Herlihy, M., Shavit, N.: On the space complexity of randomized synchronization. J. ACM 45(5), 843–862 (1998)
Fidge, C.: Logical time in distributed computing systems. Computer 24(8), 28–33 (1991)
Guerraoui, R., Ruppert, E.: Anonymous and fault-tolerant shared-memory computing. Distrib. Comput. 20(3), 165–177 (2007)
Haldar, S., Vitányi, P.: Bounded concurrent timestamp systems using vector clocks. J. ACM 49(1), 101–126 (2002)
Herlihy, M.: Wait-free synchronization. ACM Trans. Program. Lang. Syst. 13(1), 124–149 (1991)
Herlihy, M., Luchangco, V., Moir, M.: Obstruction-free synchronization: Double-ended queues as an example. In: Proc. 23rd IEEE International Conference on Distributed Computing Systems, pp. 522–529 (2003)
Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 12(3), 463–492 (1990)
Israeli, A., Li, M.: Bounded time-stamps. Distrib. Comput. 6(4), 205–209 (1993)
Israeli, A., Pinhasov, M.: A concurrent time-stamp scheme which is linear in time and space. In: Proc. 6th International Workshop on Distributed Algorithms, pp. 95–109 (1992)
Jayanti, P., Tan, K., Toueg, S.: Time and space lower bounds for nonblocking implementations. SIAM J. Comput. 30(2), 438–456 (2000)
Lamport, L.: A new solution of Dijkstra’s concurrent programming problem. Commun. ACM 17(8), 453–455 (1974)
Lamport, L.: Time, clocks and the ordering of events in a distributed system. Commun. ACM 21(7), 558–565 (1978)
Li, M., Tromp, J., Vitányi, P.M.B.: How to share concurrent wait-free variables. J. ACM 43(4), 723–746 (1996)
Mattern, F.: Virtual time and global states of distributed systems. In: Proc. Workshop on Parallel and Distributed Algorithms, pp. 215–226 (1989)
Mavronicolas, M., Michael, L., Spirakis, P.: Computing on a partially eponymous ring. In: Proc. 10th International Conference on Principles of Distributed Systems, pp. 380–394 (2006)
Vitányi, P.M.B., Awerbuch, B.: Atomic shared register access by asynchronous hardware. In: Proc. 27th IEEE Symposium on Foundations of Computer Science, pp. 233–243 (1986)
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Ellen, F., Fatourou, P. & Ruppert, E. The space complexity of unbounded timestamps. Distrib. Comput. 21, 103–115 (2008). https://doi.org/10.1007/s00446-008-0060-6
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00446-008-0060-6