Sniper Çok Çekirdekli İşlemci Simülatörü


        Sniper, yeni nesil paralel, yüksek hızlı bir x86 simülatörüdür. Bu çok çekirdekli simülatör, interval çekirdek modeline ve Grafit simülasyon altyapısına dayanmaktadır. Bu, farklı homojen ve heterojen çok çekirdekli mimarileri keşfederken bir dizi esnek simülasyon seçeneğine olanak tanır.

       Sniper Simülatörü, çoklu programlı iş yükleri ve çoklu iş parçacıklı paylaşımlı bellek uygulamaları için zamanlama simülasyonlarını 10 ila 100+ çekirdekle mevcut simülatörlerle karşılaştırıldığında yüksek hızda yapmanıza izin verir. Simülatörün ana özelliği, hızlı mekaniksel bir çekirdek modeli olan interval simülasyonuna dayanan çekirdek modelidir. İnterval simülasyonu, daha hızlı simülatör geliştirme ve değerlendirme sürelerine olanak sağlayan mimari simülasyonunda soyutlama seviyesini artırır; bunu interval olarak adlandırılan ıskalanan olaylar(miss events) arasında 'zıplayarak' yapar. Sniper, çoklu soketli Intel Core2 ve Nehalem sistemlerine karşı doğrulanmış ve birkaç MIPS'e kadar bir simülasyon hızında ortalama performans tahmini hatalarını %25 oranında sunmaktadır. Bu simülatör ve interval çekirdek modeli, tipik tek IPC modellerinden daha fazla ayrıntı gerektiren sistem düzeyinde çalışmalar için yararlıdır, ancak döngüye dayalı(cycle-accurate) simülatörler anlamlı boyutlardaki iş yüklerinin simüle edilmesine izin vermeyecek kadar yavaştır. Ek bir fayda olarak, interval çekirdek modeli, önbellek hiyerarşisi veya dallanma tahmini gibi sistemin farklı özelliklerinden dolayı kaybedilen döngü sayısını gösteren ve her bileşenin sistem performansı üzerine etkisinin daha iyi anlaşılmasını sağlayan CPI yığınlarının oluşturulmasına izin verir. Bu, Sniper'ın uygulama karakterizasyonu ve donanım/yazılım ortak tasarımı için kullanımını arttırır.


CPI yığın görselleştirmesi (Sniper 4.1)

IPC görselleştirilmesi (Sniper 4.1)

Özellikler



  • Interval çekirdek modeli
  • Sıralı, sırasız ve SMT çekirdeklerini destekleyen Komut-Penceresi Merkezli çekirdek modeli
  • Çok iş parçacıklı uygulama örnekleme desteği
  • Kayıp döngüler hakkında bilgi edinmek için CPI Yığınları ve gelişmiş görselleştirme desteği
  • Paralel, çok iş parçacıklı simülatör
  • Çok programlı ve çok iş parçacıklı uygulama desteği, x86 ve x86-64, SSE2
  • Intel Core 2 mikromimarisine karşı doğrulanmış
  • Tam DVFS desteği
  • Paylaşımlı ve özel önbellekler
  • Ön belleğe alıcılar(Prefetchers)
  • Planlama desteği
  • Heterojen yapılandırma desteği
  • Modern dallanma tahmincisi
  • Pthreads, OpenMP, TBB, OpenCL kullanarak paralel uygulamaları destekler
  • SPLASH-2, Rodinia, SPEC OMP ve PARSEC'in çoğunu çalıştırır
  • McPAT entegrasyonu
  • Simülatörün çalışma zamanında davranışını izlemek ve kontrol etmek için SimAPI ve Python arayüzleri
  • Simülatörün veya uygulamanın kendisinin tek seçenekli hata ayıklaması 
  • Modern Linux-OS desteği (Redhat EL 5,6 / Debian Lenny + / Ubuntu 10.04-15.04 +)
  • MIT ve Interval Akademik Lisansı kapsamında lisanslı açık kaynaklı yazılım

snipersim