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.

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.

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.

Sağlayıcılar ürünlerini endüstriyel standartlı denektaşlarına göre ayarlamaları gerekmektedir. Norton SysInfo (SI) esas olarak çoklu işlemlerin hızlarına yöneliminden dolayı bu ayarlama biraz daha kolay yapılmaktadır. Bu tür sonuçların yorumlanmasında aşırı dikkat edilmesi gerekmektedir.

Denektaşları genellikle bileşenlerinin özelliklerinin ham başarısından başka şeylere itibar etmezler. Bu özelliklere örnek olarak güvenlik, kullanılabilirlik, güvenilirlik, uygulamaların çalışmasında bütünlük, yararlılık, ölçeklenirlik gibi özellikler gösterilebilir. Bu özelliklerin hepsi iş dünyasında hepsi önemlidir ve bunlar arasında denge kurulmaya çalışılmaktadır. TPC (Transaction Processing Performance Council) denektaşı şartnamesine göre bu işlem ACID özellik testi, veritabanı ölçeklenirlik kuralları ve servis seviye gereksinimi gibi işlemlerin yapılmasıyla belirlenir.

Genellikle denektaşları TCO yu(toplam sahiplik masrafı) ölçmezler. TPC denektaşı şartnamesine göre TCO’nun basit şekilde formüle edilmesi için ham başarım ölçüsünün belirlenmesi gerekir. Bunun için de eder/başarım ölçüsünün belirlenmesi gerekir.

Denektaşları karışık iş yüklerinin başarımını çoklu işlemleri tam, iş bağlamlı çoklu kısım/çoklu uygulama prensibiyle çalıştırarak ölçer. Ancak elde edilen sonuçlar nadiren gerçek dünyadaki başarımlarına eşdeğerdir.

Sağlayıcı denektaşlarının sonucunda bulunan geliştirme, test, ya da yıkım onarımı( disaster recovery ) işlem kapasitesi gibi gereksinimlerle ilgilenmezler. Sağlayıcılar özellikle ilk kazanım ederini olabildiğince az göstermek için gerekli en düşük ürün kapasitesini belirtmek isterler.

Denektaşları üretilmiş farklı sunucular ve aşırı hassas ağ ilingelerine (topolojilerine) uyum sağlamakta sorun yaşamaktadırlar. Izgara hesaplamanın( grid computing ) ortaya çıkması denektaşı sınamasının yapılmasını kısmen zorlaştırmıştır.

Kullanıcıların denektaşlarının önerdiği başarımlarda farklı şeyler anlaması olasıdır. Denektaşları ufak sapmalarndan çok ortalama başarımlara önem vermelidir. Yani kullanıcı bakış açısından çok bilimsel bakış açısı göz önüne alınmalıdır.

Sonuçları KWIPS (saniye başına kilo whetstone komutları) şeklinde belirtilir. Bu tür sınama boru hattı (bilgisayar) içeren bilgisayarlar için kullanıma uygun değildir.

OpenSourceMark: Delphi dilinde yazılan güçlü, kapsamlı bir grup açık kaynaklı sistem denektaşları ve altyapı hizmetleridir. OpenSourceMark kullanımı kolay olan bir grafiksel kullanıcı arayüzüne ve esnek bir sonuç gösterim yapısına sahiptir.

Calibrator: C programlama dilinde yazılmış bir küçük ön bellek ve Adres Dönüştürme Önbelleği (ADÖ)( TLB(Translation Lookaside Buffer) ) ayarlama aracıdır. Sonuçlar önbellek boyutu, bulma/bulamama gecikmesi, ADÖ girdileri, sayfa boyutu, bulamama cezası, bellek erişim gecikmesi gibi bilgileri içerir. gnuplot scriptleri ayrıca sonuçları grafiksel olarak da gösterirler.

OpenSourceMark: Delphi dilinde yazılan güçlü, kapsamlı bir grup açık kaynaklı sistem denektaşları ve altyapı hizmetleridir. OpenSourceMark kullanımı kolay olan bir arayüze ve esnek bir sonuç gösterim yapısına sahiptir.