Detection of and recovery from concurrency errors using transactional memory techniques
dc.contributor.advisor | Taşıran, Serdar | |
dc.contributor.author | Matar, Hassan Salehe | |
dc.date.accessioned | 2020-12-08T07:50:20Z | |
dc.date.available | 2020-12-08T07:50:20Z | |
dc.date.submitted | 2013 | |
dc.date.issued | 2018-08-06 | |
dc.identifier.uri | https://acikbilim.yok.gov.tr/handle/20.500.12812/168893 | |
dc.description.abstract | Bu çalışmada, çok izlekli C/C++ uygulamalarındaki eş zamanlı programlama hatalarınıntespitini geliştirmek ve bu uygulamaların hareket belleği (TM) teknolojisikullanılarak kurtarılmasını sağlamak için bir yöntem öne sürüyoruz.Hareket Belleği, koşut program tasarımını ve uygulamasını basitleştiren,başarımı arttıran ve uygulamaları çoğu eş zamanlı programlama hatalarından koruyan birkoşut programlama modelidir. Bizim yaklaşımımız, eş zamanlı programlama hatalarının tespitedilme başarımını arttırmak için TM kullanmakta ve kalıt C/C++ uygulamalarınıneş zamanlı programlama hatasızlıktan faydalanabileceği bir çerçeve sağlamaktadır.Mevcut eş zamanlı hatası tespit eden yaklaşımlar ya çok yavaş ya da mevcutişlemci mimarisinde fazladan değişikliklere ihtiyaç duymaktadırlar. Buyöntemlerin uygulamayı yavaşlatması birkaç sebepten kaynaklanabilir: bunlarıuygulamaya eklemek için kullanılan araçlar, hataların tespiti için gereklihesaplamalar ve bu teknikler tarafından kullanılan hata tespitiyle alakalıverinin uygun biçimde korunması.Çok izlekli bir uygulamadaki her izleğin komut akışını küçük hareketlere bölmekiçin bir yol sunmaktayız. Daha sonra, eş zamanlı hata tespit verisinin iyi tanelikorunmasını elde etmek için çakışma tespitini kullanmaktayız. Eş zamanlıhatalarından, özel olarak veri yarışlarından, kurtulmak için hareket yazmaarabelleklerini ve geri dönüş mekanizmalarını kullanmaktayız ve hatalı veriyeveya eş zamanlı programın parçalarına fazladan koruma dayatmaktayız.Yaklaşımımız birçok çok çekirdekli denektaşı uygulamada iyi çalışmakta veuzlaşılmış yollara nazaran eşzamanlı hata tespitinde belirgin bir başarım artışıgöstermektedir. Bu gelişmeler önerilen yaklaşımın endüstride kullanımı içincesaret verici öncül sonuçlardır. | |
dc.description.abstract | We propose a technique to improve detection of concurrency errors of multi-threaded C/C++applications and recovery of these applications from the errors using transactional memory (TM)technology. Transactional memory is an emerging parallel programming modelwhich simplifies parallel program design and implementation, improves performance andprotects applications from most concurrency bugs. Our approach uses TM to improveperformance of detection of concurrency errors and provides a framework by which legacyC/C++ applications can benefit from concurrency error-freedom.The current concurrent error detection approaches are either too slow or need extra modificationto current processor architecture. The slowdown of these techniques stems from a number of reasons:instrumentation used to add them into application, necessary computations needed to detect errors, and cost of proper protection of error-detection-related data used by these techniques.We propose a way to divide the instruction stream of each thread in a multi-threaded application into small transactions. We then use conflictdetection to get fine-grain protection of concurrency error detection data to improve performance.We use transaction write buffers and rollback mechanism to recover from concurrency errors,data races in particular, and impose extra protection on erroneous data or portions of concurrent program.Our approach works well on a number of multi-core benchmark applications and showsa significant performance improvement of concurrent error detection over conventional means. These improvements are encouraging initial results for the industrial usage of the proposed approach. | en_US |
dc.language | English | |
dc.language.iso | en | |
dc.rights | info:eu-repo/semantics/openAccess | |
dc.rights | Attribution 4.0 United States | tr_TR |
dc.rights.uri | https://creativecommons.org/licenses/by/4.0/ | |
dc.subject | Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol | tr_TR |
dc.subject | Computer Engineering and Computer Science and Control | en_US |
dc.title | Detection of and recovery from concurrency errors using transactional memory techniques | |
dc.title.alternative | Eşzamanlı program hatalarının tespiti ve hareketsel bellek yöntemleri ile düzeltilmesi | |
dc.type | masterThesis | |
dc.date.updated | 2018-08-06 | |
dc.contributor.department | Bilgisayar Bilimleri ve Mühendisliği Anabilim Dalı | |
dc.identifier.yokid | 10015051 | |
dc.publisher.institute | Fen Bilimleri Enstitüsü | |
dc.publisher.university | KOÇ ÜNİVERSİTESİ | |
dc.identifier.thesisid | 332228 | |
dc.description.pages | 69 | |
dc.publisher.discipline | Diğer |