96 research outputs found

    Scheduling and locking in multiprocessor real-time operating systems

    Get PDF
    With the widespread adoption of multicore architectures, multiprocessors are now a standard deployment platform for (soft) real-time applications. This dissertation addresses two questions fundamental to the design of multicore-ready real-time operating systems: (1) Which scheduling policies offer the greatest flexibility in satisfying temporal constraints; and (2) which locking algorithms should be used to avoid unpredictable delays? With regard to Question 1, LITMUSRT, a real-time extension of the Linux kernel, is presented and its design is discussed in detail. Notably, LITMUSRT implements link-based scheduling, a novel approach to controlling blocking due to non-preemptive sections. Each implemented scheduler (22 configurations in total) is evaluated under consideration of overheads on a 24-core Intel Xeon platform. The experiments show that partitioned earliest-deadline first (EDF) scheduling is generally preferable in a hard real-time setting, whereas global and clustered EDF scheduling are effective in a soft real-time setting. With regard to Question 2, real-time locking protocols are required to ensure that the maximum delay due to priority inversion can be bounded a priori. Several spinlock- and semaphore-based multiprocessor real-time locking protocols for mutual exclusion (mutex), reader-writer (RW) exclusion, and k-exclusion are proposed and analyzed. A new category of RW locks suited to worst-case analysis, termed phase-fair locks, is proposed and three efficient phase-fair spinlock implementations are provided (one with few atomic operations, one with low space requirements, and one with constant RMR complexity). Maximum priority-inversion blocking is proposed as a natural complexity measure for semaphore protocols. It is shown that there are two classes of schedulability analysis, namely suspension-oblivious and suspension-aware analysis, that yield two different lower bounds on blocking. Five asymptotically optimal locking protocols are designed and analyzed: a family of mutex, RW, and k-exclusion protocols for global, partitioned, and clustered scheduling that are asymptotically optimal in the suspension-oblivious case, and a mutex protocol for partitioned scheduling that is asymptotically optimal in the suspension-aware case. A LITMUSRT-based empirical evaluation is presented that shows these protocols to be practical

    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

    Analysis and simulation of scheduling techniques for real-time embedded multi-core architectures

    Get PDF
    In this modern era of technological progress, multi-core processors have brought significant and consequential improvements in the available processing potential to the world of real-time embedded systems. These improvements impose a rapid increment of software complexity as well as processing demand placed on the underlying hardware. As a consequence, the need for efficient yet predictable multi-core scheduling techniques is on the rise. As part of this thesis, in-depth research of currently available multi-core scheduling techniques, belonging to both partitioned and global approaches, is done in the context of real-time embedded systems. The emphasis is on the degree of their usability on hard real-time systems, focusing on the scheduling techniques offering better processor affinity and the lower number of context switching. Also, an extensive research of currently available real-time test-beds as well as real-time operating systems is performed. Finally, a subset of the analyzed multi-core scheduling techniques comprising PSN-EDF, GSN-EDF, PD2^{2} and PD2^{2*} is simulated on the real-time test-bed LITMUSRT^{RT}

    Energy-Performance Optimization for the Cloud

    Get PDF

    Architectural and compiler support for strongly atomic transactional memory

    Get PDF
    Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2007.This electronic version was submitted by the student author. The certified thesis is available in the Institute Archives and Special Collections.Includes bibliographical references (p. 199-212).Transactions are gaining ground as a programmer-friendly means of expressing concurrency, as microarchitecture trends make it clear that parallel systems are in our future. This thesis presents the design and implementation of four efficient and powerful transaction systems: ApeX, an object oriented software-only system; UTM and LTM, two scalable systems using custom processor extensions; and HyApeX, a hybrid of the software and hardware systems, obtaining the benefits of both. The software transaction system implements strong atomicity, which ensures that transactions are protected from the influence of nontransactional code. Previous software systems use weaker atomicity guarantees because strong atomicity is presumed to be too expensive. In this thesis strong atomicity is obtained with minimal slowdown for nontransactional code. Compiler analyses can further improve the eciency of the mechanism, which has been formally veried with the Spin model-checker. The low overhead of ApeX allows it to be protably combined with a hardware transaction system to provide fast execution of short and small transactions, while allowing fallback to software for large or complicated transactions. I present UTM, a hardware transactional memory system allowing unbounded virtualizable transactions, and show how a hybrid system can be obtained.by C. Scott Ananian.Ph.D

    Fixed-Priority Scheduling Algorithms with Multiple Objectives in Hard Real-Time Systems

    Get PDF
    In the context ofFixed-Priority Scheduling in Real-Time Systems, we investigate scheduling mechanisms for supporting systems where, in addition to timing constraints, their performance with respect to additional QoS requirements must be improved. This'type of situation may occur when the worst-case res~urce requirements of all or some running tasks cannot be simultaneously met due to task contention. . Solutions to these problems have been proposed in the context of both fixed-priority and dynamic-priority scheduling. In fixed-priority scheduling, the typical approach is to artificially modify the attributes or structure of tasks, and/or usually require non-standard run-time support. In dynamic-priority scheduling approaches, utility functions are employed to make scheduling decisions with the objective of maximising the utility. The main difficulties with these approaches are the inability to formulate and model appropriately utility functions for each task, and the inability to guarantee hard deadlines without executing computationally costly algorithms. In this thesis we propose a different approach. Firstly, we introduce the concept of relative importance among tasks as a new metric for expressing QoS requirements. The meaning of this importance relationship is to express that in a schedule it i~ desirable to run a task in preference to other ones. This model is more intuitive and less restrictive than traditional utility-based app~oaches. Secondly, we formulate a scheduling problem in terms of finding a feasible assignment of fixed priorities that maximises the new QoS metric, and propose the DI and DI+ algorithms that find optimal solutions. By extensive simulation, we show that the new QoS metric combined with the DI algorithm outperforms the rate monotonic priority algorithm in several practical problems such as minimising jitter, minimising the number of preemptions or minimising the latency. In addition, our approach outperforms EDF in several scenarios

    A grid computing framework for commercial simulation packages

    Get PDF
    An increased need for collaborative research among different organizations, together with continuing advances in communication technology and computer hardware, has facilitated the development of distributed systems that can provide users non-trivial access to geographically dispersed computing resources (processors, storage, applications, data, instruments, etc.) that are administered in multiple computer domains. The term grid computing or grids is popularly used to refer to such distributed systems. A broader definition of grid computing includes the use of computing resources within an organization for running organization-specific applications. This research is in the context of using grid computing within an enterprise to maximize the use of available hardware and software resources for processing enterprise applications. Large scale scientific simulations have traditionally been the primary benefactor of grid computing. The application of this technology to simulation in industry has, however, been negligible. This research investigates how grid technology can be effectively exploited by simulation practitioners using Windows-based commercially available simulation packages to model simulations in industry. These packages are commonly referred to as Commercial Off-The-Shelf (COTS) Simulation Packages (CSPs). The study identifies several higher level grid services that could be potentially used to support the practise of simulation in industry. It proposes a grid computing framework to investigate these services in the context of CSP-based simulations. This framework is called the CSP-Grid Computing (CSP-GC) Framework. Each identified higher level grid service in this framework is referred to as a CSP-specific service. A total of six case studies are presented to experimentally evaluate how grid computing technologies can be used together with unmodified simulation packages to support some of the CSP-specific services. The contribution of this thesis is the CSP-GC framework that identifies how simulation practise in industry may benefit from the use of grid technology. A further contribution is the recognition of specific grid computing software (grid middleware) that can possibly be used together with existing CSPs to provide grid support. With its focus on end-users and end-user tools, it is intended that this research will encourage wider adoption of grid computing in the workplace and that simulation users will derive benefit from using this technology.EThOS - Electronic Theses Online ServiceGBUnited Kingdo

    Fourth Annual Workshop on Space Operations Applications and Research (SOAR 90)

    Get PDF
    The proceedings of the SOAR workshop are presented. The technical areas included are as follows: Automation and Robotics; Environmental Interactions; Human Factors; Intelligent Systems; and Life Sciences. NASA and Air Force programmatic overviews and panel sessions were also held in each technical area
    corecore