This thesis presents new techniques that exploit system diversity within aparticular class of peer-to-peer publish-subscribe systems. We show that bydirectly addressing interest and network diversity as a first class designprinciple, the scale and performance of such systems can be improved. This thesis makes four major contributions. Firstly, we present Confluence, asystem that significantly reduces the time to transfer large files frommultiple publishers (sources) to a single subscriber (sink node) as compared tothe direct transfer strategy. Confluence lets scientists rapidly collect logsfrom either multiple PlanetLab hosts or multi-site cloud computinginfrastructures. It uses a novel source-2-source (s2s) overlay to speed up thetransfer of file blocks towards the sink. Intuitively, the s2s overlayfacilitates a source node (with a congested path to the sink) to utilize othersource nodes as intermediaries for routing file blocks to the sink.Concretely, our approach first poses the problem as a variant of flowoptimization among the source nodes. This captures the spatial diversity inbandwidth. We provide a theoretically optimal solution to this problem. Next,we augment this static solution with on-the-fly recomputation. This helps usexploit temporal diversity in bandwidth. Using Confluence, with 25 source nodesin a PlanetLab-like environment, 80% of nodes see a reduction in transfertime of at least 20% over the direct transfer strategy.Our second system, Rappel, is a peer-to-peer delivery mechanism for RSS feeds.Rappel is the first subject-based publish-subscribe system to be noiseless, betruly peer-to-peer, and perform soft real-time dissemination of messages.Noiselessness implies that a subscriber never receives messages for feeds thatit is not subscribed to, and is important because it improves fairness: theload imposed by the system on each participating node is proportional to thenode's demands from the system. Rappel exploits interest and networkdiversity via the use of periodic utility computations, wherein the utility ofa peer (``friend'') is derived using Bloom filters and network coordinates.Bloom filters succinctly capture the subscription interest of a node, whereasnetwork coordinates help capture the network location of a node. Via push-pullgossip, a node seeks to find a set of friends that provide good subscriptioncoverage while being in close network proximity. By having peers in closenetwork proximity, messages are disseminated with very low latency. The third contribution of this thesis is the Realistic Application-levelNetwork Simulation (RANS) framework. This is motivated by two observations.Firstly, system deployment is a labor-intensive exercise, and thus, limited inscale. For instance, PlanetLab, a large wide-area experimental network testbed,usually only has about 400 accessible nodes at any given moment. Secondly,due to the presence of extrinsic interferences, experiments are not replayable.Simulations provide an acceptable solution to these problems, however, theyoften fail to mimic realistic network conditions. In contrast to these twoapproaches, the RANS framework provides a modular programming interface thatcan be leveraged to produce both realistic simulation results and aready-to-deploy sockets binary. Our main contributions are in (1) developing arealistic and reusable selective granularity discrete-event simulator forPlanetLab, and (2) showing that the results generated by the RANS simulationframework closely match the results obtained by performing the same experimentson a PlanetLab deployment.Fourthly, the systems described in this thesis have been comprehensivelyevaluated via both PlanetLab deployment and simulation. Our deployments used upto 400 PlanetLab servers world-wide. Our largest simulations model 10,000nodes. Our experimental methodology is constructed using an extensive amount ofreal-world traces. For instance, to evaluate Rappel using realistic usersubscriptions, we gathered the subscription profiles of 1.8 million LiveJournalusers over six months. The evaluation presented in this thesis also makes useof the following previously collected traces: Internet topology, end-to-endlatency fluctuations between PlanetLab nodes, bandwidth availability betweenPlanetLab nodes, and end user churn observed in peer-to-peer file sharingapplications.
展开▼