İçeriğe atla

SPEC

Standart Performans Ölçüm Kurumu(Standard Performance Evaluation Corporation (SPEC) ) amacı bilgisayarların başarımlarını ölçebilen dürüst, tarafsız ve anlamlı denektaşları üretmek olan; kâr amacı gütmeyen bir şirkettir. Kuruluş yılı 1988’dir. Üyeleri arasında önde gelen bilgisayar ve yazılım şirketleri yer almaktadır. Günümüzde SPEC’in değerlendirmeleri bilgisayar sistemlerinin geliştirilmesinde yaygın olarak kullanılmaktadır. Bu değerlendirmeler kurumun internet sitesinde yayımlanmaktadır. Değerlendirme sonuçları gayri resmi olarak “SPECmarks” veya “SPEC” olarak anılmaktadır.

Kurumun değerlendirmelerinde günlük hayatta karşılaşılacak durumlar sınanmaktadır. Bu değerlendirmeler için çeşitli sınama programları (denektaşları (benchmarks )) kullanılmaktadır. Örneğin SPECweb2005 değerlendirilmesinde internet sunucularının başarımı ölçülmektedir. Bunun için farklı türlerde paralel HTTP istekleri gönderilerek başarım ölçülmüştür. SPEC CPU ise Merkezi İşlem Birimi’nin (MİB - Central Process Unit: CPU ) başarımını farklı türlerdeki programların çalışma zamanlarını ölçerek sınamaktadır. Örneğin bir derleyici ve bir satranç oyunu çalıştırılarak elde edilen sonuçlar değerlendirilmiştir. Bütün bu çalıştırılan görevlere kullanım sıklıklarına göre farklı ağırlıklar verilir. Daha sonra bu ağırlıklar kullanılarak tek bir denektaşı değerlendirme sonucu elde edilir.

SPEC denektaşları uyumlu sanal makineye sahip, her türlü bilgisayarda çalışabilecek programlama dillerinde (çoğunlukla C ya da FORTRAN) yazılırlar. Denektaşını kullanacak olan üyeler bu kodu değiştirmeden herhangi bir derleyici ile derlerler ve kullanırlar. Bu kodlar sayesinde üreticiler farklı SPEC denektaşlarının başarımlarını artırmak için derleyicilerini geliştirirler.

Bu denektaşlarının kullanımı için kurumlar SPEC’ten lisans satın almak zorundadırlar. Lisans ücretleri sınamadan sınamaya değişir.

Örnek Denektaşları

Kullanılanlar

  • SPEC CPU2006, MİB’in bellek ve derleyici olmak üzere birleşik başarımını ölçer:
    • CINT2006 ("SPECint") derleyiciler, çeviriciler, kelime işlemcileri, satranç programları gibi programları kullanarak tam sayı aritmetiği konusunda sınama yapar.
    • CFP2006 ("SPECfp") fiziksel benzetimler, 3 boyutlu grafikler, resim işlemcileri, kimyasal hesaplamalar gibi programları kullanarak kayan nokta işlemlerini yapar.
  • SPECjms2007, Java mesaj servisinin başarımını ölçer
  • SPECweb2005, PHP ve/veya JSP dillerinin başarımlarını ölçer.
  • SPECviewperf, bir OpenGL 3 boyut(3D) grafik sisteminin başarımını, farklı türlerde gerçek programların görüntü işlemleriyle sınayarak ölçer
  • SPECapc, verilen bir sistemin başarımını farklı ve yoğun 3 boyutlu öğeler içeren ve revaçta olan programlarla ölçer.
  • SPEC OMP V3.1, OpenMP (http://www.openmp.org20 Temmuz 2008 tarihinde Wayback Machine sitesinde arşivlendi.) uygulamaları kullanan paralel sistemlerin başarımlarını ölçer.
  • SPEC MPI2007, MPI uygulamaları kullanan paralel sistemlerin başarımlarını ölçer.
  • SPECjvm98, Java Sanal Makinesi’nde (Java virtual machine ) çalışan java istemcilerinin başarımını ölçer.
  • SPECjAppServer2004, J2EE(Java 2 Enterprise Edition) tabanlı uygulama sunucularının başarımını ölçmekte kullanılan çok katmanlı bir programdır.
  • SPECjbb2005, Java tabanlı sunucuların başarımlarını 3 katlı istemci/sunucu sistemi benzetimi çalıştırarak ölçer.
  • SPEC MAIL2001, posta sunucularının başarımlarını SMTP ve POP iletişim kurallarını sınayarak ölçer.
  • SPEC SFS97_R1, NFS dosya sunucularının üretilen iş ve yanıt zamanına göre başarımını ölçer.

Kullanımdan Kalkanlar

  • SPEC CPU2000
  • SPEC CPU95
  • SPEC HPC96
  • SPEC HPC2002
  • SPECjAppServer2001
  • SPECjAppServer2002
  • SPECjbb2000
  • SPEC SDM91
  • SPEC SFS97
  • SPECweb96
  • SPECweb99
  • SPECweb99_SSL

İlgili Bağlantılar

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">C (programlama dili)</span> programlama dili

C, yapısal bir programlama dilidir. Bell Laboratuvarları'nda, Ken Thompson ve Dennis Ritchie tarafından UNIX işletim sistemini geliştirebilmek amacıyla B dilinden türetilmiştir. Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian Kernighan ve Dennis M. Ritchie tarafından yayımlanan "C Programlama Dili" kitabından sonra hızlanmıştır. Günümüzde neredeyse tüm işletim sistemlerinin yapımında %95'lere varan oranda kullanılmış, hâlen daha sistem, sürücü yazılımı, işletim sistemi modülleri ve hız gereken her yerde kullanılan oldukça yaygın ve sınırları belirsiz oldukça keskin bir dildir. Keskinliği, programcıya sonsuz özgürlüğün yanında çok büyük hatalar yapabilme olanağı sağlamasıdır. Programlamanın gelişim süreciyle beraber programlamanın karmaşıklaşması, gereksinimlerin artması ile uygulama programlarında nesne yönelimliliğin ortaya çıkmasından sonra C programcıları büyük ölçüde nesne yönelimliliği destekleyen C++ diline geçmişlerdir.

<span class="mw-page-title-main">Pascal (programlama dili)</span> yüksek seviyeli programlama dili

Pascal bilgisayar programlama dili pek çok öğrenciye bilgisayar programlamayı öğreten ve çeşitli versiyonları bugün hâlâ yaygın olarak kullanılmaya devam eden en önemli programlama dillerinden biridir. İlk Macintosh işletim sisteminin çoğu ve TeX Pascal ile yazılmıştır.

<span class="mw-page-title-main">Derleyici</span> kaynak kodunu bilgisayarın işleyebileceği koda dönüştüren program

Derleyici, kaynak kodu makine koduna dönüştüren yazılımdır. Bir programlama dilinin derleyicisi, o programlama dili kullanılarak yazılmış olan kodu hedef işlemci mimarisine göre uygun şekilde makine koduna derler ve genellikle çıktı olarak yürütülebilir dosyanın oluşturulmasını sağlar. Bu eyleme derleme denir. Bir başka ifadeyle derleyici, bir tür yazı işleyicidir; girdi olarak yazı alır ve çıktı olarak yazı verir.

<span class="mw-page-title-main">Yazılım</span> bilgisayarın somut olmayan çalıştırılabilir bileşeni

Yazılım, değişik ve çeşitli görevler yapma amaçlı tasarlanmış elektronik aygıtların birbirleriyle haberleşebilmesini ve uyumunu sağlayarak görevlerini ya da kullanılabilirliklerini geliştirmeye yarayan makine komutlarıdır.

<span class="mw-page-title-main">Merkezî işlem birimi</span> bir bilgisayar programının talimatlarını, talimatlar tarafından belirtilen temel aritmetik, mantıksal, kontrol ve giriş/çıkış (G/Ç) işlemlerini gerçekleştirerek yürüten ve diğer bileşenleri koordine eden bir bilgisayar içindeki elektro

Merkezî işlem birimi, dijital bilgisayarların veri işleyen ve yazılım komutlarını gerçekleştiren bölümüdür. Çalıştırılmakta olan yazılımın içinde bulunan komutları işler. Mikroişlemciler ise tek bir yonga içine yerleştirilmiş bir merkezî işlem birimidir. 1970'lerin ortasından itibaren gelişen mikroişlemciler ve bunların kullanımı, günümüzde MİB teriminin genel olarak mikroişlemciler yerine de kullanılması sonucunu doğurmuştur.

<span class="mw-page-title-main">Kişisel bilgisayar</span>

Kişisel bilgisayar veya PC, şahsi kullanımına yönelik özel olarak tasarlanmış, herhangi bir uzman veya operatörün yardımı olmadan kişilerin kendi başlarına kullanabileceği bilgisayar türü. Masaüstü bilgisayarlar, dizüstü (laptop) bilgisayarlar ve tablet bilgisayarlar, PC'lere örnek olarak verilebilir. Kişisel bilgisayarlar evde, büroda veya mobil olarak kullanılabilirler.

<span class="mw-page-title-main">Intel 80286</span>

Intel 80286 veya i286, 8086/8088'dan sonraki intel işlemcisidir.

Paralel hesaplama ya da Koşut hesaplama, aynı görevin, sonuçları daha hızlı elde etmek için çoklu işlemcilerde eş zamanlı olarak işletilmesidir. Bu fikir, problemlerin çözümünün ufak görev parçalarına bölünmesi ve bunların eş zamanlı olarak koordine edilmesine dayanır. Paralel hesaplama ile performans artar, büyük sorunlar daha az sürede çözülür ve bilimdeki gelişmeler paralel hesaplamaya gereksinim duyar.

<span class="mw-page-title-main">Assembly</span> uygulanan işlemlerle programlama dilinin birbirine çok yakın olduğu düşük seviye programlama dilleri

Assembly dili, bir işlemcinin komut kümesi üzerine tanımlanmış alt seviye bir dildir. Assembly dili kolay hatırlanabilir semboller tanımlar ve böylece işlemcinin makina koduna karşılık gelen sayı dizilerinin bilinmesine gerek kalmaz. Assembly dili, platformdan bağımsız yüksek seviyeli programlama dillerinin aksine, işlemci mimarisine bağımlıdır. Tipik uygulamaları; cihaz sürücüleri, alt seviyeli dahili (embedded) ve gerçek zamanlı sistemlerdir. Bır assembly programı assembler kullanılarak makine koduna çevrilir.

<span class="mw-page-title-main">Bilgisayar mimarisi</span>

Bilgisayar mimarisi, en küçüğe ve en başarılıya ulaşmayı hedeflerken aynı zamanda maliyeti de göz önünde bulundurduğu için sanat ve bilimin ortak buluştuğu nokta olarak da tanımlanır. Bilgisayar Mimarisi, bilgisayar parçalarının iç yapıları ve aralarındaki haberleşme bağlantıları ile ilgilidir.

<span class="mw-page-title-main">World Wide Web</span> internet kullanarak ulaşılan, birbirine bağlı belgelerden oluşan küresel sistem

World Wide Web, Dünya Çapında Ağ (kısaca WWW veya Web), İnternet üzerinde yayınlanan birbirleriyle bağlantılı hiper-metin dokümanlarından oluşan bir bilgi sistemidir. Bu dokümanların her birine Web sayfası adı verilir ve Web sayfalarına İnternet kullanıcısının bilgisayarında çalışan Web tarayıcısı adı verilen bilgisayar programları aracılığıyla erişilir. Web sayfalarında metin, imaj, video ve diğer multimedya ögeleri bulunabilir ve diğer bağlantı ya da link adı verilen hiper-bağlantılar ile başka Web sayfalarına geçiş yapılabilir.

<span class="mw-page-title-main">Merkezî işlem birimi tasarımı</span>

Merkezî işlem birimi tasarımı bilgisayarın temel bileşenlerinden birisi olan Merkezî işlem birimini (MİB) etkin kullanmayı yönelik bir tasarımdır. MİB bilgisayar donanımının temel bileşenlerinden birisidir. İşlemcisi olmayan bir bilgisayar düşünülemez. Bu yüzden işlemcinin tasarımı ne kadar iyi olursa sistem de o derece hızlı olacaktır. İşlemciyi hızlandırmanın değişik yolları vardır. Bunlardan bazıları:

  1. Buyrukların paralel çalışmasını sağlamak
  2. Çok vuruşluk işlemciler kullanmak
  3. Boru hattı kullanmak
  4. Çoklu işleme kullanmak

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 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.

Uzak yordam çağrısı (ya da uzak prosedür çağrısı; İngilizce: Remote Procedure Call , bir diğer adres uzayı üzerinde programcı açıkça bu uzaktan etkileşim detayları kodlama olmadan çalıştırmak için bir alt yordam veya prosedürü sağlayan bilgisayar programına izin veren süreçler arası iletişim teknolojisidir. Sunucu üzerindeki servisleri kontrol ettiğimizde karşımıza çıkan RPC, arka plânda birçok şeyi gerçekleştiren bir servistir. RPC, temelde istemci ve sunucu arasında yapılan işlemlerin iletişimi için tasarlandı. Bir işlemin gerçekleşmesi için bir gönderici ve bir de istemci vardır.. Yani programcı, alt prosedür ister çalışan programın yerelinde ister uzağında olsun, temelde aynı kodu yazar. Bu bir tür istemci-sunucu etkileşimidir ve tipik olarak bir istek-yanıt mesaj geçirme sistemi aracılığıyla uygulanır. Nesne yönelimli programlama modelinde, RPC'ler uzaktan yöntem çağırma ile temsil edilir. RPC modeli bir konum şeffaflığı seviyesini ifade eder, yani çağrı prosedürleri yerel ya da uzak olsun büyük ölçüde aynıdır, ancak genellikle aynı değildirler, bu nedenle yerel çağrılar uzak çağrılardan ayırt edilebilir. Uzak çağrılar genellikle yerel çağrılardan çok daha yavaş ve daha az güvenilirdir, bu nedenle bunları ayırt etmek önemlidir.

Çok uzun buyruk kelimesi, buyruk düzeyindeki paralelliğin avantajından yararlanmak için geliştirilmiş bir işlemci tasarımıdır. Her buyruğu arka arkaya çalıştıran işlemciler, işlemci kaynaklarını verimsiz bir şekilde kullanabilmekte ve bu durum da başarımın düşmesine neden olmaktadır. Başarım, sıralı çalışan buyrukların çalıştırılma basamaklarında farklı aşamalarda olmasıyla veya aynı anda birden fazla buyruğun birbirinden bağımsız olarak çalıştırılmasıyla arttırılabilir. Bu yöntemlerin daha da iyileştirilmesi, buyrukların programdaki sırasından farklı bir sırada çalıştırılması ile sağlanabilir; bu yönteme de Sırasız yürütüm denir.

<span class="mw-page-title-main">İşlem yönetimi</span>

İşlem yönetimi günümüz işletim sistemlerinin önemli bir parçasıdır. İşletim sisteminin işlemlere yer alması, aralarında haberleşmeyi sağlaması onun önemli görevlerindendir. İşletim sistemi kaynakları işlemlere göre ayırmalı, işlemleri veri aktarımı ve paylaşımına uygun hale getirmeli, her işlemin kaynağını diğer işlemlerden korumalı ve işlemler arası senkronizyonu sağlamalıdır. Bunları yapabilmek için işletim sistemi her işlem için o işlemin mevkisini ve sahipibi tanımlayan ve işletim sistemini her veriği üzerinde kontrol uyguladığı bir veri yapısı sağlamalıdır.

Java bytecode, Java Programlama Dili'nde Java derleyicinin Java kodlarını makine dili yerine kendi alternatif biçime derlediği bytecode adı verilen binary dosyadır. Bu program Java Sanal Makinesi (JVM) adı verilen bir hayali bilgisayarın makine kodunu yaratır. Bu şekilde oluşturulmuş olan bytecode makine diline yorumlayıcı programlar vasıtasıyla çevrilir. Bytecode'unu kullanmanın bir avantajı JVM ile yorumlanan bu kodun herhangi bir derleme işlemine tabi tutulmadan bütün bilgisayarlarda çalışabilecek duruma gelmesidir. Dolayısıyla Java Programlama Dili internet uygulamaları için mantıklı bir kullanılma nedeni oluşturmaktadır.

Dart, ilk kez Google tarafından geliştirilen ve daha sonraları ECMA tarafından standart (ECMA-408) haline getirilen açık kaynaklı ve genel-amaçlı bir programlama dilidir. Dart dili kullanılarak web, sunucu, mobil uygulamalar ve IoT cihazları geliştirilebilir.

JIT ; bilgisayar kodunu çalıştırmanın bir yoludur. Yürütülmeden önce bir program yürütülürken çalışma zamanında derleyici içerir. Genellikle bu, kaynak kodu ve daha sonradan makine diline bytecode kod çevirisini içerir ve bu kod doğrudan doğruya çalıştırılır. Bir JIT derleyicisi uygulayan bir sistem genellikle yürütülen kodu sürekli olarak analiz eder, daha sonra derleme veya tekrar derlemeden elde edilen hızlanmanın bu kodun derlenmesinin yükünden daha ağır olacağı kod bölümlerini tanımlar.

Uzak Masaüstü Hizmetleri (RDS) ya da Terminal Hizmetleri Windows Server 2008 ve önceki sürümlerinde, kullanıcının bir uzak bilgisayar veya sanal makinenin bir bilgisayar ağı bağlantısı üzerinden kontrolünü ele geçirmesine olanak sağlayan Microsoft Windows bileşenlerinden biridir. Uzak masaüstü yazılımıdır. RDS, Microsoft'un Windows istemci yazılımı ve RDS çalıştıran bilgisayarın tüm masaüstünün Uzak Masaüstü Protokolü'nü (RDP) destekleyen bir uzak sanal makinesine erişebildiği ince istemci uygulamasıdır. RDS ile, yalnızca yazılım kullanıcı arayüzleri istemci sistemine aktarılır. İstemci sistemindeki tüm girdiler, yazılımın gerçekleştirildiği sunucuya iletilir. Bu, Microsoft App-V gibi, bilgisayar programlarının istemciye istek üzerine aktarıldığı ve istemci makinede yürütüldüğü uygulama akış sistemlerinden farklıdır.