297 research outputs found

    Using hierarchical scheduling to support soft real-time applications in general-purpose operating systems

    Get PDF
    Journal ArticleThe CPU schedulers in general-purpose operating systems are designed to provide fast response time for interactive applications and high throughput for batch applications. The heuristics used to achieve these goals do not lend themselves to scheduling real-time applications, nor do they meet other scheduling requirements such as coordinating scheduling across several processors or machines, or enforcing isolation between applications, users, and administrative domains. Extending the scheduling subsystems of general-purpose operating systems in an ad hoc manner is time consuming and requires considerable expertise as well as source code to the operating system. Furthermore, once extended, the new scheduler may be as inflexible as the original. The thesis of this dissertation is that extending a general-purpose operating system with a general, heterogeneous scheduling hierarchy is feasible and useful. A hierarchy of schedulers generalizes the role of CPU schedulers by allowing them to schedule other schedulers in addition to scheduling threads. A general, heterogeneous scheduling hierarchy is one that allows arbitrary (or nearly arbitrary) scheduling algorithms throughout the hierarchy. In contrast, most of the previous work on hierarchical scheduling has imposed restrictions on the schedulers used in part or all of the hierarchy. This dissertation describes the Hierarchical Loadable Scheduler (HLS) architecture, which permits schedulers to be dynamically composed in the kernel of a general-purpose operating system. The most important characteristics of HLS, and the ones that distinguish it from previous work, are that it has demonstrated that a hierarchy of nearly arbitrary schedulers can be efficiently implemented in a general-purpose operating system, and that the behavior of a hierarchy of soft real-time schedulers can be reasoned about in order to provide guaranteed scheduling behavior to application threads. The flexibility afforded by HLS permits scheduling behavior to be tailored to meet complex requirements without encumbering users who have modest requirements with the performance and administrative costs of a complex scheduler. Contributions of this dissertation include the following. (1) The design, prototype implementation, and performance evaluation of HLS in Windows 2000. (2) A system of guarantees for scheduler composition that permits reasoning about the scheduling behavior of a hierarchy of soft real-time schedulers. Guarantees assure users that application requirements can be met throughout the lifetime of the application, and also provide application developers with a model of CPU allocation to which they can program. (3) The design, implementation, and evaluation of two augmented CPU reservation schedulers, which provide increase scheduling predictability when low-level operating system activity steals time from applications

    Hierarchical Scheduling for Real-Time Periodic Tasks in Symmetric Multiprocessing

    Get PDF
    In this paper, we present a new hierarchical scheduling framework for periodic tasks in symmetric multiprocessor (SMP) platforms. Partitioned and global scheduling are the two main approaches used by SMP based systems where global scheduling is recommended for overall performance and partitioned scheduling is recommended for hard real-time performance. Our approach combines both the global and partitioned approaches of traditional SMP-based schedulers to provide hard real-time performance guarantees for critical tasks and improved response times for soft real-time tasks. Implemented as part of VxWorks, the results are confirmed using a real-time benchmark application, where response times were improved for soft real-time tasks while still providing hard real-time performance

    Proportional Resource Sharing algorithms for server systems

    Get PDF

    Predicting software performance in symmetric multi-core and multiprocessor Environments

    Get PDF
    With today\u27s rise of multi-core processors, concurrency becomes a ubiquitous challenge in software development.Performance prediction methods have to reflect the influence of multiprocessing environments on software performance in order to help software architects to find potential performance problems during early development phases. In this thesis, we address the influence of the operating system scheduler on software performance in symmetric multiprocessing environments

    Starvation Problem in CPU Scheduling for Multimedia Systems

    Get PDF
    One of the major tasks of traditional general-purpose operating system is to provide an orderly and controlled allocation of processor among various executing programs competing for it in a fair and efficient manner. Multimedia applications have timing requirements that cannot generally be satisfied using the time-sharing algorithms of general-purpose operating systems. Integrating discrete and continuous data of digital audio and video requires additional services from operating systems, especially handling of time-constrained characteristics of continuous media data, which poses a real-time characteristics on the underlying scheduler. Implementing multimedia applications using a real-time scheduler leads to starvation of conventional applications. In this paper, we briefly describe three of the popular multimedia scheduling algorithms. We compare and discuss how adequate each algorithm is in handling the issue of starvation. Additionally, we propose a new improvement for handling starvation for one of the most popular multimedia scheduling algorithms

    Starvation Problem in CPU Scheduling for Multimedia Systems

    Get PDF
    One of the major tasks of traditional general-purpose operating system is to provide an orderly and controlled allocation of processor among various executing programs competing for it in a fair and efficient manner. Multimedia applications have timing requirements that cannot generally be satisfied using the time-sharing algorithms of general-purpose operating systems. Integrating discrete and continuous data of digital audio and video requires additional services from operating systems, especially handling of time-constrained characteristics of continuous media data, which poses a real-time characteristics on the underlying scheduler. Implementing multimedia applications using a real-time scheduler leads to starvation of conventional applications. In this paper, we briefly describe three of the popular multimedia scheduling algorithms. We compare and discuss how adequate each algorithm is in handling the issue of starvation. Additionally, we propose a new improvement for handling starvation for one of the most popular multimedia scheduling algorithms

    Starvation Problem in CPU Scheduling for Multimedia Systems

    Get PDF
    One of the major tasks of traditional general-purpose operating system is to provide an orderly and controlled allocation of processor among various executing programs competing for it in a fair and efficient manner. Multimedia applications have timing requirements that cannot generally be satisfied using the time-sharing algorithms of general-purpose operating systems. Integrating discrete and continuous data of digital audio and video requires additional services from operating systems, especially handling of time-constrained characteristics of continuous media data, which poses a real-time characteristics on the underlying scheduler. Implementing multimedia applications using a real-time scheduler leads to starvation of conventional applications. In this paper, we briefly describe three of the popular multimedia scheduling algorithms. We compare and discuss how adequate each algorithm is in handling the issue of starvation. Additionally, we propose a new improvement for handling starvation for one of the most popular multimedia scheduling algorithms

    Real-Time Virtualization and Cloud Computing

    Get PDF
    In recent years, we have observed three major trends in the development of complex real-time embedded systems. First, to reduce cost and enhance flexibility, multiple systems are sharing common computing platforms via virtualization technology, instead of being deployed separately on physically isolated hosts. Second, multi-core processors are increasingly being used in real-time systems. Third, developers are exploring the possibilities of deploying real-time applications as virtual machines in a public cloud. The integration of real-time systems as virtual machines (VMs) atop common multi-core platforms in a public cloud raises significant new research challenges in meeting the real-time latency requirements of applications. In order to address the challenges of running real-time VMs in the cloud, we first present RT-Xen, a novel real-time scheduling framework within the popular Xen hypervisor. We start with single-core scheduling in RT-Xen, and present the first work that empirically studies and compares different real-time scheduling schemes on a same platform. We then introduce RT-Xen 2.0, which focuses on multi-core scheduling and spanning multiple design spaces, including priority schemes, server schemes, and scheduling policies. Experimental results demonstrate that when combined with compositional scheduling theory, RT-Xen can deliver real-time performance to an application running in a VM, while the default credit scheduler cannot. After that, we present RT-OpenStack, a cloud management system designed to support co-hosting real-time and non-real-time VMs in a cloud. RT-OpenStack studies the problem of running real-time VMs together with non-real-time VMs in a public cloud. Leveraging the resource interface and real-time scheduling provided by RT-Xen, RT-OpenStack provides real-time performance guarantees to real-time VMs, while achieving high resource utilization by allowing non-real-time VMs to share the remaining CPU resources through a novel VM-to-host mapping scheme. Finally, we present RTCA, a real-time communication architecture for VMs sharing a same host, which maintains low latency for high priority inter-domain communication (IDC) traffic in the face of low priority IDC traffic
    corecore