Tez No İndirme Tez Künye Durumu
297860
Application mapping and optimization for CMP based architectures / Yongada çoklu-işlemcili mimariler için uygulama haritalaması ve eniyileme
Yazar:BETÜL DEMİRÖZ
Danışman: PROF. DR. OĞUZ TOSUN ; PROF. DR. HALUK TOPÇUOĞLU
Yer Bilgisi: Boğaziçi Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Konu:Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin:Bilgisayar mimarisi = Computer architecture ; Haritalama = Mapping ; Çip = Chip ; Çoklu işlemci = Multiprocessor
Onaylandı
Doktora
İngilizce
2011
123 s.
Yongada Çoklu-İşlemciler (CMP), kişisel bilgisayarların yanı sıra büyük ölçekliparalel makinaların ve süper bilgisayarların standart ve temel yapıtaşlarını oluşturmayabaşlamıştır. Bu tezdeki temel amacımız, performansı arttıran haritalama ve optimizasyonyöntemleri geliştirerek, uygulama izleklerini çok çekirdekli mimarilere atamaktır.Bunu başarabilmek için üç farklı yöntem sunmaktayız, bunlar veri-çekirdek eşlememetodu, izlek-çekirdek eşleme metodu ve önbellek merkezli veri-izlek eşleme metodudur.Veri-çekirdek eşleme metodunda, Barnes-Hut algoritmasının bir CMP olan CellBroadband Engine Mimarisinin teknik özelliklerini ve limitlerini göz önünde bulunduraniki özgün paralel formulasyonunu önermekteyiz. Yapılan deneysel değerlendirme,Barnes-Hut metodunun Cell mimarisi üzerindeki performansının karşılaştırma yapılanreferans mimarisi olan Intel Xeon tabanlı sisteme göre belirgin oranda daha hızlıolduğunu göstermektedir. İzlek-çekirdek eşleme metodunu sunmak için, uygulamaizlekleri ile paralel çalışan yardımcı izlekler kullanan ve dinamik olarak uygulama izleklerinindavranışlarını ve eriştikleri veri düzenini gözlemleyen bir sistem önerilmiştir.Yardımcı izlekler uygulama izleklerinin veri paylaşım miktarını hesaplayarak, bunlarıçekirdeklere eşlenmeleri için gruplara ayırır, eşlemelerin verimliliğini hesaplayabilmekiçin ön bellek sayaçları kullanır, ve çalışma zamanı ihtiyaçlarına bağlı olarak eşlemekararını alır. önerilmiş olan son metodumuzda, benzer veri erişim şekline sahip olanhesaplamaları aynı çekirdeğe atamayı hedefleyen, veri yerelliğini sağlayan bir eşlemealgoritması tasarlanmıştır. önerilen algoritma verilen uygulamanın hesaplamalarınıyükün eşit dağılımını sağlayabilmek için parçalara ayırır ve veri yerelliliğini sağlamakiçin yüksek benzerliğe sahip olan parçalar gruplandırılırlar. Metodun performansınıölçmek için, referans uygulama olarak seyrek matris-vektör çarpımı kullanılmıştır.
Chip Multiprocessors (CMPs) are becoming standard and primary buildingblocks for personal computers as well as large scale parallel machines, including supercomputers.In this thesis, our main focus is on performance-aware mapping andoptimization of application threads onto multicore architectures. Specifically, we proposethree different approaches, which are data-to-core mapping methodology, threadto-core mapping methodology, and cache-centric data assignment methodology thatincludes data-to-thread mapping. For demonstrating data-to-core mapping methodology,we propose two novel parallel formulations for the Barnes-Hut method on the CellBroadband Engine architecture by considering technical specifications and limitationsof the Cell architecture. Our experimental evaluation indicates that the Barnes-Hutmethod performs much faster on the Cell architecture compared to the reference architecture,an Intel Xeon based system. To present thread-to-core mapping methodology,we propose a framework that uses helper threads running in parallel with applicationthreads, which dynamically observe the behavior of application threads and theirdata access patterns. These helper threads calculate data sharing among applicationthreads, cluster them to be mapped to available cores, use cache counters to calculatethe efficiency of a mapping, and make the mapping decision after considering the executionneeds. Our final methodology provides a locality-aware mapping algorithm,which targets to assign computations with similar data access patterns of an applicationto the same core. Our algorithm divides computations of the application intochunks to provide load balancing, and a set of chunks with high similarity is groupedinto bins to provide data locality. We consider the sparse matrix-vector multiplicationas the reference application.