Denektaşları

Denektaşı( sınama programı); Bilgisayar mimarisinde bir bileşenin başarımını, o bileşen üzerinde çeşitli sınamalar yaparak ölçmek için çalıştırılan bir veya bir grup bilgisayar programıdır. Denektaşları ile bilgisayarın bir donanımının karakteristik bir özelliğinin başarımının belirlenmesinde de kullanılır. Örneğin Merkezi İşlem Biriminin (MİB[CPU]) kayan nokta ( floating point ) işlemlerindeki başarımını ölçmek için kullanılır. Ayrıca bazı durumlarda bu sınama yazılımların başarımı için de kullanılabilir. Yazılımlar için kullanılan denektaşlarına örnek olarak derleyiciler ya da veritabanı yönetim sistemlerinin başarımlarını ölçen programlar verilebilir.
Denektaşları farklı yonga veya sistem mimarilerinde çalışan alt sistemlerin başarımını karşılaştırmak için yöntemler geliştirmişlerdir. Denektaşları veri tabanı yönetim programlarının değişken durumlardaki tepkilerinin anlaşılmasında yardımcı olurlar. Farklı durumlar için farklı senaryolar üretilerek de başarım ölçülebilir. Örneğin kilitlenme işlemleri, yardımcı programların başarımı, farklı veri yükleme yöntemleri, eklenen yeni kullanıcılarla program hızının değişiminin karakteristiğinin belirlenmesi ve programın yeni sürümünün çıkmasıyla gelen uygulamaların başarımının belirlenmesi için farklı senaryolar üretilerek denektaşlarının farklı özellikleri ya da farklı denektaşları kullanılabilir.

Amaç

Bilgisayar mimarisinde bilgisayarların başarımlarını sadece özelliklerine bakarak belirlemek imkânsızdır. Bu nedenle, farklı testler geliştirilmiştir. Bu testler farklı sistemlerde çalıştırılarak elde edilen sonuçlar farklı mimarilerin karşılaştırılmasında kullanılmaktadır. Örneğin Intel Pentium 4 işlemcilerin saat sıklığı AMD Athlon XP işlemcilerden daha fazla olmasına karşın bu daha yüksek bir başarıma sahip oldukları anlamına gelmemektedir. Denektaşları testlerinde iki işlemcinin de benzer başarım gösterdiği görülmüştür.
Denektaşları belirli bir sisteme ya da bileşene, belli bir tür iş yükü yükleyecek şekilde tasarlanırlar. “Yapay (Synthetic)” denektaşları bir bileşenin üzerine bu iş yükünü yüklemek için yazılan özel programlardır. “Uygulama(Application) tür denektaşları sistem üzerinde gerçek programlar çalıştırırlar. “Uygulama” türündeki denektaşları bir sistemin başarımı ölçümünde etkiliyken, “Yapay” denektaşları ise sistem bileşenlerinin ( sabit tekerlek ( sabit disk ) , ağ aygıtları gibi ) tek başlarına başarımlarının ölçümünde etkilidirler.
Denektaşları özellikle yarı iletken mikroişlemcilerin tasarımında önemlidir. Denektaşları sayesinde tasarımcılar, mikro mimari düzeyinde aldıkları kararları ölçüp dengelerler.
Bilgisayar tasarımcılarının tasarladıkları sistemlerin başarımlarını ölçmek için denektaşlarını kullanması oldukça uzun bir geçmişe sahiptir. Ancak önceleri bu denektaşları testlerinin sonuçları gerçek kullanımla elde edilecek başarımdan farklıydı. 1980'lerde bazı derleyiciler bilinen kayan nokta işlemlerinde kullanılan özel bir matematik işlemini belirleyip daha hızlı olan matematiksel eşitlik işlemleriyle değiştiriyorlardı. Bu değişim 1990'lı yılların ortasına kadar denektaşları dışında kullanışlıydı. Ancak bu kullanışlılık RISC ve VLIW mimarilerinin tasarımcıları derleyici teknolojisinin başarımla ilgisini fark etmelerine kadar sürdü. Günümüzde denektaşları; derleyici şirketleri tarafından sadece kendi denektaşı sonuçlarını yükseltmek için değil, aynı zamanda tasarladıkları uygulamaların başarımlarını artırmak için de kullanılmaktadır.
Üreticiler çoğunlukla sadece denektaşlarını ya da denektaşlarının belirli yönlerini kullanarak ürünlerini en iyi şekilde tanıtmaya çalışırlar. Ayrıca bazıları bu denektaşlarının önemliklerini değiştirerek ürünlerini olabildiğince iyi şekilde göstermeye çalışırlar. Bu eylemlerin tamamına İngilizce bench-marketing adı verilir.

Kitaplar

Aşağıda denektaşları ile ilgili İngilizce kitaplar yer almaktadır.
Jim Gray (Editor), The Benchmark Handbook for Database and Transaction Systems (2nd Edition), Morgan Kaufmann, 1993, ISBN 1-55860-292-5
Database Benchmarking Practical Methods for Oracle & SQL Server Dr. Bert Scalzo, Kevin Kline, Claudia Fernandez, Donald K. Burleson, Mike Ault, 2007, ISBN 0-9776715-3-4