XenoSearch: resource discovery in the XenoServer Open Platform
David Spence
In the XenoServer project we are building a public infrastructure for
wide-area distributed computing, creating a world in which XenoServer
execution platforms are scattered across the globe and available for
any member of the public. This naturally prompts the question "How
does a client find a suitable XenoServer to use"? We anticipate a
wide range of job sizes and requirements, not just the large-scale
parallel and scientific computation that typifies Grid systems.
Furthermore, we view network location as the key driver in selecting
XenoServers; perhaps to find one near a particular client, perhaps
near a remote machine with which the deployed task will interact, or
perhaps within the network to minimize the maximum round trip time
between users of a collaborative tool or immersive game. Different
jobs will have different needs.
We describe the XenoSearch system for performing expressive resource
discovery searches in a distributed environment. We represent server
meta-data, such as their locations and facilities, as points in a
multi-dimensional space and then express queries as predicates over
these points. Each XenoSearch node holds a portion of this space and
the key goal of XenoSearch is to direct queries to those nodes
containing the meta-data of matching XenoServers. Communication
between these XenoSearch nodes is based on the self-organizing Pastry
peer-to-peer routing substrate.
Our initial performance evaluation on a wide-area prototype shows that
queries are only a factor of 3-5 times longer than basic Pastry
routing, while supporting multi-dimensional searches of arbitrary
shapes.
|