SwapCodes: Error Codes for Hardware-Software Cooperative GPU Pipeline Error Detection

SwapCodes: Error Codes for Hardware-Software Cooperative GPU Pipeline Error Detection
复制标题

SwapCodes:软硬件协同 GPU 管道错误检测的错误代码

DOI:
--
复制
发表时间:
2018
期刊:
Micro
影响因子:
--
通讯作者:
S. Keckler
S. Keckler
中科院分区:
--
文献类型:
--
作者:
Michael B. Sullivan;S. Hari;B. Zimmer;Timothy Tsai;S. Keckler

文献摘要

被引文献

相似文献

线程内指令复制为数据密集型处理器提供了简单有效的流水线错误检测。然而,软件强制指令复制使用显式检查指令,大致使程序寄存器使用量翻倍,并使每个线程的算术运算计数翻倍,这可能会导致严重的速度减慢。本文研究了一种软硬件协同机制SwapCodes,用于加速GPU中的线程内复制。SwapCodes利用寄存器堆ECC硬件来检测流水线错误,而不牺牲ECC检测和纠正存储错误的能力。通过在每次寄存器读取时隐式检查流水线错误,SwapCodes避免了指令检查的开销,而无需添加新的硬件错误检查器或缓冲区。我们描述了一系列SwapCodes实现,它们以不同的复杂性以及错误检测和纠正之间的权衡,成功地消除了线程内复制中低效的根源。我们应用SwapCodes来保护基于GPU的处理器免受流水线错误的影响,并展示了它能够检测到99.3%以上的流水线错误,同时相对于软件强制复制提高了性能和系统效率-性能最好的SwapCodes组织比未复制的程序平均仅降低15%的速度。
Intra-thread instruction duplication offers straightforward and effective pipeline error detection for data-intensive processors. However, software-enforced instruction duplication uses explicit checking instructions, roughly doubles program register usage, and doubles the arithmetic operation count per thread, potentially leading to severe slowdowns. This paper investigates SwapCodes, a family of software-hardware cooperative mechanisms to accelerate intra-thread duplication in GPUs. SwapCodes leverages the register file ECC hardware to detect pipeline errors without sacrificing the ability of ECC to detect and correct storage errors. By implicitly checking for pipeline errors on each register read, SwapCodes avoids the overheads of instruction checking without adding new hardware error checkers or buffers. We describe a family of SwapCodes implementations that successively eliminate the sources of inefficiency in intra-thread duplication with different complexities and error detection and correction trade-offs. We apply SwapCodes to protect a GPU-based processor against pipeline errors, and demonstrate that it is able to detect more than 99.3% of pipeline errors while improving performance and system efficiency relative to software-enforced duplication—the most performant SwapCodes organization incurs just 15% average slowdown over the un-duplicated program.