Arxiv:2007.10794V1 [Cs.SE] 15 Jul 2020 Avionic Applications Must Follow Strict Certification Rules

Arxiv:2007.10794V1 [Cs.SE] 15 Jul 2020 Avionic Applications Must Follow Strict Certification Rules

ON THE BENCHMARKING OF PARTITIONED REAL-TIME SYSTEMS Felipe Gohring de Magalhaes, Alexy Torres Aurora Dugo, Jean-Baptiste Lefoul and Gabriela Nicolescu Department of Computer Engineering and Software Engineering Ecole Polytechnique de Montreal Montreal, QC, Canada contact: [email protected] July 22, 2020 ABSTRACT Avionic software is the subject of critical real time, determinism and safety constraints. Software designers face several challenges, one of them being the estimation of worst-case execution time (WCET) of applications, that dictates the execution time of the system. A pessimistic WCET estimation can lead to low execution performances of the system, while an over-optimistic estimation can lead to deadline misses, breaking one the basic constraints of critical real-time systems (RTS). Partitioned systems are one special category of real time systems, employed by the avionic community to deploy avionic software. The ARINC-653 standard is one common avionic standard that employs the concept of partitions. This standard defines partitioned architectures where one partition should never directly interfere with another one. Assessing WCET of general purpose RTSs is achievable by the usage of one of the many published benchmark or WCET estimation frameworks. Contrarily, partitioned RTSs are special cases, in which common benchmark tools may not capture all the metrics. In this document, we present SFPBench, a generic benchmark framework for the assessment of performance metrics on partitioned RTSs. The general organization of the framework and its applications are illustrated, as well as an use-case, employing SFPBench on an industrial partitioned operating system (OS) executing on a Commercial Off-The-shelf (COTS) processor. Keywords Partitioned RTS · ARINC-653 · Avionics · Performance · Benchmark 1 Introduction arXiv:2007.10794v1 [cs.SE] 15 Jul 2020 Avionic applications must follow strict certification rules. They are hard real-time systems, which means that they are considered to have failed if they do not completer their functions within stringent deadlines. Predictability and determinism of such systems is crucial and are major components of certification for aerospace systems. This is due to the fact that these systems are one of the most common critical systems which civilians have daily access to. What differentiates avionic systems to others is their catastrophe potential. While a failing ship can easily stop and wait for maintenance, as much as a problematic car can park on the side of the road, where usually there is low to no risk involved, a failing airplane cannot simply stop in the middle of a trip for repairs. Operating Systems (OSs) provide an interface between the software applications and their host hardware systems. One of their main roles is to manage the system’s resources to make their usage transparent to the user. This enables applications to run on hardware systems without being aware of these systems’ specifications, easing the development of applications. Real-Time Operating Systems (RTOS) are operating systems designed for real-time management. RTOSs are used for critical systems for which a given functionality must be done within a given time interval. An RTOS must ensure that the worst-case execution time (WCET) of each task is respected. The ARINC-653 [1] is an avionic standard which defines a general-purpose APplication/EXecutive (APEX) interface (API) between the Core ON THE BENCHMARKING OF PARTITIONED REAL-TIME SYSTEMS - JULY 22, 2020 Software (CSW) of an Avionics Computer Resource (ACR) and the application software. ARINC-653 compliant RTOS extend the functionalities provided by regular RTOS enabling time and space isolation of applications. Assessing RTOS performances is performed either using intrusive methods or non-intrusivy methods. Intrusive assessment is usually precise, but requires access to all modules of the RTOS (i.e. source code). Performance metrics are directly read during execution time relying on defined points in the RTOS modules. Non-intrusive assessment is used when not all the modules are available (i.e. only the APIs are available, but not their implementation). In this scheme, the performance metrics are obtained using only API calls, collecting the metrics before and after their execution. The main advantage of intrusive assessment is the seamless access to specific points of the OS, while non-intrusive assessment eases the portability of tests, enabling the generalization of tests. Assessing WCET estimation can be done statically or dynamically [2]. For safety reasons, there is always a margin added to the estimated WCET. By providing a more precise WCET estimation, it is possible to reduce this margin, leading to more tasks being scheduled and improve the hardware resources usage. The determinism of execution time can be measured with its standard deviation. The smaller the standard deviation is, the more deterministic the system execution time is. The determinism is critical for real-time systems, since it can guarantee the timing behavior of a system. State-of-the-art RTOSs (i.e. VxWorks [3], PikeOS [4], Integrity178 [5]) are characterized by performance metrics showing their efficiency using in-house assessments. Although published results show precise metrics, it is a fairly difficult task for third-part users / developers to replicate these results in the context of their applications. To tackle this limitation, different solutions seek on providing standard benchmark frameworks, replicable by any provider or user. These enable a common point for different providers to assess their RTOS performances as well as compare with competitors. Nevertheless, ARINC-653 compliant RTOSs cannot profit from these benchmark frameworks, due to the special characteristics of ARINC-653 compliant RTOSs. ARINC-653 systems have time and space division and follow specific design recommendations, such flushing the entire cache memory for each partition switch , which differs them from general RTOSs. This document presents an open-source benchmark framework for ARINC-653 compliant RTOSs, called Straight- Forward Partitions-Aware Benchmark framework (SFPBench). Different classes of benchmark applications are developed in order to assess different metrics of the RTOS. The tests are organized as gray-box applications relying solely on standard ARINC-653 APEX interface. The benchmark seeks to be openly accessible and modifiable by the community, hosted on the public domain (i.e. github) [6]. The remainder of this document is organized as it follows. Next section presents an overview of the ARINC-653 standard, followed by Section 3, where the general organization of SFPBench and its applications is introduced. Section 4 illustrates the validation hardware structure as well as the system configuration parameters. Next, Section 5 presents the results obtained using SFPBench with an industrial RTOS. Finally, 6 concludes this documents and points to possible extentions of SFPBench functionalities. 2 Avionics systems and the ARINC-653 standard Former avionic systems relied on stand-alone architectures to deploy applications. The main motivation was due to security reasons, in a way to isolate each one of the components of the system on its own domain, without any interference between applications. In the beginning of the twenty-first century, avionics systems underwent the transition from federated, isolated, architectures to Integrated Modular Avionic (IMA) architectures [7]. The motivation was to reduce Size, Weight, and Power (SWaP) issues, which are common to most embedded systems. Figure 1 illustrates the difference between applications deployed with federated architectures and IMA. In a federated architecture, each application has its own hardware called a Line Replaceable Unit (LRU). LRUs can be seen as a set of interconnected boxes. The drawback of these easily replaceable hardware units is the cost of redundancy of hardware. This is one of the reasons IMA architectures are used today: one computing unit can be used to support multiple applications, allowing a hardware computing unit to be used by multiple applications, therefore the cost of redundancy is reduced. One of the most common standards being used by the avionic society is the ARINC-653 [1] standard. It is a standard for partitioned RTOS which gives specifications to ensure the isolation of applications. According to this standard, the partitioning must be done in space and in time. Space partitioning Each partition is isolated regarding hardware usage, such as memory space: each partition has a set of addresses in memory and it is the only one having the rights to access them. 2 ON THE BENCHMARKING OF PARTITIONED REAL-TIME SYSTEMS - JULY 22, 2020 Figure 1: Federated and IMA architectures comparison. Time partitioning The CPU time is divided in several time windows. Each time window is allocated to a partition. During one of its time windows, a partition is the only one executing on a CPU. All partitions are allocated time windows within a period of time called major time frame. The schedule is then repeated every major time frame. The standard also specifies services that the RTOS must offer. These services are called APEX services. APEX API The services offered by this API are the ones used to create the ARINC-653 partitions and perform synchronization and communication between them. An ARINC-653 partition can be composed of several ARINC-653 processes that share the partition’s context. An analogy with POSIX’s

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    11 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us