AbstractThis work proposes a task scheduling method
based on virtual machine (VM) matching in clouds. Its
objectives are 1) to maximize task scheduling performance and
2) to minimize non-reasonable task allocation, e.g., a simple task
to a high-performance VM and thus causing resource waste. A
job classifier is utilized to classify tasks and match to a most
suitable VM. This work uses the historical data to pre-create
VMs of different types. This can save time of creating VMs
during task scheduling. Tasks are efficiently matched with
concrete VMs dynamically. Task scheduling is accordingly
conducted. Experimental results with the Google Cluster Trace
dataset show that the proposed method can effectively improve
the cloud
's task scheduling performance and achieve desired
load balancing among various virtual machines in comparison
with some existing methods.
I. INTRODUCTION
Cloud Computing, called clouds for short, has grown
exponentially in the business and research community for a
number of years. It has become popular due to recent
advances in virtualization technologies [1]. Clouds provide
services to users who do not own sufficient computing
resources. They achieve the economy of scale via
multiplexing. Because clouds provide a finite pool of
virtualized on-demand resources, optimally scheduling them
has become an essential and rewarding research topic [2]. In
clouds, various applications are submitted to data centers to
obtain some services on a pay-per-use basis. However,
scheduling workload in heterogeneous cloud environment is
very challenging due to limited cloud resources with varying
capacities and functionalities [1]. The key issue is how to
allocate user tasks to maximize the profit of cloud service
providers while guaranteeing quality of service (QoS) for all
the tasks [3]. In a dynamic environment, how to successfully
schedule tasks and make high utilization of cloud resources is
an important problem. Task scheduling is to implement the
reasonable deployment of cloud resources to meet user
requirements while maximizing the economic benefits of
This work was supported in part by the National Natural Science
Foundation of China under Grants 61472005 and 61201252 and by FDCT
(Fundo para o Desenvolvimento das Ciencias e da Tecnologia) under Grant
119/2014/A3. This paper+s extended version was accepted by IEEE
Transactions on Automation Science and Engineering.
P. Y. Zhang is with the School of Mathematics and Computer Science,
Anhui Normal University, Wuhu 241003, China (e-mail: zpyanu@ahnu.
edu.cn).
M. C. Zhou is with the Department of Electrical and Computer
Engineering, New Jersey Institute of Technology, Newark, NJ 07102, USA
and also with the Institute of Systems Engineering, Macau University of
Science and Technology, Macau 999078, China (e-mail: zhou@njit.edu).
service providers. As a service business model, task
scheduling strategies in clouds are needed to meet the QoS
requirements of user tasks [4-16], which include deadline [3,
7, 11], makespan [1, 12], and cost. At the same time, service
profit and energy cost for cloud service providers should be
fully considered [3, 13-16]. Improperly matching
applications at some hardware platforms available can
degrade the overall performance of clouds and may violate
the QoS guarantees that many user tasks require [9].
Exhaustive-search-based scheduling for clouds is
impossible. Its complexity grows exponentially with the
numbers of tasks and resources. Some scholars use intelligent
optimization algorithms to find an approximate optimal
solution. Such algorithms [2, 8] can reduce their search space
and ensure their execution within a feasible operational time,
which provides a compromise between their running time and
resultant schedule's optimality. Particle swarm optimization
[3], genetic algorithms [17], and ant colony [18] are their
representative examples.
There are several classical scheduling algorithms, such as
Min-Min [19-21], Max-Min [22], and FIFO [23]. The first
two fail to utilize resources efficiently, thereby leading to a
load imbalance problem. They also fail to cope with
user-priority during scheduling [24]. FIFO [23] schedules
tasks by the order of task submissions. If a submitted task
needs to occupy a large number of computing resources and
time span is large, the tasks with small time span must wait
for a long time. It thus affects user experience negatively.
Clouds have several characteristics such as dynamicity
and large scale. For cloud service providers, physical hosts
may be permitted to come in or move away from clouds
dynamically; for cloud service users, their tasks are permitted
to submit and get scheduled dynamically. In general, task
distribution is not uniform, thereby raising needs to manage
and schedule tasks well in clouds. Tasks reaching a cloud
system are often diverse and heterogeneous with varying QoS
requirements [24]. As clouds have been widely deployed in
various fields, their reliability and availability become the
major concerns of cloud service providers as well as users [25,
26]. Zhu et al. [27] devise an agent-based scheduling
mechanism in cloud computing environment to allocate
real-time tasks and dynamically provide resources. He et al.
[28] propose a method that first assigns high-priority jobs to
their preferred cloud resources, and then low-priority jobs to
the remaining ones. These two methods need to decrease cost
due to mismatched scheduling.
In clouds, virtual machines (VMs) are very important
service resources for task scheduling. During scheduling, we
face two kinds of problems. (1) When a relatively larger task
Task Scheduling Based on Virtual Machine Matching in Clouds
Peiyun Zhang, Member, IEEE, and MengChu Zhou, Fellow, IEEE
2017 13th IEEE Conference on Automation Science and Engineering (CASE)
Xi'an, China, August 20-23, 2017
978-1-5090-6781-7/17/$31.00 ©2017 IEEE 618