Yaklaşık hesaplama - Approximate computing

Yaklaşık hesaplama garantili bir doğru sonuç yerine muhtemelen yanlış bir sonuç döndüren bir hesaplama tekniğidir ve yaklaşık bir sonucun amacı için yeterli olduğu uygulamalar için kullanılabilir.[1][2] Böyle bir duruma bir örnek, belirli bir arama sorgusu için kesin bir cevabın bulunmadığı ve dolayısıyla birçok cevabın kabul edilebileceği bir arama motoru içindir. Benzer şekilde, bazılarının ara sıra düşmesi çerçeveler bir video uygulamasında insanların algısal kısıtlamaları nedeniyle tespit edilemeyebilir. Yaklaşık hesaplama, birçok senaryoda kesin hesaplama yapmak için büyük miktarda kaynak gerektirmesine rağmen sınırlı yaklaşım kabul edilebilir sonuç doğruluğuna ulaşırken performans ve enerjide orantısız kazançlar sağlayabilir.[açıklama gerekli ] Örneğin, k- kümeleme anlamına gelir algoritma, sınıflandırma doğruluğunda yalnızca% 5 kayba izin vererek, tamamen doğru sınıflandırmaya kıyasla 50 kat enerji tasarrufu sağlayabilir.[1]

Yaklaşık hesaplamadaki temel gereklilik, yaklaştırmanın yalnızca kritik olmayan verilerde kullanılabilmesidir, çünkü kritik verileri yaklaştırmak (örneğin, kontrol işlemleri) gibi felaket sonuçlara yol açabilir. program çökmesi veya hatalı çıktı.

Stratejiler

Yaklaşık hesaplama yapmak için çeşitli stratejiler kullanılabilir.

Yaklaşık devreler
Yaklaşık toplayıcılar,[3][4] çarpanlar[5] ve diğeri mantıksal devreler donanım ek yükünü azaltabilir.[6][7][8] Örneğin, yaklaşık bir çok bitli toplayıcı, taşıma zinciri ve böylelikle, tüm alt toplayıcılarının paralel olarak ekleme işlemini gerçekleştirmesine izin verir.
Yaklaşık depolama
Onun yerine veri depolama değerleri tam olarak, yaklaşık olarak, örn. kesme alt bitler kayan nokta veri. Diğer bir yöntem, daha az güvenilir belleği kabul etmektir. Bunun için DRAM[9] ve eDRAM, yenileme hızı indirilebilir veya kontrol edilebilir.[10] İçinde SRAM besleme gerilimi düşürülebilir[11] veya kontrollü.[12] Azaltmak için yaklaşık depolama uygulanabilir MRAM yüksek yazma enerjisi tüketimi.[13] Genel olarak herhangi hata tespiti ve düzeltme mekanizmalar devre dışı bırakılmalıdır.
Yazılım düzeyinde yaklaşım
Yazılım düzeyinde yaklaşmanın birkaç yolu vardır. Memoization kabul edilebilir. Biraz yinelemeler nın-nin döngüler atlanabilir (olarak adlandırılır döngü perforasyonu ) bir sonuca daha hızlı ulaşmak için. Örneğin, bir çalışma zamanı koşulu bu görevlerin yararlı olmayacağını gösterdiğinde bazı görevler de atlanabilir (görev atlama ). Monte Carlo algoritmaları ve Rastgele algoritmalar yürütme süresi garantileri için ticaret doğruluğu.[14] Hesaplama, özel donanım üzerinde kolayca hızlanmaya izin veren paradigmalara göre yeniden formüle edilebilir, örn. bir sinirsel işlem birimi.[15]
Yaklaşık sistem
Yaklaşık bir sistemde,[16] İşlemci, bellek, sensör ve iletişim modülleri gibi sistemin farklı alt sistemleri, her bir alt sistem için ayrı yaklaşımlarla karşılaştırıldığında çok daha iyi bir sistem düzeyinde Q-E değiş tokuş eğrisi elde etmek için sinerjik olarak yaklaşık olarak tahmin edilir.

Uygulama alanları

Yaklaşık hesaplama, uygulamaların hataya toleranslı olduğu çeşitli alanlarda kullanılmıştır. multimedya işleme, makine öğrenme, sinyal işleme, bilimsel hesaplama, vb. Google bu yaklaşımı kendi Tensör işleme birimleri (TPU, özel bir ASIC).

Türetilmiş paradigmalar

Yaklaşık hesaplamadaki ana sorun, uygulamanın yaklaştırılabilen bölümünün tanımlanmasıdır. Büyük ölçekli uygulamalar söz konusu olduğunda, uygulama alanında yeterli uzmanlığa sahip olmayan yaklaşık hesaplama teknikleri konusunda uzmanlığa sahip kişiler (ve bunun tersi) çok yaygındır. Bu sorunu çözmek için, programlama paradigmaları[17][18] önerilmiştir. Hepsinin ortak noktası, uygulama arasındaki açık rol ayrımına sahiptir. programcı ve uygulama alan uzmanı. Bu yaklaşımlar, en yaygın olanların yayılmasına izin verir. optimizasyonlar ve yaklaşık hesaplama teknikleri.

Ayrıca bakınız

Referanslar

  1. ^ a b Mittal, Sparsh (Mayıs 2016). "Yaklaşık Hesaplama Teknikleri Araştırması". ACM Comput. Surv. ACM. 48 (4): 62:1–62:33. doi:10.1145/2893356.
  2. ^ A. Sampson, vd. "EnerJ: Güvenli ve genel düşük güç hesaplaması için yaklaşık veri türleri ", ACM SIGPLAN Bildirimleri, cilt 46, no. 6, 2011'de.
  3. ^ J. Echavarria, vd. "FAU: LUT Tabanlı FPGA'larda Hızlı ve Hata İçin Optimize Edilmiş Yaklaşık Toplayıcı Birimleri", FPT, 2016.
  4. ^ J. Miao, vd. "Kalite-enerji optimal yaklaşık toplayıcılarının modellenmesi ve sentezi ", ICCAD, 2012
  5. ^ Rehman, Semeen; El-Harouni, Walaa; Shafique, Muhammed; Kumar, Akash; Henkel, Jörg (2016-11-07). Yaklaşık çarpanların mimari uzay keşfi. ACM. s. 80. doi:10.1145/2966986.2967005. ISBN  9781450344661.
  6. ^ S. Venkataramani, vd. "SALSA: yaklaşık devrelerin sistematik mantık sentezi ", DAC, 2012.
  7. ^ J. Miao, vd. "Genel hata büyüklüğü ve frekans kısıtlamaları altında yaklaşık mantık sentezi ", ICCAD, 2013
  8. ^ R. Hegde vd. "Algoritmik gürültü toleransı aracılığıyla enerji açısından verimli sinyal işleme ", ISLPED, 1999.
  9. ^ Raha, A .; Sutar, S .; Jayakumar, H .; Raghunathan, V. (Temmuz 2017). "Yapılandırılabilir Kalite Yaklaşık DRAM". Bilgisayarlarda IEEE İşlemleri. 66 (7): 1172–1187. doi:10.1109 / TC.2016.2640296. ISSN  0018-9340.
  10. ^ Kim, Yongjune; Choi, Won Ho; Guyot, Cyril; Cassuto, Yuval (Aralık 2019). "Enerji Açısından Verimli Anılar için Optimum Yenileme Güç Tahsisi Hakkında". 2019 IEEE Küresel İletişim Konferansı (GLOBECOM). Waikoloa, HI, USA: IEEE: 1-6. arXiv:1907.01112. doi:10.1109 / GLOBECOM38437.2019.9013465. ISBN  978-1-7281-0962-6.
  11. ^ Frustaci, Fabio; Blaauw, David; Sylvester, Dennis; Alioto, Massimo (Haziran 2016). "Dinamik Enerji Kalitesi Yönetimine Sahip Yaklaşık SRAM'ler". Çok Büyük Ölçekli Entegrasyon (VLSI) Sistemlerinde IEEE İşlemleri. 24 (6): 2128–2141. doi:10.1109 / TVLSI.2015.2503733. ISSN  1063-8210.
  12. ^ Kim, Yongjune; Kang, Mingu; Varshney, Lav R .; Shanbhag, Naresh R. (2018). "Kaynağa duyarlı Enerji açısından verimli SRAM'ler için Genelleştirilmiş Su doldurma". İletişimde IEEE İşlemleri: 1–1. arXiv:1710.07153. doi:10.1109 / TCOMM.2018.2841406. ISSN  0090-6778.
  13. ^ Kim, Yongjune; Jeon, Yoocharn; Guyot, Cyril; Cassuto, Yuval (Haziran 2020). "MRAM'lerin Yazma Doğruluğunu Optimize Etme". 2020 IEEE Uluslararası Bilgi Teorisi Sempozyumu (ISIT). Los Angeles, CA, ABD: IEEE: 792–797. doi:10.1109 / ISIT44484.2020.9173990. ISBN  978-1-7281-6432-8.
  14. ^ C.Alippi, Gömülü Sistemler için Zeka: Metodolojik bir yaklaşım, Springer, 2014, s.283
  15. ^ Esmaeilzadeh, Hadi; Sampson, Adrian; Ceze, Luis; Burger, Doug (2012). Genel amaçlı yaklaşık programlar için sinirsel hızlanma. 45. Yıllık IEEE / ACM Uluslararası Mikro Mimari Sempozyumu. Vancouver, BC: IEEE. sayfa 449–460. doi:10.1109 / MICRO.2012.48.
  16. ^ Raha, Arnab; Raghunathan, Vijay (2017). "Tam Sistem Enerji Doğruluğu Ödünleşimlerine Doğru: Yaklaşık Akıllı Kamera Sisteminin Örnek Olay İncelemesi". 54. Yıllık Tasarım Otomasyonu Konferansı 2017 Bildirileri. DAC '17. New York, NY, ABD: ACM: 74: 1–74: 6. doi:10.1145/3061639.3062333. ISBN  9781450349277.
  17. ^ Nguyen, Donald; Lenharth, Andrew; Pingali, Keshav (2013). "Grafik analizi için hafif bir altyapı". Yirmi Dördüncü ACM İşletim Sistemleri İlkeleri Sempozyumu Bildirileri. ACM: 456–471. doi:10.1145/2517349.2522739. ISBN  9781450323888.
  18. ^ Silvano, Cristina; Agosta, Giovanni; Çerubin, Stefano; Gadioli, Davide; Palermo, Gianluca; Bartolini, Andrea; Benini, Luca; Martinovič, Ocak; Palkovič, Martin; Slaninová, Kateřina; Bispo, João; Cardoso, João M. P .; Rui, Abreu; Pinto, Pedro; Cavazzoni, Carlo; Sanna, Nico; Beccari, Andrea R .; Cmar, Radim; Rohou, Erven (2016). "Enerji açısından verimli HPC sistemleri için otomatik ayarlama ve uyarlanabilirliğe yönelik ANTAREX yaklaşımı" (PDF). ACM International Conference on Computing Frontiers Bildirileri. ACM: 288–293. doi:10.1145/2903150.2903470. hdl:11585/588256. ISBN  9781450341288.