minggu ketiga

20
Daudi Lazarus, S.Si, M.Eng.CompSys Dept. Electrical Pontianak State Polytechnic SISTEM KOMPUTER

Upload: daudi-lazarus

Post on 27-Jun-2015

1.388 views

Category:

Education


5 download

DESCRIPTION

ini adalah bahan minggu ketiga

TRANSCRIPT

Page 1: Minggu ketiga

Daudi Lazarus, S.Si, M.Eng.CompSysDept. Electrical

Pontianak State Polytechnic

SISTEM KOMPUTER

Page 2: Minggu ketiga

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

Page 3: Minggu ketiga

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

Page 4: Minggu ketiga

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.

Page 5: Minggu ketiga

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

Page 6: Minggu ketiga

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

Page 7: Minggu ketiga

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

Page 8: Minggu ketiga

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?

Page 9: Minggu ketiga

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

Page 10: Minggu ketiga

CPU Performa

Terlebih dahulu hitung clock cycle yang dibutuhkan oleh program pada komputer A

CPU time untuk B dapat dihitung menggunakan rumus

Page 11: Minggu ketiga

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

Page 12: Minggu ketiga

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

Page 13: Minggu ketiga

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

Page 14: Minggu ketiga

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

Page 15: Minggu ketiga

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.

Page 16: Minggu ketiga

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?

Page 17: Minggu ketiga

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

Page 18: Minggu ketiga

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

Page 19: Minggu ketiga

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

Page 20: Minggu ketiga

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