Synthesis of Parallel Synchronous Software

05/06/2020
by   Pantea Kiaei, et al.
0

In typical embedded applications, the precise execution time of the program does not matter, and it is sufficient to meet a real-time deadline. However, modern applications in information security have become much more time-sensitive, due to the risk of timing side-channel leakage. The timing of such programs needs to be data-independent and precise. We describe a parallel synchronous software model, which executes as N parallel threads on a processor with word-length N. Each thread is a single-bit synchronous machine with precise, contention-free timing, while each of the N threads still executes as an independent machine. The resulting software supports fine-grained parallel execution. In contrast to earlier work to obtain precise and repeatable timing in software, our solution does not require modifications to the processor architecture nor specialized instruction scheduling techniques. In addition, all threads run in parallel and without contention, which eliminates the problem of thread scheduling. We use hardware (HDL) semantics to describe a thread as a single-bit synchronous machine. Using logic synthesis and code generation, we derive a parallel synchronous implementation of this design. We illustrate the synchronous parallel programming model with practical examples from cryptography and other applications with precise timing requirements.

READ FULL TEXT
research
12/14/2017

A Brief Overview of the KTA WCET Tool

KTA (KTH's timing analyzer) is a research tool for performing timing ana...
research
03/10/2017

Ozone: Efficient Execution with Zero Timing Leakage for Modern Microarchitectures

Time variation during program execution can leak sensitive information. ...
research
01/25/2021

RTGPU: Real-Time GPU Scheduling of Hard Deadline Parallel Tasks with Fine-Grain Utilization

Many emerging cyber-physical systems, such as autonomous vehicles and ro...
research
09/09/2021

An Effective Parallel Program Debugging Approach Based on Timing Annotation

We propose an effective parallel program debugging approach based on the...
research
04/27/2023

Timing Analysis of Embedded Software Updates

We present RETA (Relative Timing Analysis), a differential timing analys...
research
11/04/2019

SpecuSym: Speculative Symbolic Execution for Cache Timing Leak Detection

CPU cache is limited but crucial storage on modern processor whereas the...
research
03/20/2023

Real-Time Parallel Programming: State of Play and Open Issues

Real-time systems applications usually consist of a set of concurrent ac...

Please sign up or login with your details

Forgot password? Click here to reset