3rd International ICST Conference on Performance Evaluation Methodologies and Tools

Research Article

Distributed resource allocation algorithms for peer-to-peer networks

Download751 downloads
  • @INPROCEEDINGS{10.4108/ICST.VALUETOOLS2008.4389,
        author={Iordanis Koutsopoulos and George Iosifidis},
        title={Distributed resource allocation algorithms for peer-to-peer networks},
        proceedings={3rd International ICST Conference on Performance Evaluation Methodologies and Tools},
        publisher={ICST},
        proceedings_a={VALUETOOLS},
        year={2010},
        month={5},
        keywords={Fairness wireless network jamming zero-sum game},
        doi={10.4108/ICST.VALUETOOLS2008.4389}
    }
    
  • Iordanis Koutsopoulos
    George Iosifidis
    Year: 2010
    Distributed resource allocation algorithms for peer-to-peer networks
    VALUETOOLS
    ICST
    DOI: 10.4108/ICST.VALUETOOLS2008.4389
Iordanis Koutsopoulos1,*, George Iosifidis1,*
  • 1: Department of Computer and Communications Engineering, University of Thessaly, Greece
*Contact email: jordan@uth.gr, giosifid@uth.gr

Abstract

In peer-to-peer networks, each peer plays the role of client and server. As server, it receives content requests made by other peers and needs to decide on what basis and to what extent it will satisfy these requests by uploading content to others. As client, it addresses its own requests to appropriate peers to download desired content after resources are granted. We consider a network of peers in a star topology, where the bottleneck is the capacity of the access link connecting a peer to the backbone. Different peers have different utility functions which are private information and capture a peer's selfishness or desire for content. The objective is to maximize the sum of utilities of peers. We intend to answer the following questions in a peer-to-peer network: what portions of its link capacity does each peer allocate to upload flows from other peers and download flows for itself? How does a peer decide which portion of bandwidth will be allocated to each upload flow and download flow? How can these decisions be taken in a decentralized autonomous fashion? Although each peer directly obtains utility only from downloads, in the presence of an incentive protocol it would like to allow just enough capacity for uploads of others so that it is not punished by the protocol. The global link sharing problem of maximizing total utility is hard to solve in a distributed fashion because of coupled utility functions and constraints. That is, the utility of each peer depends on allocation decisions of others. By defining auxiliary variables and constraints, we transform the problem into one that is amenable to "distributization" by dual decomposition. The iterative algorithm involves solving separate optimization problems by each peer and updating Lagrange multipliers. Interestingly, the Lagrange multipliers corresponding to the newly added constraints are interpreted as reciprocals of pairwise reputation metrics. This leads us to a meaningful reputation-driven protocol with the desirable property that only the amounts of requested and granted bandwidth are circulated, and not reputations. The protocol is lightweight in terms of computational complexity and overhead and converges to the globally optimal allocation.