טכניון מכון טכנולוגי לישראל
הטכניון מכון טכנולוגי לישראל - בית הספר ללימודי מוסמכים  
M.Sc Thesis
M.Sc StudentSpektor Yaron
SubjectPeerWeaver, a Testbed for Enhancements in Gnutella-like
Networks
DepartmentDepartment of Industrial Engineering and Management
Supervisor Professor Shay Kutten


Abstract

Peer to peer networks have recently become one of the most popular subjects in communication and networking research. One of the most known P2P systems is Gnutella. In our research we constructed a multi-threaded multi-processor P2P testbed environment that allows us to add new modules to Gnutella-like peers and test their behavior over a network of a large number of peers. We named this testbed PeerWeaver and experimented with several Gnutella-like topology enhancements using PeerWeaver. We used up to 50 computers running 1000 peers at a time. The protocols we tested address one of the main issues of P2P systems- namely the topology of the overlay network (virtual networks connecting the peers). We evaluated randomized protocols intended to increase the connectivity. They are modifications of protocols suggested in the past for more limited environments or tasks. We found that a modification of a theoretical protocol of Harchol-Balter, Leighton and Lewin performs much better in practice than its known analysis promises. Moreover, it performs well in environments that are harder to cope with and are much more realistic than those analyzed in the past (such as an asynchronous environment, and, moreover, an asynchronous environment where peers dynamically join and/or die). It also performs better than a modification of a common practical Gnutella protocol. In addition we found some limiting factors to the scalability of such a testbed (and of such a system). These factors range from bugs (or poorly documented properties of the code) in a widely used code, to bottlenecks that in reality prevent the exploitation of advertised properties (e.g. speed) of advanced PCs running Linux machines.
In this work we elaborate on the experimental results as well as on the design, specification and implementation of PeerWeaver.