1 / 24

Understanding Software Approaches for GPGPU Reliability

This paper explores software-only approaches for improving the reliability of GPUs, including redundant computations and hardware support, with a focus on soft and hard errors.

uchida
Download Presentation

Understanding Software Approaches for GPGPU Reliability

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Understanding Software Approaches for GPGPU Reliability • Martin Dimitrov* Mike Mantor† Huiyang Zhou* • *University of Central Florida, Orlando • †AMD, Orlando University of Central Florida

  2. Motivation • Soft-error rates are predicted to grow exponentially in future process generations. Hard errors are gaining importance. • Current GPUs do not provide hardware support for detecting soft or hard errors. • Near future GPUs are not likely to address these reliabilitychallenges, because GPU design are still largely driven by video games market. University of Central Florida

  3. Our Contributions • Propose and evaluate three different software-only approaches for providing redundant computations on GPUs • R-Naïve • R-Scatter • R-Thread • Evaluate the tradeoffs of some additional hardware support (parity protection in memory) to our software approaches University of Central Florida

  4. Presentation Outline • Motivation • Our Contributions • Background on GPU architectures • Proposed Software Redundancy Approaches • R-Naïve • R-Scatter • R-Thread • Experimental Methodology • Experimental Results • Conclusions University of Central Florida

  5. GPU ArchitecturesNVIDIA G80 • 16 Compute units • 8 streaming processors • 8K-entry reg. file • 16kB shared memory • 8kB constant memory • Huge number of threads can be assigned to a compute unit, up to 512 (8k registers/ 512 threads = 16 registers per thread) • Threads are scheduled in “warps” of 32 Compute Unit 8 kB Constant Memory 16 kB Shared Memory 32 kB Register File SP SP SP SP SP SP SP SP University of Central Florida

  6. GPU ArchitecturesATI R670 • 4 Compute units (CU) • 80 streaming processors/CU • 256kB register file/CU • Thread are organized in wavefronts (similar to warps) • Instructions are grouped into VLIW words of 5 Stream Processing Units Branch Unit SP SP SP SP SP Registers University of Central Florida Compute Unit

  7. Proposed Software Redundancy Approaches • Our goal is to provide 100% redundancy on the GPU. • Duplicate memcopy CPU-GPU-CPU (spatial redundancy for GPU memory). • Duplicate kernel executions (temporal redundancy for computational logic and communication links) University of Central Florida

  8. Proposed Software Redundancy ApproachesR-Naive University of Central Florida

  9. Proposed Software Redundancy ApproachesR-Naive • Hard-error: it is desirable for the original and redundant input/output streams to use different communication links and compute cores. • Solutions • For some applications this can be achieved at the application level by rearranging the input data. • For other applications it is desirable to have a software controllable interface to assign the hardware resources. University of Central Florida

  10. Proposed Software Redundancy ApproachesR-Naive • Advantages/Disadvantages of using R-Naive: • Easy to implement • Predictable performance • 100% performance overhead University of Central Florida

  11. Proposed Software Redundancy ApproachesR-Scatter • Take advantage of unused instruction level-parallelism. Original Redundant Operation Each VLIW instruction is mapped to a stream processing unit Original vs. R-Scatter VLIW instruction schedules University of Central Florida

  12. Proposed Software Redundancy ApproachesR-Scatter An error to “i” will affect both the original and redundant computation. The redundant operations are inherently independent. (7 VLIW words) (11 VLIW words) University of Central Florida

  13. Proposed Software Redundancy ApproachesR-Scatter • Advantages/Disadvantages of using R-Scatter: • Better utilized VLIW schedules • Reused instructions (such as the for-loop) • Overlapped memory accesses • Extra registers or shared memory used per kernel may affect thread-level parallelism University of Central Florida

  14. Proposed Software Redundancy ApproachesR-Thread • Take advantage of unused thread level-parallelism (unused compute units) • Allocate double the number of thread-blocks. The extra thread blocks perform redundant computations. University of Central Florida

  15. Proposed Software Redundancy ApproachesR-Thread • Advantages/Disadvantages of using R-Thread: • Easy to implement • May result in performance improvement if there is not enough thread-level parallelism • 100% performance overhead if enough thread-level parallelism is present. University of Central Florida

  16. Hardware Support for Error Detection in Off-Chip and On-Chip Memories • Protecting Off-Chip global memory • Benefits all proposed approaches • Eliminates the need for a redundant CPU-GPU transfer • Protecting On-Chip caches, shared memory • Benefits R-Scatter on the G80 • Required for R670 to obtain benefit of protecting off-chip memory due to implicit caching • Results are compared on the CPU, thus we still need the redundant memory transfer GPU-CPU University of Central Florida

  17. Experimental MethodologyMachine Setup • Brook+ Experiments • Brook+ 1.0 Alpha, Windows XP • 2.4 GHz Intel Core2 Quad CPU, 3.25 Gbytes of RAM • ATI R670 card with 512 MB memory • CUDA Experiments • CUDA SDK 1.1, Fedora 8 Linux • 2.3 GHz Quad core Intel Xeon , 2GByte of RAM • NVIDIA GTX 8800 card with 768 MB memory • Both machines have PCIe x16 to provide 3.2 GB/s bandwidth between GPU and CPU. University of Central Florida

  18. Experimental MethodologyEvaluated Applications University of Central Florida

  19. Experimental ResultsR-Naive Some applications have no benefit from hardware protection of Off-Chip memory Consistently 2x the original execution time. Hardware support for Off-Chip memory protection results in 5%-7% performance gains. Memory transfer from GPU to CPU is slower than CPU to GPU. University of Central Florida

  20. Experimental ResultsR-Scatter on R670 • Applications with compacted schedules generally see benefit from R-Scatter (FFT, Bitonic Sort) • Some applications are still dominated by memory transfer time (Convolution, Black Scholes) • On average R-Scatter is 195% of the original execution time ( 185% with hardware memory protection) University of Central Florida

  21. Experimental ResultsR-Thread on G80 • Performance overhead uniformly close to 100% due to enough thread-level parallelism our benchmarks. • When the input size is reduced (exposing some thread-level parallelism) there are clear benefits. University of Central Florida

  22. Conclusions • We proposed three software redundancy approaches with different trade-offs. • Compiler analysis should be able to utilize some of the unused resources and provide reliability automatically • We conclude that for our current software approaches, hardware support provides very limited benefit. University of Central Florida

  23. Questions University of Central Florida

  24. Experimental ResultsR-Scatter University of Central Florida

More Related