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

