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.
CITATION STYLE
Aiello, W., Busch, C., Herlihy, M., Mavronicolas, M., Shavit, N., & Touitou, D. (1999). Supporting increment and decrement operations in balancing networks. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 1563, pp. 393–403). Springer Verlag. https://doi.org/10.1007/3-540-49116-3_37
Mendeley helps you to discover research relevant for your work.