Query Format

A sample query appears in Table 1, an extension of our earlier example. For clarity of presentation, we have converted SWORD's XML query syntax into a more human-readable format that structurally matches the actual XML syntax.


Table 1: Sample query.
\begin{table}\begin{verbatim}Group NA
NumMachines 4
Required Load [0, 2]
Pr...
... Europe [0, 50] penalty 0.5\end{verbatim}
\vspace{-2mm}\vspace{-5mm}
\end{table}


The first section of the SWORD query specifies constraints on single-node and inter-node (node-pair) attributes of desired groups. One set of single-node and inter-node constraints is associated with each group. All nodes within a node group have the same single-node and inter-node constraints, and the description of each node group also contains the number of nodes that should be in that group. In the example query, Load, DiskFree, and Latency are floating point attributes, OS is a string attribute, and Location is a network coordinate attribute. By placing requirements on these attributes, the user has requested two groups: a cluster of four machines in North America and a cluster of four machines in Europe. The machines in each group must have load less than 2.0 and the inter-node latency within each group must be less than 40 ms. The North American nodes must be less than 50 ms from a predefined network coordinate ``center'' for North America and have at least 500 MB of free disk space, and the European nodes must be less than 50 ms from a predefined ``center'' for Europe and have at least 100 MB of free disk space. The Preferred lines describe the shape of the penalty function for each attribute, a full discussion of which we omit due to space constraints.

The second section of the SWORD query specifies pairwise constraints between individual members of different groups. For example, our sample query specifies that there must exist at least one node in each group with at most 100 ms latency to a node in the other group.

Jeannie Albrecht 2004-11-03