Computing along routes via gossiping

  • Authors:
  • Mehmet Ercan Yildiz;Anna Scaglione

  • Affiliations:
  • School of Electrical and Computer Engineering, Cornell University, Ithaca, NY;Electrical and Computer Engineering Department, University of California, Davis, CA

  • Venue:
  • IEEE Transactions on Signal Processing
  • Year:
  • 2010

Quantified Score

Hi-index 35.68

Visualization

Abstract

In this paper, we study a class of distributed computing problems where a group of nodes (destinations) is interested in a function of data which are stored by another group of nodes (sources). We assume that the function of interest is separable, i.e.,it can be decomposed as a sum of functions of local variables, a case that subsumes several interesting types of queries. One approach to solve this problem is to route raw information from the sources to the interested destinations by either unicasting or multicasting. The second approach is to compute the function of interest along some routes while propagating the information from the sources to the destinations. Considering the second scenario,the goal of this paper is to examine how information should be forwarded to the intended recipients, computing along the routes by gossiping with selected neighbors. Unlike efficient unicasting/multicasting problems, nodes are interested in a specific function of the data, rather than the raw data themselves. Moreover, unlike standard gossiping problems, in our case, the information needs to flow in a specific direction. Given the underlying network connectivity and the source-destination sets, we provide necessary and sufficient conditions on the update weights (referred to as codes) so that the destination nodes converge to the desired function of the source values.We show that the evolution of the source states does not affect the feasibility of the problem, and we provide a detailed analysis on the spectral properties of the feasible codes. We also study the problem feasibility under some specific topologies and provide guidelines to determine infeasibility. We also formulate different strategies to design codes, and compare the performance of our solution with existing alternatives.