Adaptive broadcast by distributed protocol switching

  • Authors:
  • Sushanta Karmakar;Arobinda Gupta

  • Affiliations:
  • Indian Institute of Technology, Kharagpur, India;Indian Institute of Technology, Kharagpur, India

  • Venue:
  • Proceedings of the 2007 ACM symposium on Applied computing
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Adaptation is a desirable requirement in a distributed system since it helps the system to perform gracefully under different scenarios. There are many adaptive algorithms for different problems. However the techniques are often application specific. In many distributed systems it may happen that the same problem has multiple protocols, each of which performs differently under different environments. In such cases adaptation can be achieved by dynamically switching between them as the environment changes. In this paper we illustrate the idea of designing adaptive distributed system using protocol switching by presenting an adaptive broadcast protocol that uses either a BFS tree or a DFS tree depending on the load of the system, both trees being rooted at the broadcast source. At low load a BFS tree is used as it reduces the broadcast delay (since the distance of any node from the root is always minimum in a BFS tree) while still keeping the load on any one node low. However at higher load a DFS tree is used to reduce the load on any one node since the degree of a node in a DFS tree is generally lower than that in a BFS tree. So the broadcast adapts to the network load by dynamically switching between a BFS tree and a DFS tree. In the proposed scheme, the switching is done by a middleware layered below the broadcast protocol. This separates the adaptation from the application and no change is needed in the application. We also ensure the application layer property that every broadcast message is correctly delivered to all the nodes, including messages sent when the switching is in progress. We assume the asynchronous model of distributed system with reliable but non-FIFO channels. Also it is assumed that no failure occurs during the switching. The message complexity of the algorithm that switches to a DFS tree is O(|E|) and is presented in the next section. The algorithm that switches to a BFS tree needs O(|V||E|) messages and is omitted in this paper due to lack of space.