FI20215475A1 - Menetelmä energiatehokkuuden lisäämiseksi hyödyntämällä virhesietoisia algoritmeja alijännitteisiin digitaalisiin järjestelmiin - Google Patents

Menetelmä energiatehokkuuden lisäämiseksi hyödyntämällä virhesietoisia algoritmeja alijännitteisiin digitaalisiin järjestelmiin Download PDF

Info

Publication number
FI20215475A1
FI20215475A1 FI20215475A FI20215475A FI20215475A1 FI 20215475 A1 FI20215475 A1 FI 20215475A1 FI 20215475 A FI20215475 A FI 20215475A FI 20215475 A FI20215475 A FI 20215475A FI 20215475 A1 FI20215475 A1 FI 20215475A1
Authority
FI
Finland
Prior art keywords
matrix
voltage
matrix accelerator
processing system
accelerator
Prior art date
Application number
FI20215475A
Other languages
English (en)
Swedish (sv)
Other versions
FI130137B (fi
Inventor
Mehdi Safarpour
Olli Silvén
Original Assignee
Univ Of Oulu
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Univ Of Oulu filed Critical Univ Of Oulu
Priority to FI20215475A priority Critical patent/FI130137B/fi
Priority to PCT/FI2022/050258 priority patent/WO2022223881A1/en
Publication of FI20215475A1 publication Critical patent/FI20215475A1/fi
Application granted granted Critical
Publication of FI130137B publication Critical patent/FI130137B/fi

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0008Arrangements for reducing power consumption
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/003Modifications for increasing the reliability for protection
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/037Bistable circuits
    • H03K3/0375Bistable circuits provided with means for increasing reliability; for protection; for ensuring a predetermined initial state when the supply voltage has been applied; for storing the actual state when the supply voltage fails

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Biophysics (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Neurology (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Medicines Containing Plant Substances (AREA)
  • Power Sources (AREA)

Abstract

The present invention relates to an approach, which is proposed to achieve energy savings from reduced voltage operation. The solution detects timing-errors by integrating Algorithm Based Fault Tolerance (ABFT) into a digital architecture. The approach has been studied with a systolic array matrix multiplier operating at reduced voltage, detecting errors on-the-fly avoiding energy demanding memory round-trips. The analysis of the solution has been done using analog-digital co-simulation to extract the transient behavior under different voltages and clock frequencies. HSPICE simulations using 90nm CMOS transistor models, and experiments by reducing operation voltage of a Xilinx Zynq FPGA device were carried out. Scaling down the voltage in FPGA experiments from nominal by 22% was registered without incurring one single error translating into 1.8x increase in energy-efficiency. HSPICE simulations showed possibility of 10x increase in energy-efficiency by approaching near-threshold region.

Claims (15)

Patenttivaatimukset
1. Integroitu piiri matriisikiihdyttimen käsittelyjärjestelmän (10) luotettavaa mata- lajännitteistä toimintaa varten siten, että matriisikiihdyttimen käsittelyjärjestelmä (10) käsittää matriisikiihdyttimen (11) siten, että - matriisikiihdyttimen käsittelyjärjestelmä (10) on määritetty käyttämään systoli- sia matriiseja, tunnettu siitä, että - matriisikiihdytin (11) on määritetty tuottamaan dataa algoritmipohjaiseen vika- sietoisuuteen (ABFT, Algorithm-Based Fault Tolerance) perustuvaan virheenhavait- semismoduuliin (12), jota käytetään laskemaan tarkistussummia ja havaitsemaan — virheitä reaaliajassa systolisen matriisin sisällä, - ABFT-pohjainen virheenhavaitsemismoduuli (12) on määritetty välittämään eteenpäin mahdolliset havaitut virheet dynaamiseen jännitteen ja taajuuden säätö- moduuliin (13), joka on määritetty pienentämään matriisikiihdyttimen (11) toiminta- jännitettä silloin, kun virheitä ei ole havaittu, ja vastaavasti lisäämään matriisikiihdyt- timen (11) toimintajännitettä silloin, kun on havaittu ainakin yksi virhe, - matriisikiihdyttimen käsittelyjärjestelmä (10) on määritetty suorittamaan uudel- leen ABFT-pohjainen virheen havaitseminen matriisikiihdyttimen (11) lähtevälle da- talle säädetyllä toimintajännitteellä, ja - matriisikiihdyttimen käsittelyjärjestelmä (10) on määritetty löytämään matalin — toimintajännite, jossa havaittujen virheiden lukumäärä on nolla.
2. Patenttivaatimuksen 1 mukainen integroitu piiri, tunnettu siitä, että matriisi- kiihdyttimen käsittelyjärjestelmä (10) on määritetty pitämään kellon (14) taajuus muuttumattomana koko dynaamisen jännitteen ja taajuuden säätömoduulin (13) suorittaman säätöprosessin ajan. 3 25
3. Patenttivaatimuksen 1 mukainen integroitu piiri, tunnettu siitä, että matriisi- N kiihdyttimen käsittelyjärjestelmä (10) on toteutettu ASIC- tai FPGA-piirin muodossa. LO
?
4. Patenttivaatimuksen 1 mukainen integroitu piiri, tunnettu siitä, että matriisi- > kiihdyttimen käsittelyjärjestelmä (10) on määritetty joko alentamaan tai nostamaan = toimintajännitettä ennalta määritetyn jänniteportaan verran dynaamisen jännitteen O 30 ja taajuuden säätömoduulin (13) toimesta. 5
=
5. Jonkin patenttivaatimuksen 1-4 mukainen integroitu piiri, tunnettu siitä, että N jännitesäädin (15) on määritetty suorittamaan jännitteen säätöjä matriisikiindytinta (11) varten.
6. Jonkin patenttivaatimuksen 1-5 mukainen integroitu piiri, tunnettu siitä, että matriisikiihdyttimen (11) syöttömatriiseja kasvatetaan tarkistussummaominaisuu- della algoritmipohjaiseen vikasietoisuuteen perustuvassa virheenhavaitsemisessa.
7. Menetelmä matriisikiihdyttimen käsittelyjärjestelmän (10) luotettavaa matala- — jännitteistä toimintaa varten, joka matriisikiihdyttimen käsittelyjärjestelmä (10) käsit- tää matriisikiihdyttimen (11) siten, että menetelmä käsittää vaiheen, jossa - käytetään systolisia matriiseja matriisikiihdyttimen käsittelyjärjestelmässä (10), tunnettu siitä, että menetelmä käsittää lisäksi seuraavat vaiheet: - lähetetään dataa matriisikiihdyttimesta (11) algoritmipohjaiseen vikasietoisuu- teen (ABFT) perustuvaan virheenhavaitsemismoduuliin (12), jota käytetään laske- maan tarkistussummia ja havaitsemaan virheitä reaaliajassa systolisen matriisin si- sällä, - välitetään eteenpäin mahdolliset havaitut virheet ABFT-pohjaisesta virheenha- vaitsemismoduulista (12) dynaamisen jännitteen ja taajuuden säätömoduuliin (13), joka on määritetty pienentämään matriisikiihdyttimen (11) toimintajännitettä, mikäli virheitä ei ole havaittu ja vastaavasti nostamaan matriisikiihdyttimen (11) toiminta- jännitettä, mikäli on havaittu ainakin yksi virhe, - suoritetaan uudelleen ABFT-pohjainen virheen havaitseminen matriisikiindyt- timen (11) lähtevälle datalle säädetyllä toimintajännitteellä matriisikiihdyttimen kä- sittelyjärjestelmän (10) toimesta, ja - löydetään matriisikiihdyttimen käsittelyjärjestelmän (10) toimesta matalin toi- mintajännite, jossa havaittujen virheiden lukumäärä on nolla.
8. Patenttivaatimuksen 7 mukainen menetelmä, tunnettu siitä, että matriisikiih- dyttimen käsittelyjärjestelmä (10) on määritetty pitämään kellon (14) taajuus muut- —tumattomana koko dynaamisen jännitteen ja taajuuden säätömoduulin (13) suorit- 3 taman säätöprosessin ajan.
3
9. Patenttivaatimuksen 7 mukainen menetelmä, tunnettu siitä, että matriisikiih- = dyttimen käsittelyjärjestelmä (10) toteutetaan ASIC- tai FPGA-piirin muodossa. E
10. Patenttivaatimuksen / mukainen menetelmä, tunnettu siitä, että matriisikiih- O 30 — dyttimen käsittelyjärjestelmä (10) on määritetty joko pienentämään tai nostamaan 5 toimintajännitettä ennalta määritetyn jänniteportaan verran dynaamisen jännitteen 3 ja taajuuden säätömoduulin (13) toimesta.
11. Jonkin patenttivaatimuksen 7-10 mukainen menetelmä, tunnettu siitä, että jännitesäädin (15) on määritetty suorittamaan jännitteen säätöjä matriisikiindytinta (11) varten.
12. Jonkin patenttivaatimuksen 7—11 mukainen menetelmä, tunnettu siitä, että — matriisikiihdyttimen (11) syöttömatriiseja kasvatetaan tarkistussummaominaisuu- della algoritmipohjaiseen vikasietoisuuteen perustuvassa virheenhavaitsemisessa.
13. Tietokoneohjelmatuote matriisikiihdyttimen käsittelyjärjestelmän (10) luotetta- vaa matalajännitteistä toimintaa varten, joka matriisikiihdyttimen käsittelyjärjestelmä (10) käsittää matriisikiihdyttimen (11) siten, että - matriisikiihdyttimen käsittelyjärjestelmä (10) on maaritetty käyttämään systoli- sia matriiseja, tunnettu siitä, että - tietokoneohjelmatuote käsittää ohjelmakoodin, joka on suoritettavissa proses- sorin avulla siten, että tietokoneohjelmatuote on määritetty suorittamaan seuraavat vaiheet: - lähetetään dataa matriisikiihdyttimestä (11) algoritmipohjaiseen vikasietoisuu- teen (ABFT) perustuvaan virheenhavaitsemismoduuliin (12), jota käytetään laske- maan tarkistussummia ja havaitsemaan virheitä reaaliajassa systolisen matriisin si- sällä, - välitetään eteenpäin mahdolliset havaitut virheet ABFT-pohjaisesta virheenha- — vaitsemismoduulista (12) dynaamisen jännitteen ja taajuuden säätömoduuliin (13), joka on määritetty pienentämään matriisikiindyttimen (11) toimintajännitettä, mikäli virheitä ei ole havaittu ja vastaavasti nostamaan matriisikiihdyttimen (11) toiminta- jännitettä, mikäli ainakin yksi virhe on havaittu, - suoritetaan uudelleen ABFT-pohjainen virheen havaitseminen matriisikiindyt- —timen (11) lähtevälle datalle säädetyllä toimintajännitteellä matriisikiihdyttimen kä- N sittelyjärjestelmän (10) toimesta, ja N - löydetään matriisikiihdyttimen käsittelyjärjestelmän (10) toimesta matalin toi- <Q mintajännite, jossa havaittujen virheiden lukumäärä on nolla. = a R 5 S
FI20215475A 2021-04-22 2021-04-22 Menetelmä energiatehokkuuden lisäämiseksi hyödyntämällä virhesietoisia algoritmeja alijännitteisiin digitaalisiin järjestelmiin FI130137B (fi)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FI20215475A FI130137B (fi) 2021-04-22 2021-04-22 Menetelmä energiatehokkuuden lisäämiseksi hyödyntämällä virhesietoisia algoritmeja alijännitteisiin digitaalisiin järjestelmiin
PCT/FI2022/050258 WO2022223881A1 (en) 2021-04-22 2022-04-20 A method for increase of energy efficiency through leveraging fault tolerant algorithms into undervolted digital systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FI20215475A FI130137B (fi) 2021-04-22 2021-04-22 Menetelmä energiatehokkuuden lisäämiseksi hyödyntämällä virhesietoisia algoritmeja alijännitteisiin digitaalisiin järjestelmiin

Publications (2)

Publication Number Publication Date
FI20215475A1 true FI20215475A1 (fi) 2022-10-23
FI130137B FI130137B (fi) 2023-03-09

Family

ID=81850667

Family Applications (1)

Application Number Title Priority Date Filing Date
FI20215475A FI130137B (fi) 2021-04-22 2021-04-22 Menetelmä energiatehokkuuden lisäämiseksi hyödyntämällä virhesietoisia algoritmeja alijännitteisiin digitaalisiin järjestelmiin

Country Status (2)

Country Link
FI (1) FI130137B (fi)
WO (1) WO2022223881A1 (fi)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11710030B2 (en) * 2018-08-31 2023-07-25 Texas Instmments Incorporated Fault detectable and tolerant neural network

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1774906A1 (de) 1967-10-30 1971-11-04 Olivetti & Co Spa Dezimalrechenmaschine
US7278080B2 (en) 2003-03-20 2007-10-02 Arm Limited Error detection and recovery within processing stages of an integrated circuit
CN101369241A (zh) 2007-09-21 2009-02-18 中国科学院计算技术研究所 一种机群容错系统、装置及方法
US20120221884A1 (en) 2011-02-28 2012-08-30 Carter Nicholas P Error management across hardware and software layers
US10908668B2 (en) * 2017-12-29 2021-02-02 Intel Corporation Voltage droop mitigation technology in array processor cores
CN108733628B (zh) 2018-05-23 2020-01-03 河海大学常州校区 一种并行矩阵乘算法的加固方法
CN110932713B (zh) * 2019-11-11 2023-05-16 东南大学 用于卷积神经网络硬件加速器的时序弹性电路

Also Published As

Publication number Publication date
FI130137B (fi) 2023-03-09
WO2022223881A1 (en) 2022-10-27

Similar Documents

Publication Publication Date Title
Mittal A survey on modeling and improving reliability of DNN algorithms and accelerators
Venkataramani et al. Substitute-and-simplify: A unified design paradigm for approximate and quality configurable circuits
Wu et al. An efficient method for calculating the error statistics of block-based approximate adders
EP3035254A1 (en) Method of managing the operation of an electronic system with a guaranteed lifetime
Safarpour et al. Algorithm level error detection in low voltage systolic array
Wang et al. Resilience-aware frequency tuning for neural-network-based approximate computing chips
Damsgaard et al. Approximation opportunities in edge computing hardware: A systematic literature review
Chen et al. Two approximate voting schemes for reliable computing
FI130137B (fi) Menetelmä energiatehokkuuden lisäämiseksi hyödyntämällä virhesietoisia algoritmeja alijännitteisiin digitaalisiin järjestelmiin
Taheri et al. Deepaxe: A framework for exploration of approximation and reliability trade-offs in dnn accelerators
Salamin et al. Reliability-aware quantization for anti-aging NPUs
Jiao et al. Tevot: Timing error modeling of functional units under dynamic voltage and temperature variations
Ozen et al. Architecting decentralization and customizability in dnn accelerators for hardware defect adaptation
Huang et al. Sensor-based approximate adder design for accelerating error-tolerant and deep-learning applications
Chen et al. Design and evaluation of confidence-driven error-resilient systems
Kong et al. M2STaR: A Multi-Mode Spatio-Temporal Redundancy Design for Fault-Tolerant Coarse-Grained Reconfigurable Architectures
Huang et al. A determinate radiation hardened technique for safety-critical CMOS designs
Deepanjali et al. Self healing controllers to mitigate SEU in the control path of FPGA based system: A complete intrinsic evolutionary approach
Liu et al. Runtime long-term reliability management using stochastic computing in deep neural networks
Marty et al. Algorithm level timing speculation for convolutional neural network accelerators
Tsounis et al. A methodology for fault-tolerant pareto-optimal approximate designs of fpga-based accelerators
Santiago et al. Characterizing approximate adders and multipliers for mitigating aging and temperature degradations
Ikezoe et al. Recovering faulty non-volatile flip flops for coarse-grained reconfigurable architectures
Juliato et al. SEU-resistant SHA-256 design for security in satellites
Mohanram et al. Lowering power consumption in concurrent checkers via input ordering