skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: Towards Resiliency Evaluation of Vector Programs

Abstract

The systems resilience research community has developed methods to manually insert additional source-program level assertions to trap errors, and also devised tools to conduct fault injection studies for scalar program codes. In this work, we contribute the first vector oriented LLVM-level fault injector VULFI to help study the effects of faults in vector architectures that are of growing importance, especially for vectorizing loops. Using VULFI, we conduct a resiliency study of nine real-world vector benchmarks using Intel’s AVX and SSE extensions as the target vector instruction sets, and offer the first reported understanding of how faults affect vector instruction sets. We take this work further toward automating the insertion of resilience assertions during compilation. This is based on our observation that during intermediate (e.g., LLVM-level) code generation to handle full and partial vectorization, modern compilers exploit (and explicate in their code-documentation) critical invariants. These invariants are turned into error-checking code. We confirm the efficacy of these automatically inserted low-overhead error detectors for vectorized for-loops.

Authors:
; ;
Publication Date:
Research Org.:
Pacific Northwest National Lab. (PNNL), Richland, WA (United States)
Sponsoring Org.:
USDOE
OSTI Identifier:
1355121
Report Number(s):
PNNL-SA-117059
KJ0402000
DOE Contract Number:
AC05-76RL01830
Resource Type:
Conference
Resource Relation:
Conference: IEEE International Parallel and Distributed Processing Symposium Workshops, May 23-27, 2016, Chicago,Illinois
Country of Publication:
United States
Language:
English
Subject:
resilience; vector programs; fault injection

Citation Formats

Sharma, Vishal C., Gopalakrishnan, Ganesh, and Krishnamoorthy, Sriram. Towards Resiliency Evaluation of Vector Programs. United States: N. p., 2016. Web. doi:10.1109/IPDPSW.2016.187.
Sharma, Vishal C., Gopalakrishnan, Ganesh, & Krishnamoorthy, Sriram. Towards Resiliency Evaluation of Vector Programs. United States. doi:10.1109/IPDPSW.2016.187.
Sharma, Vishal C., Gopalakrishnan, Ganesh, and Krishnamoorthy, Sriram. Thu . "Towards Resiliency Evaluation of Vector Programs". United States. doi:10.1109/IPDPSW.2016.187.
@article{osti_1355121,
title = {Towards Resiliency Evaluation of Vector Programs},
author = {Sharma, Vishal C. and Gopalakrishnan, Ganesh and Krishnamoorthy, Sriram},
abstractNote = {The systems resilience research community has developed methods to manually insert additional source-program level assertions to trap errors, and also devised tools to conduct fault injection studies for scalar program codes. In this work, we contribute the first vector oriented LLVM-level fault injector VULFI to help study the effects of faults in vector architectures that are of growing importance, especially for vectorizing loops. Using VULFI, we conduct a resiliency study of nine real-world vector benchmarks using Intel’s AVX and SSE extensions as the target vector instruction sets, and offer the first reported understanding of how faults affect vector instruction sets. We take this work further toward automating the insertion of resilience assertions during compilation. This is based on our observation that during intermediate (e.g., LLVM-level) code generation to handle full and partial vectorization, modern compilers exploit (and explicate in their code-documentation) critical invariants. These invariants are turned into error-checking code. We confirm the efficacy of these automatically inserted low-overhead error detectors for vectorized for-loops.},
doi = {10.1109/IPDPSW.2016.187},
journal = {},
number = ,
volume = ,
place = {United States},
year = {Thu Aug 04 00:00:00 EDT 2016},
month = {Thu Aug 04 00:00:00 EDT 2016}
}

Conference:
Other availability
Please see Document Availability for additional information on obtaining the full-text document. Library patrons may search WorldCat to identify libraries that hold this conference proceeding.

Save / Share:
  • Automating the writing of efficient computer programs from an abstract specification of the computation that they are to perform is discussed. Advantages offered by automatic synthesis of programs include economy, reliability, and improved service. The synthesis of simple linear algebra programs is considered in general and then illustrated for the usual matrix product, a column-oriented matrix product, a rank-one update matrix product, and a program to multiply three matrices. The accumulation of inner products and transformational implementation of program synthesis addressed. The discussion attempts to illustrate both the general strategy of the syntheses and how various tactics can be adaptedmore » to make the syntheses proceed deterministically to programs that are optimal with respect to certain criteria. (RWR)« less
  • This volume contains 131 papers on waste management. Topics include waste processing, transportation, storage and disposal as well as technical programs and public education. Individual papers will be indexed and entered on the database separately. (KJD)
  • A set of formatting conventions is discussed which can be used in an ordinary executable FORTRAN program to display the structure of its control flow and thereby make it easy to understand and maintain. The requirement for consistency and simplicity is emphasized. (RWR)
  • A portable set of linear algebra subprograms for use on a vector computer with an attached fast secondary storage device has been developed. The set currently contains routines for matrix multiplication and for the solution of block tridiagonal, symmetric and positive definite, and general systems of linear equations. Main matrices are stored on the external device in blocked form, and block matrix techniques are used throughout. Performance data are presented which demonstrate that the speed of the routines approaches that of routines with all data in main memory and is close to the maximum speed of the processor.
  • The pursuit of computational efficiency has led to the proliferation of throughput-oriented hardware, from GPUs to increasingly-wide vector units on commodity processors and accelerators. This hardware is designed to efficiently execute data-parallel computations in a vectorized manner. However, many algorithms are more naturally expressed as divide-and-conquer, recursive, task-parallel computations; in the absence of data parallelism, it seems that such algorithms are not well-suited to throughput-oriented architectures. This paper presents a set of novel code transformations that expose the data-parallelism latent in recursive, task-parallel programs. These transformations facilitate straightforward vectorization of task-parallel programs on commodity hardware. We also present scheduling policiesmore » that maintain high utilization of vector resources while limiting space usage. Across several task-parallel benchmarks, we demonstrate both efficient vector resource utilization and substantial speedup on chips using Intel's SSE4.2 vector units as well as accelerators using Intel's AVX512 units.« less