Düşük-gerilimli SRAM aygıtları için gerçek rastgele sayı üretme ve hata modelleme yöntemleri
True random number generation and fault modeling methods for reduced-voltage SRAM devices
Yazar: İSMAİL EMİR YÜKSEL
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: Yüksek Lisans, 2022
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin: Bellek = Memory ; Hata modelleme = Error modelling ; Rastgele sayılar = Random numbers ; Sinir ağları = Nerve net

Özet:
Tezin ilk çalışması olarak, SRAM'ler üzerinde deneysel düşük gerilim çalışmalarından çıkarılan gerçek hataları kullanarak ilk yaklaşık düşük gerilim hata modelini oluşturan bir altyapı olan MoRS'yi öneriyoruz. SRAM tabanlı bellekler, heterojen cihazlar, örneğin, GPU'lar, FPGA'lar, ASIC'ler dahil olmak üzere çeşitli bilgi işlem cihazları için yüksek performans elde etmek için çok önemli bileşenlerdir.
Bu heterojen yapılar üzerinde çalışan Derin Sinir Ağları (DSA) gibi modern iş yükleri, verimli hızlandırma için büyük ölçüde yonga üzerindeki bellek mimarisine bağlıdır.
Enerji tasarrufu sağlamanın yaygın yöntemlerinden biri, besleme voltajının nominal seviyenin altına düşürülmesidir. Bu tür sistemler, belirli bir voltaj sınırına kadar arızaya neden olmadan güvenli bir şekilde voltajı düşürülebilir. Bu güvenli aralığa voltaj koruma bandı da denir. Bununla birlikte, sistemin frekansı düşürmeden koruma bandı seviyesinin altındaki voltaja düşürmek, zamanlamaya dayalı hatalara neden olur.
Sistemin dayanıklılığını değerlendirmek için MoRS tarafından üretilen hataları DSA hızlandırıcısının yonga üzerindeki belleğine enjekte ediyoruz. MoRS, tamamen rastgele oluşturulmuş bir hata enjeksiyon yaklaşımına kıyasla gerçek deney hatalarına daha yakın olurken, yüksek zamanlı ek yük deneylerine ihtiyaç duymadan basitlik avantajına sahiptir. DSA'nın ağırlık değişkenlerini SRAM'lere eşleyerek popüler DSA iş yüklerinde yaptığımız deneyi değerlendirip MoRS ile gerçek veriler arasındaki sınıflandırma yüzdesinin farkını ölçeriz. Sonuçlarımız, gerçek deneyler ile MoRS'un çıktısı arasındaki maksimum farkın %6,21, gerçek deneyler ile rastgele hata enjeksiyon modeli arasındaki maksimum farkın ise %23.2 olduğunu göstermektedir. Gerçek verilere sınıflandırma yüzdesi açısından, MoRS'nin çıktısı, rastgele hata enjeksiyonu yaklaşımından 3.21x daha iyi performans gösterir.
Tezin ikinci çalışması olarak SRAM tabanlı belleklerde düşük voltajdan kaynaklanan hataları kullanan SRAM tabanlı gerçek rastgele sayı üreteci öneriyoruz. Gerçek rastgele sayı üreteçleri (GRSÜ), elektriksel gürültü, termal gürültü ve saat titreşimleri gibi öngörülemeyen fiziksel entropi kaynaklarından üretilmektedir. Ancak, tüm bilgi işlem cihazları bu kaynaklardan entropi çıkarmak için özel donanıma sahip değildir. Bu nedenle, özel donanım aracılığıyla bilgi işlem sistemlerine gerçek rasgele sayı üretme yeteneği sağlamak maliyetlidir.
Önceki çalışmalar, çoğu hesaplama sistemlerinde mevcut olan bellek aygıtlarından entropi çıkaran GRSÜ'ler önermektedir. SRAM tabanlı GRSÜ'lerin diğer bellek tabanlı mekanizmalara göre iki büyük avantajı vardır: (i) SRAM aygıtları, tüm çağdaş CMOS tabanlı yongalarda kullanıldığı için her ölçekte bilgi işlem sistemine rasgele sayılar sağlayabilir ve (ii) SRAM bir yonga üstü bellek olduğundan kimse rastgele sayı aktarımlarını dışarıdan gözetleyemez ve bu sayede gerçek rastgele sayıların güvenliğini artırır. SRAM tabanlı GRSÜ'ler bu avantajlar nedeniyle umut verici olsa da, mevcut SRAM tabanlı GRSÜ'ler iki temel sınırlamadan muzdariptir: 1) sık sık güç döngüsüne ihtiyaç duyar, bu da aşırı derecede büyük gecikmelere ile düşük verime neden olur ve 2) önemli bir enerji yüküne sahiptir.
Amacımız, bu iki temel sınırlamanın üstesinden gelen SRAM tabanlı bir GRSÜ tasarlamaktır. Bu amaçla, yeni bir yüksek aktarım hızlı, enerji verimli ve düşük gecikmeli SRAM tabanlı GRSÜ olan TuRaN'ı öneriyoruz. TuRaN, SRAM besleme voltajının üretici tarafından önerilen eşiğin altına düştüğünde SRAM hücrelerinin okunmasının rastgele değerlerle sonuçlandığı temel gözleminden yararlanır. TuRaN, düşük voltajlı SRAM'a tekrar tekrar erişerek yüksek hızda gerçek rastgele sayılar üretir hücreleri ve ardından SHA-256 karma işlevini kullanarak ortaya çıkan hataları işleyerek gerçek rastgele sayı üretir.
TuRaN'ın gerçek rastgele sayılar ürettiğini göstermek için, iki ticari kullanıma hazır FPGA kartı üzerinde gerçek deneyler yapıyoruz. Yaygın olarak benimsenen NIST STS'yi kullanarak TuRaN tarafından üretilen rastgele sayıların kalitesini değerlendiriyoruz ve TuRaN'ın tüm testleri geçtiğini gözlemliyoruz. TuRaN, (i) 1,6 Gbps (1,812 Gbps) ortalama (maksimum) aktarım hızı, (ii) 0,11nJ/bit enerji tüketimi ve (iii) 278,46us gecikme süresi ile gerçek rastgele sayılar üretir. TuRaN, en son teknoloji ürünü SRAM tabanlı GRSÜ'lerden sırasıyla 2,26x, 5,09x ve 5,39x aktarım hızı, enerji verimliliği ve gecikme süresi ile daha iyi performans göstermektedir.

Abstract:
SRAM-based on-chip memories are crucial components for various computing devices including heterogeneous devices, e.g, GPUs, FPGAs, and ASICs to achieve high performance.
Modern workloads such as Deep Neural Networks (DNNs) running on these heterogeneous fabrics depend highly on the on-chip memory architecture for efficient acceleration.
One of the common methods to save energy is undervolting i.e., supply voltage underscaling below the nominal level. Such systems can be safely undervolted without incurring faults down to a certain voltage limit. This safe range is also called a voltage guardband. However, reducing voltage below the guardband level without decreasing frequency causes timing-based faults.
In the first study of this thesis, we propose MoRS, a framework that generates the first approximate undervolting fault model using real faults extracted from experimental undervolting studies on SRAMs to build the model. We inject the faults generated by MoRS into the on-chip memory of the DNN accelerator to evaluate the resilience of the system under the test. MoRS has the advantage of simplicity without any need for high-time overhead experiments while being accurate enough in comparison to a fully randomly-generated fault injection approach. We evaluate our experiment in popular DNN workloads by mapping weights to SRAMs and measuring the accuracy difference between the output of the MoRS and the real data. Our results show that the maximum difference between real fault data and the output fault model of MoRS is 6.21%. In contrast, the maximum difference between real data and the random fault injection model is 23.2%. In terms of average proximity to the real data, the output of MoRS outperforms the random fault injection approach by 3.21x.
True random number generators (TRNGs) rely on unpredictable physical entropy sources such as electrical noise, thermal noise, and clock jitters. However, not all computing devices are equipped with dedicated hardware to extract entropy from these sources. Thus, it is costly to provide true random number generation capability to computing systems via dedicated hardware.
Prior works propose TRNGs that extract entropy from memory devices that are present in most computing systems. SRAM-based TRNGs have two major advantages over other memory-based mechanisms: they can (i) provide random numbers to every scale of computing systems as SRAM is used in all contemporary CMOS-based chips and (ii) enhance the security of the true random numbers because no one can snoop the random number transfers as SRAM is an on-chip memory. Although SRAM-based TRNGs are promising due to these advantages, existing SRAM-based TRNGs suffer from two key limitations: they 1) need frequent power cycling, causing prohibitively large latencies and low throughput, and 2) have a significant energy overhead.
Our goal is to design an SRAM-based TRNG that overcomes these two key limitations. To this end, we propose our second contribution, TuRaN, a new high-throughput, energy-efficient, and low-latency SRAM-based TRNG. TuRaN leverages the key observation that reading SRAM cells results in random values when the supply voltage is reduced below the manufacturer-recommended threshold. TuRaN generates random numbers at high throughput by repeatedly accessing undervolted SRAM cells and then post-processing the resulting faults using the SHA-256 hash function.
To demonstrate that TuRaN generates true random numbers, we conduct real-world experiments on two commercial off-the-shelf FPGA boards. We evaluate the quality of the random numbers generated by TuRaN using widely-adopted NIST STS and observe that TuRaN passes all tests. TuRaN generates true random numbers with (i) an average (maximum) throughput of 1.6Gbps (1.812Gbps), (ii) 0.11nJ/bit energy consumption, and (iii) 278.46us latency. TuRaN outperforms the state-of-the-art SRAM-based TRNGs by 2.26x, 5.09x, and 5.39x throughput, energy efficiency, and latency, respectively.