| 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 1The 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 2The Central Server returns a XML list of clusters that meet the Cluster Properties. |
The Central Server
|
Returns A List of CDscluster_daemon1@port |
to the GUI or CC |
Step 3The Command Client or GUI requests a bid from all matching clusters. |
The GUI or CC |
Sends a job property file |
to the CDs
|
Step 4The 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
|
for its CM
|
Step 5After 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 pricebid price = 100 Barter Units |
the the CC or GUI |
Step 6Once 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 unitsbid price = 75 Barter Units |
from the CS
|
Step 7If there are enough available barter units the Cluster Daemon submits the job. |
The GUI or CC have |
the number of barter unitsbid price = 75 Barter Units |
so the CD submits
|
Step 8After the job completes successfully, the CD messages the CS to update the user's final balance. |
The CD
|
messagesbid price = 75 Barter Units |
the CS
|