73
5

Design Patterns in Beeping Algorithms

Abstract

We consider networks of processes which interact with beeps. In the basic model defined by Cornejo and Kuhn, which we refer to as the BLBL variant, processes can choose in each round either to beep or to listen. Those who beep are unable to detect simultaneous beeps. Those who listen can only distinguish between silence and the presence of at least one beep. Stronger variants exist where the nodes can also detect collision while they are beeping (BcdLB_{cd}L) or listening (BLcdBL_{cd}), or both (BcdLcdB_{cd}L_{cd}). This paper starts with a discussion on generic building blocks ({\em design patterns}) which seem to occur frequently in the design of beeping algorithms. They include {\em multi-slot phases}, {\em exclusive beeps}, {\em adaptive probability}, {\em internal} (resp. {\em peripheral}) collision detection, and {\em emulation} of collision detection when it is not available as a primitive. The paper then provides algorithms for a number of basic problems, including colouring, 2-hop colouring, degree computation, 2-hop MIS, and collision detection (in BLBL). Using the patterns, we formulate these algorithms in a rather concise and intuitive way. Their analyses are more technical. One of them relies on a Martingale technique with non-independent variables. Another of our analyses improves that of the MIS algorithm by Jeavons et al. by getting rid of a gigantic constant (the asymptotic order was already optimal). Finally, we study the relative power of several variants of beeping models. In particular, we explain how {\em every} Las Vegas algorithm with collision detection can be converted, through emulation, into a Monte Carlo algorithm without, at the cost of a logarithmic slowdown. We prove this is optimal up to a constant factor by giving a matching lower bound, and provide an example of use for solving the MIS problem in BLBL.

View on arXiv
Comments on this paper