-dimensional vector and minimization is done componentwise.
197

The convergence of the optimization problem is guaranteed
only if
all participants at the
auction are either providers of resources or consumers of resources, but not both providers
and consumers at the same time.
Nevertheless, the clock algorithm only finds a feasible
solution, it does not guarantee its optimality.
The authors of [332] have implemented the algorithm and allowed internal use of it
within Google; their preliminary experiments show that the system led to substantial im-
provements. One of the most interesting side effects of the new resource allocation policy is
that the users were encouraged to make their applications more flexible and mobile to take
advantage of the flexibility of the system controlled by the ASCA algorithm.
Auctioning algorithms are very appealing because they support resource bundling and
do not require a model of the system.
At the same time, a practical implementation of
such algorithms is challenging. First, requests for service arrive at random times while in
an auction all participants must react to a bid at the same time. Periodic auctions must
then be organized but this adds to the delay of the response time.
Second, there is an
incompatibility between cloud elasticity which guarantees that the demand for resources of
an existing application will be satisfied immediately and the idea of periodic auctions.
6.8
Scheduling algorithms for computing clouds
Scheduling is a critical component of the cloud resource management.
Scheduling is re-
sponsible for resource sharing/multiplexing at several levels; a server can be shared among
several virtual machines, each virtual machine could support several applications, and each
application may consist of multiple threads. CPU scheduling supports the virtualization of
a processor, the individual threads acting as virtual processors; a communication link can
be multiplexed among a number of virtual channels, one for each flow.
In addition to the requirement to meet its design objectives, a scheduling algorithm
should be efficient, fair, and starvation-free.
The objectives of a scheduler for a batch
system are to maximize the throughput (the number of jobs completed in one unit of time,
e.g., in one hour) and to minimize the turnaround time (the time between job submission
and its completion); for a real-time system the objectives are to meet the deadlines and to
be predictable. Schedulers for systems supporting a mix of tasks, some with hard real-time
constraints, others with soft, or no timing constraints, are often subject to contradictory
requirements. Some schedulers are
preemptive
, allowing a high-priority task to interrupt the
execution of a lower priority one, others are
non-preemptive
.
Two distinct dimensions of resource management must be addressed by a scheduling
policy:
(a) the amount/quantity of resources allocated; and (b) the timing when access
to resources is granted.
Figure 62 identifies several broad classes of resource allocation


You've reached the end of your free preview.
Want to read all 403 pages?
- Fall '17
- Murat Orhun