10 research outputs found

    A Practical Framework to Study Low-Power Scheduling Algorithms on Real-Time and Embedded Systems

    Get PDF
    With the advanced technology used to design VLSI (Very Large Scale Integration) circuits, low-power and energy-efficiency have played important roles for hardware and software implementation. Real-time scheduling is one of the fields that has attracted extensive attention to design low-power, embedded/real-time systems. The dynamic voltage scaling (DVS) and CPU shut-down are the two most popular techniques used to design the algorithms. In this paper, we firstly review the fundamental advances in the research of energy-efficient, real-time scheduling. Then, a unified framework with a real Intel PXA255 Xscale processor, namely real-energy, is designed, which can be used to measure the real performance of the algorithms. We conduct a case study to evaluate several classical algorithms by using the framework. The energy efficiency and the quantitative difference in their performance, as well as the practical issues found in the implementation of these algorithms are discussed. Our experiments show a gap between the theoretical and real results. Our framework not only gives researchers a tool to evaluate their system designs, but also helps them to bridge this gap in their future works

    SPARTS: Simulator for Power Aware and Real-Time Systems

    Full text link
    Real-time systems demand guaranteed and predictable run-time behaviour in order to ensure that no task has missed its deadline. Over the years we are witnessing an ever increasing demand for functionality enhancements in the embedded real-time systems. Along with the functionalities, the design itself grows more complex. Posed constraints, such as energy consumption, time, and space bounds, also require attention and proper handling. Additionally, efficient scheduling algorithms, as proven through analyses and simulations, often impose requirements that have significant run-time cost, specially in the context of multi-core systems. In order to further investigate the behaviour of such systems to quantify and compare these overheads involved, we have developed the SPARTS, a simulator of a generic embedded real- time device. The tasks in the simulator are described by externally visible parameters (e.g. minimum inter-arrival, sporadicity, WCET, BCET, etc.), rather than the code of the tasks. While our current implementation is primarily focused on our immediate needs in the area of power-aware scheduling, it is designed to be extensible to accommodate different task properties, scheduling algorithms and/or hardware models for the application in wide variety of simulations. The source code of the SPARTS is available for download at [1]

    A Dynamic Real-time Scheduling Algorithm for Reduced Energy Consumption

    Get PDF
    In embedded real-time systems, Dynamic Power Management (DPM) techniques have traditionally focused on reducing the dynamic power dissipation that occurs when a CMOS gate switches in a processor. Less attention has been given to processor leakage power or power consumed by I/O devices and other subsystems. I/O-based DPM techniques, however, have been extensively researched in non-real-time systems. These techniques focus on switching I/O devices to low power states based on various policies and are not applicable to real-time environments because of the non-deterministic nature of the policies. The challenge in conserving energy in embedded real-time systems is thus to reduce power consumption while preserving temporal correctness. To address this problem, we introduce three scheduling algorithms of increasing complexity: Energy-Aware EDF (EA-EDF), Enhanced Energy-Aware EDF (EEA-EDF) and Slack Utilization for Reduced Energy (SURE). The first two algorithms are relatively simple extensions to the Earliest Deadline First (EDF) scheduling algorithm that enable processor, I/O device, and subsystem energy conservation. The SURE algorithm utilizes slack to create a non-work-conserving approach to reducing power consumption. An evaluation of the three approaches shows that all three yield significant energy savings with respect to no DPM technique. The actual savings depends on the task set, shared devices, and the power requirements of the devices. When the cost of switching power states is low, the EA-EDF and EEA-EDF algorithms provide remarkable power savings considering their simplicity. In general, however, the higher the energy cost to switch power states, the more benefit SURE provides

    Flow Time Minimization under Energy Constraints

    Full text link

    Fair and efficient CPU scheduling algorithms.

    Get PDF
    No abstract available.The original print copy of this thesis may be available here: http://wizard.unbc.ca/record=b131703

    Software Approaches to Manage Resource Tradeoffs of Power and Energy Constrained Applications

    Get PDF
    Power and energy efficiency have become an increasingly important design metric for a wide spectrum of computing devices. Battery efficiency, which requires a mixture of energy and power efficiency, is exceedingly important especially since there have been no groundbreaking advances in battery capacity recently. The need for energy and power efficiency stretches from small embedded devices to portable computers to large scale data centers. The projected future of computing demand, referred to as exascale computing, demands that researchers find ways to perform exaFLOPs of computation at a power bound much lower than would be required by simply scaling today's standards. There is a large body of work on power and energy efficiency for a wide range of applications and at different levels of abstraction. However, there is a lack of work studying the nuances of different tradeoffs that arise when operating under a power/energy budget. Moreover, there is no work on constructing a generalized model of applications running under power/energy constraints, which allows the designer to optimize their resource consumption, be it power, energy, time, bandwidth, or space. There is need for an efficient model that can provide bounds on the optimality of an application's resource consumption, becoming a basis against which online resource management heuristics can be measured. In this thesis, we tackle the problem of managing resource tradeoffs of power/energy constrained applications. We begin by studying the nuances of power/energy tradeoffs with the response time and throughput of stream processing applications. We then study the power performance tradeoff of batch processing applications to identify a power configuration that maximizes performance under a power bound. Next, we study the tradeoff of power/energy with network bandwidth and precision. Finally, we study how to combine tradeoffs into a generalized model of applications running under resource constraints. The work in this thesis presents detailed studies of the power/energy tradeoff with response time, throughput, performance, network bandwidth, and precision of stream and batch processing applications. To that end, we present an adaptive algorithm that manages stream processing tradeoffs of response time and throughput at the CPU level. At the task-level, we present an online heuristic that adaptively distributes bounded power in a cluster to improve performance, as well as an offline approach to optimally bound performance. We demonstrate how power can be used to reduce bandwidth bottlenecks and extend our offline approach to model bandwidth tradeoffs. Moreover, we present a tool that identifies parts of a program that can be downgraded in precision with minimal impact on accuracy, and maximal impact on energy consumption. Finally, we combine all the above tradeoffs into a flexible model that is efficient to solve and allows for bounding and/or optimizing the consumption of different resources

    Ahorro Energético en la Planificación de Sistemas en Tiempo Real

    Get PDF
    La evolución de los procesadores siempre ha consistido en ir aumentando el rendimiento de estos, fijando como medida de este aumento de rendimiento la velocidad de proceso en la ejecución de las distintas aplicaciones. Sin embargo esta mayor velocidad implica también un mayor consumo energético. En la era de la informática móvil, un mayor consumo energético comporta el uso de mayores baterías y una disminución del tiempo útil de trabajo de estas. A su vez, el usuario común de esta informática móvil, puede que no necesita una mayor velocidad de proceso, puesto que la limitación de velocidad de las aplicaciones más comunes que usará, aplicaciones multimedia, procesadores de texto, viene impuesta por cualidades físicas (velocidad de mecanografía, frecuencia de visualización en pantalla, frecuencia de emisión del sonido,..). En estos casos, por más rápido que sea el procesador, la aplicación no puede ejecutarse a mayor velocidad, resultando en un mayor consumo energético pero sin la obtención de mejores resultados. En los sistemas de tiempo real, estas restricciones en la velocidad del procesador también vienen impuestas por las características físicas del medio, por ejemplo, la frecuencia de muestreo de un sensor de temperatura, debe ser la necesaria, de nada sirve que se tomen medidas al doble de su frecuencia, puesto que la temperatura no cambiará tan rápidamente. Para evitar el problema de sobredimensionado de la velocidad del procesador que requiere a su vez, de un mayor consumo energético, en la última década, el estudio del rendimiento de los procesadores (velocidad del procesador) se ha unido al estudio del consumo energético y de la disipación del calor. De manera que ya no puede haber evolución únicamente a nivel de velocidad del procesador sin tener en cuenta el consumo de este y la disipación de energía. En el campo de la reducción energética se ha observado que la técnica de DVS (reducción dinámica de la velocidad del procesador junto con la reducción del voltaje suministrado) permite al algoritmo de planificación de las tareas ahorrar energía. Si observamos atentamente los algoritmos de planificación que se han usado en los entornos de tiempo real, observaremos la siguiente evolución temporal:· Algoritmos de planificación cíclicos.· Algoritmos de planificación en-línea para conjuntos de tareas periódicas independientes.· Algoritmos de planificación en-línea para conjuntos de tareas periódicas independientes y para tareas aperiódicas y/o esporádicas· Algoritmos de planificación en-línea para conjuntos de tareas no independientes entre si, es decir tareas con recursos compartidos y/o precedencias entre tareas.· Algoritmos de planificación para arquitecturas multiprocesadores.Una evolución parecida se ha producido en el estudio de los planificadores con ahorro energético, iniciando el estudio con la planificación estática y finalizando con los algoritmos de planificación dinámica, que ofrecen mayor flexibilidad a los programadores de las aplicaciones.En la tesis, se sigue esta misma evolución, estudiando y proponiendo un algoritmo de planificación con ahorro energético para un sistema monoprocesador con tareas independientes. Suponiendo, inicialmente, correctos todos los parámetros de diseño del sistema (algoritmo PLMDP) para finalmente aplicar de manera automática una corrección a un posible sobredimensionado del WCET (algoritmo EPLDP). Estudiando las diferencias de ahorro energético que se obtienen con estos dos algoritmos, se ha constatado que a nivel energético es siempre favorable ejecutar a una velocidad de proceso intermedia en lugar de ejecutar a velocidades extremas (primero a muy poca velocidad, para después tener que ejecutar a velocidades más altas).A continuación, añadimos a los planificadores anteriores la posibilidad de que las tareas puedan acceder a recursos compartidos entre estas. Implementando en los planificadores el protocolo de techo de prioridad. A pesar del uso de este protocolo, se puede observar que nuestros algoritmos continúan aportando ahorro energético, garantizando la planificabilidad de las tareas.Para finalizar con los cambios en los planificadores, se ha añadido a todos los planificadores implementados, la posibilidad de tener precedencias entre las tareas y plazos globales entre una cadena de precedencias. En este punto se ha visto que la dificultad principal del algoritmo de planificación es el hecho de no saber con exactitud el instante de llegada de estas tareas, disminuyendo de esta manera la utilización del procesador que se puede planificar de una manera garantizada. A pesar de todo, observamos que los algoritmos de planificación PLMDP y EPLDP tienen un buen comportamiento en términos de planificación de tareas.Para completar el estudio de la planificación, se ha realizado el estudio del tiempo de respuesta de las tareas aperiódicas junto al estudio del ahorro energético. En principio ambos conceptos están enfrentados, puesto que para obtener un tiempo de respuesta menor, debemos ejecutar la tarea a máxima velocidad, asegurando que en el procesador esté disponible a la llegada de las tareas. Y por el contrario, para tener ahorro energético debemos ejecutar a una velocidad reducida la mayor parte del tiempo.Realizando un análisis global, se ha visto que los planificadores PLMDP y EPLDP, obtienen un buen rendimiento, siendo de fácil implementación y requiriendo al mismo tiempo poca cantidad de memoria para su funcionamiento. Sin embargo, todos los resultados obtenidos se han realizado bajo simulaciones con conjuntos de tareas reales y conjuntos de tareas sintéticos.Las técnicas DVS y las modificaciones que se han realizado en los algoritmos de planificación para ahorro energético, son fácilmente aplicables a otros algoritmos de planificación, en concreto se podrían aplicar sin demasiada complicación a sistemas multiprocesadores con una planificación global de las tareas. Los resultados obtenidos con el algoritmo EPLDP demuestran que en las aplicaciones de tiempo real es energéticamente económico ejecutar a una velocidad media el máximo tiempo posible en lugar de ejecutar a mayor velocidad para después tener el procesador parado. Este resultado, junto con los resultados que reducen la corriente de fuga a base de agrupar los espacios libres del procesador, es fácilmente aplicable a los algoritmos de planificación, en los que las tareas pueden ejecutarse en cualquier procesador. De manera que las tareas se deben ejecutar a una velocidad lo más uniformemente posible para tener al procesador ocupado el máximo tiempo posible
    corecore