Halaman

Jumat, 25 Mei 2012

Apa Itu Benchmarking

Berikut ini merupakan penjelasan benchmarking pada sebuah hardware.

BENCHMARKING
Ada dua defenisi benchmark  yaitu :
sebuah tanda atau objek permanen yang menandai tingkat ketinggian yang berlaku
sebagai titik ukur dalam survei topografi atau pengamatan ombak atau arus. Selanjutnya
menjelaskan :
  • Sebuah titik ukur darimana pengukuran dapat dilakukan
  • Sesuatu yang menjadi standar untuk menilai atau mengukur hal yang lain
  • Satu masalah atau test yang menjadi dasar penilaian atau perbandingan (seperti sebuah perbandingan kinerja sistem komputer)
Sementara wikipedia memperjelas defenisi benchmark dalam kaitannya dengan komputer yaitu tindakan menjalankan sebuah program komputer, serangkaian program atau operasi lainnya untuk menilai kinerja relatif sebuah objek, biasanya dengan menjalankan sejumlah test dan percobaan pada objek tersebut. Benchmarking sering kali diasosiasikan dengan penilaian kinerja dan karakteristik hardware komputer, contohnya kinerja floating point sebuah cpu, tetapi ada kondisi-kondisi tertentu dimana teknik ini juga dapat diterapkan untuk software. Contohnya, benchmark untuk menguji software compiler atau database management system.

Untuk mempersingkat benchmark  adalah alat ukur, sebuah tes yang dijalankan pihak penguji, baik itu  reviewer, pengguna maupun produsen, untuk melihat kinerja sebuah produk, bagaimana dan seberapa baik atau cepat produk tersebut menjalankan test hingga selesai.
Sebuah benchmark paling tidak harus memiliki  tiga kriteria yaitu konfigurasi, konsistensi dan kemampuan untuk bisa diulang kembali (reproducibility/repeatability). Ketiga hal ini menentukan apakah hasil yang dikeluarkan benhmark tersebut benar dan bisa dipertanggung jawabkan.
  • Konfigurasi, sebuah benchmark yang baik memungkinkan penguji / yang menjalankan benchmark  melakukan konfigurasi sehingga faktor-faktor penentu kinerja bisa ditentukan dan diisolasi. 
  • Konsistensi, benchmark yang baik memberikan hasil konsisten tiap kali dijalankan.  Pengujian
    berulang perlu dilakukan untuk melihat apakah hasil benchmark memang benar. Pengujian yang berulang juga akan memperlihatkan tingkat deviasi/penyimpangan untuk benchmark tersebut.Standar tingkat deviasi 3% hingga 5 % dari hasil pengulangan.
  • Kemampuan untuk dapat diulang kembali, karakteristik ini memungkinkan orang lain dengan konfigurasi sama (hardware dan software) mendapatkan hasil yang sama, konsisten dengan pengujian awal dengan standart deviasi 5 %.

Benchmark Sintetis
Benchmark sintetis sering disebut low level atau sub sistem benchmark karena benchmark yang dijalankan difokuskan pada satu komponen atau bagian tertentu dari komponen. Beberapa benchmark sintetis menggunakan bagian kode aplikasi / game tertentu dengan tujuan melihat bagaimana kinerja komponen tertentu seperti graphics dan prosessor.

Benchmark Aplikasi / Game
Benchmark ini adalah aplikasi-aplikasi biasa yang menyediakan fungsi tes atau benchmark yang menggunakan aplikasi penuh dalam pengujian. Benchmark ini berjalan seperti layaknya pengguna menjalankan aplikasi di sistem, oleh karena itu hasil pengujian dipengaruhi oleh seluruh komponen dalam komputer. Hal ini menyebabkan kerap  kali disebut sebagai benchmark sistem.  
Salah satu dalam benchmark aplikasi adalah benchmark game. Beberapa game kerap kali digunakan untuk mengukur kinerja graphic card maupun seluruh sistem. Ada beberapa masalah dengan game benchmark ataupun benchmark  aplikasi secara umum. Pertama, developer game / aplikasi membuat game / aplikasi untuk dimainkan, bukan untuk dijadikan benchmark. Oleh karena itu  tidak semua game dapat digunakan sebagai benchmark. Masalah kedua, tidak semua game / aplikasi menyediakan fasilitas benchmark. Namun ada juga software third party yang dapat digunakan untuk menggunakan game manapun (yang memenuhi kriteria benchmark yang baik) untuk dijadikan sebuah benchmark. Untuk aplikasi, penguji bisa menggunakan timer/stopwatch untuk mengukur waktu yang diperlukan untuk menjalankan serangkaian tugas tertentu.  Game memanfaatkan baik prosesor grapich card, oleh karena itu cukup sulit untuk
melihat komponen mana yang lebih berpengaruh pada kinerja. Benchmark  suatu game mungkin saja lebih banyak dipengaruhi oleh grafic card, sementara seluruh game lebih dipengaruhi oleh sistem/prosesor. 
                
Pengujian Dunia Nyata (Real World Testing)
Pengujian ini lebih menitik beratkan pengujian langsung (hands-on) dan menjadi pengujian favorit banyak penguji karena dapat memberikan informasi-informasi yang tidak dapat diperoleh dengan benchmark sintetis maupun aplikasi seperti tingkat respons sistem, tingkat kecepatan beralih dari satu aplikasi ke aplikasi lain, anomaly-anomali gambar  yang ‘mengganggu’ mata ataupun penurunan drastis tingkat frame rate secara tiba-tiba dan memastikan hasil pengujian yang terlihat pada benchmark memang terlihat saat bermain game/ menjalankan aplikasi. 
Namun, seringkali konfigurasi aplikasi/game saat dibenchmark  dan saat benar-benar menjalankan  atau bermain tidaklah sama.Dengan pengujian ini, penguji dapat memastikan bahwa tidak ada perbedaan antara hasil benchmark dan pengalaman pengguna. Tingkat deviasi normal pengujian real world testing ini umumnya lebih tinggi daripada benchmark sintetis dan aplikasi . 

Membaca Hasil Benchmark
Semua benchmark, baik sintetis, aplikasi ataupun pengujian nyata memberikan hasil. Hasil benchmark ini dapat berbentuk tingakt frame rate, waktu, kecepatan transfer /bandwith dan nilai skor. Benchmark tidak selalu menggambarkan apa yang akan ditemui saat menggunakan komputer. Pengujian dan hasil benchmark sintetis cenderung memperlihatkan kinerja yang ditawarkan komponen atau sistem dalam keadaan ideal dimana kinerja komponen atau sistem tidak dibatasi oleh komponen lain.
Benchmark aplikasi secara umum hanya menguji satu rangkaian tugas (workload) tertentu. Bila rangkaian tugas berbeda, besar kemungkinan tidak melihat besaran kinerja yang diperlihatkan oleh sistem benchmark. Selain itu benchmark aplikasi hanya berlaku untuk aplikasi tersebut. Hasil benchmark, tidak akan berlaku untuk aplikasi yang berbeda ataupun versi yang berbeda dari aplikasi yang sama.
Hal yang berlaku sama untuk pada benchmark game, hanya karena sebuah graphics card terlihat lebih cepat di benchmark bukan berarti kinerja yang sama bisa terlihat didalam game. Pada akhirnya, benchmark baik itu sintetis, aplikasi maupun real world testing adalah suatu perkiraan kinerja. Benchmark memeberikan satu standar, satu acuan untuk menilai suatu kinerja. Dengan informasi cukup dari berbagai benchmark, tingkat validasi perkiraan kinerja, hasil benchmark, akan jauh lebih tinggi bila dibandingkan hanya melihat satu kondisi banchmark saja. 

CPU Performance Benchmark
CPU dalam hal ini adalah  microprosessor adalah faktor pertama dan utama penentu kinerja komputer. Namun kinerja dari CPU ini, paling tidak ada tiga hal yang menentukannya yaitu :
  • Tingkat kecepatan prosesor atau clock Tidak selalu benar kalau menyatakan kinerja prosesor ditentukan kecepatan/clock prosesor. Agar mendapatkan kinerja yang optimal peningkatan clock juga diimbangi oleh keputusan desain lain dan memastikan bahwa prosesor mendapat cukup data untuk diproses.   Register, cache dan RAM, ketiganya bekerja sama untuk memastikan data yang diperlukan prosessor tersedia saat dibutuhkan sehingga memberikan bandwith yang optimal
  • Jumlah data yang disimpan dan kecepatan akses data atau bandwith prosesor membutuhkan tempat penyimpanan data yaitu data yang dibutuhkan untuk menjalankan instruksi maupun hasil instruksi tersebut pada register prosesor. Selanjutnya cache sebagai tempat penyimpanan sementara untuk data  yang diperlukan / dihasilkan prosesor  sehingga prosesor tidak kehabisan tempat  untuk menyimpan data setelah register. Peranan penting lain cache adalah sebagai jembatan antara register prosesor dan memori utama.
  • Kemampuan memproses data atau instruction per cycle (IPC) untuk terus menerus meningkatkan kinerja prosesor, tidak hanya perlu  meningkatkan clock dan memastikan bandwith yang tersedia mencukupi kebutan data prosesor, tetapi juga memastikan ALU prosesor selalu terpakai.  Ini dilakukan dengan membagi tahap eksekusi instruksi ALU menjadi beberapa tahapan lebih sederhana yang sering disebut pipelining. Paralelisme instruksi (Instruction Level
    Paralelism) adalah seberapa tinggi tingkat rangkaian instruksi yang diterima prosesor bisa diparalelkan, dijalankan bersama oleh dua atau lebih ALU. Tidak semua istruksi dapat diparalelkan dan rangkaian instruksi yang bisa pun memiliki batasan. Salah satu teknologinya adalah SIMD (Single Instruction Multiple Data) yang menggabungkan beberapa bilangan 8 bit menjadi satu bilangan 16 bit atau lebih yang lebih dikenal dengan sebutan MMX, 3Dnow! dan SSE.
Tolak ukur utama dari tiap faktor tersebut  adalah MHz/GHz untuk clock, GB/s untuk bandwidht, milisecond/nanosecond untuk latency serta instruction per cycle untuk arsitektur. Namun, bukan berarti prosesor kinerja tinggi adalah prosesor berclock tinggi, bandwidth besar, latency rendah dan IPC yang tinggi. 
Prosesor berkinerja tinggi adalah prosesor yang mencapai kombinasi optimal antara arsitektur, bandwidth dan clock. Tiap factor mempunyai batasan-batasan fisik tersendiri. Kecepatan/clock prosesor dibatasi oleh proses fabrikasi yang digunakan. Bandwith dibatasi bebrapa jumlah transistor yang diperlukan di tingkat register maupun cache serta kecepatan transfer data dari memori. Arsitektur dibatasi jumlah instruksi yang bisa dijalankan tiap saat – paralelisme.

Semoga bermanfaat sob....!!!
jangan lupa di comment yaaa...... :)
Temen-temen juga bisa liat vidio tutorial cara menginstal dan menjalankan SPECCY Benchmark nii...
Show Video 

3 komentar:

Albert Kevin Golanda mengatakan...

keren gan postinganya :D
jarang-jarang nih mengulas suatu definisi secara lengkap dan esensinya jelas.

FavoritoStore mengatakan...

Kalo dalam persaingan smartphone, masing2 slalu memperlihatkan score benchmark masing2, dmn smakin besar, smakin oke. Apa artinya ya score benchmark pd device semacam smartphone? Trims.

break_the_mic mengatakan...

Bermanfaat beut gan..