Skip to main content
Log in

Self-stabilizing smoothing and balancing networks

  • Regular Paper
  • Published:
Distributed Computing Aims and scope Submit manuscript

Abstract

A smoothing network is a distributed data structure that accepts tokens on input wires and routes them to output wires. It ensures that however imbalanced the traffic on input wires, the numbers of tokens emitted on output wires are approximately balanced.

Prior work on smoothing networks always assumed that such networks were properly initialized. In a real distributed system, however, network switches may be rebooted or replaced dynamically, and it may not be practical to determine the correct initial state for the new switch. Prior analyses do not work under these new assumptions.

This paper makes the following contributions. First, we show that some well-known 1-smoothing networks, known as counting networks, when started in an arbitrary initial state (perhaps chosen by an adversary), remain remarkably smooth, degrading from 1-smooth to (log n)-smooth, where n is the number of input/output wires. For the networks that we consider, we show that the above (log n) bound for the smoothness is tight.

Our second contribution is to show how any balancing network can be made self-stabilizing with the addition of local stabilization actions and state, which restore the network back to a “legal state” even if it starts out in an illegal state.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Aiello, W., Venkatesan, R., Yung, M.: Coins, weights and contention in balancing networks. In: Proceedings of the ACM Symposium on Principles of Distributed Computing, pp. 193–205 (August 1994)

  2. Aspnes, J., Herlihy, M., Shavit, N.: Counting networks. J. ACM, 41(5), 1020–1048 (1994)

    Article  MathSciNet  Google Scholar 

  3. Batcher, K.E.: Sorting networks and their applications. In: Proceedings of the AFIPS Spring Joint Computer Conference. vol 32, pp. 338–334 (1968)

  4. Busch, C., Herlihy, M.: A survey on counting networks. In Proceedings of Workshop on Distributed Data and Structures (WDAS). (March 1998)

  5. Dijkstra, E.W.: Self stabilizing systems in spite of distributed control. Communications of the ACM, 17, 643–644 (1974)

    Article  MATH  Google Scholar 

  6. Dolev, S.: Self-Stabilization. The MIT Press. (2000)

  7. Dowd, M., Perl, Y., Rudolph, L., Saks, M.: The periodic balanced sorting network. J. ACM, 36(4), 738–757 (October 1989)

    Article  MathSciNet  Google Scholar 

  8. Herlihy, M., Tirthapura, S.: Randomized smoothing networks. In Proceedings of the International Parallel and Distributed Processing Symposium. (April 2004)

  9. Reidel, M., Bruck, J.: Tolerating faults in counting networks. In IEEE Workshop on Fault-Tolerant Parallel and Distributed Systems. (April 1999)

  10. Schneider, M.: Self-stabilization. ACM Computing Surveys, 25, 45–67 (1993)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Srikanta Tirthapura.

Additional information

A preliminary version of this work appeared in the Proceedings of The 23rd International Conference on Distributed Computing Systems, Providence, Rhode Island, USA.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Herlihy, M., Tirthapura, S. Self-stabilizing smoothing and balancing networks. Distrib. Comput. 18, 345–357 (2006). https://doi.org/10.1007/s00446-005-0130-y

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00446-005-0130-y

Keywords

Navigation