Font Size: a A A

Compiler Techniques for High Performance Computing, Energy Efficiency, and Resilience

Posted on:2015-10-23Degree:Ph.DType:Dissertation
University:The Ohio State UniversityCandidate:Tavarageri, SanketFull Text:PDF
GTID:1478390020951960Subject:Computer Science
Abstract/Summary:
The technology trends have brought parallel computers --- multi-core and many-core processors to the mainstream. Parallel computing presents formidable challenges for compilers from performance and energy view-points: how to generate codes that achieve portable high performance on different processor architectures; how to support cache coherence for parallel processors at a reasonable hardware and energy cost etc. This dissertation develops solutions to both of the aforementioned questions --- we propose novel adaptive tiling algorithms that enable dynamic change of tile sizes so that software can be adapted to different execution environments by altering tile sizes. Compiler techniques are developed for software cache coherence in order that expensive hardware cache coherence methods can be replaced or simplified to reduce energy and hardware expenditure associated with the task of providing cache coherence.;The technology scaling has improved processor performance at a much faster rate than memory performance. As a result, current processor architectures incorporate large cache memories in an attempt to bridge the gap between computing and memory-access speeds (cache memories can fetch reused data much faster compared to main memory). This dissertation presents compiler techniques to tackle leakage (static) energy problem in cache memories. Compiler algorithms presented analyze data reuse pattern in application codes and derive the amount of cache that has to be kept on to not affect performance. The excessive cache capacity can be turned off to save leakage energy.;The smaller technology feature sizes make hardware susceptible to transient faults. The implication for memory subsystem (including cache memories, main memory and datapath) is that high-energy particle strikes may cause bit-flips and hence, affect correctness of program results. In this dissertation, a compiler approach to introduce checksum computations in the application program is developed to detect memory errors. The techniques are light-weight in terms of performance and memory bandwidth requirements.;In sum, the dissertation makes contributions to advance compiler technology to achieve high-performance for parallel applications, to reduce energy costs, and to effectively address transient hardware errors.
Keywords/Search Tags:Performance, Energy, Compiler, Computing, Parallel, Technology, Hardware, Cache
Related items