Desktop Grid Availability Predictor and Machine Recommender

advertisement
Appendix A
Desktop Grid
Availability
Predictor and
Machine
Recommender
Rohaya binti Latip
Mohammad Yaser Shafazand
Sazlinah Hasan
Network, Parallel and Distributed Computing, Faculty of
Computer Science and Information Technology, Universiti
Putra Malaysia, Malaysia
The supporting document is for the application of the
Desktop Grid CPU Availability Predictor and Machine
Recommender software copyright
Desktop Grid
CPU
Availability
Predictor and
Machine
Recommender
(DGAPMR)
Abstract
Desktop grid computing has emerged from the concept of providing relatively large amounts of
computing power for little cost using typical desktop machines. Approaches have been taken to
utilize the idle CPU cycles of desktop machines using desktop grid computing. However,
efficiently using resources has complications due to their volatile state. The scheduler, being
responsible for appropriate job dissemination, needs accurate job runtime estimations for an
efficient resource management. Distance, high diversity, distributed resource ownership and
intermittent availability of resources make it more complicated for predictions in desktop grids.
Though there has been many successful work on resource state predictions, but the overhead of
these systems has been less considered in the architecture design.
Another issue for the desktop grid scheduler is to appropriately match a suitable desktop
machine (resource provider) to a job. Machines that have enough available resources to satisfy
the job requirements and which are predicted to finish the job as soon as possible, must be
selected.
As a solution to these problems we introduce Desktop Grid CPU Availability Predictor and
Machine Recommender (DGAPMR) which uses a novel design for low overhead prediction and
a genuine mechanism to use recommender systems for desktop grids for more efficient
scheduling.
1. Introduction
Desktop grids are a form of computational grids in which each resource is a desktop machine. It
is a paradigm that uses heterogeneous, distributive computing resources (e.g., desktops
machines, notebooks) connected through the Internet or Intranet and owned by an organization
to provide computing power needed by projects. It has greatly enabled the use of vast amount of
computational capacities by stealing cycles while the computer is in idle state. However, utilizing
this computation power has complications due to the distance and high diversity of computing
nodes, not to mention the distributed resource ownership and intermittent availability of
resources.
One of the current focuses in desktop grids are to estimate if a resource or machine is available
long enough for a job to finish and return its results. The resource allocation or scheduling
problem is known as the problem to efficiently assign resources to jobs. This is a well-known
challenge in all categories of grid computing.
Thus, researches focus on mechanisms to predict properties and availabilities of resources. To
have a better utilization, it is important for the scheduler to be able to match jobs to the
appropriate machines. To address the issues discussed in desktop grid resource availability
prediction and job scheduling we introduce Desktop Grid CPU Availability Predictor and Machine
Recommender (DGAPMR). This design addresses two main issues in desktop grid computing.
The first is to predict the CPU availability of computing machines with low overhead. The second
is the assign appropriate machines to jobs in the scheduler. For both of these main subjects we
have come up with novel designs.
Our novel solution to the problem of predicting resource availability with low overhead is a
design which first discovers availability clusters of machines based on the mean availability of
machines throughout a time span on the server. It then creates mathematical models of each
cluster availability behavior. This mathematical model is sent from the server with its parameters
to all machines in the relevant cluster. The machines use this received model to predict their
everyday availability themselves (on the client side). This design has an update strategy and
distributes the prediction load on clients while considering accuracy and low overhead.
Our other novel solution is for the scheduling problem using a recommender system that
recommends machines to jobs based on job requirements while having a revising feature to
reevaluate the machine resources based on availability. This recommender would have no
interference with the schedulers work; it will just create suggestion lists with better anticipated
machines for a job.
Page 1 of 4
2.
Architecture of DGAPMR
The DGAPMR is actually composed of two parts: the Desktop Grid Availability Predictor (DGAP)
part and the Desktop Grid Machine Recommender (DGMR). The DGAP architecture is shown in
Figure 1. The Availability Monitor in the client side gathers the availability monitored data and
sends it to the server upon its request. The server classifies the clients based on their mean
availability into clusters. It calculates the mathematical model of availability behavior of each
cluster and sends the mathematical model to its relevant machines in the cluster. The Next Day
Availability Predictor then predicts the next day availability by filling the parameters in the
mathematical model based on its properties. This cycle iterates whenever the model needs to be
updated which is minimum once per a month.
DGAP Server Module
Mathematical
Model
Mathematical Model
Identifier
DGAP Client
Module
Next Day
Availability
Predictor
Clustering Process
Monitored
Availability Info
Availability
Monitor
Figure 1 DGAP Architecture
The general algorithm used in the Clustering process is described in Figure 2. We have used the
k-means function for simplicity while any other clustering functions would also be appropriate.
Figure 2 Clustering Process Algorithm
The algorithm used for our mathematical model identifier is also shown in Figure 3. We have
used the Box-Jenkins function of creating ARIMA models. We must note that other mathematical
functions that result in well-defined mathematical models could also be used.
Page 2 of 4
Figure 3 Mathematical Model Identifier Algorithm
The DGMR architecture is shown in Figure 4. The DGMR intervenes the resource list given by
the resource manager and replaces the list with a recommended one. We must note that the
components in the desktop grid server would be left intact while a more efficient list of resources
are created and recommended for each job.
DGMR Server
Module
Desktop Grid Server
Resource Manager
Machine
Recommender
Desktop Grid
Scheduler
Resource Availability
Predictor
Figure 4 DGMR architecture
The flow is as following (refer to Figure 5): The DGMR receives a Job with all its requirements. It
then retrieves copies of the resource manager’s resource list (a list of machines) which align with
the job resource needs and prioritizes the list based on that. The time each machine could finish
the job would be calculated. The predicted values for the CPU availability of each of the
machines in the list are then gathered and the time each machine could finish the job would be
recalculated using the availability factors. The list would be then revised and reordered. The
revised list is then recommended and sent to the scheduler.
Page 3 of 4
Figure 5 Recommender Process Flow
We must note that the Revise phase has the ability to receive other availability factors such as
machine and bandwidth availability. We have used and tested CPU availability records in our
studies.
Page 4 of 4
Download