8 research outputs found

    How to rapidly prototype a real-time scheduler

    Get PDF
    Journal ArticleImplementing a new scheduling algorithm in an OS kernel is often an important step in scheduling research because it permits evaluation of the algorithm's performance on real workloads. However, developing a new scheduler is not a trivial task because it requires sophisticated programming skills and a deep knowledge of kernel internals. In this paper we show how to use the HLS scheduling framework to develop new schedulers in a user-level simulator, where advanced debugging tools can be used to achieve a high level of robustness before the scheduler is converted to a loadable kernel module simply by recompiling it. Besides facilitating debugging and porting, the HLS abstraction has the benefit of bringing the programming model very close to what, in our experience, scheduler developers want

    Implementing Multi-Periodic Critical Systems: from Design to Code Generation

    Full text link
    This article presents a complete scheme for the development of Critical Embedded Systems with Multiple Real-Time Constraints. The system is programmed with a language that extends the synchronous approach with high-level real-time primitives. It enables to assemble in a modular and hierarchical manner several locally mono-periodic synchronous systems into a globally multi-periodic synchronous system. It also allows to specify flow latency constraints. A program is translated into a set of real-time tasks. The generated code (\C\ code) can be executed on a simple real-time platform with a dynamic-priority scheduler (EDF). The compilation process (each algorithm of the process, not the compiler itself) is formally proved correct, meaning that the generated code respects the real-time semantics of the original program (respect of periods, deadlines, release dates and precedences) as well as its functional semantics (respect of variable consumption).Comment: 15 pages, published in Workshop on Formal Methods for Aerospace (FMA'09), part of Formal Methods Week 2009

    Rate Monotonic vs. EDF: Judgment Day

    Get PDF
    Since the first results published in 1973 by Liu and Layland on the Rate Monotonic (RM) and Earliest Deadline First (EDF) algorithms, a lot of progress has been made in the schedulability analysis of periodic task sets. Unfortunately, many misconceptions still exist about the properties of these two scheduling methods, which usually tend to favor RMmore than EDF. Typical wrong statements often heard in technical conferences and even in research papers claim that RM is easier to analyze than EDF, it introduces less runtime overhead, it is more predictable in overload conditions, and causes less jitter in task execution. Since the above statements are either wrong, or not precise, it is time to clarify these issues in a systematic fashion, because the use of EDF allows a better exploitation of the available resources and significantly improves system鈥檚 performance. This paper comparesRMagainstEDFunder several aspects, using existing theoretical results, specific simulation experiments, or simple counterexamples to show that many common beliefs are either false or only restricted to specific situations

    Rate Monotonic vs. EDF: Judgment Day

    Full text link

    Marco de referencia para la definici贸n de planificadores a nivel de usuario en sistemas de tiempo-real

    Full text link
    Despu茅s de m谩s de 25 a帽os de intensa investigaci贸n, la planificaci贸n de sistemas de tiempo-real ha mostrado una transici贸n que va desde una infraestructura basada en ejecutivos c铆clicos, a modelos de planificaci贸n m谩s flexibles, tales como planificaci贸n basada en prioridades est谩ticas y din谩micas, planificaci贸n de tareas no cr铆ticas, y planificaci贸n con retroalimentaci贸n, por nombrar algunas. A pesar de lo anterior, actualmente tan s贸lo unas cuantas pol铆ticas de planificaci贸n est谩n disponibles para la implementaci贸n de sistemas de tiempo-real. Por ejemplo, la mayor铆a de los sistemas operativos de tiempo-real existentes proporcionan 煤nicamente planificaci贸n basada en prioridades fijas. Sin embargo, no todos los requerimientos de las aplicaciones de tiempo-real pueden ser satisfactoriamente atendidos utilizando exclusivamente planificaci贸n est谩tica. Existen sistemas constituidos por tareas cr铆ticas y no cr铆ticas que son planificados de mejor manera utilizando planificaci贸n basada en prioridades din谩micas. Adem谩s, se ha demostrado que la planificaci贸n din谩mica permite una mayor utilizaci贸n de los recursos del sistema. En a帽os recientes, algunos autores han publicado diferentes esquemas para integrar nuevas pol铆ticas de planificaci贸n a un sistema operativo. Algunos de ellos proponen que los nuevos servicios de planificaci贸n se implementen a nivel de usuario, evitando as铆 que la estructura interna del sistema operativo tenga que ser modificada, y ofreciendo la oportunidad de implementar y probar muchos de los resultados generados por el trabajo de investigaci贸n en el 谩rea de planificaci贸n de sistemas de tiempo-real. De entre los trabajos relacionados publicados a la fecha, destaca el Modelo para la Planificaci贸n Definida por el Usuario, propuesto por Mario Aldea y Michael Gonz谩lez-Harbour. El modelo presenta una Interfaz para Programas de Aplicaci贸n (API) que permite crear y utilizar planificadores a nivel de usuario de manera compatible con el modelo de planificaci贸nD铆az Ram铆rez, A. (2006). Marco de referencia para la definici贸n de planificadores a nivel de usuario en sistemas de tiempo-real [Tesis doctoral no publicada]. Universitat Polit猫cnica de Val猫ncia. https://doi.org/10.4995/Thesis/10251/1934Palanci

    A framework for flexible scheduling in real-time middleware

    Get PDF
    The traditional vehicle for the deployment of a real-time system has been a real-time operating system (RTOS). In recent years another programming approach has increasingly found its way into the real-time systems domain: the use of middleware. Examples are the so called pervasive systems (embedded, interactive but not mobile), and ubiquitous systems (embedded, interactive and mobile), e.g. hand-held devices. These tend to be dynamic systems that often exhibit a need for flexible scheduling because of their operating requirement; or their execution environment. Thus, today there is a true need in many realtime applications for more flexible scheduling than what is currently the stateof- prac'tice. By flexible scheduling we mean the ability of the program execution platform to provide a range of scheduling policies, all the way from hard real-time to soft real-time policies, from which an application can choose one most suited to its needs. Furthermore, some applications may need to be scheduled by one policy while others may need a different policy, e.g. fi'Ced priority or earliest deadline first (EDF) for hard real-time tasks, least slack time first (LST) or shortest remaining time for soft real-time tasks. It would be difficult for the middleware to expect this functionality from the RTOS. This would require a fine balance to be struck in the RTOS between flexibility and usability, and many years will probably pass until such approaches become mainstream and usable. 'This thesis maintains that this flexibility can be introduced into the middleware. It presents a viable solution to introducing flexible scheduling in real-time program execution middleware in the form of a flexible scheduling framework. Such a framework allows use of the same program execution middleware for a variety of applications - soft, firm and hard. In particular, the framework allows different scheduling policies to co-exist in the system and their tasks to share common resources. The thesis describes tlle framework's protocol, examines the different types of scheduling policies that can be supported, tests its correctness through the use of a model checker and evaluates the proposed framework by measuring its execution cost overhead. The framework is deemed appropriate for the types of real-time applications that need the services of flexible scheduling
    corecore