96 research outputs found

    Dual Priority Scheduling is Not Optimal

    Get PDF
    In dual priority scheduling, periodic tasks are executed in a fixed-priority manner, but each job has two phases with different priorities. The second phase is entered after a fixed amount of time has passed since the release of the job, at which point the job changes its priority. Dual priority scheduling was introduced by Burns and Wellings in 1993 and was shown to successfully schedule many task sets that are not schedulable with ordinary (single) fixed-priority scheduling. Burns and Wellings conjectured that dual priority scheduling is an optimal scheduling algorithm for synchronous periodic tasks with implicit deadlines on preemptive uniprocessors. We demonstrate the falsity of this conjecture, as well as of some related conjectures that have since been stated. This is achieved by means of computer-verified counterexamples

    Dual Priority Scheduling is Not Optimal (Artifact)

    Get PDF
    In dual priority scheduling, periodic tasks are executed in a fixed-priority manner, but each job has two phases with different priorities. The second phase is entered after a fixed amount of time has passed since the release of the job, at which point the job changes its priority. Dual priority scheduling was introduced by Burns and Wellings in 1993 and was shown to successfully schedule many task sets that are not schedulable with ordinary (single) fixed-priority scheduling. Burns and Wellings conjectured that dual priority scheduling is an optimal scheduling algorithm for synchronous periodic tasks with implicit deadlines on preemptive uniprocessors. The related article presents counterexamples to this conjecture, and to some related conjectures that have since been stated. This artifact verifies the counterexamples by means of exhaustive simulations of vast numbers of configurations

    Dual Priority and EDF: a closer look

    Get PDF
    International audienceIn the context of uniprocessor scheduling, two scheduling algorithms have beenvery much studied: one in the class of fixed task priority (FTP) where RateMonotonic (RM) is optimal and one in the class of fixed job priority (FJP),where Earliest Deadline First (EDF) is optimal. RM has the disadvantage ofimposing processor utilization less than 100% (i.e., 69% in the worst case) whileEDF scheduling can reach 100% of processor utilization.Some research have been done to overcome this sub-optimality problem. Ithas been shown that when periods are harmonic, the processor utilization boundof RM is identical to the one of EDF [1]. When no constraint is imposed on theperiods, the dual priority approach was introduced in 1993 [3]. The schedulerconsider two priorities and two phases for each task, each phase has a fixedpriority, the transition from a phase to another is made at a fixed time offsetfrom the task release. Dual priority approach is interesting as it is conjecturedthat a dual priority scheduling can reach the same performances as an EDFscheduler.In this paper, we revisit dual priority scheduling for uniprocessor systemswith implicit-deadline periodic task set. We recall existing conjectures. Then,we explicit a new class of scheduling FPk, a fixed priority scheduling that requiresat most k promotions at k fixed times. We show that dual priority and EDFscheduling are particular cases of FPk. Finally, we analyse EDF scheduling tryingto study how far it is from a dual priority scheduler in terms of promotions

    Dual Priority Scheduling Algorithm Used in the nMPRA Microcontrollers – Dynamic Scheduler

    Get PDF
    This paper is a follow up of an already published paper that described the static scheduler. It deals with a true dynamic scheduling algorithm that is meant to maximize the CPU utilization. The dual priority algorithm is composed of two different scheduling algorithms, earliest deadline first (EDF) and round robin (RR). We have chosen EDF, because it is a dynamic scheduling algorithm, used in real time operating systems, which can be easily implemented in hardware, by improving the nHSE architecture. The new dynamic scheduler algorithm provides a much better CPU utilization, very good switching time for tasks and events within 5 to 8 machine cycles and guarantees that no task will suffer from starvation

    QoS and Performance of REMPLI PLC Network

    Get PDF
    REMPLI uses MV and LV PLC network to establish a wide-scale distributed infrastructure for real-time monitoring and control of energy distribution and consumption. To satisfy the application QoS requirements, special QoS control mechanisms should be implemented in the PLC network for providing real-time access to resources at Master node. We propose flooding-based routing protocol as QoS routing mechanism and network dispatcher of Dual-Priority scheduling policy with deadline relaxation as packet scheduling mechanism. Our simulation results have shown that those QoS mechanisms guarantees minimum bandwidth utilization through periodic traffic and short end to end delay of aperiodic data request services

    Dynamic Window-Constrained Scheduling for Real-Time Media Streaming

    Full text link
    This paper describes an algorithm for scheduling packets in real-time multimedia data streams. Common to these classes of data streams are service constraints in terms of bandwidth and delay. However, it is typical for real-time multimedia streams to tolerate bounded delay variations and, in some cases, finite losses of packets. We have therefore developed a scheduling algorithm that assumes streams have window-constraints on groups of consecutive packet deadlines. A window-constraint defines the number of packet deadlines that can be missed in a window of deadlines for consecutive packets in a stream. Our algorithm, called Dynamic Window-Constrained Scheduling (DWCS), attempts to guarantee no more than x out of a window of y deadlines are missed for consecutive packets in real-time and multimedia streams. Using DWCS, the delay of service to real-time streams is bounded even when the scheduler is overloaded. Moreover, DWCS is capable of ensuring independent delay bounds on streams, while at the same time guaranteeing minimum bandwidth utilizations over tunable and finite windows of time. We show the conditions under which the total demand for link bandwidth by a set of real-time (i.e., window-constrained) streams can exceed 100% and still ensure all window-constraints are met. In fact, we show how it is possible to guarantee worst-case per-stream bandwidth and delay constraints while utilizing all available link capacity. Finally, we show how best-effort packets can be serviced with fast response time, in the presence of window-constrained traffic

    Statistic Rate Monotonic Scheduling

    Full text link
    In this paper we present Statistical Rate Monotonic Scheduling (SRMS), a generalization of the classical RMS results of Liu and Layland that allows scheduling periodic tasks with highly variable execution times and statistical QoS requirements. Similar to RMS, SRMS has two components: a feasibility test and a scheduling algorithm. The feasibility test for SRMS ensures that using SRMS' scheduling algorithms, it is possible for a given periodic task set to share a given resource (e.g. a processor, communication medium, switching device, etc.) in such a way that such sharing does not result in the violation of any of the periodic tasks QoS constraints. The SRMS scheduling algorithm incorporates a number of unique features. First, it allows for fixed priority scheduling that keeps the tasks' value (or importance) independent of their periods. Second, it allows for job admission control, which allows the rejection of jobs that are not guaranteed to finish by their deadlines as soon as they are released, thus enabling the system to take necessary compensating actions. Also, admission control allows the preservation of resources since no time is spent on jobs that will miss their deadlines anyway. Third, SRMS integrates reservation-based and best-effort resource scheduling seamlessly. Reservation-based scheduling ensures the delivery of the minimal requested QoS; best-effort scheduling ensures that unused, reserved bandwidth is not wasted, but rather used to improve QoS further. Fourth, SRMS allows a system to deal gracefully with overload conditions by ensuring a fair deterioration in QoS across all tasks---as opposed to penalizing tasks with longer periods, for example. Finally, SRMS has the added advantage that its schedulability test is simple and its scheduling algorithm has a constant overhead in the sense that the complexity of the scheduler is not dependent on the number of the tasks in the system. We have evaluated SRMS against a number of alternative scheduling algorithms suggested in the literature (e.g. RMS and slack stealing), as well as refinements thereof, which we describe in this paper. Consistently throughout our experiments, SRMS provided the best performance. In addition, to evaluate the optimality of SRMS, we have compared it to an inefficient, yet optimal scheduler for task sets with harmonic periods.National Science Foundation (CCR-970668

    On exploiting spare capacity in hard real-time systems.

    Get PDF
    Remove this page before binding. (The page number was placed before realizing that this was to be the title page.) Also, don’t forget to move the Contents and Figure

    A dispatching mechanism providing REMPLI Applications with QoS

    Get PDF
    The main objective of the REMPLI project is to develop a distributed infrastructure suitable for real-time monitoring and control of energy distribution and consumption. PLC technology has been chosen to form the main communication infrastructure. The targeted applications possess different requirements in terms of Quality-of-Service (QoS) that should be taken into account by the underlying network. This comes to say that a traffic dispatching policy must be defined which guarantees minimum bandwidth utilization through periodic traffic and short end to end delay of aperiodic data request services

    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