Cluster Bartering Example

Overview: The command client or GUI asks for a list of CD's that meet the cluster properties specified in the QOS contract. A user sends the entire QOS contract to the cluster and asks for a bid. Once all clusters respond to the user, the user checks its remaining barter units to see if he/she can cover the price of the lowest bid. Currently Zero Sum Cluster Bartering is used to determine available barter units. If there are enough barter units, the user submits the job to the cluster that gave the lowest bid price. The Cluster Daemon calculates the runtime using the BidGenerator class in reference to the Standard Cluster. The updated bid is calculated into a scheduler command and executed by the Cluster Manager. The status of the job is continually checked by the cluster daemon. Once finished the users final balance is updated. The barter units are then redistributed to the Cluster Daemon that ran the completed job.

Step 1

The command client or GUI asks for a list of CD's from the CS that meet the cluster properties specified in the QOS contract.

The GUI or CC

Sends XML

To The Central Server

Step 2

The Central Server returns a XML list of clusters that meet the Cluster Properties.

The Central Server

Returns A List of CDs

cluster_daemon1@port
cluster_daemon2@port
cluster_daemon3@port

to the GUI or CC

Step 3

The Command Client or GUI requests a bid from all matching clusters.

The GUI or CC

Sends a job property file

to the CDs

Step 4

The Cluster Daemons, using the bidGenerator class, changes the bid to match the properties of the cluster. Bids are given with respect to the standard cluster. It may be necessary to change certain fields, such as runtime, that will vary with the computational power of a cluster. Once the bid is changed accordingly, the bid is converted into a query command for the Cluster Manager.

Each cluster daemon

Executes an edited
job property file

fquery hello
  --runtime 1:00:00
  --minnodes 2
  --maxnodes 40

for its CM

Step 5

After the CM decides if it can accept the job, it returns this information back to the CD. The CD then calculates a bid price using bid generator and returns the value back the the client or gui.

The CD and CM attempt to schedule the job

and return a bid price

bid price = 100 Barter Units

the the CC or GUI

Step 6

Once the GUI or Command Client receive all the bid prices, it selects the cheapest priced bid. Then they check the central server for available Barter Units.

The GUI or CC request

the number of barter units

bid price = 75 Barter Units

from the CS

Step 7

If there are enough available barter units the Cluster Daemon submits the job.

The GUI or CC have

the number of barter units

bid price = 75 Barter Units

so the CD submits

Step 8

After the job completes successfully, the CD messages the CS to update the user's final balance.

The CD

messages

bid price = 75 Barter Units

the CS