-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  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 ﬂexible and mobile to take advantage of the ﬂexibility 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 ﬂow. In addition to the requirement to meet its design objectives, a scheduling algorithm should be eﬃcient, 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