SSFT: Selective software fault tolerance
Seçimsel yazılım hata toleransı
- Tez No: 350343
- Danışmanlar: DOÇ. DR. ÖZCAN ÖZTÜRK
- Tez Türü: Yüksek Lisans
- Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
- Anahtar Kelimeler: Belirtilmemiş.
- Yıl: 2014
- Dil: İngilizce
- Üniversite: İhsan Doğramacı Bilkent Üniversitesi
- Enstitü: Mühendislik ve Fen Bilimleri Enstitüsü
- Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
- Bilim Dalı: Belirtilmemiş.
- Sayfa Sayısı: 95
Özet
Teknolojik gelişmelerle birlikte, işlemciler boyut olarak daha küçültülüyor ve üretim sürecinde daha sık ve küçük boyutlu transistorler kullanılarak üretiliyorlar. Bu üretim süreci işlemcileri daha ucuz, daha güç tasarruflu ve daha güçlü kılıyor. Bu süreç son kullanıcı için son derece faydalı olmasına karşın, bu süreç işlemcileri dış ortamdan kaynaklı radyasyona karşı daha zayıf kılıyor ve bunun sonucunda, genellikle veri üstünde tek bir bitin değer değiştirmesi formunda oluşan, yumuşak hatalar oluşuyor. Yumuşak hatalara karşı uygulamaların güvenilirliğini arttırabilmek adına, literatürde ECC (Hata Düzeltme Kodu) özellikli veya Parite özellikle hafıza gibi donanımsal hata tolerans teknikleri geliştirilmiştir. Donanımsal hata tolerans teknikleri etkili çözümler üretmesine karşın, donanımsal altyapının bulunmadığı ya da var olan sisteme eklenmesi mümkün olmadığı durumlarda, yazılımsal hata toleransı teknikleri daha ucuz ve esnek bir alternatif sunabilir. Yazılımsal Hata Toleransı teknikleri, güçlü bir alternatif olmasına rağmen, genellikle yedekleme mantığına dayalı çalıştıklarından, performans düşüşüne ve hataya neden olmaya açık olan bit sayısını arttırmaktadır. Uygulama güvenilirliğinin bir endişe olduğu sistemlerde, performans ve erişiliebilirlik daha büyük bir sistem endişesi ve gereksinimi durumunda olduğundan, bu çoklu objektifli bir yaklaşım gerektirmektedir. Belirli ölçüde bir hatanın kabul edilebilir olduğu ve erişilebilirliğin önemli olduğu uygulamalarda, sisteme getirdikleri performans yükünden ötürü, literatürdeki yazılımsal hata toleransı tekniklerini olduğu gibi kullanılamayabilir. Bu noktada bizim tekniğimiz seçimsel yazılım hata toleransı (SYHT) erişilebilirlik ve güvenilirliği eş zamanlı sağlamayı hedefler. SYHT bunu, uygulamanın sadece ihtiyaç duyduğu ölçüde hata toleransı kullanarak ve uygulamanın ürettiği verilerde kaliteyi koruyarak sağlamaktadır. SYHT yazılım profil bilgisini kullanarak, uygulamanın yumuşak hatalara karşı hassasiyetlerini anlamaya çalışır. Yumuşak hatalar yüksek sayıda çalışan komut satırlarında oluşmaya meyillidir. Ayrıca, yumuşak hatalara maruz kaldığında, uygulama tarafından oluşturulan verilerde daha fazla hataya sebep olan komut satırlarının uygulamanın güvenilirlik açısından hassas komut satırları olduğu söylenebilir. SYHT bu bilgileri kullanarak, yumuşak hatalara maruz kalma olasılığı düşük ve uygulama tarafından oluşturulan verilerde daha az hataya sebep olan komut satırları için hata toleransını kaldırır. Bu yaklaşım, performansı arttırırken ve güvenilirliği yeterli seviyede tutarken, enerji tüketimlerini ve yedeklenen veri sayısını (dolayısıyla yumuşak hatalara maruz kalan bit sayısını) azaltır.Bu teknik kolaylıkla literatürde yaygın olan yazılımsal hata toleransı tekniklerine adapte edilebilir. Bu adaptasyonu yaparken de, uygulamanın çeşitli endişelerine uygun olacak şekilde bir hata toleransı kullanır. Benzeri şekilde, hibrit ve donanımsal hata toleransı yaklaşımları da bizim yaklaşımımızın sağladığı iyileştirmelerden faydalanabilirler.
Özet (Çeviri)
As technology advances, the processors are shrunk in size and manufactured using higher density transistors which makes them cheaper, more power efficient and more powerful. While this progress is most beneficial to end-users, these advances make processors more vulnerable to outside radiation causing soft errors which occur mostly in the form of single bit flips on data. For protection against soft errors, hardware techniques like ECC (Error Correcting Code) and Ram Parity Memory are proposed to provide error detection and even error correction capabilities. While hardware techniques provide effective solutions, software only techniques may offer cheaper and more flexible alternatives where additional hardware is not available or cannot be introduced to existing architectures. Software fault detection techniques -while powerful- rely mostly on redundancy which causes significant amount of performance overhead and increase in the number of bits susceptible to soft errors. In most cases, where reliability is a concern, the availability and performance of the system is even a bigger concern, which actually requires a multi objective optimization approach. In applications where a certain margin of error is acceptable and availability is important, the existing software fault tolerance techniques may not be applied directly because of the unacceptable performance overheads they introduce to the system. Our technique Selective Software Fault Tolerance (SSFT) aims at providing availability and reliability simultaneously, by providing only required amount of protection while preserving the quality of the program output. SSFT uses software profiling information to understand application's vulnerabilities against transient faults. Transient faults are more likely to occur in instructions that have higher execution counts. Additionally, the instructions that cause greater damage in program output when hit by transient faults, should be considered as application weaknesses in terms of reliability. SSFT combines these information to eliminate the instructions from fault tolerance, that are less likely to be hit by transient errors or cause errors in program output. This approach reduces power consumption redundancy (therefore less data bits susceptible to soft errors), while improving performance and providing acceptable reliability. This technique can easily be adapted to existing software fault tolerance techniques in order to achieve a more suitable form of protection that will satisfy different concerns of the application. Similarly, hybrid and hardware only approaches may also take advantage of the optimizations provided by our technique.