Supporting increment and decrement operations in balancing networks
Source16th Annual Symposium on Theoretical Aspects of Computer Science, STACS 1999
Google Scholar check
MetadataShow full item record
Counting networks are a class of distributed data structures that support highly concurrent implementations of shared Fetch&Increment counters. Applications of these counters include shared pools and stacks, load balancing, and software barriers [4, 12, 13, 18]. A limitation of counting networks is that the resulting shared counters can be incremented, but not decremented. A recent result by Shavit and Touitou showed that the subclass of tree-shaped counting networks can support, in addition, decrement operations. This paper generalizes their result, showing that any counting network can be extended to support atomic decrements in a simple and natural way. Moreover, it is shown that decrement operations can be supported in networks that provide weaker properties, such as K-smoothing. In general, we identify a broad class of properties, which we call boundedness properties, that are preserved by the introduction of decrements: if a balancing network satisfies a particular boundedness property for increments alone, then it continues to satisfy that property for both increments and decrements. Our proofs are purely combinatorial and rely on the novel concept of a fooling pair of input vectors. © Springer-Verlag Berlin Heidelberg 1999.