Cloud computing as a new model of delivering IT services on the Internet has attained high attention recently. In this new paradigm, efficient service management causes the high quality of provided services. Scheduling as one of the most important duties of service management is a key problem in cloud computing that affects the total system performance. In most cases, the meta-heuristic methods are used for optimizing the scheduling issues instead of traditional methods. One of the influential evolutionary algorithms for optimizing the complicated problems is a non-dominated sorting particle swarm optimization (NSPSO) technique. In this paper, we propose a meta-heuristic technique using the NSPSO model for decreasing total cost and consumed total time. Furthermore, fuzzy set theory is applied to select the best solution.Simulation results have indicated that the efficiency of NSPSO is improved. In the many types of experiment, the proposed NSPSO algorithm was appropriate to keep a good spread of solutions and good converge. In addition, the diversity preserving mechanism applied in NSPSO has improvement against the other two investigated algorithms.
KEYWORDScloud computing, multi-objective optimization, particle swarm optimization algorithm, task scheduling
INTRODUCTIONCloud computing as an innovative distributed computing can provide dynamic resources, which are highly virtualized. 1,2 In addition, cloud providers deliver their services (such as software, hardware, platform, and storage) over the Internet. 3,4 Therefore, there are no shrink-wrapped boxes containing discs or hardware for users to buy. The cloud providers typically charge monthly recurring fees based on usage. 5-7 Many benefits, including the cost reduction and flexibility, make cloud computing to be superior technology in computing. 8 Due to the numerous benefits of cloud computing, many users have been attracted to use cloud-based services. 9,10 There are some issues in the cloud computing that must be addressed, such as resource discovery, 11,12 trust evaluation, 13-15 task, 16-18 resource allocation, 19-21 and so on. 22 Among them, task scheduling has a primary role in reaching the efficiency of distributed computing systems such as clouds and grids. [23][24][25] In the cloud systems, a task scheduler allocates the submitted tasks to proper resources for performing. 26-28 From the creation of cloud computing, task scheduling has gained significant attention, and many researchers have investigated many methods based on artificial intelligence-based algorithms to solve it. 29 It is responsible for finding potential cloud resources for satisfying the users' requests in the cloud environment. The main aim of task scheduler is decreasing the total cost, completion time and the computational complexity. 30,31 However, most of the existing research has focused on a single objective task scheduling in cloud systems. However, in real cases, more than one factor should be considered. 29 Since task scheduling is an NP-hard issue, many meta-heuristic algo...