International Journal of Scientific & Technology Research

Home About Us Scope Editorial Board Contact Us

IJSTR >> Volume 4 - Issue 11, November 2015 Edition

International Journal of Scientific & Technology Research  
International Journal of Scientific & Technology Research

Website: http://www.ijstr.org

ISSN 2277-8616

Self-Organization And Self-Management In Control-Flow Error Mitigation

[Full Text]



Saber Fazel



Index Terms: control-flow checking, control-flow error recovery, mutithreaded program, multi-core processor, on-line testing, interprocess communication, backward error recovery.



Abstract: This paper presents a software-based technique to mitigate Control-flow Errors (CFEs) in multithreaded programs. In this paper, we concentrate on self-organization and self-management mitigation of control-flow error using additional instructions insertion into specific portions of multithreaded program at design time regarding to control-flow and data-flow dependency graphs. In order to evaluate the proposed technique, three multithreaded benchmarks quick sort, matrix multiplication and linked list 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. The results show that this technique detects and corrects between 91.9% and 93.8% of the injected faults with acceptable performance and memory overheads.



[1] M. Fazeli, R. Farivar and S. G. Miremadi, “Error Detection Enhancement in PowerPC Architecture-based Embedded Processors,” Journal of Electronic Testing: Theory and Applications, vol. 24, pp. 21-33, 2008.

[2] A. Roohi, R. F. DeMara, N. Khoshavi, “Design and Evaluation of an Ultra-Area-Efficient Fault-Tolerant QCA Full Adder,” Elsevier Journal of Microelectronics, pp. 531-542, 2015.

[3] MFL De Volder, SH Tawfick, RH Baughman, AJ Hart, “Carbon Nanotubes: Present and Future Commercial Applications,” American Association for the Advancement of Science, pp. 535-539, 2013.

[4] R. Venkatesan, M. Sharad, K. Roy, A. Raghunathan, “Energy-Efficient All-Spin Cache Hierarchy Using Shift-Based Writes and Multilevel Storage,” ACM Journal on Emerging Technologies in Computing Systems, 2015.

[5] A. Mohamed, M. Zulkernine, "A Control Flow Representation for Component-Based Software Reliability Analysis," IEEE Sixth International Conference on Software Security and Reliability, 2012.

[6] R. Ashraf, A. Al-Zahrani, N. Khoshavi, R. Zand, S. Salehi, A. Roohi, R. F. DeMara and M. Lin “Reactive Rejuvenation of CMOS Logic Paths using Self-Activating Voltage Domains,” IEEE International Symposium on Circuits and Systems, pp. 2944-2947, 2015.

[7] M. Saber Golanbari, S. Kiamehr, M. Ebrahimi, M. B. Tahoori, “Aging guardband reduction through selective flip-flop optimization,” 20th IEEE European Test Symposium, 2015.

[8] N. Khoshavi, R. A. Ashraf, and R. F. DeMara, “Applicability of Power-Gating Strategies for Aging Mitigation of CMOS Logic Paths,” IEEE 57th International Midwest Symposium on Circuits and Systems, pp. 929-932, 2014.

[9] N. Oh, P. Shirvani and E. J. McCluskey, “Control-Flow Checking by Software Signatures,” IEEE Transactions on Reliability, vol. 51, no. 2, pp. 111- 122, 2002.

[10] A. Mahmood and E. J. McCluskey, “Concurrent Error Detection Using Watchdog Processors-a survey,” IEEE Transactions on Computers, vol. 37, no. 2, pp. 160-174, 1988.

[11] N. Khoshavi, H. R. Zarandi, M. Maghsoudloo, “Control-Flow Error Detection Using Combining Basic and Program-Level Checking in Commodity Multi-core Architectures,” 6th IEEE Symposium on Industrial Embedded Systems (SIES’11), pp. 103-106, 2011.

[12] Z. Alkhalifa, V. S. S. Nair, N. Krishnamurthy and J. A. Abraham, “Design and Evaluation of System-level Checks for On-line Control Flow Error Detection,” IEEE Transactions on Parallel and Distributed Systems, vol. 10, no. 6, pp. 627-641, 1999.

[13] O. Goloubeva, M. Rebaudengo, M. R. Sonza and M. Violante, “Soft-error Detection Using Control Flow Assertion,” 18th IEEE International Symposium on Defect and Fault Tolerance in VLSI Systems, pp. 57-62, 2003.

[14] H. R. Zarandi, M. Maghsoudloo and N. Khoshavi, “Two Efficient Software Techniques to Detect and Correct Control-flow Errors,” 16th IEEE Pacific Rim International Symposium on Dependable Computing, pp. 141-148, 2010.

[15] M. Prvulovic, Z. Zhang and J. Torrellas, “ReVive: Cost Effective Architectural Support for Rollback Recovery in Shared Memory Multiprocessors,” 29th International Symposium on Computer Architecture, pp. 111-122, 2002.

[16] M. Maghsoudloo, H. R. Zarandi, S. Pourmozaffari, N. Khoshavi, "Soft Error Detection Technique in Multi-threaded Architectures Using Control-flow Monitoring," 14th EUROMICRO Conference on Digital System Design Architecture, Methods and Tools, pp. 789-792, 2011.

[17] K. Wu, W. K. Fuchs and J. H. Patel, “Error Recovery in Shared Memory Multiprocessors Using Private Cashes,” IEEE Transactions on Parallel and Distributes Systems, vol. 1, Issue 2, pp. 231-240, 1990.

[18] T. Lanfang, T. Ying, X. Jianjun, "CFEDR: Control-flow error detection and recovery using encoded signatures monitoring," IEEE International Symposium on Defect and Fault Tolerance in VLSI and Nanotechnology Systems, 2013.

[19] R. Vemu and J. A. Abraham, “CEDA: Control-flow Error Detection through Assertions,” 12th IEEE International On-Line Testing Symposium, July, pp. 151–158, 2006.

[20] I. Majzik, W. Hohl, A. Patericza and V. Sieh, “Multiprocessor Checking Using Watchdog Processors,” Journal of Computer Systems - Science & Engineering, vol. 11, No. 5, pp 123-132, 1996.

[21] M. Maghsoudloo, H. R. Zarandi, N. Khoshavi, “Low-Cost Software-Implemented Error Detection Technique,” 3rd International Symposium on Electronic System Design, India, 2011.

[22] A. Rajabzadeh and S. G. Miremadi, "CFCET: A Hardware-Based Control Flow Checking Technique in COTS Processors Using Execution Tracing," Elsevier Journal of Microelectronics and Reliability, vol. 46, pp. 959-972, 2006.

[23] A Paya, D Marinescu“Energy-aware Load Balancing and Application Scaling for the Cloud Ecosystem,”IEEE Transactions on Cloud Computing, DOI 10.1109/TCC.2015.2396059.

[24] A. Rajabzadeh, S. G. Miremadi and M. Mohandespour, “Error Detection Enhancement in COTS Superscalar Processors with Performance Monitoring Features,” Journal of Electronic Testing: Theory and Applications, vol. 20, pp. 553-567, 2004.

[25] N. Khoshavi, H. R. Zarandi, M. Maghsoudloo, "Control-Flow Error Recovery Using Commodity Multi-core Architecture Features," 17th IEEE International On-Line Testing Symposium, pp. 190-191, 2011.

[26] P. Bernardi, L. V. Bolzani, M. Rebaudengo, M. S. Reorda, F. Vargas and M. Violante, “On-line Detection of Control-Flow Errors in SoCs by means of an Infrastructure IP core,” 35th International Conference on Dependable Systems and Networks, pp. 50-58, 2005.

[27] M. Maghsoudloo, N. Khoshavi, H. R. Zarandi, “CCDA: Correcting Control-flow and Data Errors Automatically,” 15th International Symposium on Computer Architecture and Digital Systems, pp. 105-110, 2010.

[28] R. Vemu, S. Gurumurthy and J. A. Abraham, “ACCE: Automatic Correction of Control-flow Errors,” IEEE International Test Conference, pp. 1-10, 2007.

[29] A Paya, DC Marinescu,“Energy-aware Load Balancing Policies for the Cloud Ecosystem,”IEEE 28th International Parallel & Distributed Processing Symposium Workshops, pp. 823-832.

[30] N. Khoshavi, H. R. Zarandi, M. Maghsoudloo, “Two Control-flow Error Recovery Methods for multithreaded Programs Running on Multi-core Processors”, FactaUniversitatis, Series: Electronics and Energetics, 2015.

[31] A. Maheshwari, W. Burleson and R. Tessier, “Trading Off Transient Fault-tolerance and Power Consumption in Deep Submicron VLSI Circuits,” IEEE Transactions on VLSI Systems, vol. 12, no. 3, pp. 299-311, 2004.

[32] S. K. Gupta, R. K. Chauhan and P. Kumar, “Backward Error Recovery Protocols in Distributed Mobile System: A Survey,” Journal of Theoretical and Applied Information Technology, pp. 337-347, 2008.

[33] M. Maghsoudloo, H. R. Zarandi, N. Khoshavi "On-line Control-flow Error Detection and Correction based on Monitoring Both Data-flow and Control-flow Graphs,” The CSI Journal on Computer Science and Engineering, vol. 10, no. 2 & 4 (b), pp. 10-19, 2012.

[34] J. Ohlsson, M. Rimen and U. Gunneflo, “A Study of the Effects of Transient Fault Injection Into a 32-bit Risc with Built-in Watchdog,” 22nd International Symposium on Fault Tolerant Computing, pp. 316-325, 1992.

[35] K. Nepar, N. Alves, J. Dworak and R. I. Bahar, “Using Implications for Online Error Detection,” IEEE International Test Conference, pp. 1-10, 2008.

[36] A. Li and B. Hong, “On-line Control Flow Error Detection using Relationship Signatures among Basic Blocks,” Journal of Computers and Electrical Engineering, pp. 132-141, 2010.

[37] N. Khoshavi, H. R. Zarandi, M. Maghsoudloo, “Two Control-flow Error Recovery Methods for Multithreaded Programs Running on Multi-core Processors,” 28th International Conference on Microelectronics (MIEL’12), Serbia, 2012.

[38] R. Vemu, A. Jas, J. A. Abraham and S. Patil, “A Low-cost Concurrent Error Detection Technique for Processor Control Logic,” Proceedings of Design, Automation and Test in Europe, pp. 897-902, 2008.

[39] DC Marinescu, A Paya, JP Morrison, P Healy “Distributed Hierarchical Control versus an Economic Model for Cloud Resource Management,”IEEE Transactions on Cloud Computing, 2015.

[40] M. Maghsoudloo, H. R. Zarandi, N. Khoshavi “An Efficient Adaptive Software-Implemented Technique to Detect Control-Flow Errors in Multi-Core Architectures,” Elsevier Journal of Microelectronics Reliability, vol. 52, Issue 11, pp. 2812-2828, 2012.

[41] N. S. Bowen and D. K. Pradhan, “Virtual Checkpoints: Architecture and Performance,” IEEE Transactions on Computers, vol. 41, no. 5, pp. 516-525, 1992.

[42] http://www.gnu.org/software/gdb/

[43] P Healy, S Meyer, J Morrison, T Lynn, A Paya, DC Marinescu“Bid-Centric Cloud Service Provisioning,”IEEE 13th International Symposium on Parallel and Distributed Computing, pp. 73-81.

[44] A Paya, DC Marinescu“Cloud-based Simulation of a Smart Power Grid,”IEEE 28th International Parallel & Distributed Processing Symposium Workshops, pp. 875-884.