Asynchronous programming with futures in C on a safety-critical platform in the railway-control domain

Oscar Medina Duarte, Reinhard Hametner · 2017

Programming parallel applications on replicated architectures in the safety-critical field is challenging due to the inherent non-determinism of the derived applications. This paper describes the concept of asynchronous programming with futures in C under a safety-critical platform used in the transport automation industry. A C language extension named Fresera and a Fresera-like runtime library implemented in C are presented. Our goal is to simplify the development of parallel applications with replica-deterministic guarantees. An overview of a transport automation platform in the railway control domain is given which relies on Triple Modular Redundancy (TMR) for fault tolerance. An example application written in a Fresera-like runtime library in C is used as a demonstration of the presented programming model. Early benchmarks of the runtime library exhibit an improved performance when using a lightweight tasks and a Work Stealing scheduler compared with a plain pthreads implementation.

Read the paper · More papers on PaperTik