ICT Express (Aug 2024)
A simple and efficient Distributed Trigger Counting algorithm based on local thresholds
Abstract
Consider a large-scale distributed system in which each computing device is observing triggers from an external source. Distributed Trigger Counting (DTC) algorithm is used to detect the state of the system when the aggregated number of the observed triggers reaches a predefined value. In this paper, we propose a simple and efficient DTC algorithm: Cascading Thresholds (CT). We mathematically show that CT is an optimal DTC algorithm in terms of the total number of exchanged messages among the devices (message complexity). For the maximum number of received messages per device (MaxRcv), CT is sub-optimal. The average message complexity of CT is O(Nlog(W/N)), and MaxRcv of it is O(klog(W/N)+N), where W is the number of triggers to be detected, N is the number of devices, and k is the degree of a node in the tree-like structure. Compared to the previous optimal algorithm (TreeFill), CT is much simpler: in our implementation the code size is about 2.5 times smaller. Also, unlike TreeFill CT does not require complicated mechanisms including distributed locking. Experimental results show that CT has a lower message complexity and MaxRcv compared to the previous work (CoinRand and RingRand). Furthermore, CT and TreeFill show a similar performance. From its simplicity, CT is more practical than previous work including TreeFill, CoinRand and RingRand.