Chapter 3. Proposed Algorithm
3.1 Problem Definition
This study is based on the research of Dr. Buyya and Dr. Sulistio, named the flexible job scheduling with the auction-based proportional shared model in grid systems, which aims to let user i complete all jobs in time and save money. Tasks are independent and are known as the "bag-of-task." The architecture of our algorithm is in figure 3-1, and the operations of our algorithm are as following:
1. Resources register the smachine name, the capability of resources and the price to the GIS first.
2. Each user has the exclusive user broker responsible for scheduling, user submitted the tasks, the deadline and the budget to the user broker, and the user broker will make the deployment and implementation of communication and the action of the low level.
3. The user broker will search information from the GIS in order to take the best
strategy to select appropriate resources for the job after receiving the demand of the user.
4. User broker will send tasks to the resource selected by scheduling and continue to monitor the status to increase or reduce the proportion of the resource prices in order to complete all jobs in each time period P. User broker will pay the total cost to the resource after finishing computing.
5. Auctioneer will make the resource working belong itself according to the rate of proportion by the communication between user broker. If the Auctioneer receives the new price sent from the user broker in time period P, it will reallocate the proportion of resource performance to each user in the next time period. The result calculated by resource auctioneer will return to the user broker after finishing the job.
Users can monitor the whole process of implementation via the user brokers. If there is any question, the user can change the parameters at any time to facilitate the completion of the job without the need to understand the scheduling or allocation of resources and any other complex things at the low level. Therefore, the user broker can really help the user to use the power of Grid system easily. We focus on step 3 to step 5 to improve the job scheduling in this research, we hope to make more efficient and more flexibility in completing jobs and saving money.
Figure 3.1 Framework of the Flexible Job Scheduling with the Auction-based Proportional Shared Model
Then we describe the characters of the resource, the user and the GIS. These characters are similar to the time optimization algorithm by Dr. Buyya Dr. Sulistio basically. The definition of the resource is as follow:
z All resources compute task with the Time-Shared model [11].
z The auctioneer is confidential in the bidding process. It will not leak any information to other users when they join the auction.
z The auctioneer would not help the user to change the bid according to bidding results unless the user changes the message by him of herself.
Broker Broker
Virtual Organization A Virtual Organization B GIS A
Auctioneer (5) Auctioneer Auctioneer
z The auctioneer will change the bid of user i in the next time period Pi when it receives them at Pi.
Each resource r has an auctioneer who’s in charge of the communication with user brokers for the auction. It allocates resources belong to it to do jobs after the auction according to the bid sent by user i at Pi. The auctioneer reallocates users share and costs every period. The unit of money is G$, resource r set the minBidr and the maxBid for the user broker and it only can bid between them to prevent the malicious competition.
When there are many users join the auction at one time, the user broker sends the appropriate price to the auctioneer in accordance with the deadline and the budget of the user.
The auctioneer starts to count the resource share of each user by the proportional shared model. After finishing the job, the auctioneer will charge cost for the actual consumption of the performance for user i.
The user must join the VO before using the resource of the grid system. Also user can simultaneously join one more VO to obtain more resources, but we don’t consider this situation in this study. We use local policy in this study, which means that there is no consideration of the situation about the user joining one more VO and use resources from other VO to eliminate the additional costs. We focus on finding the way to allocate the resources effectively. Every user has a user broker to communicate with the auctioneer in order to obtain resources. The user only need to provide the information about the job, the deadline and the budget to the user broker without knowing the complex things and the user broker would implement automatically. There are many job schedulings to be used for schedule, we develop a flexible job scheduling with the auction-based proportional shared model for the user in this study.
Except the resource, the user and the key component of the user broker, each VO has a
GIS (Grid Information Service) to store all the resource information in the VO including the resource name, the computing ability and the calculating unit cost...etc. The user broker asks for information from the GIS to assist computing the job scheduling. Besides, GIS doesn’t request the newest information from the resource actively. The passive way reduces the workload of the GIS.
Figure 3.2 User Broker Assigns Tasks to Various Resources
In order to elastically adjust each auction price and time, user brokers have to consider if the resource share for each resource satisfy the need to complete the task before the deadline when assigning tasks. If the user broker assigns too many tasks to resource r for computing based on the best condition (to resource r, every resource is usable), the assigned tasks would not be completed in time because of the reduction of acquiring the resource under the condition that there’re other users to compete with. Therefore, the tasks must be assigned to
m tasks
Assign tasks to resources Broker
Virtual Organization A Virtual Organization B
Auctioneer Auctioneer Auctioneer
resource r for operating based on the resource share. We take the resource share acquired in the first auction as the distribution standard to avoid over centralizing the tasks in resource r and computing over the deadline. The user broker chooses the resource and separate m tasks to all resources for computing as shown in figure 3.2. Resource R may receive tasks transmitted from more than one users and the budget to participate the auction demand to acquire the resource share to operate the job. The action mentioned above is shown as figure 3.3.
Figure 3.3 User Brokers Select the Same Resource
To user i, if he/she likes to make use of the resource r to complete n tasks before the deadline Di, the whole job could be completed before Di once every task is completed before the sub deadline. Therefore, we cut Di into several sub deadlines for each task. We also set the
Assign tasks to the same resource Broker
Virtual Organization A Virtual Organization B Auctioneer
Broker
auction time period Pi for user i as the sub deadline for a single task which means user i expect to acquire enough resource before the sub deadline in each auction. However, the length of n tasks are not the same, we take the expected completing time of average task as the standard to set up the time period Pi and make n×Pi =Di as showed in Figure 3.4. After elongating the sub deadline, it is found that the time unit we need becomes smaller which means user i doesn’t have to spend a huge amount of money to compete with other users to acquire too many resources in each auction. The goal of this study is to complete total tasks in the deadline and save as many expenses as possible.
Figure 3.4 Set Time Period Pi
If the task couldn’t be completed before the time Pi with the computing resource acquired in the auction, user broker would ask the GIS if the resource r would release resource in the time P_remaini. The unfinished tasks would be operated in the next time Pi.
after
after before
before
Set Pi according to the deadline
Deadline Time Deadline Time
Pi
Pi
The user broker would adjust the price for the text in the next Pi based on the operating condition in the previous stage as shown from Figure 3.5 to Figure3.6.
Figure 3.5 n Tasks are Assigned to Resource r
Figure 3.6 Remaining Tasks are Moved to Next Pi