PPU: A Control Error-Tolerant Processor for Streaming Applications with Formal Guarantees

被引:0
|
作者
Golnari, Pareesa Ameneh [1 ]
Yetim, Yavuz [2 ,4 ]
Martonosi, Margaret [3 ]
Vizel, Yakir [1 ]
Malik, Sharad [1 ]
机构
[1] Princeton Univ, Dept Elect Engn, Princeton, NJ 08544 USA
[2] Princeton Univ, Princeton, NJ 08544 USA
[3] Princeton Univ, Dept Comp Sci, Princeton, NJ 08544 USA
[4] Google, 345 Spear St, San Francisco, CA 94105 USA
基金
美国国家科学基金会;
关键词
Error-tolerant computing; streaming applications; reliability requirements; progress; control flow; verification; APPROXIMATE; RELIABILITY; POWER; SAFE;
D O I
10.1145/2990502
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
With increasing technology scaling and design complexity there are increasing threats from device and circuit failures. This is expected to worsen with post-CMOS devices. Current error-resilient solutions ensure reliability of circuits through protection mechanisms such as redundancy, error correction, and recovery. However, the costs of these solutions may be high, rendering them impractical. In contrast, error-tolerant solutions allow errors in the computation and are positioned to be suitable for error-tolerant applications such as media applications. For such programmable error-tolerant processors, the Instruction-Set-Architecture (ISA) no longer serves as a specification since it is acceptable for the processor to allow for errors during the execution of instructions. In this work, we address this specification gap by defining the basic requirements needed for an error-tolerant processor to provide acceptable results. Furthermore, we formally define properties that capture these requirements. Based on this, we propose the Partially Protected Uniprocessor (PPU), an error-tolerant processor that aims to meet these requirements with low-cost microarchitectural support. These protection mechanisms convert potentially fatal control errors to potentially tolerable data errors instead of ensuring instruction-level or byte-level correctness. The protection mechanisms in PPU protect the system against crashes, unresponsiveness, and external device corruption. In addition, they also provide support for achieving acceptable result quality. Additionally, we provide a methodology that formally proves the specification properties on PPU using model checking. This methodology uses models for the hardware and software that are integrated with the fault and recovery models. Finally, we experimentally demonstrate the results of model checking and the application-level quality of results for PPU.
引用
收藏
页数:29
相关论文
共 49 条
  • [1] Error-Tolerant Processors: Formal Specification and Verification
    Golnari, Ameneh
    Vizel, Yakir
    Malik, Sharad
    2015 IEEE/ACM INTERNATIONAL CONFERENCE ON COMPUTER-AIDED DESIGN (ICCAD), 2015, : 286 - 293
  • [2] Characterization of error-tolerant applications when protecting control data
    Thaker, Darshan D.
    Franklin, Diana
    Oliver, John
    Biswas, Sustnit
    Lockhart, Derek
    Metodi, Tzvetan
    Chong, Frederic T.
    PROCEEDINGS OF THE IEEE INTERNATIONAL SYMPOSIUM ON WORKLOAD CHARACTERIZATION, 2006, : 142 - +
  • [3] Evaluation of a Plasmon-Based Optical Integrated Circuit for Error-Tolerant Streaming Applications
    Noor, Samantha Lubaba
    Wu, Xuan
    Lin, Dennis
    van Dorpe, Pol
    Catthoor, Francky
    Reynaert, Patrick
    Naeemi, Azad
    IEEE JOURNAL ON EXPLORATORY SOLID-STATE COMPUTATIONAL DEVICES AND CIRCUITS, 2024, 10 : 170 - 177
  • [4] Lightweight and Error-Tolerant Stereo Matching with a Stochastic Computing Processor
    An, Seongmo
    Oh, Jongwon
    Lee, Sangho
    Kim, Jinyeol
    Jeong, Youngwoo
    Kim, Jeongeun
    Lee, Seung Eun
    ELECTRONICS, 2024, 13 (11)
  • [5] Exact and Approximate Squarers for Error-Tolerant Applications
    Chen, Ke
    Xu, Chenyu
    Waris, Haroon
    Liu, Weiqiang
    Montuschi, Paolo
    Lombardi, Fabrizio
    IEEE TRANSACTIONS ON COMPUTERS, 2023, 72 (07) : 2120 - 2126
  • [6] ASCache: An Approximate SSD Cache for Error-Tolerant Applications
    Li, Fei
    Lu, Youyou
    Wu, Zhongjie
    Shu, Jiwu
    PROCEEDINGS OF THE 2019 56TH ACM/EDAC/IEEE DESIGN AUTOMATION CONFERENCE (DAC), 2019,
  • [7] Throughput Scaling Of Convolution For Error-Tolerant Multimedia Applications
    Anam, Mohammad Ashraful
    Andreopoulos, Yiannis
    IEEE TRANSACTIONS ON MULTIMEDIA, 2012, 14 (03) : 797 - 804
  • [8] Design and Analysis of Approximate Multipliers For Error-Tolerant Applications
    Pandey, Anirudha
    Reddy, Manikantta K.
    Yadav, Praveen
    Kumar, Nithin Y. B.
    Vasantha, M. H.
    2018 IEEE 4TH INTERNATIONAL SYMPOSIUM ON SMART ELECTRONIC SYSTEMS (ISES 2018), 2018, : 94 - 97
  • [9] Accelerating error-tolerant applications with approximate function reuse
    Brandalero, Marcelo
    da Silveira, Leonardo Almeida
    Souza, Jeckson Dellagostin
    Schneider Beck, Antonio Carlos
    SCIENCE OF COMPUTER PROGRAMMING, 2018, 165 : 54 - 67
  • [10] On the Design of Approximate Restoring Dividers for Error-Tolerant Applications
    Chen, Linbin
    Han, Jie
    Liu, Weiqiang
    Lombardi, Fabrizio
    IEEE TRANSACTIONS ON COMPUTERS, 2016, 65 (08) : 2522 - 2533