Düşük güç tüketimi ve yüksek başarım için özgün uyarlanabilir gömülü sistem ve bellek tasarımları
Novel adaptive embedded system and memory designs for low power consumption and high performance
Yazar: FAHRETTİN KOÇ
Danışman: PROF. DR. OĞUZ ERGİN
TOBB Ekonomi ve Teknoloji Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Doktora, 2022
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin: Derin öğrenme = Deep learning ; Evrişimli sinir ağları = Convolutional neural networks ; FPGA = FPGA ; Gerilim giderme yöntemi = Stress removal method ; Gerilim ölçer = Voltmeter ; Gömülü sistemler = Embedded systems ; Sızdırmazlık = Sealing

Özet:
Modern gömülü sistemler ve bilgisayarlarda düşük güç tüketimi sağlamak için bu sistemlerin en önemli parçası olan bellek yapılarında enerji kayıplarını azaltan çözümlere ihtiyaç vardır. Ancak bu çözümlerin başarımda istenen seviyeyi düşürmemesi ve hoş görülemez alan kaybına neden olmaması beklenir. Çağdaş bilgisayar mimarilerinde en çok kullanılan bellek yapılarından biri, Dinamik Rasgele Erişimli Bellek (DRAM)'lerdir. DRAM'i oluşturan bit hücreleri, belirli bir süre herhangi bir erişim olmaksızın veri saklayabilmekte ancak belirli süreden sonra erişim yapılmazsa sızdırma akımları nedeniyle veri kaybı olmaktadır, bu nedenle periyodik olarak DRAM hücrelerine erişilmesi ve yenilenmesi (Refresh) gerekmektedir. Bu işlem ise, hem güç tüketimi hem de başarım açısından oldukça maliyetlidir. Tez kapsamında, farklı koşullar/girdilere göre DRAM'in devre parametrelerini (besleme gerilimi veya alttaş kutuplama gerilimi) kendisinin değiştirilebildiği özgün Uyarlamalı DRAM (Adaptive DRAM) tasarımları (Geliştirdiğim üç tasarımdan ikisi; 2019/17243 ve 2019/13677 patent numarası ile tescillenmiştir, üçüncüsü; 2019/10444, tescil sürecindedir.) önerilmektedir. Önerilen tasarımların herhangi biri, DRAM'e kıyasla en az %21 daha düşük güç tüketimi sağlamaktadır, ve sadece %10'dan daha az gecikmeye neden olmaktadır. Ayrıca, özgün ADRAM tasarımlarımız, girdilere göre, ihtiyaç duyulan toplam yenileme sayısında %34 ile %81,8 aralığında düşüş sağlayabilmektedir.
Durağan Rasgele Erişimli Bellek (SRAM) diğer bir önemli bellek birimidir. SRAM için sızdırma akımları küçülen transistör boyutları (kanal genişliği, ısıl yükler vb.) nedeniyle büyüyen bir problemdir. Bu problemi çözmek için, birden fazla hücre içeriği uyarlamalı ve bu uyarlamayı birden fazla hücreye dağıtan Multi-contents Aware SRAM (MASRAM) tasarımı önerilmektedir. MASRAM, 64 bit gruplu hücre öbeği için en az %74 ihtimalle %35'e varan durağan enerji kaybı düşüşü sağlayabilmektedir (15. ve 47. bit'lere göre alttaş kutuplama gerilimi 64 hücreye uygulandığında), ve sadece %1'lik bir alan artışına neden olur. 
Gömülü sistemlerden uç cihazlara, hava savunmadan yapay zeka uygulamalarına, Alanda Programlanabilir Kapı Dizileri (FPGA) kullanımı, yeniden programlanabilir yapısı nedeniyle yaygınlaşmaktadır, ve FPGA'lerde güç tüketiminin önemi de artmaktadır. Düşük güç tüketimi için önerilen çözümlerden biri, FPGA'lerde "gerilim düşürme"'dir. Ancak, bu yöntem güvenilirlik endişesi oluşturmamalı, ve istenen doğruluk seviyesini garanti etmelidir. Tez kapsamında, FPGA tabanlı Evrişimsel Sinir Ağları (CNNs) hızlandırıcılar için gerilim düşürmeye yönelik şu çalışmalar gerçekleştirilmiştir: İlk çalışmada; farklı FPGA'lerde, farklı frekanslarda, farklı CNN denektaşları için gerilim düşürme ile doğruluk ilişkisi araştırılır. İkinci çalışma, -40 ile 50 C arasındaki her sıcaklıkta, 4 farklı nem koşulunda (ilk kez bir FPGA için), farklı gerilimlerde CNNs koşturularak; gerilim düşürmenin doğruluklara etkisinin farklı zorlu şartlar altında karakterizasyonu sağlanır. Ayrıca, FPGA tabanlı CNN hızlandırıcıların güç verimliliğinde; temel tasarıma kıyasla %65 artış sağlayan, 3 özgün güvenilir gerilim düşürme tasarımı önerilmiştir. Son çalışmada ise, ilk kez, şu 2 etki keşfedilmiştir: CNN hızlandırıcı FPGA'lerde belirli bir düşük voltajda artan sayıda CNN iterasyonu ile doğrulukların azalması (DIE), ve o voltajda yineleme devam ederken geçici olarak yüksek gerilim uygulamanın DIE'a karşı iyileştirici etkisi (RE). Bu etkileri kullanarak, istenen doğruluğu koruyarak en az %43 güç verimliliği artışı sağlayan 3 özgün FPGA gerilim düşürme tasarımı önerilmiştir.

Abstract:
To ensure low power consumption in modern embedded systems and computers, solutions that reduce energy dissipation are needed in Memory structures, which are the most critical part of these systems. However, these solutions are expected not to reduce the intended performance level and not cause an intolerable area cost. One of the most widely used memory structures in contemporary computer architectures is Dynamic Random Access Memory (DRAM). The bit cells that make up the DRAM can store data without access for a certain period. Still, if access is not made after a certain period of time, data is lost due to leakage currents, so it is necessary to periodically access and refresh. This process is very costly in terms of both power consumption and performance. In the scope of the thesis work, novel adaptive DRAM (Adaptive DRAM) designs (Two of the three techniques I developed; are registered with patent numbers 2019/17243 and 2019/13677, and the third one is in the registration process 2019/10444) in which DRAM can change its own circuit parameters (supply voltage or body biasing voltage) according to different conditions/inputs are proposed. Any of our proposed designs provide at least 21% lower power consumption than DRAM and only cause latency of less than 10%. In addition, our different ADRAM designs can achieve a 34% to 81.8% reduction in the total number of refreshes needed, depending on the inputs.
Static Random Access Memory (SRAM) is another important branch of memory. Leakage currents in an SRAM are a growing problem due to shrinking transistor sizes (channel width, thermal loads, etc.). To solve this problem, it is proposed to design Multi-contents Aware SRAM (MASRAM), which adapts multiple cell contents and distributes this to multiple cells. MASRAM can provide a static energy dissipation reduction of up to 35% with a probability of at least 74% for a grup of cells with 64 bits (when the body biasing voltage relative to the 15th and 47th bits is applied to 64 cells), and causes an area increase of only 1%.
From embedded systems to edge devices, from defense to AI applications, Field Programmable Gate Array (FPGAs) is spreading due to their reprogrammable structure, and the importance of power consumption in FPGAs is also growing. One recommended solution for low power consumption is "undervolting" in FPGAs. However, this method should not raise a reliability concern and should guarantee the intended levels of accuracy. 
In the scope of the thesis, the following studies were carried out for FPGA-based Convolutional Neural Networks (CNNs) accelerators: In the first study, we inspect the undervolting accuracy relationship for CNN benchmarks on different FPGAs at different frequencies. The second study is on characterizing the effect of undervolting on accuracies at different voltages under four different humidity conditions (for the first time for an FPGA), at any temperature between -40 and 50 C, under different harsh conditions. Moreover, we propose three novel reliable voltage reduction designs proposed for FPGA based CNN accelerators that provide a 65\% increase in power efficiency compared to the baseline design. In the final study, for the first time, we discover the two effects: an increasing number of CNN iterations at a low voltage decreases the accuracy (DIE), and the rejuvenating effect against DIE by temporarily applying high voltage while iteration continues at that voltage (RE). Exploiting these effects, we proposed three novel FPGA undervolting designs providing at least a 43\% power efficiency increase while preserving the desired accuracy.