{"title":"MiThOS-a real-time micro-kernel threads operating system","authors":"F. Mueller, V. Rustagi, T. Baker","doi":"10.1109/REAL.1995.495195","DOIUrl":"https://doi.org/10.1109/REAL.1995.495195","url":null,"abstract":"MiThOS (Micro-kernel Threads Operating System) is an experimental operating system for embedded systems. The system kernel is a first implementation of the POSIX Minimal Real-Time System Profile. It is based on prior work of a library implementation of Pthreads (POSIX threads). The system is fully preemptive. It supports multi-threading within a single process environment with shared kernel and user space, i.e. real-time tasks are mapped onto POSIX threads. It exhibits remarkable timing predictability intended for hard real-time requirements. This is achieved by a careful design of only few device drivers. The system has been implemented and tested on the SPARC VME architecture. The system includes a fast context switching algorithm for the SPARC which outperforms the context switch under SunOS and matches the performance under Solaris. It supports selective enabling and disabling of hardware components (MMU, caches, etc.) since its sources are available. Furthermore, an implementation-defined extension of POSIX threads for deadline scheduling is presented. Overall, the system exhibits slightly faster performance than SunOS 4.x and is considerably more predictable in its timing behavior. Applications of the kernel range from evaluating the overhead of new language features in Ada 95 and its runtime system, verifying static timing predictions on a bare machine, to providing the operating system for small embedded system that require a high timing predictability.","PeriodicalId":231426,"journal":{"name":"Proceedings 16th IEEE Real-Time Systems Symposium","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1995-12-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132104195","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A graphical language with formal semantics for the specification and analysis of real-time systems","authors":"H. Ben-Abdallah, Insup Lee, Jin-Young Choi","doi":"10.1109/REAL.1995.495217","DOIUrl":"https://doi.org/10.1109/REAL.1995.495217","url":null,"abstract":"Graphical communicating shared resources, GCSR, is a formal language for the specification and analysis of real-time systems including their functional and resource requirements. GCSR allows a modular and hierarchical, and thus, scalable specification of a real-time system. GCSR supports notions of communication through events, interrupt, concurrency, and time to describe a real-time system. In addition, GCSR allows the explicit representation of resources and priorities to arbitrate resource contention in a natural way that produces easy to understand and modify specifications. The semantics of GCSR is the algebra of communicating shared resources, a timed process algebra with operational semantics. The process algebra provides behavioral equivalence relations which can be used to verify the correctness of one GCSR specification with respect to the other.","PeriodicalId":231426,"journal":{"name":"Proceedings 16th IEEE Real-Time Systems Symposium","volume":"61 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1995-12-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133619278","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Distributed pinwheel scheduling with end-to-end timing constraints","authors":"Chih-wen Hsueh, Kwei-Jay Lin, Nong Fan","doi":"10.1109/REAL.1995.495207","DOIUrl":"https://doi.org/10.1109/REAL.1995.495207","url":null,"abstract":"Algorithms for allocating resources and scheduling tasks are important to the success of many real-time systems with end-to-end performance requirements. In this paper, an end-to-end scheduling model based on the pinwheel scheduling algorithms is presented for distributed real-time systems. We discuss how tasks on different nodes may be transformed to have harmonic periods. We also present algorithms to adjust the phases between schedules on neighboring nodes so that the overall end-to-end delay is reduced. Using the pinwheel approach, schedules on different nodes are closely synchronized and more static. However, for many real-time systems, this practical approach may provide a more predictable performance and a shorter end-to-end delay.","PeriodicalId":231426,"journal":{"name":"Proceedings 16th IEEE Real-Time Systems Symposium","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1995-12-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125779830","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Some performance issues for transactions with firm deadlines","authors":"Y. Tay","doi":"10.1109/REAL.1995.495221","DOIUrl":"https://doi.org/10.1109/REAL.1995.495221","url":null,"abstract":"We present a performance model for transactions with firm deadlines on a database system that uses locking, but without priority scheduling. Such a system may be a legacy, or bought off-the-shelf. Excluding priority scheduling is also a way of determining how resource and data contention affect deadline misses. The model is used to (a) define a workload number that helps the evaluation of a system design by predicting the stress on it; (b) show that performance is proportional to the cube of transaction length, so transactions should request a minimal number of locks; (c) examine how deadlines should vary with transaction length, thus demonstrating the crucial role of resource contention; and (d) show that execution times and multiprogramming levels can cause a bias only though priority scheduling. We also offer an interpretation of \"missed deadlines must be rare\" in terms of abort cost.","PeriodicalId":231426,"journal":{"name":"Proceedings 16th IEEE Real-Time Systems Symposium","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1995-12-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125986044","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Compiling Modechart specifications","authors":"C. Puchol, A. Mok, D. Stuart","doi":"10.1109/REAL.1995.495215","DOIUrl":"https://doi.org/10.1109/REAL.1995.495215","url":null,"abstract":"The Modechart specification language is a formalism for the specification of real-time systems. A toolset for specification, analysis and simulation for Modechart specifications exists for supporting the design and construction of real-time systems. This paper introduces a new tool in the toolset: a compiler for a class of Modechart specifications, namely, that of deterministic system specifications, extended by a subclass of the non-deterministic system specifications. The object code that the compiler generates is in ESTEREL, a member of the synchronous family of programming languages for real-time systems. We discuss a broad approach to the implementation of timing specifications, providing a range of implementation options, from the basic time step unrolling of states in ESTEREL, to the use of system timers. The compiler presented herein allows the specifier to obtain a correct implementation of a Modechart program, including timing constraints.","PeriodicalId":231426,"journal":{"name":"Proceedings 16th IEEE Real-Time Systems Symposium","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1995-12-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129515662","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Efficient microarchitecture modeling and path analysis for real-time software","authors":"Yau-Tsun Steven Li, S. Malik, A. Wolfe","doi":"10.1109/REAL.1995.495219","DOIUrl":"https://doi.org/10.1109/REAL.1995.495219","url":null,"abstract":"Real-time systems are characterized by the presence of timing constraints in which a task must be completed within a specific amount of time. This paper examines the problem of determining the bound on the worst case execution time (WCET) of a given program on a given processor There are two important issues in solving this problem: (i) program path analysis, which determines what sequence of instructions will be executed in the worst case, and (ii) microarchitecture modeling, which models the hardware system and determines the WCET of a known sequence of instructions. To obtain a tight estimate on the bound both these issues must be addressed accurately and efficiently. The latter is becoming difficult to model for modern processors due to the presence of pipelined instruction execution units and cached memory systems. Because of the complexity of the problem, all existing methods that we know of focus only on one of above issues. This limits the accuracy of the estimated bound and the size of the program that can be analyzed. We present a more effective solution that addresses both issues and uses an integer linear programming formulation to solve the problem. This solution is implemented in the program cinderella which currently targets the Intel i960KB processor and we present some experimental results of using this tool.","PeriodicalId":231426,"journal":{"name":"Proceedings 16th IEEE Real-Time Systems Symposium","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1995-12-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129049306","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A software fault injection tool on real-time Mach","authors":"S. Dawson, F. Jahanian, T. Mitton","doi":"10.1109/REAL.1995.495203","DOIUrl":"https://doi.org/10.1109/REAL.1995.495203","url":null,"abstract":"Ensuring that a distributed real-time system with strict dependability constraints meets its prescribed specification is a growing challenge that confronts software developers and system engineers. This paper reports on a software fault injection tool, called SockPFI, for testing the fault tolerance and timing behavior of distributed real-time applications. SockPFI, developed on Real-Time Mach, can be used to test socket-based distributed real-time applications on this platform without modifying the source code of the target protocol. The SockPFI tool is based on the concept of script-driven probing and fault injection. It is explicitly designed to address some of the intrusiveness associated with fault injection of distributed systems, and in particular, with real-time protocols. The paper describes the design and implementation of SockPFI on Real Time Mach, and a demonstration of the tool on a real-time primary-backup replication protocol.","PeriodicalId":231426,"journal":{"name":"Proceedings 16th IEEE Real-Time Systems Symposium","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1995-12-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132076081","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Value vs. deadline scheduling in overload conditions","authors":"G. Buttazzo, M. Spuri, F. Sensini","doi":"10.1109/REAL.1995.495199","DOIUrl":"https://doi.org/10.1109/REAL.1995.495199","url":null,"abstract":"We present a comparative study among scheduling algorithms which use different priority assignments and different guarantee mechanisms to improve the performance of a real-time system during overload conditions. In order to enhance the quality of service, we assume that tasks are characterized not only by a deadline, but also by an importance value. The performance of the scheduling algorithm is then evaluated by computing the cumulative value gained on a task set, i.e. the sum of the values of those tasks that completed by their deadline. The purpose of this simulation study was twofold. Firstly, we wanted to discover which priority assignment is able to achieve the best performance in overload conditions. Secondly, we were interested in understanding how the pessimistic assumptions made in the guarantee test affect the performance of the scheduling algorithms, and how much a reclaiming mechanism can compensate this degradation. Simulation results show that, without any admission control, value-density scheduling performs best. Simple admission control based on worst case estimates of the load worsen the performance of all value based algorithms. EDF scheduling performs best if admission control is used along with a reclaiming mechanism that takes advantage of early completions. Finally, scheduling by deadline before overload and by value during overload works best in most practical conditions.","PeriodicalId":231426,"journal":{"name":"Proceedings 16th IEEE Real-Time Systems Symposium","volume":"163 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1995-12-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116882832","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A scalable real-time synchronization protocol for distributed systems","authors":"I. Rhee, G. Martin","doi":"10.1109/REAL.1995.495192","DOIUrl":"https://doi.org/10.1109/REAL.1995.495192","url":null,"abstract":"A distributed protocol is proposed for the synchronization of real-time tasks that have variable resource requirements. The protocol is simple to implement and is intended for large-scale distributed or parallel systems in which processes communicate by message passing. Critical sections, even when nested, may be executed on any processor. Thus, given an adequate number of processors, the execution of critical sections can be completely distributed. More significantly, since the protocol enables the distributed allocation of critical sections, the benefits of various allocations can be analyzed and the system optimized to provide minimal blocking. This has important application in global optimization techniques for allocating large numbers of hard real-time tasks in multiprocessor systems.","PeriodicalId":231426,"journal":{"name":"Proceedings 16th IEEE Real-Time Systems Symposium","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1995-12-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133957693","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Real-time computing with lock-free shared objects","authors":"James H. Anderson, Srikanth Ramamurthy, K. Jeffay","doi":"10.1109/REAL.1995.495193","DOIUrl":"https://doi.org/10.1109/REAL.1995.495193","url":null,"abstract":"This paper considers the use of lock-free shared objects within hard real-time systems. As the name suggests, lock-free shared objects are distinguished by the fact that they are not locked. As such, they do not give rise to priority inversions, a key advantage over conventional, lock-based object-sharing approaches. Despite this advantage, it is not immediately apparent that lock-free shared objects can be employed if tasks must adhere to strict timing constraints. In particular, lock-free object implementations permit concurrent operations to interfere with each other, and repeated interferences can cause a given operation to take an arbitrarily long time to complete. The main contribution of this paper is to show that such interferences can be bounded by judicious scheduling. This work pertains to periodic, hard real-time tasks that share lock-free objects on a uniprocessor. In the first part of the paper, scheduling conditions are derived for such tasks, for both static and dynamic priority schemes. Based on these conditions, it is formally shown that lock-free object-sharing approaches can be expected to incur much less overhead than approaches based on wait-free objects or lock-based schemes. In the last part of the paper, this conclusion is validated experimentally through work involving a real time desktop videoconferencing system.","PeriodicalId":231426,"journal":{"name":"Proceedings 16th IEEE Real-Time Systems Symposium","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1995-12-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124584833","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}