# Energy-Aware Online Non-Clairvoyant Scheduling Using Speed Scaling with Arbitrary Power Function
## 1 Introduction  
In the current era, the importance of the reduction of energy consumption in data centers and battery based computing devices is emerging. Energy consumption has become a prime concern in the design of modern microprocessors, especially for battery based devices and data centers. Modern microprocessors [1; 2] use dynamic speed scaling to save energy. The processors are designed in such a way that they can vary its speed to conserve energy using dynamic speed scaling. The software developed assists operating system to vary the speed of a processor and save energy. As per United States Protection Agency [3], data centers represent 1.5% of total US electricity consumption. The US data center workload requires estimated for 2020 requiring a total electricity use that varies by about 135 billion kWh. Data center workloads continue to grow exponentially; comparable increases in electricity demand have been avoided through the adoption of key energy efficiency measures [4]. Energy consumption can be reduced by scheduling jobs in an appropriate order. In the last few years, a lot of job scheduling algorithms are proposed with dual objectives [5; 6]. The objectives consideredare: the first, to optimize some scheduling quality (criteria, e.g., flow time, weighted flow) and the second, to minimize energy consumption. Scheduling algorithms with dual objectives have two components [7]: _Job Selection_: It determines that out of active jobs which job to execute first on a processor. _Speed Scaling_: At any time \(t\), it determines the speed of a processor. The traditional power function (power \(P=s^{\alpha}\), where s and \(\alpha>1\) are speed of a processor and a constant, respectively [8; 9]) is used widely for the analysis of scheduling algorithms. In this paper, the arbitrary power function [10] is considered. The arbitrary power function is having certain advantages over traditional power function [10]. The motivation to use the arbitrary power function rather than traditional power function is explained comprehensively by the [PERSON] et al. [10]. Different types of job scheduling models are available in literature. A **job** is a unit of work/task that an operating system performs. It is like the applications you execute on computer (email client, word-processing, web browsing, printing, information transfer over the Internet, or a specific action accomplished by the computer). Any user/system activity on a computer is handled through some job. The **size** of a job is the set of operations and microoperations required to be executed for completing some course of action on a computer. In offline job scheduling, the complete job sequence is known in advance, whereas jobs arrive arbitrarily in online job scheduling. To minimize the flow time, big jobs execute at high speed with respect to their actual importance and small jobs execute at low speed with respect to their actual importance. In non-clairvoyant job scheduling, there is no information regarding the size of jobs at arrival time, whereas in clairvoyant job scheduling, the size of any job is known at its arrival time. The practical importance of online non-clairvoyant job scheduling is higher than clairvoyant scheduling [11]. Most processors do not have natural deadlines associated with them, for example in Linux and Microsoft Windows [12]. The non-clairvoyant scheduling problem is faced by the operating system in a time sharing environment [13]. There are several situations where the scheduler has to schedule jobs without knowing the sizes of the jobs [14]. The Shortest Elapsed Time First (SETF) algorithm, a variant of which is used in the Windows NT and Unix operating system scheduling policies, is a non-clairvoyant for minimizing mean slowdown [14]. The theoretical study of speed scaling was initiated by [PERSON] et al. [15]. [PERSON] et al. [13] introduced the analysis of non-clairvoyant scheduling algorithm.