{"title":"Establishing Confidence and Understanding Uncertainty in Real-Time Systems","authors":"I. Bate, D. Griffin, Benjamin Lesage","doi":"10.1145/3394810.3394816","DOIUrl":"https://doi.org/10.1145/3394810.3394816","url":null,"abstract":"A benefit with traditional static analysis approaches to single criticality hard real-time systems is that the uncertainties, and hence confidence, associated with timing requirements being met are better understood than Measurement-Based Timing Analysis (MBTA) approaches. In brief, failures are mostly accounted for by human errors or random hardware failures. With the introduction of measurement-based approaches to timing analysis to help deal with more advanced processors, the situation is much more complex. The complexity comes from new sources of epistemic failures: imperfect timing measurements from the system, approximations in the analysis, and the conscious decision that parts of the system are not always guaranteed to be scheduled in a hard real-time manner. The goal of this paper is to establish some understanding of the uncertainties based on a proposed industrial approach to MBTA and consequently how confidence in the system's timing measures can be managed. More specifically understanding the epistemic uncertainties associated with measures used for timing analysis concentrating on whether it could have been foreseen that: further testing with a given method could have avoided failures; and deficiencies with the current testing method could have been predicted.","PeriodicalId":322095,"journal":{"name":"Proceedings of the 28th International Conference on Real-Time Networks and Systems","volume":"73 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130326820","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}
Jean Ibarz, M. Lauer, Matthieu Roy, J. Fabre, Olivier Flébus
{"title":"Optimizing Vehicle-to-Cloud Data Transfers using Soft Real-Time Scheduling Concepts","authors":"Jean Ibarz, M. Lauer, Matthieu Roy, J. Fabre, Olivier Flébus","doi":"10.1145/3394810.3394818","DOIUrl":"https://doi.org/10.1145/3394810.3394818","url":null,"abstract":"The main promise of intelligent transportation systems (ITS) is that leveraging the information sensed by millions of vehicles will increase the quality of the user's experience. However, the unpredictable nature of road events, combined with a projected network overload, calls for a careful optimization of the vehicles' data transfers, taking into account spatio-temporal, safety and value constraints. In this article, we provide a methodical solution to optimize vehicle-to-cloud (V2C) data transfers, based on a series of steps. First, we show that this optimization problem can be modeled as a soft real-time scheduling problem. Second, we provide an extension of a classical algorithm for the generation of workloads, by increasing its coverage with regards to our use-case representation. Third, we estimate the bounds of an optimal clairvoyant algorithm in order to have a baseline for a fair comparison of existing scheduling algorithms. The results show that, within all these algorithms, one clearly outperforms the others regardless of the load rate. Interestingly, its performance gain increases when overload grows, and it can be implemented very efficiently, which makes it highly suitable for embedded systems.","PeriodicalId":322095,"journal":{"name":"Proceedings of the 28th International Conference on Real-Time Networks and Systems","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124031146","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":"Analysis of Polka Contention Manager for use in Multicore Hard Real-Time Systems","authors":"Adrien Quillet, Audrey Queudet, D. Lime","doi":"10.1145/3394810.3394825","DOIUrl":"https://doi.org/10.1145/3394810.3394825","url":null,"abstract":"Transactional memory (TM) draws the attention of both academic and development groups; indeed this concept offers an alternative to lock-based approaches, easing programmers' work. Despite the large amount of investigations around this topic, the question of the correctness of most TM implementations remains open. More specifically, the lack of upper bounds on the execution time of transactions prevents the use of TM in real-time systems. To address this issue, we introduce new realistic assumptions relative to real-time systems, which allow to ensure wait-freedom guarantees progress (i.e. all transactions progress) when Polka contention manager is considered. In that context, through a thorough formalization of the system, we prove upper bounds both on the number of abortions and on the execution time of transactions.","PeriodicalId":322095,"journal":{"name":"Proceedings of the 28th International Conference on Real-Time Networks and Systems","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129293660","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":"Scheduling DAGs When Processor Assignments Are Specified","authors":"Sanjoy Baruah","doi":"10.1145/3394810.3394813","DOIUrl":"https://doi.org/10.1145/3394810.3394813","url":null,"abstract":"The problem of scheduling a workload represented as a directed acyclic graph (DAG) upon a dedicated multiprocessor platform is considered, in which each individual vertex of the DAG is assigned to a specific processor and the entire DAG is required to complete execution within a specified duration. A representation of this scheduling problem as a zero-one integer linear program is obtained.","PeriodicalId":322095,"journal":{"name":"Proceedings of the 28th International Conference on Real-Time Networks and Systems","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126368417","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":"Precise and Efficient Analysis of Context-Sensitive Cache Conflict Sets","authors":"F. Brandner, C. Noûs","doi":"10.1145/3394810.3394811","DOIUrl":"https://doi.org/10.1145/3394810.3394811","url":null,"abstract":"Bounding the Worst-Case Execution Time (WCET) of real-time software requires precise knowledge about the reachable program and hardware states that might be observed at runtime. The analysis of precise cache states is particularly important and challenging. Due to the high cost of cache misses the analysis precision may have an important impact on the obtainable WCET bounds, while the large state space of the cache's history leads to high analysis complexity. This work explores the use of cache summaries in order to optimize the computation of precise cache states. These cache summaries allow us to pre-compute the impact of executing a portion of a program, typically a function, on the cache state. This allows us, for instance, to skip the analysis of entire functions (including nested function calls) when the cache states within these functions are not relevant for the classification of memory accesses into hits/misses. Furthermore, the summaries can be extended to efficiently compute fully context-sensitive cache states. The summaries then not only allow to derive typical cache hit/miss classifications, but also provide fully context-sensitive cache persistence information.","PeriodicalId":322095,"journal":{"name":"Proceedings of the 28th International Conference on Real-Time Networks and Systems","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125382653","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}
Ikram Senoussaoui, H. Zahaf, M. K. Benhaoua, G. Lipari, R. Olejnik
{"title":"Allocation of Real-Time Tasks onto Identical Core Platforms under Deferred fixed Preemption-Point Model","authors":"Ikram Senoussaoui, H. Zahaf, M. K. Benhaoua, G. Lipari, R. Olejnik","doi":"10.1145/3394810.3394821","DOIUrl":"https://doi.org/10.1145/3394810.3394821","url":null,"abstract":"Deferred-preemption model has been proposed as a compromise between fully preemptive and non-preemptive systems: on one hand they reduce the cache related preemption delays; on the other hand they introduce a small blocking time to higher priority tasks. In this paper, we investigate the problem of allocating a set of real-time tasks with fixed-preemption points onto an identical multi-core platform. We first propose enumerative and branch-and-bound optimal algorithms, along with techniques to reduce their execution time. Further, we propose a set of heuristics to solve the same problem. We demonstrate the performances of the proposed approaches by the means of a large set of synthetic experiments.","PeriodicalId":322095,"journal":{"name":"Proceedings of the 28th International Conference on Real-Time Networks and Systems","volume":"03 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127253924","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":"Requirement specification and model-checking of a real-time scheduler implementation","authors":"Khaoula Boukir, Jean-Luc Béchennec, A. Déplanche","doi":"10.1145/3394810.3394817","DOIUrl":"https://doi.org/10.1145/3394810.3394817","url":null,"abstract":"Implementing a new scheduler within a real-time operating system is challenging. The transition from a theoretical scheduling policy specification to a real platform implementation requires several constraints to be taken into account. Therefore, a verification process must support the implementation work to give it a level of confidence and validate its correctness. In this paper, we present such a verification approach which is based on model-checking. It aims to identify subtle issues in our implementation of scheduling policies within an OSEK/VDX real-time operating system called Trampoline. As an example, the approach is conducted on elaborated models of an implemented G-EDF scheduler along with other OS components that contribute to the scheduling decision. Then, the verification is carried out by checking a set of relevant requirements which are identified based on the expected behavior of the scheduler as specified in the literature. This approach demonstrated its feasibility since potential issues are detected in our implementation.","PeriodicalId":322095,"journal":{"name":"Proceedings of the 28th International Conference on Real-Time Networks and Systems","volume":"39 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132902677","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":"NITRO","authors":"M. Brand, Albrecht Mayer, F. Slomka","doi":"10.1145/3394810.3394812","DOIUrl":"https://doi.org/10.1145/3394810.3394812","url":null,"abstract":"With the increasing complexity of real-time systems, developers need advanced tools for detailed analysis. Existing tools usually come with a high configuration effort which prevents their usage or leads to configuration errors. Further problems are contributed by analysis techniques that may introduce software overhead, which changes the system's behavior. Another major issue is, that modern real-time systems make use of purchasable software components, so-called Intellectual Property (IP) blocks. Since not all information is accessible on these IP blocks, they can lead to the development of opaque real-time systems, which are then even harder to analyze. With NITRO we want to present a new methodology to tackle these problems. It enables developers to analyze hard real-time systems without requiring detailed knowledge of the system. NITRO is capable of detecting and monitoring the complete task set of a hard real-time operating system, without error-prone user configuration. Designers neither need to understand how the operating system is implemented, nor how to configure a tool. Moreover, NITRO works completely non-intrusive and is therefore superior to instrumentation based analysis techniques. We also show that non-intrusive monitoring does not require expensive tracing hardware.","PeriodicalId":322095,"journal":{"name":"Proceedings of the 28th International Conference on Real-Time Networks and Systems","volume":"56 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117302654","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}
James Orr, Johnny Condori Uribe, C. Gill, Sanjoy Baruah, Kunal Agrawal, S. Dyke, A. Prakash, I. Bate, C. Wong, Sabina Adhikari
{"title":"Elastic Scheduling of Parallel Real-Time Tasks with Discrete Utilizations","authors":"James Orr, Johnny Condori Uribe, C. Gill, Sanjoy Baruah, Kunal Agrawal, S. Dyke, A. Prakash, I. Bate, C. Wong, Sabina Adhikari","doi":"10.1145/3394810.3394824","DOIUrl":"https://doi.org/10.1145/3394810.3394824","url":null,"abstract":"Elastic scheduling allows for online adaptation of real-time tasks' utilizations (via manipulation of each task's computational workload or period) in order to maintain system schedulability in case the utilization demand of one or more tasks changes. This is done currently by assigning each task a utilization (and therefore period or workload) from within a continuous range of acceptable values. While this works well for anytime tasks whose quality of service improves with duration or for tasks that can run at any rate within a given range, many computationally-elastic tasks have a specific workload for each distinct mode of operation and therefore cannot perform arbitrary amounts of work. Similarly, some period-elastic tasks must run at specific (e.g. harmonic) rates. Therefore, a discrete set of candidate utilizations per task must be accommodated in such cases. This paper provides a new elastic task model in which each task has a discrete set of possible utilizations (instead of a continuous range). This allows users to specify only relevant candidate periods and workloads for each task. The discrete nature of this model also allows each task to modify its workload and/or its period when changing its mode of operation, instead of adapting in only one dimension of task utilization. Elastic tasks thus can exploit both period elasticity and computational elasticity. This greatly increases both the diversity of adaptations available to each task and the kinds of real-time tasks relevant to elastic scheduling. We use the real-world example of real-time hybrid simulation as a motivating application domain with discretely computationally-elastic, period-elastic, and combined-elastic parallel real-time tasks under the Federated Scheduling paradigm. We prove the scheduling of these tasks to be NP-hard, and provide a pseudo-polynomial time scheduling algorithm. We then use this scheduling algorithm to implement the first virtual real-time hybrid simulation experiment in which discrete elastic adaptation of platform resource utilizations enables adaptive switching between controllers with differing computational demands. We also study the effects of scheduling tasks with discretized vs. continuous candidate utilizations.","PeriodicalId":322095,"journal":{"name":"Proceedings of the 28th International Conference on Real-Time Networks and Systems","volume":"216 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116369642","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":"Multi-Criteria Function Inlining for Hard Real-Time Systems","authors":"Kateryna Muts, H. Falk","doi":"10.1145/3394810.3394819","DOIUrl":"https://doi.org/10.1145/3394810.3394819","url":null,"abstract":"Modern hard real-time systems shall satisfy some special requirements. Besides timing constraints, the additional design criteria such as code size and energy consumption are also not negligible. To optimize a system towards the mentioned specifications simultaneously is impossible, since the improvement in one of them may lead to the degradation of others. Many compiler-based optimizations techniques have been proposed to optimize an embedded application taking into account only one requirement. Nevertheless, some heuristics consider other requirements as constraints, but not many works have tried to solve a multi-objective problem in this context. We aim to extend a well-known compiler-based optimization, function inlining, to a multi-objective problem. We show that in case of such setup, the considered optimization leads to a set of trade-offs between timing constraints, code size, and energy consumption. Depending on the requirements, a system designer can utilize the output set to make a final decision about the system configuration without building an expensive hardware.","PeriodicalId":322095,"journal":{"name":"Proceedings of the 28th International Conference on Real-Time Networks and Systems","volume":"42 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128067434","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}