{"title":"在铁路控制领域的安全关键平台上用C语言进行异步编程","authors":"O. M. Duarte, R. Hametner","doi":"10.1109/ETFA.2017.8247589","DOIUrl":null,"url":null,"abstract":"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.","PeriodicalId":6522,"journal":{"name":"2017 22nd IEEE International Conference on Emerging Technologies and Factory Automation (ETFA)","volume":"37 1","pages":"1-8"},"PeriodicalIF":0.0000,"publicationDate":"2017-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Asynchronous programming with futures in C on a safety-critical platform in the railway-control domain\",\"authors\":\"O. M. Duarte, R. Hametner\",\"doi\":\"10.1109/ETFA.2017.8247589\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"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.\",\"PeriodicalId\":6522,\"journal\":{\"name\":\"2017 22nd IEEE International Conference on Emerging Technologies and Factory Automation (ETFA)\",\"volume\":\"37 1\",\"pages\":\"1-8\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2017-09-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2017 22nd IEEE International Conference on Emerging Technologies and Factory Automation (ETFA)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ETFA.2017.8247589\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2017 22nd IEEE International Conference on Emerging Technologies and Factory Automation (ETFA)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ETFA.2017.8247589","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Asynchronous programming with futures in C on a safety-critical platform in the railway-control domain
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.