System Level Synthetic Benchmarks For Multicore Architectures
Summary:
System-level benchmarks enable performance evaluation early in the design cycle of multi-core architectures. However, benchmark development is costly. Synthetic benchmarks have similar performance behavior as the originals that they are generated from. Additionally, they can run faster, and they can act as proxies for proprietary customer codes that are not available in source form. In this thesis we develop a framework to generate system-level synthetic benchmarks from SystemC/TLM or Pthreads applications. These benchmarks are intended for different use cases, the former targeting virtual platforms in co-simulation environments and the latter targeting simulation platforms lacking either library support or necessary computing capabilities. Our framework was implemented by extending the synthetic benchmark generation framework developed by Deniz et al. with a SystemC front-end and back-end. In experiments we observe that not only are our system-level benchmarks much smaller than the real benchmarks that they are generated from but they are much faster also. For example, when we generate synthetic benchmarks from the well-known multi-core benchmark suite, PARSEC, our benchmarks have an average speedup of 141x over PARSEC benchmarks. Experiments with benchmarks generated from SystemC/TLM applications also have an average speedup of 4x even for designs with the shortest execution times. We observe that our synthetics maintain similar performance characteristics as the original benchmarks and they are portable across three different multi-core architectures. Specifically, benchmarks generated from PARSEC have more than 81% similarity and benchmarks generated from SystemC have more than 88% similarly on all three architectures.
Özet:
Sistem seviyesindeki denektaşları çok çekirdekli mimarilerde tasarım sürecinin erken safhalarında verimlilik değerlendirmesine olanak sağlamaktadır. Fakat denektaşlarının geliştirilmesinin maliyeti yüksektir. Bireşimsel denektaşları elde edildikleri asıllarıyla benzer verimlilik davranışlarına sahiptir. Buna ek olarak, daha hızlı çalışırlar ve kaynak formu mevcut olmayan tescilli müşteri kodlarının vekili olarak gorev yapabilirler. Biz bu tezde SystemC/TLM ya da Pthreads uygulamalarından sistem seviyesindeki bireşimsel denektaşları elde eden bir çatı sistemi geliştirdik. Bu denektaşları farklı kullanım senaryoları için düşünülmüş olup ilki eşbenzetim ortamlarındaki sanal platformları ve ikincisi de kütüphane desteği veya gerekli hesaplama yeteneği bulunmayan simulasyon platformlarını hedeflemektedir. Bizim çatı sistemimiz Etem ve ark. tarafından geliştirilen bireşimsel denektaşı elde etme çatı sisteminin SystemC ön ve arka uçlarıyla genişletilmesiyle uygulanmıştır. Deneylerde bizim sistem seviyesindeki denektaşlarımızın elde edildikleri asıl denektaşlarına kıyasla daha küçük olmalarıyla beraber daha hızlı olduklarını gözlemledik. Mesela iyi bilinen çok çekirdekli bir denektaşı takımı olan PARSEC ile bireşimsel denektaşları elde ettiğimizde denektaşlarımız PARSEC denektaşlarına kıyasla ortalama 141 kat hızlanmaya sahip oldu. SystemC/TLM uygulamalarından elde edilen denektaşlarıyla yapılan deneyler aynı şekilde kısa çalışma süresine sahip tasarımlara rağmen ortalama 4 kat hız artışına sahip oldu. Biz bireşimsel denektaşlarımızın elde edildikleri asıllarıyla benzer verimlilik davranışları gösterdiğini ve üç farklı çok çekirdekli mimaride taşınabilir olduğunu gözlemledik. Özel olarak, üç mimaride de PARSEC ile elde edilen denektaşları %81'den fazla benzerliğe ve SystemC ile elde edilen denektaşları %88'den fazla benzerliğe sahiptir.