근사 연산

Approximate computing

근사 컴퓨팅은 에너지 효율 및/또는 고성능 설계의 새로운 패러다임이다.[1]보장된 정확한 결과보다는 부정확할 수 있는 결과를 반환하고, 대략적인 결과가 목적에 충분한 애플리케이션에 사용할 수 있는 다수의 계산 기법을 포함한다.[2]그러한 상황의 한 예는 특정 검색 질의에 대해 정확한 답변이 존재하지 않을 수 있고 따라서 많은 답변이 허용될 수 있는 검색 엔진에 대한 것이다.마찬가지로, 비디오 애플리케이션에서 일부 프레임을 떨어뜨리는 것은 인간의 지각적 한계로 인해 감지되지 않을 수 있다.근사 계산은 많은 시나리오에서 정확한 계산을 수행하기 위해서는 많은 양의 자원이 필요하지만, 한정된 근사치를 허용하면 성능과 에너지에서 불균형적인 이득을 얻을 수 있는 동시에 허용 가능한 결과 정확도를 달성할 수 있다는 관찰에 근거한다.[clarification needed]예를 들어 k-평균 군집화 알고리즘에서 분류 정확도를 5%만 상실할 수 있도록 하면 완전 정확한 분류에 비해 50배의 에너지 절약을 제공할 수 있다.

근사치 컴퓨팅의 핵심 요건은 근사치 중요 데이터(예: 제어 운영)는 프로그램 충돌이나 잘못된 출력 등 비참한 결과를 초래할 수 있기 때문에 중요하지 않은 데이터에만 근사치를 도입할 수 있다는 것이다.

전략들

근사치 컴퓨팅을 수행하기 위해 몇 가지 전략을 사용할 수 있다.

근사 회로
근사 산술 회로:[3] 애더더,[4][5] 멀티플라이어[6] 및 기타 논리 회로는 하드웨어 오버헤드를 줄일 수 있다.[7][8][9]예를 들어, 대략적인 멀티비트 애더더는 운반 체인을 무시할 수 있으므로, 모든 하위 애더더가 병렬로 추가 작업을 수행할 수 있다.
근사창고
데이터 값을 정확하게 저장하는 대신, 부동 소수점 데이터에서 저비트를 잘라냄으로써 대략적으로 저장할 수 있다.또 다른 방법은 덜 신뢰할 수 있는 메모리를 받아들이는 것이다.이를 위해 DRAM[10] eDRAM에서는 리프레시 레이트 할당을 낮추거나 제어할 수 있다.[11]SRAM에서는 공급 전압을 낮추거나[12] 제어할 수 있다.[13]MRAM의 높은 쓰기 에너지 소비량을 줄이기 위해 대략적인 저장을 적용할 수 있다.[14]일반적으로 오류 감지수정 메커니즘은 비활성화해야 한다.
소프트웨어 수준 근사치
소프트웨어 레벨에 근사치를 할 수 있는 몇 가지 방법이 있다.메모를 적용할 수 있다.일부 반복 루프를 건너뛰어(루프 천공이라고 함) 결과를 더 빨리 얻을 수 있다.일부 태스크도 건너뛸 수 있으며, 예를 들어 런타임 조건이 해당 태스크가 유용하지 않을 것임을 시사하는 경우(태스크 건너뛰기)도 이에 해당한다.몬테카를로 알고리즘과 랜덤화 알고리즘은 실행 시간 보증을 위해 정확성을 거래한다.[15]계산은 예를 들어 신경 처리 장치와 같은 전문 하드웨어에서 쉽게 가속할 수 있는 패러다임에 따라 재구성될 수 있다.[16]
근사계통
근사 시스템에서 프로세서, 메모리, 센서 및 통신 모듈과 같은 시스템의 서로 다른 서브시스템은 시너지 효과 근사치를 통해 각 서브시스템에 대한 개별 근사치 대비 훨씬 나은 시스템 수준 Q-E 트레이드오프 곡선을 얻는다.[17]

응용 영역

근사 컴퓨팅은 멀티미디어 처리, 기계 학습, 신호 처리, 과학 컴퓨팅과 같이 응용 프로그램이 오류에 강한 다양한 영역에서 사용되어 왔다.따라서 근사 컴퓨팅은 대부분 인간의 인식/인지와 관련되고 고유의 오류 복원력을 갖는 애플리케이션에 의해 구동된다.이러한 응용 프로그램의 대부분은 통계적 또는 확률적 계산에 기초한다. 예를 들어 원하는 목표에 더 잘 맞도록 다른 근사치를 만들 수 있다.[18]머신러닝(machine learning)에서 주목할 만한 애플리케이션 중 하나는 구글이 텐서(tensor) 처리 장치(tprocessing unit, 맞춤형 ASIC)에서 이 방식을 사용하고 있다는 점이다.[19]

파생 패러다임

근사 계산의 주요 쟁점은 근사치가 가능한 응용 프로그램의 섹션을 식별하는 것이다.대규모 애플리케이션의 경우, 애플리케이션 도메인에 대한 충분한 전문지식을 가지고 있지 않은 사람들이 근사적인 컴퓨팅 기법에 대한 전문지식을 가지고 있는 것을 발견하는 것이 매우 일반적이다(그리고 그 반대의 경우도 마찬가지).이 문제를 해결하기 위해, 프로그래밍[20] 패러다임이 제안되었다.그들은 모두 애플리케이션 프로그래머와 애플리케이션 도메인 전문가 사이의 명확한 역할 분리를 공통적으로 가지고 있다.이러한 접근방식은 가장 일반적인 최적화 및 근사 계산 기법의 확산을 허용한다.

참고 항목

참조

  1. ^ J. Han과 M.Orshansky, "주요 컴퓨팅: 제18회 IEEE 유럽 시험 심포지엄, 2013 페이지 1-6에서 "에너지 효율적 설계" 새로운 패러다임.
  2. ^ A. 샘슨 외"EnerJ: 안전일반 저전력 연산을 위한 대략적인 데이터 유형" ACM SIGPlan 공지사항, 제46권, 제6호, 2011.
  3. ^ 장 외, "대략 산술 회로: 조사, 특성화 및 최근 적용", IEEE의 절차, 108권, 12번, 페이지 2108 - 2135, 2020.
  4. ^ J. 에차바르리아 외FPT, FPT, 2016, "FAU: Fast and Error-Adder Units on LUT-Based FPGA"
  5. ^ J. 먀오, 외"품질 에너지 최적 근사 애더더의 모델링 합성", ICCAD, 2012
  6. ^ Rehman, Semeen; El-Harouni, Walaa; Shafique, Muhammad; Kumar, Akash; Henkel, Jörg (2016-11-07). Architectural-space exploration of approximate multipliers. ACM. p. 80. doi:10.1145/2966986.2967005. ISBN 9781450344661. S2CID 5326133.
  7. ^ S. Venkataramani, 등. "SALSA: 대략적인 회로의 체계적 논리합성", DAC, 2012.
  8. ^ J. 먀오, 외"일반 오류 크기 주파수 제약 하에서 근사치 로직 합성", ICCAD, 2013
  9. ^ R. 헤그드 외"알고리즘 소음 내구성을 통한 에너지 효율적인 신호 처리", ISLPED, 1999.
  10. ^ Raha, A.; Sutar, S.; Jayakumar, H.; Raghunathan, V. (July 2017). "Quality Configurable Approximate DRAM". IEEE Transactions on Computers. 66 (7): 1172–1187. doi:10.1109/TC.2016.2640296. ISSN 0018-9340.
  11. ^ Kim, Yongjune; Choi, Won Ho; Guyot, Cyril; Cassuto, Yuval (December 2019). "On the Optimal Refresh Power Allocation for Energy-Efficient Memories". 2019 IEEE Global Communications Conference (GLOBECOM). Waikoloa, HI, USA: IEEE: 1–6. arXiv:1907.01112. doi:10.1109/GLOBECOM38437.2019.9013465. ISBN 978-1-7281-0962-6. S2CID 195776538.
  12. ^ Frustaci, Fabio; Blaauw, David; Sylvester, Dennis; Alioto, Massimo (June 2016). "Approximate SRAMs With Dynamic Energy-Quality Management". IEEE Transactions on Very Large Scale Integration (VLSI) Systems. 24 (6): 2128–2141. doi:10.1109/TVLSI.2015.2503733. ISSN 1063-8210. S2CID 8051173.
  13. ^ Kim, Yongjune; Kang, Mingu; Varshney, Lav R.; Shanbhag, Naresh R. (2018). "Generalized Water-filling for Source-aware Energy-efficient SRAMs". IEEE Transactions on Communications. 66 (10): 4826–4841. arXiv:1710.07153. doi:10.1109/TCOMM.2018.2841406. ISSN 0090-6778. S2CID 24512949.
  14. ^ Kim, Yongjune; Jeon, Yoocharn; Guyot, Cyril; Cassuto, Yuval (June 2020). "Optimizing the Write Fidelity of MRAMs". 2020 IEEE International Symposium on Information Theory (ISIT). Los Angeles, CA, USA: IEEE: 792–797. arXiv:2001.03803. doi:10.1109/ISIT44484.2020.9173990. ISBN 978-1-7281-6432-8. S2CID 210164755.
  15. ^ C.Alippi, Embedded Systems를 위한 인텔리전스: 방법론적 접근, Springer, 2014, 페이지 283
  16. ^ Esmaeilzadeh, Hadi; Sampson, Adrian; Ceze, Luis; Burger, Doug (2012). Neural acceleration for general-purpose approximate programs. 45th Annual IEEE/ACM International Symposium on Microarchitecture. Vancouver, BC: IEEE. pp. 449–460. doi:10.1109/MICRO.2012.48.
  17. ^ Raha, Arnab; Raghunathan, Vijay (2017). "Towards Full-System Energy-Accuracy Tradeoffs: A Case Study of An Approximate Smart Camera System". Proceedings of the 54th Annual Design Automation Conference 2017. DAC '17. New York, NY, USA: ACM: 74:1–74:6. doi:10.1145/3061639.3062333. ISBN 9781450349277. S2CID 2503638.
  18. ^ Liu, Weiqiang; Lombardi, Fabrizio; Schulte, Michael (Dec 2020). "Approximate Computing: From Circuits to Applications". Proceedings of the IEEE. 108 (12): 2103. doi:10.1109/JPROC.2020.3033361.
  19. ^ Liu, Weiqiang; Lombardi, Fabrizio; Schulte, Michael (Dec 2020). "Approximate Computing: From Circuits to Applications". Proceedings of the IEEE. 108 (12): 2104. doi:10.1109/JPROC.2020.3033361.
  20. ^ Nguyen, Donald; Lenharth, Andrew; Pingali, Keshav (2013). "A lightweight infrastructure for graph analytics". Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles. ACM: 456–471. doi:10.1145/2517349.2522739. ISBN 9781450323888.