Application Robustification
University Of Illinois At Urbana-Champaign, Urbana IL
Investigators
Abstract
All of computing today relies on an abstraction where software expects the hardware to behave flawlessly for all inputs under all conditions. However, for emerging circuits/devices, the cost of maintaining the abstraction of flawless hardware will be prohibitive due to variations and we may need to rethink the correctness contract between hardware and software. The primary focus of the project is application robustification ? fundamental algorithmic methodologies to transform arbitrary applications such that they can continue to make forward progress in spite of errors produced by the hardware. In this project, our preliminary research effort is focused on a) techniques to convert different classes of application kernels into robust, efficiently solvable stochastic optimization problems that can tolerate hardware errors, b) techniques based on Krylov subspace methods, gradient projection, quasi-Newton approaches, stochastic approximation theory-based approaches, preconditioning techniques, and intelligent step sizing to reduce the cost of robustness for different forms of hardware variations, and c) low overhead checksum-based techniques robustifying sparse linear algebra libraries and graph algorithms. Broader impact of this project includes development of a potentially promising approach to ride Moore's Law and training students in both the hardware and software aspects of computing in face of errors. Broader education will also be achieved through research artifacts (e.g., library of error tolerant kernels) that will be made available for research and education.
View original record on NSF Award Search →