NİŞANTAŞI ÜNİVERSİTESİ

Slides:



Advertisements
Benzer bir sunumlar
Hat Dengeleme.
Advertisements

2 Yatırım Karlılık Analizleri Finansal Analizler Basit Yöntemler İndirgenmiş Yöntemler Karlılık Yöntemi Geri Ödeme Süresi Yöntemi Net Bugünkü Değer Yöntemi.
% A10 B20 C30 D25 E15 Toplam100.  Aynı grafik türü (Column-Sütun) iki farklı veri grubu için de kullanılabilir. 1. Sınıflar2. Sınıflar A1015 B20 C3015.
ODTÜ Bilgisayar Mühendisliği Lisans Müfredatı ve Program üzerine Notlar CENG /28/2017.
PATATESTE AKRİLAMİT KONSANTRASYONUNUN GENETİK VE ÇEVRESEL FAKTÖRLER AÇISINDAN DEĞERLENDİRİLMESİ Caner Yavuz, İlknur Tındaş, Ufuk Demirel, Mehmet Emin Çalışkan.
İÇİNDEKİLER GRID COMPUTING NEDİR? NASIL ÇALIŞIR? GRID COMPUTING YAPISI
İSTATİSTİK II BAĞIMSIZLIK TESTLERİ VE İYİ UYUM TESTLERİ “ c2 Kİ- KARE TESTLERİ “
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
AĞAÇLANDIRMA VE GENÇLEÇTİRME ÇALIŞMALARININ BİYOLOJİK ÇEŞİTLİLİĞE ETKİSİ İsmail KÜÇÜKKAYA Orm. Yük. Müh.
BİLGİSAYAR PROGRAMLAMA DERSİ
ANKARA ÜNİVERSİTESİ SAĞLIK BİLİMLERİ FAKÜLTESİ SOSYAL HİZMET BÖLÜMÜ
C Programlama Dili Çağdaş Hakan Aladağ.
ISTATİSTİK I FIRAT EMİR DERS II.
T- Testİ: ORTALAMALAR ARASI FARKLARIN TEST EDİLMESİ
DENEYSEL TERTİPLER VE PAZAR DENEMESİ
RİZE ÜNİVERSİTESİ EĞİTİM FAKÜLTESİ İLKÖĞRETİM MATEMATİK ÖĞRETMENLİĞİ
ANKARA ÜNİVERSİTESİ SAĞLIK BİLİMLERİ FAKÜLTESİ SOSYAL HİZMET BÖLÜMÜ
PROGRAMLAMA TEMELLERİ
Zaman ve Gölgesi Prof. Dr. Şafak URAL
TANIMLAYICI İSTATİSTİKLER
Mutlak Dağılım Ölçüleri Nispi Dağılım Ölçüleri
BİLGİSAYAR ÇEŞİTLERİ.
Bölüm 9 İş Yönetim Stratejileri : Rekabet Stratejileri
Öğr. Gör. Mehmet Ali ZENGİN
DOSYA BÜYÜKLÜKLERİ İkili Sistem Dosya Büyüklükleri ve Hesaplamalar
Bilgisayar Donanım ve Sistem Yazılımı
Sunucu Çeşitleri Mehmet Ali Uluekmekçi.
Kırınım, Girişim ve Müzik
ZEE ZİHİN ENGELLİLERE BECERİ VE KAVRAM ÖĞRETİMİ
PROBLEM ÇÖZME VE ALGORİTMALAR
GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
Bilgisayar Mühendisliğine Giriş
PARAMETRİK HİPOTEZ TESTLERİ
BENZETİM Prof.Dr.Berna Dengiz 13. Ders Çıktı Analizi
Bölüm 7 İfadeler ve atamalar.
NİŞANTAŞI ÜNİVERSİTESİ
Benzetim 11. Ders İmalat Yönetimde Benzetim.
Fragment.
B+-Ağaçları.
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Doğrusal Mantık Yapısı İle Problem Çözme
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Bilgisayar Bilimi Koşullu Durumlar.
EĞİTİME GİRİŞ Mehmet Akif Ersoy Üniversitesi
Tezin Olası Bölümleri.
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
İşlemciler.
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
KİŞİSEL REHBERLİK.
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Marmara Üniversitesi Mekatronik Tezli YL Programı
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Eğitsel Robotların Bileşenleri-2
TYS102 ÖLÇME BİLGİSİ Yrd. Doç. Dr. N. Yasemin EMEKLİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

NİŞANTAŞI ÜNİVERSİTESİ BİLGİSAYAR MİMARİSİ 11.HAFTA NİŞANTAŞI ÜNİVERSİTESİ © Mühendislik Mimarlık Fakültesi mmf.nisantasi.edu.tr

NİŞANTAŞI ÜNİVERSİTESİ © Örnek Bir programın yürütülmesi, 400 Mhz clock frekansına sahip olan A makinasında 10 sn. sürmektedir. Donanım tasarımcısı aynı programı 6 sn.’de çalıştıracak olan B makinası tasarlamaktadır. Fakat tasarımcıya göre clock frekansının arttırılması B makinasının A’ya göre 1,2 kat daha fazla clok cycle’ına ihtiyaç duymasına neden olmaktadır. Buna göre tasarımcı hangi clock frekansında B makinasını tasarlamalıdır? NİŞANTAŞI ÜNİVERSİTESİ ©

NİŞANTAŞI ÜNİVERSİTESİ © Örnek A makinası için gerekli olan clock cycle’ı sayısı; CPU Clock Cycles for a ProgramA 10 sn.= 400 . 106 cycle/sn CPU Clock Cycles for a ProgramA = 4000 . 106 cycles CPU Clock Cycles for a ProgramB = 1,2 X 4000 . 106 cycle = 4800 . 106 cycles 4800 . 106 cycles Clock rateB = 800 . 106 Hz. = 800 Mhz 6 sn = Clock rateB NİŞANTAŞI ÜNİVERSİTESİ ©

Performans Metrikleri CPU bellekteki komutları durumda execution time, (instruction) programda teker teker yürütür. Bu bağlı olan instructionların sayısına ve her bir instruction için gerekli olan ortalama zamana bağlıdır. CPU Clock Cycles for a = Instructions for a program Average Clock Cycles Per Instruction (CPI) X Program Not: Her bir instruction için gerekli ortalama zaman edilebileceği gibi clok cycle’ları cinsinden de ifade edilebilir. sn. ifade NİŞANTAŞI ÜNİVERSİTESİ ©

NİŞANTAŞI ÜNİVERSİTESİ © Örnek Aynı mimariye sahip A ve B makinaları bulunmaktadır. A makinasının 1 cycle’ı 1 ns., ve her bir instruction başına düşen ortalama saykıl sayısı 2.0’dır. Aynı program için, B makinasının 1 cycle’ı 2 ns., her bir instruction başına düşen saykıl sayısı 1.2’dir. Bu durumda Hangi makina hızlıdır? Ne kadar? NİŞANTAŞI ÜNİVERSİTESİ ©

NİŞANTAŞI ÜNİVERSİTESİ © Örnek Öncelikle her iki makinada aynı komut setini ve aynı programı kullandıklarından dolayı işlemiş oldukları instruction sayısı aynıdır. İşlenen instruction sayısı = I olsun CPU execution time for a = I x 2 x 1 ns. = 2 I ns. kadar sürer ProgramA CPU execution time for a ProgramB = I x 1,2 x 2 ns. = 2,4 I ns. kadar sürer 2,4 I ns. PerformanceA Execution timeB =1,2 = = Performance Execution time 2 I ns. B A A makinası, B’den 1,2 kat daha performanslıdır. NİŞANTAŞI ÜNİVERSİTESİ ©

NİŞANTAŞI ÜNİVERSİTESİ © Performans Bileşenleri Açıklama Cpu execution time for a program Bir programın işletilmesi için gerekli olan süre Instruction Count Programda yürütülen instruction sayısı CPI (Clock Cycles Per Insructions) Her bir instruction için gereken ortalama clock sayısı Clock Cycle Time Her bir clock cycle’ı için gerekli olan süre 20 NİŞANTAŞI ÜNİVERSİTESİ ©

Temel Performans Eşitliği CPU execution time = Instruction Count X CPI X Clock Cycle Time Instruction Count X CPI CPU execution time = Clock Rate Instruction Program Cycles Instruction Seconds Time = X X Cycles NİŞANTAŞI ÜNİVERSİTESİ ©

Clock Cycles Per Instruction (CPI) Program içerisinde kullanılan her bir komut sınıfı içinde yer alan komutlar için gerekli olan süreler farklılık gösterir. Bu nedenle, bir programın işletilmesi için gerekli olan toplam cycle sayısı: CPU Clock Cycles =  n (CPIxC) i i i1 Ci  Yürütülen i sınıfı içinde yer alan bir instruction’ın tekrar sayısıdır. CPi  Yürütülen i sınıfı içindeki bir instruction için gerekli olan clock cycle’ı sayısıdır. NİŞANTAŞI ÜNİVERSİTESİ ©

NİŞANTAŞI ÜNİVERSİTESİ © Örn: Bir compiler tasarımcısı bir makina için, iki kod seçecektir. Donanım üreticisi aşağıdaki bilgileri vermiştir : serisinden biri ni Instruction Class Her bir komut sınıf için gerekli olan CPI değerleri A 1 B 2 C 3 Tasarımcının uygulamayı düşündüğü kod serileri ise ; Kod Serisi Instruction Counts for Instruction Class A B C 1 2 4 Bu durumda: Hangi kod serisi daha çok instruction işler ? Hangisi daha hızlıdır? Her bir kod serisi için gerekli olan CPI nedir? NİŞANTAŞI ÜNİVERSİTESİ ©

(CPIxC) CPU Clock Cycles =  Birinci seri 2+1+2 = 5 instruction yürütür. İkinci seri 4+1+1= 6 instruction yürütür. Bir serinin yürütülmesi için gerekli olan CPU cycle sayısı instructionın tekrar sayısına ve bu instruction için gerekli olan CPI ‘ya bağlıdır. Yani; CPU Clock Cycles =  n (CPIxC) i i i1 Kod Serisi 1 = (1x2) + (2x1) + (3x2) = 10 cycle gerekmektedir. Kod Serisi 2 = (1x4) + (2x1) + (3x1) = 9 cycle gerekmektedir. Kod Serisi 2, daha fazla instruction işletmesine rağmen, daha az clock cycle’ı gerektirdiğinden daha kısa sürer. Daha hızlıdır. Kod Serisi 2, daha fazla instruction’ı daha az clock cycle’ı ile işlediğinden CPI değeri de daha düşük olması beklenir. NİŞANTAŞI ÜNİVERSİTESİ ©

NİŞANTAŞI ÜNİVERSİTESİ © c) Kod Serisi 2, daha fazla instruction’ı daha az clock cycle’ı ile işlediğinden CPI değeri de daha düşük olması beklenir. CPU Clock Cycles CPI = Instruction Count 10 = 2 CPISeri1 = 5 9 = 1,5 CPISeri2 = 6 Görülmektedir ki, performansların karşılaştırılmasında sadece tek bir öğeye bakmak yanıltıcı olabilir. NİŞANTAŞI ÜNİVERSİTESİ ©

Performans Ölçümü İçin Programlar Her gün aynı işi yapan bir kullanıcının yeni bir makinanın performasını değerlendirmesi kolaydır. Fakat, her kullanıcı bu imkana sahip değildir. Bunun için benchmark programları kullanılır. En iyi benchmarklar, gerçek uygulamalardır. (Örn: bilimadamı için bilimsel uygulamalar içeren bir benchmark gibi) Benchmark teslerinde kullanılan tüm bilgiler açıkça verilir (Donanım özellikleri, yazılımda kullanılan derleyici, işletim sistemi vd.) NİŞANTAŞI ÜNİVERSİTESİ ©

Performansların Karşılaştırılması ve Özetlenmesi Benchmark olarak kullanacağımız programı seçtikten sonra response time ve throughput için performans karşılaştırması yapabiliriz. Fakat, bir grup benchmark sonucu sözkonusu ise performansı genel olarak nasıl özetleyebiliriz? Computer A Computer B Program 1 (saniye) 1 10 Program 2 (saniye) 1000 100 Toplam (Saniye) 1001 110 Program1 için A makinası B’den 10 kat hızlıdır. Program2 için B makinası A’dan 10 kat hızlıdır. NİŞANTAŞI ÜNİVERSİTESİ ©

NİŞANTAŞI ÜNİVERSİTESİ © Computer A Computer B Program 1 (saniye) 1 10 Program 2 (saniye) 1000 100 Toplam (Saniye) 1001 110 i) Her iki makinanın da göreli olarak performansını özetlemek için toplam yürütme zamanını (total execution time) kullanmak daha güvenilirdir. 1001. PerformanceB Execution timeA = = =9,1 Performance Execution time 110 A B B makinası 1 ve 2 numaralı programlar için A’dan 9,1 kat daha hızlıdır. NİŞANTAŞI ÜNİVERSİTESİ ©

NİŞANTAŞI ÜNİVERSİTESİ © ii) Toplam yürütme zamanı kullanılabileceği gibi programların yürütme zamanlarının aritmetik ortalması da kullanılabilir.  n 1 Time Aritmatik Ortalama = n i1 i i. Programın execution time süresi Timei  Fakat bir makine üzerinde işlem gören programların eşit sayılarda yürütüldüğünde bu hesaplamalar geçerlidir. Aksi taktirde hesaplamalara bu programların ağırlıkları da eklenmelidir. (Örn: İş yükünün %30’u Program1’den, %70’i Program2’den kaynaklanmaktadır) NİŞANTAŞI ÜNİVERSİTESİ ©

SPEC (System Performance Evaluation Corporation) CPU performansını, gerçekçi olarak ölçümlenmesi ve raporlamasını sağlamak için 1989 yılında bir grup bilgisayar firmalasının bir araya gelmesiyle oluşturulan bir kurumdur. (www.spec.com) Tarihsel olarak bakıldığında SPEC benchmarkları; SPEC CPU89 SPEC CPU92 SPEC CPU95 SPEC CPU2000 SPEC CPU2006 30 NİŞANTAŞI ÜNİVERSİTESİ ©

(Integer component of SPEC CPU2000) CINT2000 (Integer component of SPEC CPU2000) Program Language What It Is 164.gzip C Compression 175.vpr FPGA Circuit Placement and Routing 176.gcc C Programming Language Compiler 181.mcf Combinatorial Optimization 186.crafty Game Playing: Chess 197.parser Word Processing 252.eon C++ Computer Visualization 253.perlbmk PERL Programming Language 254.gap Group Theory, Interpreter 255.vortex Object-oriented Database 256.bzip2 300.twolf Place and Route Simulator NİŞANTAŞI ÜNİVERSİTESİ ©

(Float component of SPEC CPU2000) CFP2000 (Float component of SPEC CPU2000) Program Language Açıklama 168.wupwise Fortran 77 Physics / Quantum Chromodynamics 171.swim Shallow Water Modeling 172.mgrid Multi-grid Solver: 3D Potential Field 173.applu Parabolic / Elliptic Differential Equations 177.mesa C 3-D Graphics Library 178.galgel Fortran 90 Computational Fluid Dynamics 179.art Image Recognition / Neural Networks 183.equake Seismic Wave Propagation Simulation 187.facerec Image Processing: Face Recognition 188.ammp Computational Chemistry 189.lucas Number Theory / Primality Testing 191.fma3d Finite-element Crash Simulation 200.Sixtrack High Energy Physics Accelerator Design 301.apsi Meteorology: Pollutant Distribution NİŞANTAŞI ÜNİVERSİTESİ ©

NİŞANTAŞI ÜNİVERSİTESİ © Amdahl’ın Kanunu Yapılan bir hızlanma; performans iyileştirmesi(improvement) sonucu elde edilen Execution Timeimp olmadan Perfomansimp olduktan sonra Hızlanmaimp= = Execution Timeimp olduktan sonra Perfomansimp olmadan Eğer geliştirme bir programın yalnızca P parçasını T kadar hızlandırıyorsa ve kalan parçasına etki etmiyorsa bu şu şekilde ifade edilir: ( (1-P) + P / T ) x Execution Time imp olmadan Execution Timeimp olduktan sonra = Etkilenen kısmın yürütme Etkilenmeyen kısmın zamanı + yürütme zamanı Geliştirme miktarı Geliştirilmenin ardından = yürütme zamanı NİŞANTAŞI ÜNİVERSİTESİ ©

NİŞANTAŞI ÜNİVERSİTESİ © Örnek Bir program bilgisyar üzerinde 100 sn. çalışmaktadır. Bu zamanın 80 sn.’sini çarpma işlemi için harcamaktadır. Tüm programı 5 kat hızlandırmak için çarpma işlemini ne kadar hızlandırmam gerekir ? Etkilenen kısmın yürütme zamanı Etkilenmeyen kısmın yürütme zamanı Geliştirilmenin ardından = + yürütme zamanı Geliştirme miktarı Çarpma işlemini, ne hızlandırırsak 80 kadar 20 = + 20 n 80 hızlandıralım belli bir değerin altına düşmek mümkün değildir. 0 = n NİŞANTAŞI ÜNİVERSİTESİ ©

NİŞANTAŞI ÜNİVERSİTESİ © kaynaklar NİŞANTAŞI ÜNİVERSİTESİ ©