minggu ketiga
DESCRIPTION
ini adalah bahan minggu ketigaTRANSCRIPT
Daudi Lazarus, S.Si, M.Eng.CompSysDept. Electrical
Pontianak State Polytechnic
SISTEM KOMPUTER
DEFINISI PERFORMA
Apa arti satu komputer lebih baik daripada yang lain? Meskipun ini hanya pertanyan sederhana, analogi penumpang pesawat akan memberi gambaran yang jelas. Tabel dibawah menunjukan tipikal pesawat penumpang, lengkap dengan data-data pendukung
Jika ingin performa terbaik, terlebih dahulu harus jelas melihat definisi performa. Contoh, dengan pertimbangan perhitungan performa yang berbeda-beda, dapat dilihat pesawat tercepat adalah concorde, pesawat dengan jarak tempuh terjauh adalah DC-8 dan yang terbesar kapasitasnya adalah 747
pesawat Kapasitas penumpang
Jarak tempuh (mil)
Kecepatah (mph)
Keluaran (kapasitas x mph)
Boeing 777
375 4630 610 228.750
Boeing 747
470 4150 610 286.700
BAC/Sud Concorde
132 4000 1350 178.200
Douglas DC-8-50
146 8720 544 79.424
DEFINISI PERFORMA
Jika didefiniskan performa, maka didapatkan 2 kemungkinan.
1. Pesawat tercepat, didapatkan dari kecepatan tercepat, yang membutuhkan waktu tersingkat untuk memindahkan penumpang dari satu tempat ke tempat lain.
2. Pesawat dengan keluaran terbaik, dapat memindahkan banyak penumpang yang banyak, mis 450 orang. Dalam hal ini 747 adalah terbaik, ditunjukan oleh kolom terakhir dari tabel.
Maka dapat dikatakan performa komputer dapat didefiniskan dengan berbagai cara
DEFINISI PERFORMA
Jika dijalankan sebuah program pada 2 buah komputer, seringkali orang mengatakan bahwa yang tercepat adalah yang terlebih dahulu menghasilkan keluaran. Akan tetapi, pada sebuah pusat data yang memiliki banyak server yang menjalankan banyak program, yang diminta oleh banyak user, maka komputer terbaik adalah yang mampu melakukan seluruh pekerjaan sepanjang hari.
Sebagai individu, yang dilakukan adalah mengurangi reponse time – waktu antara memulai dan mengakhiri sebuah tugas – yang dikenal juga sebagai execution time. Tetapi, manajer pusat data lebih tertarik untuk meningkatkan keluaran, throughput – total jumlah pekerjaan yang selesai dikerjakan pada waktu tertentu.
THROUGHPUT VS RESPONSE
Melakukan perubahan pada sistem komputer, apakah akan meningkatkan throuhput atau menurunkan response time atau kedua-duanya? Untuk:
1. Mengganti prosesor pada komputer dengan versi tercepat
2. Memberi prosesor tambahan pada sistem sehingga memiliki multiple prosesor untuk tugas yang berbeda?
a. Menurunkan response time selalu meningkatkan throughput. Maka pada kasus satu, performa kedua-duanya akan meningkat
b) Pada kasus 2, tidak ada pekerjaan yang selesai lebih cepat, hanya throughput meningkat. Namun,jika permintaan pekerjaan bagi prosesor kedua sebesar throuhput, maka akan ada antrian. Pada kasus ini, meningkatkan throughput juga akan meningkatkan response waktu, namun mengurangi waktu tunggu di antrian
THROUGHPUT VS RESPONSE
Berdasarkan hal tersebut, maka titik berat ada pada response waktu, dimana untuk memaksimalkan performa, maka harus diminimalisir response atau execution time. Sehingga untuk komputer x, hubungan performa dan execution time adalah
Ini berarti untuk 2 komputer, X dan Y, jika performa X lebih besar daripada performa Y, maka
Berarti execution time Y lebih lama daripada X, atu X lebih cepat n kali dari Y, sehingga
Performa
relative
Jika komputer A menjalankan sebuah program dalam waktu 10 detik dan komputer B menjalankan program yang sama dalam waktu 15 detik, berapa kali lebih cepat A dibandingkan B?
A akan lebih cepat n kali dibanding B jika
Sehingga rasio performa adalah
Sehingga A 1,5 kali lebih cepat daripada B
MENGHITUNG
Performa
CPU execution time / CPU time: waktu yang digunakan CPU untuk melakukan pekerjaan tertentu.
User CPU time: CPU time yang dihabiskan pada program itu
System CPU time: CPU time yang dihabiskan di operasi sistem untuk melakukan pekerjaan yang ditugaskan oleh program.
Clock cycle: waktu prosesor yang berjalan secara konstan
Clock period: panjang clock cycle/ waktu clock cycle untuk selesai
Clock cycles per Instruction (CPI), jumlah rata-rata clock cycle yang dipakai oleh setiap instruksi.
TUGASKomputer C bekerja 4x lebih cepat daripada komputer B.
Jika komputer B menjalankan sebuah aplikasi dalam waktu 28 detik, berapa lama waktu yang dibutuhkan komputer C untuk menjalankan aplikasi tersebut?
CPU Performa
CPU execution time = CPU clock cycle X Clock cycle
time
untuk 1 program untuk 1 program
Sebuah program memerlukan waktu ekseskusi 10 detik di komputer A, yang memiliki clock sebesar 4 GHz. Komputer B dirancang untuk menjalankan program selama 6 detik, dengan peningkatan clock rate. Tetapi peningkatan akan menyebabkan komputer B memerlukan waktu 1,2 kali lebih banyak dari clock cycle pada komputerA. Jadi berapa clock rate yang dibutuhkan oleh komputer B
CPU Performa
Terlebih dahulu hitung clock cycle yang dibutuhkan oleh program pada komputer A
CPU time untuk B dapat dihitung menggunakan rumus
INTERFACE HARDWARE & SOFTWARECPU clock cycles =Instruksi tiap program X rata-rata clock cyle per
instruksi
Anggap kita memiliki 2 implementasi dari arsitektur instruksi yang sama. Komputer A memiliki clock cycle time 250 ps dan CPI 2,0 untuk beberapa program. Komputer B memiliki clock cycle time 500 ps dan CPI 1,2 untuk program yang sama. Komputer mana yang lebih cepat dan seberapa cepat?
Kita tahu bahwa setiap komputer mengekseskusi jumlah instruksi yang sama untuk program tersebut, sebut saja I. Pertama, cari jumlah clock cycle dari processor untuk setiap komputer.
CPU clock cycles A = I X 2,0
CPU clock cycles B = I X 1,2
INTERFACE HARDWARE & SOFTWARESekarang kita akan menghitung waktu CPU untuk setiap komputerCPU time A = CPU clock cycles A X Clock Cycle time A
= I x 2,0 x 250 ps = 500 I ps CPU time B = CPU clock cycles B X Clock Cycle time B
= I x 1,2 x 500 ps = 600 I ps Terlihat bahwa komputer A lebih cepat. Seberapa cepat? Lihat rasio execution time
Berdasarkan hal ini dibuatlah rumus dasar performa berdasar instruction count (jumlah instruksi yang dieksekusi oleh program), CPI dan clock cycle time
CPU time = Instruction Count X CPI X Clock Cycle time
PERBANDINGAN SEGMEN KODETerkadang, dapat dilakukan perhitungan CPU clock cycle dengan melihat beberapa tipe instruksiyang berbeda dan mempergunakan masing-masing perhitungan clock cycle.
Seorang designer kompiler mencoba memilih diantara 2 kode sekuensial untuk komputer tertentu. Fakta dari designer hardware menunjukkan
CPI untuk instruksi kelas ini
A B C
CPI 1 2 3
PERBANDINGAN SEGMEN KODEUntuk statement bahasa tingkat tinggi, penulis kompiler mempertimbangkan 2 kode sekuensial yang dibutuhkan oleh perhitungan instruksi berikut ini
Kode sekuensial mana yang mengeksekusi keseluruhan instruksi?
Kode sekuensial mana yang lebih cepat?Berapa CPI untuk setiap sekuensial?
Kode Sekuensia
l
Instruction Count untuk instruksi kelas ini
A B C
1 2 1 2
2 4 1 1
PERBANDINGAN SEGMEN KODESekuensial 1 melakukan 2+1+2 = 5 instruksiSekuensial 2 melakukan 4+1+1 = 6 instruksiGunakan rumus
Sehingga:CPU clock cycle 1 = (1x2)+(2x1)+(3x2)= 2+2+6 =10 cycle
CPU clock cycle 1 = (1x4)+(2x1)+(3x1)= 4+2+3 =9 cycleMaka sekuensial 2 lebih cepat, meski harus melakukan 1 instruksi ekstra. Karena sekuensial 2 memerlukan clock cycle yang lebih sedikit, namun memiliki instruksi lebh banyak,maka pasti memiliki CPI yang lebih rendah.
PERBANDINGAN SEGMEN KODENilai CPI dapat dihitung:
Sebuah aplikasi yang ditulis menggunakan bahasa Java dieksekusi selama 15 detik pada sebuah prosesor. Sebuah kompiler Java yang baru hanya membutuhkan 0,6 dari instruksi kompiler lama, sayangnya akan meningkatkan CPI sebesar 1,1. seberapa cepat aplikasi ini dapat dijalankan pada kompiler baru?
MIPS sebagai penghitung performaMIPS (Million Instructions Per Second)
Berdasarkan contoh sebelumnya, maka didapatkan perhitungan kode untuk program yang sama menggunakan 2 kompiler yang berbeda
Asumsikan bahwa clock rate Komputer adalah 4 GHz. Sekuensial mana yang lebih cepat berdasarkan MIPS? Dan berdasarkan execution time?
Kode dariInstruction Count (milyar) untuk
setaip kelas instruksi
A B C
Kompiler 1 5 1 1
Kompiler 2 10 1 1
MIPS sebagai penghitung performaPertama, kita cari execution time untuk 2
kompiler mempergunakan rumus
CPU clock cycles1 = ((1x5)+(2x1)+(3x1) x 109) = 10x 109
CPU clock cycles2 = ((1x10)+(2x1)+(3x1) x 109) = 15x 109
Sekarang dihitung execution time untuk kedua kompiler
MIPS sebagai penghitung performaBerdasarkan execution time, kompiler 1
menghasilkan program yang lebih cepat. Sekarang hitung MIPS rate untuk setiap versi program dengan rumus
Jadi kompiler 2 memiliki rating MIPS yang lebih tinggi, akan tetapi kode dari kompiler 1 lebih cepat
SOAL LATIHANSebuah program memiliki perhitungan
performa sebagai berikut:
Komputer mana yang memiliki rating MIPS lebih tinggi?
Komputer mana yang lebih cepat?
Perhitungan Komputer A Komputer B
Instruction Count 10 milyar 8 milyar
Clock rate 4 GHz 4 GHz
CPI 1,0 1,1