Authors: Mohammad Reza Heidari Iman; Pejman Yaghmaie
Addresses: Faculty of Engineering, Ferdowsi University of Mashhad, Mashhad, Iran ' Faculty of Engineering, Tarbiat Modares University, Tehran, Iran
Abstract: Multi-core processors can benefit performance, power consumption and level of parallelism, which is the primary reason why they are employed in safety-critical embedded systems. Nowadays the use of safety-critical multi-core embedded systems in different industries is growing significantly. In these systems, an error may result in a severe failure which can lead to disaster. In order to prevent such failure, the fault tolerance of the systems should be improved. Some of the important errors, which can cause failures, are the control flow errors changing the execution flow of a multi-core program and eventually leading to core failure. To detect them, different control flow checking techniques have been proposed, almost all of which have so far aimed to detect errors in single-core processors. In this paper, a software control flow checking technique in multi-core processors, called SCFC-MC, has been proposed wherein, in addition to executing the program, each thread monitors the execution flow of another thread, thereby eliminating every single point of failure. Experimental results show that applying SCFC-MC to a quad-core processor [Intel(R) Core(TM) i7-4710HQ] results in the detection of about 95% of control flow errors with less than 20% performance overhead.
Keywords: fault tolerance; multi-core processors; control flow errors; CFEs; software control flow checking techniques; SCFC-MC technique; safety-critical embedded systems.
International Journal of Embedded Systems, 2020 Vol.13 No.2, pp.136 - 147
Accepted: 10 Apr 2019
Published online: 11 May 2020 *