Distributed Computing

, Volume 18, Issue 5, pp 345–357 | Cite as

Self-stabilizing smoothing and balancing networks

  • Maurice Herlihy
  • Srikanta TirthapuraEmail author
Regular Paper


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.


Smoothing networks Counting networks Self-stabilization 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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)Google Scholar
  2. 2.
    Aspnes, J., Herlihy, M., Shavit, N.: Counting networks. J. ACM, 41(5), 1020–1048 (1994)CrossRefMathSciNetGoogle Scholar
  3. 3.
    Batcher, K.E.: Sorting networks and their applications. In: Proceedings of the AFIPS Spring Joint Computer Conference. vol 32, pp. 338–334 (1968)Google Scholar
  4. 4.
    Busch, C., Herlihy, M.: A survey on counting networks. In Proceedings of Workshop on Distributed Data and Structures (WDAS). (March 1998)Google Scholar
  5. 5.
    Dijkstra, E.W.: Self stabilizing systems in spite of distributed control. Communications of the ACM, 17, 643–644 (1974)CrossRefzbMATHGoogle Scholar
  6. 6.
    Dolev, S.: Self-Stabilization. The MIT Press. (2000)Google Scholar
  7. 7.
    Dowd, M., Perl, Y., Rudolph, L., Saks, M.: The periodic balanced sorting network. J. ACM, 36(4), 738–757 (October 1989)CrossRefMathSciNetGoogle Scholar
  8. 8.
    Herlihy, M., Tirthapura, S.: Randomized smoothing networks. In Proceedings of the International Parallel and Distributed Processing Symposium. (April 2004)Google Scholar
  9. 9.
    Reidel, M., Bruck, J.: Tolerating faults in counting networks. In IEEE Workshop on Fault-Tolerant Parallel and Distributed Systems. (April 1999)Google Scholar
  10. 10.
    Schneider, M.: Self-stabilization. ACM Computing Surveys, 25, 45–67 (1993)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag 2005

Authors and Affiliations

  1. 1.Computer Science DepartmentBrown UniversityProvidenceUSA
  2. 2.Department of Electrical and Computer EngineeringIowa State UniversityAmesUSA

Personalised recommendations