Predictable Multithreading of Embedded Applications Using PRET-C

Abstract : We propose a new language called Precision Timed C (PRET-C), for predictable and lightweight multithreading in C. PRET-C supports synchronous concurrency, preemption, and a high-level construct for logical time. In contrast to existing synchronous languages, PRET-C offers C-based shared memory communications between concurrent threads that is guaranteed to be thread safe. Due to the proposed synchronous semantics, the mapping of logical time to physical time can be achieved much more easily than with plain C, thanks to a Worst Case Reaction Time (WCRT) analyzer (not presented here). Associated to the PRET-C programming language, we present a dedicated target architecture, called ARPRET, which combines a hardware accelerator associated to an existing softcore processor. This allows us to improve the throughput while preserving the predictability. With extensive benchmarking, we then demonstrate that ARPRET not only achieves completely predictable execution of PRET-C programs, but also improves the throughput when compared to the pure software execution of PRET-C. The PRET-C software approach is also significantly more efficient in comparison to two other light-weight concurrent C variants (namely SC and Protothreads), as well as the well-known Esterel synchronous programming language.
Liste complète des métadonnées

Cited literature [19 references]  Display  Hide  Download
Contributor : Alain Girault <>
Submitted on : Friday, February 8, 2013 - 2:52:07 PM
Last modification on : Thursday, October 11, 2018 - 8:48:03 AM
Document(s) archivé(s) le : Monday, June 17, 2013 - 8:20:38 PM


Files produced by the author(s)




Sidharta Andalam, Partha Roop, Alain Girault. Predictable Multithreading of Embedded Applications Using PRET-C. International Conference on Formal Methods and Models for Codesign, MEMOCODE'10, Jul 2010, Grenoble, France. pp.159-168, ⟨10.1109/MEMCOD.2010.5558636⟩. ⟨hal-00786378⟩



Record views


Files downloads