Abstract
Register File (RF) is extremely vulnerable to soft errors, and traditional redundancy based schemes to protect the RF are prohibitive not only because RF is often in the timing critical path of the processor, but also since it is one of the hottest blocks on the chip. Software approaches would be ideal in this case, but previous approaches based on instruction scheduling are only moderately effective due to local scope. In this article we present a compiler approach, based on interprocedural program analysis, to reduce the vulnerability of registers by temporarily writing live variables to protected memory. We formulate the problem as an integer linear programming problem and also present a very efficient heuristic algorithm. Further we present an iterative optimization method based on Kernighan-Lin's graph partitioning algorithm. Our experiments demonstrate that our proposed techniques can reduce the vulnerability of a RF by 33 ∼ 37% on average and up to 66%, with a small 2% increase in runtime. In addition, our overhead reduction optimization can effectively reduce the code size overhead, by more than 40% on average, to a mere 5 ∼ 6%, compared to highly optimized binaries.
- Blome, J. A., Gupta, S., Feng, S., and Mahlke, S. 2006. Cost-efficient soft error protection for embedded microprocessors. In Proceedings of the International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES'06). 421--431. Google Scholar
Digital Library
- Chen, K., Malik, S., and August, D. I. 2001. Retargetable static timing analysis for embedded software. In Proceedings of the 14th International Symposium on System Synthesis (ISSS'01). 39--44. Google Scholar
Digital Library
- Dodd, P. and Massengill, L. 2003. Basic mechanisms and modeling of single-event upset in digital microelectronics. IEEE Trans. Nucl. Sci. 50, 583--602.Google Scholar
Cross Ref
- Fazeli, M., Ahmadian, S. N., and Miremadi, S. G. 2008. A low energy soft error-tolerant register file architecture for embedded processors. In Proceedings of the 11th IEEE High Assurance Systems Engineering Symposium. IEEE, 109--116. Google Scholar
Digital Library
- Guthaus, M., Ringenberg, J. S., Ernst, D., Austin, T. M., Mudge, T., and Brown, R. B. 2001. Mibench: A free, commercially representative embedded benchmark suite. In Proceedings of the International Workshop on Workload Characterization. 3--14. Google Scholar
Digital Library
- Harrold, M., Rothermel, G., and Sinha, S. 1998. Computation of interprocedural control dependence. In Proceedings of the ACM SIGSOFT International Symposium on Software Testing and Analysis. 11--20. Google Scholar
Digital Library
- Kandala, M., Zhang, W., and Yang, L. 2007. An area-efficient approach to improving register file reliability against transient errors. In Proceedings of the International Conference on Advanced Information Networking and Applications Workshops. 798--803. Google Scholar
Digital Library
- Kernighan, B. and Lin, S. 1970. An efficient heuristic procedure for partitioning graphs. Bell Syst. Tech. J. 49, 291--307.Google Scholar
Cross Ref
- Lee, J. and Shrivastava, A. 2009. A compiler optimization to reduce soft errors in register files. ACM SIGPLAN Noti. 44, 7, 41--49. Google Scholar
Digital Library
- Lee, J. and Shrivastava, A. 2010. A compiler-microarchitecture hybrid approach to soft error reduction for register files. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 29, 7, 1018--1027. Google Scholar
Digital Library
- Lee, J. and Shrivastava, A. 2011. Static analysis of register file vulnerability. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 30, 607--616. Google Scholar
Digital Library
- Li, X., Adve, S. V., Bose, P., and Rivers, J. A. 2008. Online estimation of architectural vulnerability factor for soft errors. SIGARCH Comput. Archit. News 36, 3, 341--352. Google Scholar
Digital Library
- Memik, G., Chowdhury, M. H., Mallik, A., and Ismail, Y. I. 2005. Engineering over-clocking: reliability-performance trade-offs for high-performance register files. In Proceedings of the International Conference on Dependable Systems and Networks. Google Scholar
Digital Library
- Mitra, S., Seifert, N., Zhang, M., Shi, Q., and Kim, K. S. 2005. Robust system design with built-in soft-error resilience. IEEE Computer 38, 2, 43--52. Google Scholar
Digital Library
- Montesinos, P., Liu, W., and Torrellas, J. 2007. Using register lifetime predictions to protect register files against soft errors. In Proceedings of the International Conference on Dependable Systems and Networks (DSN'07). 286--296. Google Scholar
Digital Library
- Mukherjee, S. S., Weaver, C., Emer, J., Reinhardt, S. K., and Austin, T. 2003. A systematic methodology to compute the architectural vulnerability factors for a high-performance microprocessor. In Proceedings of the International Symposium on Microarchitecture. Google Scholar
Digital Library
- Naseer, R., Bhatti, R. Z., and Draper, J. 2006. Analysis of soft error mitigation techniques for register files in IBM cu-08 90nm technology. In Proceedings of the 49th IEEE International Midwest Symposium on Circuits and Systems (MWSCAS'06). 515--519.Google Scholar
- Oh, N., Shirvani, P. P., and Mccluskey, E. J. 2002a. Control-flow checking by software signatures. IEEE Trans. Reliab. 51, 111--122.Google Scholar
Cross Ref
- Oh, N., Shirvani, P. P., and Mccluskey, E. J. 2002b. Error detection by duplicated instructions in super-scalar processors. IEEE Trans. Reliab. 51, 63--75.Google Scholar
Cross Ref
- Reis, G. A., Chang, J., Vachharajani, N., Rangan, R., and August, D. I. 2005. SWIFT: Software implemented fault tolerance. In Proceedings of the International Symposium on Code Generation and Optimization. 243--254. Google Scholar
Digital Library
- Walcott, K. R., Humphreys, G., and Gurumurthi, S. 2007. Dynamic prediction of architectural vulnerability from microarchitectural state. SIGARCH CA News 2, 516--527. Google Scholar
Digital Library
- Wu, Y. and Larus, J. 1994. Static branch frequency and program profile analysis. In Proceedings of the Annual ACM/IEEE International Symposium on Microarchitecture. 1--11. Google Scholar
Digital Library
- Yan, J. and Zhang, W. 2005. Compiler-guided register reliability improvement against soft errors. In Proceedings of the International Conference on Embedded Software (EMSOFT'05). 203--209. Google Scholar
Digital Library
- Yeager, K. C. 1996. The MIPS R10000 superscalar microprocessor. IEEE Micro. Google Scholar
Digital Library
Index Terms
Software-based register file vulnerability reduction for embedded processors
Recommendations
A compiler optimization to reduce soft errors in register files
LCTES '09Register file (RF) is extremely vulnerable to soft errors, and traditional redundancy based schemes to protect the RF are prohibitive not only because RF is often in the timing critical path of the processor, but also since it is one of the hottest ...
A compiler optimization to reduce soft errors in register files
LCTES '09: Proceedings of the 2009 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systemsRegister file (RF) is extremely vulnerable to soft errors, and traditional redundancy based schemes to protect the RF are prohibitive not only because RF is often in the timing critical path of the processor, but also since it is one of the hottest ...
Software-Directed Register Deallocation for Simultaneous Multithreaded Processors
This paper proposes and evaluates software techniques that increase register file utilization for simultaneous multithreading (SMT) processors. SMT processors require large register files to hold multiple thread contexts that can issue instructions out ...






Comments