A set of servers are receiving requests and they are required to report to a coordinator the numbers of requests they process. An event is trigerrd by the coordinator if the culmulative requests received by the serves reaches a threshold . The goal is to minimized the communicaiton between the coordinator and the servers.
A naive approach asks the servers to send a notificiation to the coordinator each time they process a request, resulting in bits communication in total.
An alternative approach achieves words communication cost. Instead of response to the coordinator every a new request comes, the server reports only after some requests reaches. However, we don't want the coordinator to miss the threshold, i.e., it must triger the event when exactly requests come in total.
Here is the scheme.
- If , the server report each time a request comes.
- The coordinator sends the threshold to each server. This requires words.
- Each server sends a report to the coordinator every requests comes.
- When the coordinator learns that, the servers has processed requests (at most words communication needed), it collects how many requests are proceed in each servers which are not reported to it (at most words communication needed). The number of requests comes is at most
- The number of requests remains to reach the threshold is at most . We set as the new threshold and go to step 1.
- The overall communication cost is given byfor some constant .
- There are at most recursions. Each recursion requires words communication, resulting in a total communication cost words.