DocumentCode :
2384686
Title :
Two control-flow error recovery methods for multithreaded programs running on multi-core processors
Author :
Khoshavi, N. ; Zarandi, H.R. ; Maghsoudloo, M.
Author_Institution :
Dept. of Comput. Eng. & Inf. Technol., Amirkabir Univ. of Technol., Tehran, Iran
fYear :
2012
fDate :
13-16 May 2012
Firstpage :
371
Lastpage :
374
Abstract :
In this paper we consider two software-based control-flow error recovery methods with a rollback recovery mechanism for using in multithreaded architectures. Disregarding to thread interactions between different threads by previous CFE recovery techniques caused these methods not be suitable in multithreaded architectures. Furthermore, the high memory and performance overheads of these techniques may be problematic for real-time embedded systems which have tight memory and performance budget. Therefore, regarding to the importance of handling the CFE, unsuitability of the conventional related techniques to be utilized in the modern processors and high memory and performance overheads of previous CFE recovery techniques, two low-cost control-flow error recovery techniques, CFE Recovery using Data-flow graph Consideration (CRDC) and CFE Recovery using Macro block-level Check pointing (CRMC), are presented in this paper. The proposed recovery techniques are composed of two phases of control-flow error detection and control-flow error recovery. These phases are achieved through inserting additional instructions into program at compile time regarding to dependency graph. This graph is extracted to model control-flow and data dependencies among basic blocks and thread interactions between different threads of a program. In order to evaluate the proposed techniques, five multithreaded benchmarks Quick Sort, Matrix Multiplication, Bubble Sort, Linked List and Fast Fourier Transform utilized to run on a multi-core processor, and a total of 5000 transient faults has been injected into several executable points of each program. Fault injection experiments show that tolerable performance and memory overheads with noticeable error recovery coverage can be achieved via proposed techniques.
Keywords :
checkpointing; data flow graphs; embedded systems; fast Fourier transforms; matrix multiplication; multi-threading; multiprocessing systems; CFE recovery techniques; CRDC; bubble sort; control-flow error detection; data-flow graph consideration; dependency graph; fast Fourier transform; fault injection; linked list; macroblock-level check pointing; matrix multiplication; memory overheads; multicore processors; multithreaded architectures; multithreaded benchmarks quick sort; multithreaded programs; performance budget; real-time embedded systems; rollback recovery mechanism; software-based control-flow error recovery methods; transient faults; Circuit faults; Instruction sets; Message systems; Multicore processing; Testing; Transient analysis;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Microelectronics (MIEL), 2012 28th International Conference on
Conference_Location :
Nis
ISSN :
pending
Print_ISBN :
978-1-4673-0237-1
Type :
conf
DOI :
10.1109/MIEL.2012.6222877
Filename :
6222877
Link To Document :
بازگشت