Article Preview
Top1. Introduction
Cloud computing is a popular phenomenon (Chiregi & Navimipour, 2016; Sheikholeslami & Navimipour, 2017) in which shared resources are prepared to end-users in an on-demand fashion that brings many advantages, including data ubiquity, the flexibility of access, high availability of resources, and scalability (Bouarara, Hamou, Rahmani, & Amine, 2014; Kumar, Ashok, & Subramanian, 2012). Cloud computing focuses on commercial resource provision and allows customers to use the computing resources presented by multiple service providers (Kim & Jo, 2016; Mohammadi, 2017). It is a model of service delivery and access mechanism where virtualized resources are provided as a service over the Internet (Milani & Navimipour, 2016; Anil Singh, Dutta, & Singh, 2014; Sood, 2013). It follows a pay-per-use model and can be dynamically reconfigured to satisfy user requests via on-the-fly virtual resources (Navimipour, Rahmani, Navin, & Hosseinzadeh, 2015; Vakili & Navimipour, 2017).
The main problems of cloud computing are dynamism, requiring continuous monitoring of requests and resources, handling of ever changing requirements, schedules and prices, selecting appropriate services and plans to meet overall objectives of the cloud (Aznoli & Navimipour, 2017; Chowhan, Shirwaikar, & Kumar, 2016). Cloud computing presents many services to users (Alami Milani & Jafari Navimipour, 2016; Ezugwu, Buhari, & Junaidu, 2013) such as Software as a Service (SaaS) (Alkhanak, Lee, & Khan, 2015), Infrastructure as a Service (IaaS) (Mehta & Gupta, 2013), Platform as a Service (PaaS) (Shao, Wang, & Mei, 2012) and Expert as a service (EaaS) (Navimipour et al., 2015). These services can then be accessed through a cloud client which could be a web browser, mobile app, and so on (Chong, Wong, & Wang, 2014).
On the other hand, task scheduling on distributed computing environments such as cloud computing is an interesting issue (Keshanchi, Souri, & Navimipour, 2017). In order to arrange the performance of the task in a cloud, an efficient task scheduler is requested in which applications should divide into subtasks (Navimipour, 2015a, 2015b). These subtasks are shown as a directed acyclic graph (DAG). The type of task scheduling greatly affects the energy consumption of a cloud datacenter, if the task is not properly scheduled can increase energy consumption, therefore an energy aware task scheduling can save lots of energy. In the cloud computing environment, various types of users perform their tasks (Aarti Singh & Malhotra, 2015). Each of them has entirely different resource requirements (Habibi & Navimipour, 2016).
By considering the important role of task scheduling in cloud computing, this paper is aimed to propose an efficient task scheduling algorithm including two important criteria, the makespan, and energy consumption. During the last few years, the high price of energy consumption has become a critical issue (Koomey, 2011) and cloud providers faced with the pressure of minimizing their energy consumption as well as their amount of CO2 emissions. Since ant colony optimization (ACO) algorithm has long iteration time and convergence time is uncertain. On the other hand, the cultural algorithm has been successfully applied to optimization problems and has advantages in overcoming some weaknesses of conventional optimization methods (Yang & Gu, 2014), the ACO algorithm is combined with a cultural algorithm to improve the performance of the task scheduling algorithm and deal with that issues. Briefly, the main purpose of this paper is proposing a new hybrid algorithm using the cultural algorithm and ACO algorithm for minimizing makespan and energy consumption.