When a new bid is received, it is analyzed to be inserted to the proper bin based on its time window classification. The types of bid requests are classified into four types:
1) A request to be executed within a specific bin time window
2) A request to be executed between different bins based on the required time window. For example, a task that is to be executed in bin 1 AND bin 2.
3) A request that can be executed within a specific bin OR a partial schedule that can be executed in bin 1 and the rest of the schedule is executed in bin 2.
4) A request with a specific time requirement that can be executed within a specific bin OR another bin based on specific time requirements and valuation.
Step 1:
When bids are classified to the specific time window, each bid is given a value based on the heuristic score that defines maximum value gain (MVG) by the bid. This is presented by:
( )
where presents the bin end time, presents the bid start time, is the quantity of the required resources, is the value of the bid. The main purpose of MVG is to find which bin best fits the requested bid, specifically when the requested bid can overlap across multiple bins. If the presented bid has more than one choice, a value is given for each choice. The choice with the greater value is inserted to the proper bin and the other choice is inserted into a Pending Request List as shown in Figure 15. The bids that are in the Pending Request List are retrieved if other choices arrive to the bin that requires an initial resource that was initially matched. The Pending Request List might hold an
alternative choice for the request. If no other choices exist, the optimization algorithm selects the best choice among the selected matches. The pending request list is cleared when the auction clears.
The possible situations that can occur when a bid B is inserted are: B can relocate a winning bid in any of the bins
B can make a current losing ask in any of the bins to be allocated. B cannot win in any of the bins.
The condition to be maintained is the Social Welfare, so the choice of any of those situations is given by the condition that maximizes the current social welfare. The purpose is to maintain the allocative efficiency when determining the winner.
Step2:
Each bid before it is inserted to the bin is matched with the possible capable resources that can execute the request. If possible resources exist and the bid value is greater than or equal to reserve value, then the request is matched with the possible resources within the bin. If no feasible resources exist or the bid value is less than the providers reserve value, then the request choice is inserted into the losing request list as shown in Figure 15. Bids are taken out from the losing request list as new resources are inserted to the bin.
Figure 15: Time-Based Bin Architecture Example. Request Queue
Matching Losing Request List
Comp. Res. Storage Res. Services
R1 R2
A A
Time-Based Bin (ex. 12am – 6am Bin)
Optimization Algorithm Pending Request List
Step3:
The selection of the resources is based on the MVG by the request. The greatest value is selected from each bin.
The initial allocation from the overlapping bin assigns the specific resources over the bins. After the completion of the overlapping bin allocation, the allocation selection process of the winner of the other bins starts. Similarly, the winner of each bin is selected based on the greatest value of utilizing the resources. The assigned overlapping bids and resources are not included as part of the winner selection process.
Auction mechanism:
The nature of the Grid/Cloud environment eliminates the use of the commonly applied combinatorial auction algorithms (e.g., the Vickrey-Clarke-Groves (VCG) mechanism), as generally such mechanism is not computationally tractable. We utilize a sealed clock auction. All bids are entered within the specific auction time, however, consumers cannot see other bidders valuations, and hence cannot modify their bids based on the actions of others. This is to give the incentive to entities to reveal their truth valuation and not to adjust them based on other entities valuations to the resources. In practice, participants are typically given some window of time in which to enter bids and, possibly, respond to environmental conditions. The auction keeps soliciting bids and asks until the time of the auction ends. The sealed clock auction is computationally tractable. The execution time scales linearly in the number of participants and the number of resources.
Reserve Pricing
The reserve prices form the basis of a decision support framework in the market economy that allows providers to steer the system towards particular, desired outcomes. If one resource pool is particularly crowded, for instance, then the provider can set its reserve price high to ensure that consumers in this pool have the incentive to leave it for another, less crowded one. We use an approach that takes into account the resource loads. For each resource bundle r, we assume there is a utilization measure, and that each resource bundle, r, has a cost c(r). We then define our reserve price for r as:
where is the weight function for r. The weight function reflects on the resource availability. The following reflects on the criteria reflects on for constructing these:
for resources that are over utilized. for resources that are underutilized.
The relative cost difference of resources in highly congested (e.g. 99% vs 80% utilization) is significantly greater than the cost difference of resources in underutilized (e.g. 40% vs 15% utilization).
The inputs of the weight functions are utilization percentiles for the different resource dimensions (e.g. computation, disk, services).