×

Veri (Merkezi) İşlem Birimi : DPU Bölüm-1



Veri (Merkezi) İşlem Birimi : DPU
Bölüm-1 


Celal Ünalp 
 


Bilişim Sistemlerinde Başarım (Performans)

Daha iyi, daha doğru, daha üstün ve bel(li)ki de daha hızlısını bulmak için ölçmek ve mukayese etmek sektörümüzde en problemli konuların başında gelir.

Başarım (performans), bir şeyin üstün niteliklerinin ortaya koyduğu başarma durumu, işlevini yerine getirme yeteneği, gücünün sınırı, elde edebileceği en iyi derece ve nihayetinde bir şeyin değerini belirleyen niteliklerden bir tanesi olarak tanımlanmaktadır.

Gereksinimler en genel tanımıyla sistematik olarak belirlenmiş, ölçülebilir hedefler anlamına gelmektedir. Mukayese mevcut durum ve hedeflenen durum arasındaki farkı gösterir. Bu sayede daha iyi, daha üstün veya daha hızlıya karar verme konusunda yardımcı olur.

Bilgisayar mimarisi ve sistem tasarım bakış açısıyla başarım, tüm alt bileşenlerin (işlemci, bellek, grafik, depolama, iletişim, yazılım vb.) kümülatif katkısıyla ortaya çıkan soyut bir kullanıcı deneyimini ifade eder ve ancak çok net biçimde belirlenmiş bir gereksinim karşısında değer kazanabilir. Bu açıdan bakıldığında bilgisayar başarımının tek bir mutlak ölçütü yoktur ve her zaman mukayeseli bir ölçüt bulunmalıdır.

Bilgisayarlar, bir hesaplama aracı olarak literatüre girip sonrasında günümüze kadar evrilerek birçok alanda, birçok gereksinimi karşılayan vazgeçilmez unsurlar haline gelmiştir. Temelde, bir girdi olarak alınan bilgileri, çeşitli programlama dilleriyle oluşturulmuş uygulamalar vasıtasıyla işleyen ve gereksinimlere uygun bir çıktı sunan bilgisayar görevini yerini getirmiş olur.

Bu noktada, bir görevin tamamlanması için gereken iş parçacıklarının(talimat/buyruk) başlangıcıyla bitişi arasında geçen zamanı ifade eden işleme süresi kavramı gündeme gelmektedir. Ticari, idari, mali ve hukuki düzenlerde olduğu gibi teknik sistemlerde de bir başarımın zamanla ölçülmesi en genel kabul görmüş yaklaşımdır. Bir görevin yerine getirilmesi ne kadar uzun sürüyorsa, başarım o kadar düşük; bir görevin yerine getirilmesi ne kadar kısa sürüyorsa, başarım o kadar yüksek algılanacaktır.

Bilgisayarı bir restorana benzetecek olursak, merkezi işlem birimi (İŞLEMCİ/CPU) aşçı rolünü üstlenirken, mutfak bellek ortamı olarak, kapılar ve koridorlar da veri yolları olarak değerlendirilebilir.

Bu benzetimde aşçınızın çok hünerli ve hızlı olması başarıma bir miktar katkı sağlarken, mutfağınızın, buz dolabınızın ve tezgahlarınızın boyutu, çalışma alanı kapasitenize farklı bir katkı sunacak, koridorların genişliği, mesafesi ve kapıların kullanımı ise giriş çıkışları kolaylaştıracaktır.

Saat Hızı değeri : İşlemci (restoranımızın aşçısının) performansının, uygulamaların yüklenme hızı, işleme süresi ve ne kadar sorunsuz çalıştıkları üzerinde büyük bir etkisi vardır. Bununla beraber, işlemci performansını ölçmenin birkaç farklı yolu vardır. Saat hızı (“saat oranı” veya “frekans” olarak da bilinir) en önemlilerinden biridir.

İşlemci her saniye farklı uygulamalardan birçok komutu aritmetik ve mantık hesaplamaları şeklinde işler. Saat hızı, işlemcinizin yürüttüğü saniye başına döngü sayısını hertz (Hz) cinsinden ölçer. Her döngü sırasında işlemcideki milyarlarca transistör açılıp kapanır. Saat hızı 3,2 GHz olan bir işlemci, saniyede 3,2 milyar döngü gerçekleştirir.

Saat hızı, işlemcinin temel özelliklerinden biridir ve genellikle daha yüksek bir saat hızı, daha hızlı bir işlemci demektir. Bellek sistemlerinin daha basit olduğu ve işlemcilerin çok daha yavaş olduğu zamanlarda, iş yüklerinin büyük kısmı işlemcilere bağımlıydı. Yalnızca saat hızında farklılık gösteren iki özdeş sistem varsa, belirli bir işlemciye bağlı uygulamaların göreli performansını, değişen saat hızına göre tahmin edebilmek mümkündü. Ancak modern bir sistem benzetiminde çekirdek sayısı, işlemci önbelleği ve güç tüketimi ile diğer etkenler de dikkate alınmaktadır.

Saat hızı (kHz, MHz, GHz) hiçbir zaman mükemmel bir başarım ölçüsü olmamıştır, ancak ticari bir gösterge ve işaret etmesi kolay bir sayı olarak, bir ürün ailesindeki işlemcilerin göreceli performansına ilişkin genel kılavuz olarak uzun yıllar kullanılmıştır.

Saniyede Milyon Talimat (Million Instructions per Second, MIPS) değeri: Bilgisayarın yürütme hızının bir ölçüsüdür. Hesaplama yaklaşık olarak bir saniye içinde bir bilgisayar tarafından uygulanabilecek makine talimatlarının sayısını sağlar. Bilgisayar hızları gigahertz hızlarına ulaşana kadar MIPS, bir bilgisayar için popüler bir ölçü veya derecelendirmeydi.

Bir bilgisayarın ham işlem gücünün yaklaşık bir ölçüsü olduğu iddia edilen MIPS rakamları yanıltıcıdır çünkü ölçüm teknikleri genellikle farklıdır ve farklı bilgisayarlar aynı görevi gerçekleştirmek için farklı talimat setleri gerektirebilir.

Talimatlar, giriş/çıkışı hızı, bellek, depolama kapasitesi, işlemci mimarisi veya kullanılan programlama dili gibi farklı faktörlere bağlı olarak zaman alabilir. Bu genellikle, daha yüksek bir değere sahip bir bilgisayara kıyasla saniyede daha düşük milyon talimatla bir bilgisayarın daha hızlı çalışmasına neden olur. Farklı talimatların farklı maliyetleri olduğunda ve farklı makinelerin farklı talimat setleri olduğunda MIPS değerleri kıyaslama özelliğini yitirmektedir. Hatta ölçülen değer talimat karışımına bağlı olacağından aynı ailedeki işlemcileri karşılaştırmak için bile MIPS ölçümü sorunlu olabilir.

Yine, bu kıyaslama işlemcinin nasıl çalıştığı ve belirli bir uygulama için uygun olup olmadığı hakkında bilgi vermekten uzaktır.

Saniyedeki Kayan Nokta İşlemleri (Floating Point Operations Per Second, FLOPS) değeri : Bilgisayarın yürütme hızının bir başka ölçüsüdür. Megahertz (MHz) cinsinden ölçülen saat hızı veya MIPS genellikle ticari bir gösterge veya işlemcinin hızı olarak tanımlanırken, bir işlemcinin saniyede kaç hesaplama yapabileceğini tanımlamaz. Bu nedenle FLOPS, bir işlemcinin işlem hızını ölçmek için daha etkili bir yöntemdir.

Kayan Nokta (Floating Point - FP) bilgisayarda ondalıklı sayılarla işlem yapmayı ifade eder. Bilgisayarların tam sayıları (integer) hesaplaması kolay ve daha hızlıdır. Hassas hesaplamalı görev ve gereksinimler ondalıklı sayılarla çalışmayı gerektirir. Ondalıklı sayılar ise bilgisayarlar tarafından hesaplanması yavaş ve zorlayıcı unsurlardır. Bu yüzden kayan nokta işlemleri performans gerektirse de bilgisayarların işlem kapasiteleri hakkında daha doğru sonuçlar alınabilir.

FLOPS üzerine tek bir mutlak referans verilemez, zira bu değerler sadece işlemcilerde kullanılmaz, ekran kartları ve cep telefonları başta olmak üzere sayısal işlem yapabilen her cihaz bir FLOPS değerine sahiptir. Bir teraflop, bir işlemcinin saniyede bir trilyon kayan nokta işlemi hesaplama kabiliyetini ifade eder. Veri aktarım hızlarını basitleştirmek için, uluslararası birimler sistemi öneki kullanılır. Bunlar giga, tera, peta ve exa’yı içerir.

Saniyedeki Girdi/Çıktı İşlemleri (Input/Output Operations Per Second, IOPS) değeri : Bir veri depolama ünitesinin saniyede gerçekleştireceği maksimum okuma-yazma sayısı olarak tanımlanır. IOPS, depolama biriminin başarım ölçümü için kullanılan bir parametre olarak da ifade edilebilir. HDD (Hard Disk Drive), SSD (Solid State Drive) ve SAN (Storage Area Network) depolama birimleri için geçerli olan IOPS değeri, cihazın 1 saniyede işlemlerden kaç tanesini gerçekleştirebildiğini teorik açıdan gösteren bir değerdir.

Ne kadar güçlü bir CPU (işlemci), GPU (grafik kartı) ya da RAM kullanırsanız kullanın herhangi bir veriye ulaşma hızınız depolama biriminin IOPS limitini aşamayacaktır. Bu nedenle, IOPS değeri oldukça önemlidir.

SSD, hareketli parça barındırmadığı için HDD’ye göre mekanik açıdan farklı ve avantajlı bir teknolojiye sahiptir. Bu nedenle SSD’ler daha yüksek IOPS değerine ulaşmaktadır. Performans değerlendirmesi açısından IOPS önemli bir parametre olsa da tek başına değerlendirmek çok sağlıklı bir sonuç vermeyecektir.

Başarım için önemli olan veriye ne kadar hızlı erişilebildiğidir. Bunun için de IOPS ile dikkate alınması gereken diğer iki önemli parametre Throughput (debi) ve Latency(gecikme)’dir. Debi, bir saniye içerisinde depolama birimi aracılığıyla ne kadar veri transferi yapılabildiğini belirtir. IOPS değeriyle girdi/çıktı sayısı ölçülürken, debi ile bu sayılardan bağımsız bir biçimde bir saniye içerisinde kaç kilobyte ya da kaç megabyte veri transferi yapılabildiğini tespit etmek mümkündür. Gecikme ise bir depolama cihazının kendisine gelen girdi/çıktı talebine ne kadar hızlı şekilde yanıt verebildiğinin tespitidir. Milisaniyeler cinsinden ölçülen gecikme ne kadar düşükse, depolama birimi gelen işlem talebini o kadar hızlı karşılayacaktır.

Saniyedeki Bit Sayısı (Bits Per Second, bps) değeri : Verilerin bir bilgisayar ve bir veri iletim sistemi arasında aktarıldığı ortalama hızı göstermek için kullanılan bir ölçüdür. Bit hızı genellikle saniyede bit (bps) ve bazen saniyede bayt (Bps) olarak ölçülür.

Saniyedeki bit sayısı, bit hızı hızının standart ölçüsüdür. Ancak, saniyede milyonlarca bit aktarılabilir ve tek bitlik birimlerde ölçüm yapmak hantal kalabilir. Veri aktarım hızlarını basitleştirmek için, uluslararası birimler sistemi öneki kullanılır. Bunlar kilo, mega, giga ve tera’yı içerir.

Kilo (1 kbit/s = 1,000 bit/s)

Mega (1 Mbit/s = 1,000 kbit/s)

Giga (1 Gbit/s = 1,000 Mbit/s)

Tera (1 Tbit/s = 1,000 Gbit/s)

Saniyedeki Kare Gösterim Sayısı (Frames per Second, FPS) değeri : Güncelleme hızı olarak da bilinen saniyedeki kare hızı, ardışık bir dizi kare veya görüntünün bir ekran panelinde görünebildiği frekanstır. Yalnızca video oyunlarındaki bilgisayar grafikleri için değil, film ve video kameralar dahil tüm hareket yakalama sistemleri için de geçerlidir. Bu frekans genellikle saniyedeki kare sayısı yani FPS ile ölçülür ve adlandırılır.

FPS değeri, bir bilgisayardaki video kartının, işlemcinin ve belleğin hızı tarafından belirlenir. Saniyede gerçekleşen FPS, ekranın tam tarama sayısını kontrol eder. Daha yüksek FPS'ye sahip bir kullanıcı, daha yavaş FPS'ye sahip birinden daha iyi performans gösterebilir ve daha hızlı tepki verebilir.

Bilgisayarlarda görüntülü işlem yapılırken FPS değerlerinin yüksek olması, ekran görüntülerini daha gerçekçi, akıcı, net ve pürüzsüz şekilde görmemizi ve görevlerde başarımızın artmasını sağlar. Ancak FPS arttığında görsel verideki işlenecek bilgi miktarı da aynı oranda artacaktır.

Örneğin, 30 FPS’de bir saniye içinde art arda 30 farklı görüntü görünecektir. FPS çok düşükse hareket pürüzlü ve sarsıntılı görünecektir. FPS’in aşırı düşük olduğu durumlar bir slayt gösterisine benzetilebilir.

Standart Performans Ölçüm Kurumu(Standard Performance Evaluation Corporation, SPEC) değerleri : Önce anlatılan bir takım değerlerin, gerçek çalışma koşullarında karşılaşılabilecek çok sayıda ve çeşitli görevlerin tamamına cevap verecek ölçüm ve mukayeseleri yapamadığı ve çoğu durumda yanıltıcı (taraflı pazarlama amaçlı) oldukları anlaşılmıştır.

SPEC, amacı bilgisayarların başarımlarını ölçebilen dürüst, tarafsız ve anlamlı ölçümleri üretmek olan, kâr amacı gütmeyen bir şirkettir. 1988 yılında, önde gelen bilgisayar donanım ve yazılım şirketleri tarafından kurulmuştur. SPEC, "Bir gram dürüst veri, bir kilo pazarlama yutturmacasına değer" gerçeği üzerine kurulmuştur.

Günümüzde çok sayıda ve çeşitli SPEC değerlendirmeleri bilgisayar sistemlerinin geliştirilmesinde yaygın olarak kullanılmaktadır. SPEC 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. Bu değerlendirmeler SPEC resmi internet sitesinde yayımlanmaktadır.

En güncel değerlendirme paketi, SPEC CPU 2017, tamsayı ve/veya kayan nokta hesaplama yoğun başarımın karşılaştırmalı bir ölçüsünü sağlar. Bu değerler, ilgilendiğiniz görev ve gereksinim iş yüklerinin türüyle eşleşiyorsa, SPEC CPU 2017 iyi bir referans noktası sağlar.

SPEC CPU 2017, yoğun hesaplama performansına odaklanır ve bu kıyaslamaların aşağıdakilerin başarımını vurguladığı anlamına gelir:

İşlemci – Merkezi işlem birimi yongası/yongaları.

Bellek – İşlemci içindeki önbellekler ve ana sistem belleği dahil tüm bellek hiyerarşisi.

Derleyiciler – Optimize ediciler dahil C, C++ ve Fortran derleyicileri.

SPEC CPU 2017, yalnızca işlemciye değil, bilinçli olarak yukarıdakilerin üçüne de bağlıdır.

SPEC CPU 2017, 4 kategoride organize edilmiş 43 kritere sahiptir:

Bilgisayar başarımını ölçmenin birçok yolu vardır. En yaygın olanlar arasında:

Süre – Örneğin, bir iş yükünü tamamlamak için geçen saniyeler.

Debi – Birim zaman başına tamamlanan iş, örneğin, saat başına iş.

SPECspeed, zamana dayalı bir ölçümdür. SPECrate, bir verim ölçümüdür.

İlgilendiğiniz sistemlerde zaten standartlaştırılmış bir ölçüm çalıştırılmışsa, dikkatli kullanılan kıyaslamalar bir referans noktası sağlayabilir.

Standart bir kıyaslamanın sonuçlarını değerlendirmeden önce, kendi uygulama özellikleriniz ve bilgi işlem ihtiyaçlarınız için önemli olan şeyleri ölçüp ölçmediğini düşünmelisiniz. Örneğin, birincil endişeniz ağ verimi ise, işlemci performansını vurgulayan bir kıyaslama sınırlı kullanışlılığa sahip olacaktır.

Standartlaştırılmış bir kıyaslama, faydalı bir referans noktası olarak hizmet edebilir, ancak SPEC, herhangi bir standartlaştırılmış kıyaslamanın, satıcıları veya ürünleri seçerken kendi gerçek uygulamanızın kıyaslamasının yerini alabileceğini iddia etmez.

Linpack değerleri : Orjinalinde bilgisayarlarda temel vektör ve matris işlemlerini gerçekleştiren sayısal doğrusal cebir hesaplamaları için kullanılan bir yazılım kütüphanesidir. LINPACK karşılaştırmaları başlangıçta LINPACK kullanım kılavuzunun bir parçası olarak ortaya çıkmıştır ve bir bilgisayarın kayan nokta uygulama hızını değerlendiren farklı bir tekniktir. Bu teknik, eşzamanlı doğrusal denklemlerin çözümüne dayanan standart bir matematiksel algoritma uygulamaktadır.

Yüksek başarımlı Linpack adlı paralel LINPACK karşılaştırma uygulaması, TOP500 listesi için süper bilgisayarları karşılaştırmak ve sıralamak için kullanılır.

Amaç, bir süper bilgisayarın gerçek problemleri çözerken ne kadar hızlı başarım göstereceğini tahmin etmektir. Bu bir basitleştirmedir, çünkü tek bir hesaplama görevi bir bilgisayar sisteminin genel başarımını yansıtamaz. Bununla birlikte, LINPACK kıyaslamaları, üretici tarafından sağlanan en yüksek başarım üzerinde iyi bir düzeltme fırsatı sağlayabilir.

En yüksek başarım, bir bilgisayarın elde edebileceği maksimum teorik başarımdır, makinenin frekansı olarak hesaplanan, saniyedeki çevrim sayısı, çevrim başına gerçekleştirebileceği işlem sayısının çarpımıdır. Gerçek başarım her zaman en yüksek başarımdan daha düşük olacaktır.

Bilişim sistemlerinin başarımı, birbirine bağlı birçok değişkene dayalı olan karmaşık bir konudur. Bu sebeple, gerçek uygulamaları çalıştırırken bir bilgisayarın başarımı, uygun LINPACK karşılaştırmasını çalıştırırken elde ettiği maksimum başarımın çok gerisinde olacaktır.

Önümüzdeki hafta "Bilişim Sistemlerinde Yüksek Başarım", "Genel Maksatlı Grafik İşlem Birimi : GPGPU" , "Heterojen Bilişim Devrimi : DPU"  anlatılacaktır. 
Paylaş:
E-BÜLTEN KAYIT
Güncel makalelerimizden haberdar olmak için e-bültene kayıt olun!
Sosyal Medyada Bizi Takip Edin!
E-Bülten Kayıt