Back to Search Start Over

Synthesis of Parallel Synchronous Software

Authors :
Pantea Kiaei
Patrick Schaumont
Source :
IEEE Embedded Systems Letters. 13:17-20
Publication Year :
2021
Publisher :
Institute of Electrical and Electronics Engineers (IEEE), 2021.

Abstract

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.<br />Comment: Accepted in IEEE Embedded Systems Letters

Details

ISSN :
19430671 and 19430663
Volume :
13
Database :
OpenAIRE
Journal :
IEEE Embedded Systems Letters
Accession number :
edsair.doi.dedup.....006e2a590f06d2ed1421f72402b6cd22
Full Text :
https://doi.org/10.1109/les.2020.2992051