Cost-aware demand scheduling for delay tolerant applications Xiumin Wang a,b,n , Chau Yuen c , Xiaoming Chen d , Naveed Ul Hassan e , Yiming Ouyang a a School of Computer and Information, Hefei University of Technology, Hefei, China b The State Key Laboratory of Integrated Services Networks, Xidian University, China c Singapore University of Technology and Design, Singapore d Nanjing University of Aeronautics and Astronautics, Nanjing, China e Department of Electrical Engineering, LUMS School of Science and Engineering, Lahore, Pakistan article info Article history: Received 1 August 2014 Received in revised form 18 December 2014 Accepted 4 April 2015 Available online 23 April 2015 Keywords: Demand scheduling Peak resource reduction Completion time minimization abstract In this paper, we study the problem of demand scheduling for delay tolerant applications. With regard to the time-varying resource cost per unit size of the demand, we study two optimization problems: (1) how to minimize the peak resource usage, while making sure that each demand is served before the deadline; (2) how to minimize the longest completion time of all the demands under a given maximum allowable resource constraint. For the rst problem, we prove that it is NP-hard, under the general setting that the demands are of different sizes and require several continuous time slots to complete. We then provide an integer linear programming solution, and propose an efcient heuristic algorithm. For a special case of the same size demand and single serving time slot, the proposed algorithm is proved to be optimal. We further study a special case that all the demands have the same deadline, and prove that the proposed algorithm can achieve three times the optimal solution if the number of serving time slots required for each demand is at most two. For the second problem, we also prove it to be NP-hard and formulate it into an integer linear programming. An efcient polynomial-time algorithm is then proposed, whose completion time is proved to be at most two times the optimal minimum completion time under a specic setting. Finally, simulation results demonstrate the superiorities of the proposed schemes. & 2015 Elsevier Ltd. All rights reserved. 1. Introduction In this paper, we study two scheduling problems for delay tolerant applications (Laoutaris et al., 2013; Krithivasan and Iyer, 2005; Jiang et al., 2014; Shin et al., 2012; Yoon et al., 2014): (1) how to minimize the peak resource usage for a given set of demands and time-varying resource cost while at the same time making sure that each demand can be served without missing their deadlines; (2) how to complete the demands in the earliest time slot for a given maximum allowable resource at each time slot. The above problems occur in many scenarios such as in communication network, heat management, smart grid systems as shown in Table 1 (Marcon et al., 2010; Malandrino et al., 2012; Stanojevic et al., 2010; Ghanem et al., 2007; Chhabra et al., 2010; Luo et al., 2013; Subramanian et al., 2013; Hassan et al., 2013a, 2013b; Seiden et al., 2000; Phillips et al., 1998; Lua et al., 2003; Hsu et al., 2011). For example, in communication network, there are multiple demands with different throughput requirements and the throughput per channel at different time slots may be different due to network congestion, etc. Under such scenario, there are two problems that should be considered. Firstly, if each demand has to be served by a deadline, to reduce the resource usage (i.e., the number of channels), we need to decide when to schedule each demand such that the peak number of channels used at each time slot is minimum while all the demands are served without missing their deadlines. Secondly, if the maximum number of channels available at each time slot is constrained, shortening the comple- tion time of all the demands is an attractive feature to improve the QoS performance. The second scenario is the heat management for computing jobs or data center (Yang et al., 2008; Wang et al., 2009; Zhou et al., 2010). It is noted that the effectiveness and lifetime of a computer system is directly related to its operating temperature. In general, the cooling efciency is time-varying, e.g. it may depend on outdoor temperature, electricity cost, etc. To maintain a steady temperature for the server room, we may want to reschedule the job accordingly. However, it might miss the dead- lines of the jobs. Thus, one problem is how to minimize the Contents lists available at ScienceDirect journal homepage: www.elsevier.com/locate/jnca Journal of Network and Computer Applications http://dx.doi.org/10.1016/j.jnca.2015.04.002 1084-8045/& 2015 Elsevier Ltd. All rights reserved. n Corresponding author. E-mail addresses: wxiumin@hfut.edu.cn (X. Wang), yuenchau@sutd.edu.sg (C. Yuen), chenxiaoming@nuaa.edu.cn (X. Chen), naveed.hassan@lums.edu.pk (N.U. Hassan), oyymbox@163.com (Y. Ouyang). Journal of Network and Computer Applications 53 (2015) 173182