High criticality space systems frequently have real-time requirements. Therefore, it is important to be able to compute the Worst Case Execution Time (WCET) of its software. However, with the complexity of modern processor architectures, it is very difficult to compute the WCET with traditional methods, such as static timing analysis or measurement based solutions. Recently, a novel timing analysis method was introduced, known as Measurement Based Probabilistic Timing Analysis (MBPTA). A unique characteristic of MBPTA compared to traditional methods is that it produces a Probabilistic WCET (pWCET) which instead of a single overestimated value is a curve that associates execution times with probabilities which can reach arbitrary low values (e.g. \(10^{-14}\) ). MBPTA simplifies the estimation of pWCET by simply requiring the collection of execution times which are independent and identically distributed (i.i.d.). However, this property is not satisfied in conventional hardware and software systems. Special hardware designs have been proposed which provide hardware-based time-randomisation, including a probabilistic version of Cobham Gaisler’s LEON3 as well as software solutions in the form of software randomisation. However, existing software randomisation methods only support CPUs, are very restrictive (i.e. support only ANSI C) and more importantly are not open source. This limits significantly the applicability of these methods in space, although ESA has supported in the past activities related to MBPTA hardware and software (P4S-PROARTIS for Space and EFL-Eviction Frequency Limitation). In this ESA-funded project, we implement an open source, qualifiable software randomisation tool which will be able to software randomise code for CPUs, including multicores as well as GPUs, which to our knowledge are not amenable to any WCET solution.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Open Source Software Randomisation Framework for Probabilistic WCET Prediction on Multicore CPUs, GPUs and Accelerators

  • Leonidas Kosmidis,
  • Matina Maria Trompouki,
  • Pau López Castillón,
  • Eric Rufart Blasco,
  • Javier Fernandez Salgado,
  • Andreas Jung

摘要

High criticality space systems frequently have real-time requirements. Therefore, it is important to be able to compute the Worst Case Execution Time (WCET) of its software. However, with the complexity of modern processor architectures, it is very difficult to compute the WCET with traditional methods, such as static timing analysis or measurement based solutions. Recently, a novel timing analysis method was introduced, known as Measurement Based Probabilistic Timing Analysis (MBPTA). A unique characteristic of MBPTA compared to traditional methods is that it produces a Probabilistic WCET (pWCET) which instead of a single overestimated value is a curve that associates execution times with probabilities which can reach arbitrary low values (e.g. \(10^{-14}\) ). MBPTA simplifies the estimation of pWCET by simply requiring the collection of execution times which are independent and identically distributed (i.i.d.). However, this property is not satisfied in conventional hardware and software systems. Special hardware designs have been proposed which provide hardware-based time-randomisation, including a probabilistic version of Cobham Gaisler’s LEON3 as well as software solutions in the form of software randomisation. However, existing software randomisation methods only support CPUs, are very restrictive (i.e. support only ANSI C) and more importantly are not open source. This limits significantly the applicability of these methods in space, although ESA has supported in the past activities related to MBPTA hardware and software (P4S-PROARTIS for Space and EFL-Eviction Frequency Limitation). In this ESA-funded project, we implement an open source, qualifiable software randomisation tool which will be able to software randomise code for CPUs, including multicores as well as GPUs, which to our knowledge are not amenable to any WCET solution.