Distributed Resource Discovery on PlanetLab with SWORD

David Oppenheimer, Jeannie R. Albrecht, David A. Patterson, Amin M. Vahdat · 2004

Large-scale distributed services such as content distribution networks, peer-to-peer storage, distributed games, and scientific applications, have recently received substantial interest from both researchers and industry. At the same time, shared distributed platforms such as PlanetLab [2] and the Grid [6] have become popular environments for evaluating and deploying such applications. Assuming node and/or network characteristics on such platforms are heterogeneous, and that the user has a motivation (economic, social, or due to the performance properties of her application) to use a subset of the nodes, a practical difficulty in the use of such large-scale infrastructures centers around locating an appropriate subset of the system to host a service, computation, or experiment. This choice of nodes may be dictated by a number of factors, depending on the application’s characteristics. “Compute-intensive” applications might be particularly concerned about spare CPU, physical memory, and disk capacity on candidate nodes. “Networkintensive” applications, such as content distribution networks and security monitoring applications, might be particularly concerned about placing service instances at particular network locations—near potential users or at well-distributed locations in a topology—and on nodes with low-latency, high-bandwidth links among themselves. Other applications, such as distributed multiplayer games, may be concerned about both types of node attributes, e.g., low load for game logic processing and low latency to users for good interactive performance. To automate this node selection process, we have built SWORD—a decentralized resource discovery service that is designed to satisfy queries over an extensible set of per-node and inter-node measurements that are relevant to deciding on which nodes of an infrastructure to place instances of distributed applications. This paper focuses on SWORD’s PlanetLab deployment and the lessons we have learned from it. The key features of SWORD’s operation on PlanetLab are its scalable, distributed query processor for satisfying the multi-attribute range queries that describe application resource requirements, and its ability to support queries over not just pernode characteristics such as load, but also over inter-node Figure 1: High-level architecture of SWORD

Read the paper · More papers on PaperTik