Characterizing error propagation on scientific applications - Öztürk, Zühal (My University, 2017)
Bilimsel Uygulamalarda Hata Yayılması KarakteristiğiTransistör boyutlarının küçülmesi, güç iyileştirmeleri ve artan işlem frekansları nedeniyle sistemlerde oluşan geçici hata oranları artmaktadır. Güvenilirlik donanım ve yazılım alanlarındaki önemli konulardan biri olarak kalmaktadır. Yapılan çalışmalar güvenilir hesaplamayı çeşitli açılardan ele almakta olsalar da, bu çalışmalar hata yayılmasının temel prensiplerini anlama konusunda yetersiz kalmışlardır. Hata yayılmasının karakterize edilmesi minimum performans ve güçle istenen seviyede güvenilirliğin sağlanmasına imkan verecektir. Bu tezde Hata Yayılma Hızı metriği tanımlanarak hata yayılması yazılım seviyesinde karakterize edilmektedir. Hata enjekte etme deneyleri yardımıyla farklı uygulamalar için bu metriğin ölçen bir sistem tasarlanmıştır. Bu metriğin geçerliliği, sıklıkla kullanılan farklı yinelemeli çözücülerin farklı girdi–çıktı çiftleri için modellenerek test edilmiştir. Deneysel sonuçlarımız Hata Yayılması Hızı’nın modellenebilmesi için deterministik ve rastsal modellerin kullanabileceğine işaret etmektedir. Bu tez kapsamında uygulamaların daha düşük hata ile çalıştırılabilmesini sağlamak için hata yayılmasının yavaşlatılmasına yönelik iki farklı yaklaşım önerilmektedir. İlk olarak, seçilen uygulamaların farklı algoritmik seçimleri incelenmiş ve bu seçimlerin hata yayılması profili üzerinde etkilerinin olup olmadığı ölçülmüştür. Ek olarak seçilen döngü iyileştirme teknikleri hata yayılma hızını yavaşlatmak için incelenmiştir. Yapılan deneyler üç sıralama algoritmasının farklı hata yayılması karakteristiğine sahip olduğunu göstermektedir. Örnek olarak, “döngü döşeme” yöntemi verilen uygulama için hata yayılması karakteristiğinde önemli bir değişikliğe neden olmuştur. Diğer taraftan, “döngü açma” iyileştirme tekniğinin hata yayılması üzerindeki etkisi ihmal edilebilecek kadar düşüktür. BSTRACT Characterizing Error Propagation on Scientific ApplicationsDecreasing transistor sizes, aggressive power optimization techniques and higher operation frequencies lead to increase error rates. Reliability remains as one of the critical issues in both hardware and software domains. While researches addressed various aspects of reliable computing, there is still lack of study for providing fundamental understanding of error propagation. Characterizing the error propagation can help to achieve the desired level of reliability with minimum performance and power overheads. In this thesis, we characterize error propagation at software level by defining a metric called Error Propagation Speed. A framework is developed to evaluate this metric for different applications by performing fault injection experiments. The matrix is validated on a set of commonly used iterative solvers, where the speed of error propagation is modeled for different input–output pairs. Our experimental results indicate that both deterministic and stochastic models can potentially be used for the error propagation speed metric. In this thesis, we study two different approaches for slowing down the error propagation to enable applications execute in low error fashion. Firstly, various algorithmic choices of the selected application are examined and measured whether such choices have impact on error propagation profiles. Experimental evaluations show that three sorting algorithms differ in error propagation patterns. Additionally, selected loop transformation techniques are examined for slowing down the error propagation speed. Specifically, loop tiling causes significant difference on error propagation characteristics for the given application, whereas the effect of loop unrolling optimization is negligible.
Keywords: Bilgisayar; Donanım; geçici hatalar; Güvenilirlik; güvenilirlik error propagation; hata yayılması; reliability; soft errors