A Generic Block-Level Error Confinement Technique for Memory Based on Principal Component Analysis
Abstract
:1. Introduction
2. Background
2.1. Principal Component Analysis
2.2. Fault Tolerance Techniques for Memory
3. PCA-Based Error Confinement Technique
3.1. Modularization for Reducing Computation and Extracting Local Features
- Subtracting the mean from the element of matrix X as shown in Equation (4). The time complexity for each sub-block is , then the total time complexity of this step for all sub-blocks T1 is:
- Calculating the covariance matrix S and normalizing the covariance as shown in Equation (5). We can get a covariance matrix of dimension for each sub block. The time complexity for each sub-block is , then the total time complexity of this step for all sub-blocks T2 is:
- Computing eigenvalues and eigenvectors by Eigen decomposition. According to [26], The time complexity of calculating eigenvectors for a matrix need , so the total time complexity of this step for all sub-blocks T3 is:
- Projecting the data X to the orthogonal space defined by the matrix composed of eigenvectors according to Equation (6). If the largest k principal elements are retained, the dimension of the matrix composed of eigenvectors is . The time complexity of projecting the sub data blocks Xi is , and k can be expressed as , then the total time complexity of this step for all sub-blocks T4 is:
3.2. Applying PCA to Memory Elements
- Prepare the data to be stored as as Equation (1).
- Calculate the covariance matrix S according to Equation (5).
- Obtain the eigenvalues and corresponding eigenvectors of S by the Eigen decomposition: , where V is the orthogonal matrix, and its columns are the corresponding unit eigenvectors V = (v1, v2, ⋯, vn). ∧ is the diagonal matrix consisting of the eigenvalues λ1, λ2, ..., λn of the covariance matrix. Sort the eigenvalues in descending order (λ1 ≥ λ2 ≥ ... ≥ λn) as well as reorder their corresponding eigenvectors. The reordered eigenvectors are called the principal components (PCs) of the data X.
- Project the data X to the orthogonal space defined by the matrix V according to Equation (6). VK is the first k columns of V, and k is the number of PCs reserved. The dimension of projection data Y is k × m (k << n). The contribution rate (CR) of PCs to the original data is expressed as:High contribution rate leads to accurate reconstructed data, however increase extra storage and computational efforts. We explore the tradeoff between CR and physical overhead in the experiment section and generalize the empirical suggestions.
- Encode each element of the projection data Y, mean vector , and eigenvectors with a single parity for error detection (refer to III.D.1 for details).
- Write , and as well as their parity encodings into the memory. The dimension of such extracted features is far smaller than the original data, which dramatically reduces the storage space.
3.3. Calculation of Error Confinement Vectors (ECVs)
3.4. Error Detection and Confinement Method
3.4.1. Error Detection
3.4.2. Error Confinement
3.5. Data Reconstruction
4. Case Study
4.1. Experimental Setup
4.2. Experimental Results
4.2.1. Exploration of Modularization
4.2.2. Evaluation of Protection Quality
4.2.3. Evaluation of Performance
5. Conclusions
Author Contributions
Funding
Conflicts of Interest
References
- Moore, G.E. Cramming more components onto integrated circuits. IEEE Solid-State Circuits Newsl. 2006, 3, 33–35. [Google Scholar] [CrossRef]
- Hoefflinger, B. ITRS: The international technology roadmap for semiconductors. In Chips 2020; Springer: Berlin/Heidelberg, Germany, 2011; pp. 161–174. [Google Scholar]
- Slayman, C. Soft errors-past history and recent discoveries. In Proceedings of the IEEE International Integrated Reliability Workshop Final Report (IRW), Fallen Leaf, CA, USA, 17–21 October 2010; IEEE: New York, NY, USA, 2010; pp. 25–30. [Google Scholar]
- Semiconductor, T. Soft Errors in Electronic Memory—A White Paper; Tezzaron Semiconductor: Naperville, IL, USA, 2004. [Google Scholar]
- Darnell, M. Error control coding: Fundamentals and applications. IEE Proc. F Commun. Radar Signal Process. 1985, 132, 68. [Google Scholar] [CrossRef]
- Dong, X.; Muralimanohar, N.; Jouppi, N.; Kaufmann, R.; Xie, Y. Leveraging 3d pcramtechnologies to reduce checkpoint overhead for future exascale systems. In Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis, Portland, OR, USA, 14–20 November 2009; ACM: New York, NY, USA, 2009; p. 57. [Google Scholar]
- Chippa, V.K.; Chakradhar, S.T.; Roy, K.; Raghunathan, A. Analysis and characterization of inherent application resilience for approximate computing. In Proceedings of the 50th Annual Design Automation Conference, Austin, TX, USA, 29 May–7 June 2013; ACM: New York, NY, USA, 2013; p. 113. [Google Scholar]
- Lee, I.; Kwon, J.; Park, J. Priority based error correction code (ECC) for the embedded SRAM memories in H.264 system. J. Signal Process. Syst. 2013, 73, 123–136. [Google Scholar] [CrossRef]
- Yueh, W.; Cho, M.; Mukhopadhyay, S. Perceptual quality preserving SRAM architecture for color motion pictures. In Proceedings of the Design, Automation and Test in Europe, DATE 13, Grenoble, France, 18–22 March 2013; pp. 103–108. [Google Scholar]
- Esmaeilzadeh, H.; Sampson, A.; Ceze, L.; Burger, D. Architecture support for disciplinedapproximate programming. ACM Sigplan Not. 2012, 4, 301–312. [Google Scholar] [CrossRef]
- Sampson, A.; Dietl, W.; Fortuna, E.; Gnanapragasam, D.; Ceze, L.; Grossman, D. Approximate data types for safe and general low-power computation. ACM Sigplan Not. 2011, 46, 164–174. [Google Scholar] [CrossRef]
- Venkataramani, S.; Chippa, V.K.; Chakradhar, S.T.; Roy, K.; Raghunathan, A. Quality programmable vector processors for approximate computing. In Proceedings of the 46th Annual IEEE/ACM International Symposium on Microarchitecture, Davis, CA, USA, 7–11 December 2013; ACM: New York, NY, USA, 2013; pp. 1–12. [Google Scholar]
- Cho, H.; Leem, L.; Mitra, S. ERSA: Error resilient system architecture for probabilistic applications. IEEE Trans. CAD Integr. Circuits Syst. 2012, 31, 546–558. [Google Scholar] [CrossRef]
- Wang, Z.; Karakonstantis, G.; Chattopadhyay, A. A low overhead error confinement method based on application statistical characteristics. In Proceedings of the Design, Automation & Test in Europe (DATE), Dresden, Germany, 14–18 March 2016; pp. 1168–1171. [Google Scholar]
- Sirovich, L.; Kirby, M. Low-dimensional procedure for the charac-terization of human faces. J. Opt. Soc. Am. A 1987, 4, 519–524. [Google Scholar] [CrossRef] [PubMed]
- Turk, M.; Pentland, A. Eigenfaces for recognition. J. Cogn. Neurosci. 1991, 3, 71–86. [Google Scholar] [CrossRef] [PubMed]
- Shlens, J. A Tutorial on Principal Component Analysis; Google Research: Mountain View, CA, USA, 2013. [Google Scholar]
- Carvalho, G.V.; Moraes, L.B.; Cavalcanti, G.D.C.; Ren, T.I. A weighted image reconstruction based on PCA for pedestrian detection. In Proceedings of the IEEE International Joint Conference on Neural Networks, San Jose, CA, USA, 31 July–5 August 2011. [Google Scholar]
- Korat, U.A. A Reconfigurable Hardware Implementation for the Principal Component Analysis. Ph.D. Thesis, San Diego State University, San Diego, CA, USA, 2016. [Google Scholar]
- Smith, L.I. A tutorial on principal components analysis. Inf. Fusion 2002, 51, 219–226. [Google Scholar]
- Strang, G. Linear Algebra and Its Applications; Cengage Learning: Boston, MA, USA, 2006. [Google Scholar]
- Wold, S. Principal Component Analysis. Chemom. Intell. Lab. Syst. 1987, 2, 37–52. [Google Scholar] [CrossRef]
- Fay, D.; Shye, A.; Bhattacharya, S.; Connors, D.A.; Wichmann, S. An Adaptive Fault-Tolerant Memory System for FPGA-based Architectures in the Space Environment. In Proceedings of the Nasa/esa Conference on Adaptive Hardware and Systems, Edinburgh, UK, 5–8 August 2007; pp. 250–257. [Google Scholar]
- Locklear, D. Chipkill Correct Memory Architecture Technology Brief; Dell Computer Corporation: Round Rock, TX, USA, 2000. [Google Scholar]
- Kerbyson, D.J.; Hoisie, A.; Pakin, S.; Petrini, F.; Wasserman, H.J. A Performance Evaluation of an Alpha EV7 Processing Node. Int. J. High Perform. Comput. Appl. 2004, 18, 199–209. [Google Scholar] [CrossRef]
- Stewart, G.W. A Krylov-Schur Algorithm for Large Eigenproblems. SIAM J. Matrix Anal. Appl. 2001, 23, 601–614. [Google Scholar] [CrossRef]
- Krizhevsky, A.; Sutskever, I.; Hinton, G.E. Imagenet classification with deep convolutional neural networks. Adv. Neural Inf. Process. Syst. 2012, 60, 1097–1105. [Google Scholar] [CrossRef]
- Ciresan, D.C.; Meier, U.; Masci, J.; Gambardella, L.M.; Schmidhuber, J. Flexible, high performance convolutional neural networks for image classification. In Proceedings of the IJCAI Proceedings-International Joint Conference on Artificial Intelligence, Catalonia, Spain, 16–22 July 2011; Volume 22, pp. 1237–1242. [Google Scholar]
- Huynh-Thu, Q.; Ghanbari, M. Scope of validity of psnr in image/video quality assessment. Electron. Lett. 2008, 44, 800–801. [Google Scholar] [CrossRef]
- Wang, X. Modular PCA based on Within-Class median for face recognition. In Proceedings of the IEEE International Conference on Computer Science and Information Technology, Chengdu, China, 9–11 July 2010; pp. 52–56. [Google Scholar]
- Parvathy, S.B.; Naveen, S.; Moni, R.S. A novel approach for multimodal face recognition system based on modular PCA. In Proceedings of the IEEE International Conference on Computational Systems & Communications, Trivandrum, India, 17–18 December 2014; pp. 127–132. [Google Scholar]
K(256-8) | 8 | 6 | 4 | 3 | 2 | 1 |
---|---|---|---|---|---|---|
CR | 100% | 99.99% | 99.3% | 97.7% | 94.72% | 87% |
PSNR | No loss | 57.32 | 43.22 | 36.74 | 31.1 | 25.26 |
Size | 270,336 | 202,752 | 135,168 | 101,376 | 67,584 | 33,792 |
Rate | 103.12% | 77.34% | 51.56% | 38.67% | 25.78% | 12.89% |
| | |
(a) ER = 0.0019 PSNR −102.29 dB No protection | (b) ER = 0.0038 PSNR −106.31dB No protection | (c) ER = 0.0057 PSNR −111.04 dB No protection |
| | |
(d) ER = 0.0019 PSNR 36.09 dB Proposed protection | (e) ER = 0.0038 PSNR 35.4 dB Proposed protection | (f) ER = 0.0057 PSNR 34.77 dB Proposed protection |
| | |
(g) ER = 0.0019 PSNR 36.04 dB ECC protection | (h) ER = 0.0038 PSNR 29.75 dB ECC protection | (i) ER = 0.0057 PSNR −72.28 dB ECC protection |
© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Shao, C.; Li, H.; Wang, Z.; Fang, J. A Generic Block-Level Error Confinement Technique for Memory Based on Principal Component Analysis. Appl. Sci. 2019, 9, 4733. https://doi.org/10.3390/app9224733
Shao C, Li H, Wang Z, Fang J. A Generic Block-Level Error Confinement Technique for Memory Based on Principal Component Analysis. Applied Sciences. 2019; 9(22):4733. https://doi.org/10.3390/app9224733
Chicago/Turabian StyleShao, Cuiping, Huiyun Li, Zheng Wang, and Jiayan Fang. 2019. "A Generic Block-Level Error Confinement Technique for Memory Based on Principal Component Analysis" Applied Sciences 9, no. 22: 4733. https://doi.org/10.3390/app9224733
APA StyleShao, C., Li, H., Wang, Z., & Fang, J. (2019). A Generic Block-Level Error Confinement Technique for Memory Based on Principal Component Analysis. Applied Sciences, 9(22), 4733. https://doi.org/10.3390/app9224733