• 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