ENERGY EFFICIENT SCHEDULING SIMULATOR FOR DISTRIBUTED REAL-TIME SYSTEMS

Similar documents
ENERGY EFFICIENT SCHEDULING FOR REAL-TIME EMBEDDED SYSTEMS WITH PRECEDENCE AND RESOURCE CONSTRAINTS

DYNAMIC SCHEDULING OF SKIPPABLE PERIODIC TASKS WITH ENERGY EFFICIENCY IN WEAKLY HARD REAL-TIME SYSTEM

Energy Efficient Real-Time Scheduling in Distributed Systems

Energy-Constrained Scheduling of DAGs on Multi-core Processors

Dual-Processor Design of Energy Efficient Fault-Tolerant System

International Journal of Advanced Research in Computer Science and Software Engineering

Simplified design flow for embedded systems

REAL-TIME SCHEDULING OF SOFT PERIODIC TASKS ON MULTIPROCESSOR SYSTEMS: A FUZZY MODEL

OVERHEADS ENHANCEMENT IN MUTIPLE PROCESSING SYSTEMS BY ANURAG REDDY GANKAT KARTHIK REDDY AKKATI

Effects of Hard Real-Time Constraints in Implementing the Myopic Scheduling Algorithm

Energy Aware EDF Scheduling with Task Synchronization for Embedded Real Time Systems

Dynamic Voltage Scaling of Periodic and Aperiodic Tasks in Priority-Driven Systems Λ

A Scalable Scheduling Algorithm for Real-Time Distributed Systems

Scheduling in Multiprocessor System Using Genetic Algorithms

Quality of Service Scheduling in Real-Time Systems

Simulation of Priority Driven Algorithms to Schedule Real-Time Systems T.S.M.Priyanka a*, S.M.K.Chaitanya b

Scheduling Multi-Periodic Mixed-Criticality DAGs on Multi-Core Architectures

An Integration of Imprecise Computation Model and Real-Time Voltage and Frequency Scaling

A Data Centered Approach for Cache Partitioning in Embedded Real- Time Database System

A Simple Model for Estimating Power Consumption of a Multicore Server System

Time Triggered and Event Triggered; Off-line Scheduling

A Level-wise Priority Based Task Scheduling for Heterogeneous Systems

An Energy Aware Edge Priority-based Scheduling Algorithm for Multiprocessor Environments

A Data Centered Approach for Cache Partitioning in Embedded Real- Time Database System

CHAPTER 6 ENERGY AWARE SCHEDULING ALGORITHMS IN CLOUD ENVIRONMENT

Partitioned Fixed-Priority Scheduling of Parallel Tasks Without Preemptions

Survey of different Task Scheduling Algorithm

Authors Abugchem, F. (Fathi); Short, M. (Michael); Xu, D. (Donglai)

Controlled duplication for scheduling real-time precedence tasks on heterogeneous multiprocessors

Introduction to Embedded Systems

Energy Aware Computing in Cooperative Wireless Networks

An Efficient Approach to Energy Saving in Microcontrollers

EECS 571 Principles of Real-Time Embedded Systems. Lecture Note #8: Task Assignment and Scheduling on Multiprocessor Systems

A hardware/software partitioning and scheduling approach for embedded systems with low-power and high performance requirements

REAL-TIME SCHEDULING FOR DEPENDABLE MULTIMEDIA TASKS IN MULTIPROCESSOR SYSTEMS

4/6/2011. Informally, scheduling is. Informally, scheduling is. More precisely, Periodic and Aperiodic. Periodic Task. Periodic Task (Contd.

Quality of Service Scheduling in Real-Time Systems

Study of Load Balancing Schemes over a Video on Demand System

Worst-Case Utilization Bound for EDF Scheduling on Real-Time Multiprocessor Systems

Energy-aware Scheduling for Frame-based Tasks on Heterogeneous Multiprocessor Platforms

Evaluating a DVS Scheme for Real-Time Embedded Systems

Implementation of Dynamic Level Scheduling Algorithm using Genetic Operators

An Improved Priority Dynamic Quantum Time Round-Robin Scheduling Algorithm

Penalty Minimization in Scheduling a Set of Soft Real-Time Tasks

A task migration algorithm for power management on heterogeneous multicore Manman Peng1, a, Wen Luo1, b

Improving Real-Time Performance on Multicore Platforms Using MemGuard

Real-Time Mixed-Criticality Wormhole Networks

Layer-Based Scheduling Algorithms for Multiprocessor-Tasks with Precedence Constraints

EMERALDS: a small-memory real-time microkernel

Time-triggered Scheduling for Multiprocessor Mixed-criticality Systems

Optimization of Task Scheduling and Memory Partitioning for Multiprocessor System on Chip

A Modified Maximum Urgency First Scheduling Algorithm for Real-Time Tasks

WITH THE proliferation of the embedded computing devices,

Allowing Cycle-Stealing Direct Memory Access I/O. Concurrent with Hard-Real-Time Programs

Real-Time Architectures 2003/2004. Resource Reservation. Description. Resource reservation. Reinder J. Bril

CHAPTER 7 IMPLEMENTATION OF DYNAMIC VOLTAGE SCALING IN LINUX SCHEDULER

Microkernel/OS and Real-Time Scheduling

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition

INTERNATIONAL JOURNAL OF RESEARCH SCIENCE & MANAGEMENT

Static Multiprocessor Scheduling of Periodic Real-Time Tasks with Precedence Constraints and Communication Costs

Reference Model and Scheduling Policies for Real-Time Systems

Predicting the Worst-Case Execution Time of the Concurrent Execution. of Instructions and Cycle-Stealing DMA I/O Operations

UML-Based Analysis of Power Consumption for Real-Time Embedded Systems

Effective Memory Access Optimization by Memory Delay Modeling, Memory Allocation, and Slack Time Management

Traffic Pattern Analysis in Multiprocessor System

Improving CPU Performance of Xen Hypervisor in Virtualized Environment

Comparison of scheduling in RTLinux and QNX. Andreas Lindqvist, Tommy Persson,

Artificial Neural Network-Based Prediction of Human Posture

CISC 7310X. C05: CPU Scheduling. Hui Chen Department of Computer & Information Science CUNY Brooklyn College. 3/1/2018 CUNY Brooklyn College

Analysis of offloading mechanisms in edge environment for an embedded application

LIST BASED SCHEDULING ALGORITHM FOR HETEROGENEOUS SYSYTEM

Multimedia Systems 2011/2012

Design and implementation of Earliest point initial (EDF) algorithm Using ARM core processor

Real-Time Dynamic Voltage Hopping on MPSoCs

Hardware/Software Partitioning and Scheduling of Embedded Systems

SDR Forum Technical Conference 2007

Real-Time Scheduling of Sensor-Based Control Systems

Design and Implementation of detecting the failure of sensor node based on RTT time and RTPs in WSNs

ptop: A Process-level Power Profiling Tool

Bio-Inspired Techniques for the Efficient Migration of Virtual Machine for Load Balancing In Cloud Computing

A Binary Integer Linear Programming-Based Approach for Solving the Allocation Problem in Multiprocessor Partitioned Scheduling

Selection of a Scheduler (Dispatcher) within a Datacenter using Enhanced Equally Spread Current Execution (EESCE)

A Task Scheduling Method for Data Intensive Jobs in Multicore Distributed System

Mixed Criticality Scheduling in Time-Triggered Legacy Systems

Introduction to Real-Time Systems ECE 397-1

A Modified Genetic Algorithm for Process Scheduling in Distributed System

ANALYSIS OF A DYNAMIC LOAD BALANCING IN MULTIPROCESSOR SYSTEM

A SURVEY OF VARIOUS SCHEDULING ALGORITHM IN CLOUD COMPUTING ENVIRONMENT

Handling Sporadic Tasks in Off-line Scheduled Distributed Real-Time Systems

Exam Review TexPoint fonts used in EMF.

Improving the scheduling analysis of hard real-time traffic by analyzing traffic dependencies

Real-time operating systems and scheduling

Improving Throughput in Cloud Storage System

Real-time Optimistic Concurrency Control based on Transaction Finish Degree

Power Aware Scheduling for AND/OR Graphs in Multi-Processor Real-Time Systems

Fault tolerant scheduling in real time systems

Homework index. Processing resource description. Goals for lecture. Communication resource description. Graph extensions. Problem definition

Optimized energy aware scheduling to minimize makespan in distributed systems.

Schedulability-driven scratchpad memory swapping for resource-constrained real-time embedded systems

Energy Efficiency Using Load Balancing in Cloud Data Centers: Proposed Methodology

Transcription:

I J I T E ISSN: 2229-7367 3(1-2), 2012, pp. 409-414 ENERGY EFFICIENT SCHEDULING SIMULATOR FOR DISTRIBUTED REAL-TIME SYSTEMS SANTHI BASKARAN 1, VARUN KUMAR P. 2, VEVAKE B. 2 & KARTHIKEYAN A. 2 1 Assistant professor,department of Information Technology 2 Students, Final Year Information Technology Pondicherry Engineering College, Puducherry, India (E-mail: vvaarruunn24@gmail.com, vvek.9291@gmail.com, kar17thi@gmail.com) Abstract: The most critical design issue in real-time systems, especially in battery-operated systems where functional complexity continues to expand is Energy Consumption. The major area of focus is to provide a real time scheduling simulator which provides features to check if a real-time application meets its temporal constraints while minimizing system energy consumption using several feasibility tests in preemptive/non preemptive cases. Feasibility tests allow a user to study a real time application/system without performing actual scheduling. With this simulator tool, a realtime application is defined by a set of processors, tasks, shared resources and messages. The simulator has a feature to dynamically adjust the processor speed according to the algorithm fed, given input of a hardware profile and workload. The flexible simulation engine also allows the designer to describe and run simulations of specific real-time systems while providing dynamic support for real time, precedence and resource constrained tasks. Keywords: Dynamic voltage scaling, real-time scheduling, simulation tool, voltage scalable processor. I. INTRODUCTION Most of the real-time systems in the world are powered by batteries. They are extensively used for performing multitude of tasks. The rise of functional complexity and quantity of battery powered devices makes the energy efficient design of such devices increasingly important. Also these kind of real-time systems are subjected to concurrently perform a wide variety of complex tasks under stringent time constraints. Hence, minimizing the power consumption of real-time systemswhile satisfying the stringent timing constraints have become an integral aspect in designing such systems. Scaling is very essential for saving energy. Dynamic Voltage Scaling (DVS) is used to dynamically change speed and Voltage at run time by spreading run cycles into idle time. Because of the non-linear relationship between CPU speed and power consumption, it is better to spread execution by reducing cycle time and voltage, than to run the CPU at full speed for short burst and then changing to idle mode. Energy reduction can be obtained using lower voltage and frequency. The need forreducing the processor voltage and frequency to a very low level is eliminated but instead power awarereal-time scheduling can be used. This scheduling process s atisfies the timing constraints of real-time tasks. The voltage and frequency are dynamically adjusted according to some optimization criteria such as high throughput or low energy consumption. However, reduction of processor voltage and frequency increases the circuit delay, causing slowdown in the execution of programs. Hence, energy efficient real-time scheduling makes a trade-off between energy saving and system performance. The two kinds of scaling that allow adjusting processor voltage and frequency at runtime are Dynamic Voltage Scaling (DVS) and Dynamic Frequency Scaling (DFS). The higher the processor voltage and frequency, the higher will be the system throughput.energy reduction can be obtained using lower voltage and frequency.

410 Santhi Baskaran, Varun Kumar P., Vevake B. & Karthikeyan A. Few of the recently popular trends in modern processor architecture which provide support for DVS and DFS mechanisms are Intel Mobile Processors with SpeedStep technology [1], AMD Mobile Processors with Power Now! Technology [2], etc... DVS and DFS can be implemented at various levels of a system, such as in the processor, in the OS scheduler, in the compiler or in the application. Enhanced Intel SpeedStep Technology allows the process or performance and power consumption levels to be modified while a system is functioning. This is accomplished via application software, which changes the bus-tocore frequency ratio and the processor core voltage (Vcc). Enhanced Intel SpeedStep Technology is supported on current and future generations of Intel Pentium M Processors. The Intel Pentium M Processor at 1.6 GHz supports six frequency and voltage operating points as below. The top and bottom modes are commonly known as high frequency mode (HFM) and low frequency mode (LFM). Table 1 Supported Performance States of Intel Pentiu M Processor at 1.6 GHz Frequency Voltage 1.6 GHz HFM) 1.484 V 1.4 GHz 1. 420 V 1.2 GHz 1.276 V 1.0 GHz 1.164 V 800 MHz 1.036 V 600 MHz (LFM) 0.956 V The framework of simulator tool is based on the real-time scheduling theory.energy efficient real-time simulator tool provides services to study the temporal behavior and energy consumption of real-time applications. Scheduling simulation requires, first to compute a scheduling on a given time interval and second, to look for timing properties in this computed scheduling. For a real-time simulator tool an application is defined as processors, tasks, messages and shared resources. The processor definition may be mono, multi or distributed. The tasks may be defined with timing, precedence, resource and energy constraints. From a set of tasks, for a given system, two kinds of analysis can be performed: Scheduling simulation and feasibility tests. Scheduling simulation consists in predicting for each unit of time, the task(s) to which the processor(s) to be allocated. Checking if tasks meet their deadline is done by analyzing the computed scheduling. For a given task set, if a scheduling simulation is very long to compute, feasibility tests can be applied instead. 1.1. Motivation This work was motivated by the lack of free, flexible and open energy-efficient scheduling tools for real-time systems. The design and development of this work is carried out to fulfil three main requirements. First, to provide a framework,which implements most of the classical real-time scheduling algorithms with energy efficiency. Second, to apply feasibility tests for uni-processor, multiprocessor and distributed real-time systems. Third, to develop and add new energy-efficient scheduling algorithms to this simulator tool. 1.2. Objectives The objective is to create energy efficient scheduling tool for investigating scheduling in real-time application with, Periodic, aperiodic and mixed independent task sets Dependent tasks having precedence and resource constraints that are normally represented by a task graph. The objective is also extended to provide energy efficient scheduling algorithms for realtime tasks in uni-processor, multiprocessor and distributed computers for soft, hard and weaklyhard real-time systems. 2. BACKGROUND CONCEPTS Operating system is the only component with an overview of the entire system, including task constraints and status, resource usage, etc. Therefore, it is believed that, this would be one of the most effective and efficient approaches to reduce energy consumption with proper task scheduling algorithms. The real-time scheduling

Energy Efficient Scheduling Simulator for Distributed Real-Time Systems 411 problem with power optimization constraints is NP-hard [5]. It is time consuming to find an optimal schedule where energy consumption is minimized and all timing constraints are met. Many previous works either proposed offline scheduling for large energy reduction, or used heuristic methods to reduce scheduling overhead. However, while the former approaches are inflexible and too costly to store in memory, the latter ones may not realize the full potential of energy savings. Energy-efficient real-time technique is then used online [6] based on the information, such as task start times, finish times, pre-emption times, etc, to mak e better scheduling decisions. Furthermore, profiling tool [7] is implemented to provide time information at program runtime for scheduler to adjust schedule online according to the actual execution time (AET).Slack time (time between task completion time and task deadline) thus can be better utilized for energy-efficient real-time scheduling. Extensive power aware scheduling techniques have been published for energy reduction, but most of them have been focused solely on reducing the proces sor energy consumption. While the processor is one of the major power hungry units in the system, other peripherals such as network interface card, memory banks, disks also consume significant amount of power. By using the Dynamic Power Down (DPD) technique it is possible to shut down a processing unit and save power when it is idle. There is a minimal time interval that the device can be feasibly shut down with positive energy-saving gain. Only when the slack time or idle time is more than the minimum time interval the DPD is used. 3. PROBLEM DEFINITION To develop an energy-efficient real-time scheduling simulator with two independent parts: a graphical editor used to describe a real-time application/system, and a framework which includes most of classical real-time scheduling/ feas ibility algorithms/ tests with energy consideration. The main features to be provided are, Framework to do energy-efficient scheduling simulation with classical real time schedulers. Features to apply many feasibility tests in the pre-emptive case and in the non-preemptive case. Support for periodic, aperiodic and mixed tasks. Support for precedence and resource constrained tasks. Scheduling simulation of applications distributed on several processor and sharing messages. Support to design new schedulers, task pattern arrivals and event analyzers. 4. FEATURES OF SIMULATOR Energy efficient real time scheduler tool developed basically provides two kinds of features: Simulator Scheduling feasibility test. Feasibility tests allow a user to study a real time application/system without performing actual scheduling. The simulator dynamically adjusts the processor speed according to the algorithm, given input of a hardware profile and workload. The hardware profile describes the multiple operating points of the processor, each with a separate frequency and power consumption. Unless otherwise specified we use the following hardware profile {(1.6, 1.484), (1.4, 1.420), (1.2, 1.276), (1.0, 1.164), (800, 1.036), (600, 0.956)},where 1.6, 1.4, 1.2, 1.0, 800, 600 denote the processor frequency in GHz and MHz, and 1.484, 1.420, 1.276, 1.164, 1.036, 0.956 denote the corresponding voltage. This simulator can be used to find which algorithm suits best to any given set of inputs. Since the task set is generated randomly using statistical distributions, the simulation works best at all sorts of situation and also gives the required result. The real-time scheduling simulator is composed of two parts: User Interface to accept inputs and display results in a graphical format. Background Execution of algorithms.

412 Santhi Baskaran, Varun Kumar P., Vevake B. & Karthikeyan A. The random task generation program also generates precedence constraints among the given number of tasks, in the form of a Directed Acyclic Graph (DAG). The DAG generated can be used by all the algorithms meant for tasks with precedence constraints. For multiprocessor and distributed systems, the number of processors is varied from 2 to 10. The simulator is basically developed using C language. The user interface is developed using Visual Basic. This provides the user with screens to give inputs such as number of tasks and number of processors. The simulator can be used firstly to compute a scheduling and secondly, to compare various real-time scheduling algorithms in the literature. Using this simulator, three existing scheduling algorithms namely Red Tasks Only (RTO) algorithm and Blue When Possible (BWP) algorithm [13] and Red as Late as Possible (RLP) algorithm [14], designed for overloaded real-time systems that allow skips are considered for energy efficiency [15]. Few sample interface forms in the simulator framework are as shown in Figure 3. 6. OUTPUT DESCRIPTION The system output describes graphically how each and every task is being scheduled on different processors. It also contains the details regarding the speed, energy consumed by the variable voltage processor and also the increase in the computation time of tasks to show graphically. The output from the simulator is also stored in files. The output files contain the details about the processor Id and energy consumed by each and every variable voltage scalable processor, if the task sets satisfy the necessary constraints. 5. INPUT DESCRIPTION The input data like number of tasks, number of processors, etc. are acquired from the user through the user interface, depending on the algorithm chosen from the framework. They are stored in a file and are given to random task generation program. This generates attributes like worst case execution time, arrival time, actual execution time, deadline, and resource constraints etc. depending on the algorithms chosen. The randomly generated inputs are used by all the related algorithms taken into consideration and scheduling simulation is done.

Energy Efficient Scheduling Simulator for Distributed Real-Time Systems 413 The output interface consists of a form which has the output files displayed in a Microsoft Chart control. There are button click events for viewing the energy consumed by the variable voltage scalable processor, for viewing the task sets which contains the information of all the tasks, and for the graphical representation of the output. The simulator framework also has provision to view the comparison of power consumption among variable voltage scalable processors of a distributed or multiprocessor system, for the algorithms selected through the input interface. 7. IMPLEMENTATION AND ANALYSIS OF RESULTS The simulator developed simulates voltage scalable processors which dynamically adjusts the processor speed according to the proposed algorithm. A continuous voltage scaling model is used and hence the processor speed can be adjusted continuously from its maximum speed to a minimum speed which is assumed to be 25% of its maximum speed. Scheduling task sets and task graphs are generated using the following approach: Task sets are randomly generated with parameters such as arrival time, acet, and wcet. The wcet is taken randomly and acet is also randomly generated such that it is 40 to 100 per cent of wcet. The overall deadline is generated such that it is always greater than or equal to the sum of acet of all the tasks in DAG. Task graph is randomly generated using adjacency matrix where 0 represents the tasks that are not dependent on any other tasks and 1 represents the dependency, with varying breadth and depth. The performance parameter considered for evaluating and comparing our new algorithms with the existing algorithms is overall Power Consumption of the voltage scalable processors used. It is calculated as the average of power consumed by individual processors used to execute the application. The power consumption when a processor runs at maximum speed is 100% and it is calculated proportionately for reduced speed, as the relationship between power dissipation Pd, supply voltage Vdd, and frequency f is represented by Pd = Cef X V2 dd X f and f = k X (Vdd Vt 2)/Vdd, where Cef is the switched capacitance, k is the constant of circuit, and Vt is the threshold voltage [16]. Algorithms Power Consumption (%) Earliest Deadline First 45 Rate Monotonic Scheduling 44 Least Laxity First 32 The power consumption in percentage is compared among the existing and proposed algorithms by varying the number of tasks from 2 to 20 and the number of processors from 2 to 10. The maximum number of tasks is taken to be 20, because real-time applications with dependent tasks above 20 are very rare. 8. CONCLUSION An energy-efficient scheduling simulator tool for real-time systems is designed. This tool is developed for real-time applications that can run on uni-processor, multiprocessor and distributed systems. New scheduling algorithms are added to the framework. Existing classical real-time scheduling algorithms are studied and modified to achieve increased energy efficiency. The scheduling algorithms considered are capable of scheduling periodic, aperiodic tasks with

414 Santhi Baskaran, Varun Kumar P., Vevake B. & Karthikeyan A. precedence and resource constraints. In the future more user-defined schedulers and task activation patterns can be added to this simulator framework. Feasibility tests are limited to usual task models and schedulers. New feasibility tests for other real-time task models are to be developed and added to this framework. References [1] Intel internet homepage, http://www.intel.com [2] AMD internet homepage, http://www.amd.com [3] TRASMETA internet homepage http://www.transmeta.co [4] A. Azevedo, I. Issenin, and R. Cornea, Profile-based Dynamic Voltage Scheduling Using Program Checkpoints, In Conference on Design, Automation and Test in Europe, 2002. [5] A. Manzak and C. Chakrabarti, Variable Voltage Task Scheduling Algorithms for Minimizing Energy/ Power, IEEE Transactions on Very Large Scale Integration Systems, Apr. 2003. [6] P. Pillai and K. G. Shin, Real-time Dynamic Voltage Scaling for Low-power Embedded Operating Systems, In ACM Symposium on Operating Systems Principles, 2001. [7] C. Shen, K. Ramamritham and J. A. Stankovic, Resource Reclaiming in Multiprocessor Real-time Systems, IEE Trans. Parallel and Distributed Systems, Vol. 4, no. 4, pp. 382-397, Apr. 1993. [8] Santhi Baskaran and P. Thambidurai, Energy Efficient Real-Time Scheduling in Distributed Systems, International Journal of Computer Science Issues, Vol. 7, Issue 3, No. 4, pp. 35-42, May, 2010. [9] P. Chowdhury and C. Chakrabarti, Static Task Scheduling Algorithms for Battery-powerd DVS Systems, IEEE Trans. On Very large Scale Integration Systems, 13(2), pp. 226-237, Feb. 2005. [10] J. Luo and N. K. Jha, Power-conscious Joint Scheduling of Periodic Task Graphs and Aperiodic Tasks in Distributed Real-time Embedded Systems, Int. Conf. on Computer-Aided Design, pp. 357-364, Nov. 2000. [11] Y. Zhang, X. (Sharon) Hu, and D. Z. Chen, Task Scheduling and Voltage Selection for Energy Minimization, Design Automation Conference, pp. 183-188, June 2002. [12] Jaeyeon Kang and Sanjay Ranka, Dynamic Algorithms for Energy Minimization on Parallel Machines, 16th Euromicro Conference on Parallel, Distributed and Network-Based Processing, pp. 399-406, 2008. [13] Maryline Chetto and Audrey Marchand, Dynamic Scheduling of Skippable Periodic Tasks in Weakly-Hard Real-Time Systems, IEEE International Conference and Workshops on the Engineering of Computer-Based Systems, 2007. [14] Santhi Baskaran and P. Thambidurai, Dynamic Scheduling of Skippable Periodic Tasks with Energy Efficiency in Weakly Hard Real-time Systems, International Journal of Computer Science & Information Technology, Vol. 2, No. 6, pp. 100-111, Dec., 2010.