hasil uji coba parallel programming posix

Upload: hendri-karisma

Post on 04-Apr-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/30/2019 Hasil Uji Coba Parallel Programming POSIX

    1/9

    Laporan Hasil Eksperimen Komputasi Perkalian 2 Matrik

    Nama : Hendri Karisma

    NIM : 23512060

    Komputer : Satelite L510 (notebook)

    Processor : Intel Centrino. Core 2 Duo T6500 @ 2.1 GHz

    Jumlah Core : 2

    Cache Size : 2048 KB

    Memori : 2.8 GB

    Proses perhitungan perkalian matriks dari mulai ordo matriks 16, 32, 64, 100, 200, 400, 800,

    1600 pertama melakukan perkalian matriks untuk masing-masing matriks dengan cara sequential

    sebanyak 2 kali, dan dilakukan perkalian matriks untuk masing-masing matriks dengan cara

    POSIX sebanyak 2 kali untuk masing-masing ordo dan jumlah thread.

    Untuk perkalian matriks secara parallel dilakukan dengan menggunakan 2 kondisi jumlah thread,

    dengan 2 thread dan dengan 4 thread. Ketika proses berlasung, jumlah kolom akan dibagi

    kedalam jumlah thread (N-Thread atau 2 atau 4 thread) secara merata untuk setiap masing-

    masing thread. Lalu akan dihasilkan output printf banyak pembagian kolom untuk di proses

    untuk setiap threadnya dan informasi urutan thread mana yang dieksekusi terlebih dahulu dan

    mana yang diselesaikan lebih dahulu. Lalu hasil akhir dikeluarkan waktu yang dibutuhkan untuk

    menyelesaikan komputasi perkalian matriks tersebut.

    Pengukuran waktu dimulai ketika sebelum threads tersebut dimulai dan akan dicatat waktuketika threads akan dimulai, lalau saat seluruh threads tersebut selesai dieksekusi maka akan

    diambil waktu ketika threads itu diselesaikan dan akan diambil selisih antara waktu threads

    diselesaikan dengan waktu ketika sebelum threads tersebut mulai dieksekusi secara bersamaan.

    Pengukuran waktu menggunakan method clock_gettime() karena lebih menghasilkan waktu

    mendekati real. Fungsi clock_gettime digunakan untuk mengambil nilai waktu dengan presisi

  • 7/30/2019 Hasil Uji Coba Parallel Programming POSIX

    2/9

    clock_id, dan dapat mengimplementasikan system-wide realtime clock, dengan menggunakan

    clock_realtime, atau pun menggunakan clock dari CPU id, yaitu menggunakan clock atau waktu

    dari CPU (baik i386 ataupun itanium).

    Berikut adalah hasil eksperimen untuk percobaan tanpa parallel, dan dengan parallel dengan 2

    thread dan 4 thread.

    1. Berikut percobaan tanpa menggunakan parallel :

    Table 1: Hasil Eksperimen 0 untuk menghitung perkalian matriks tanpa parallel

  • 7/30/2019 Hasil Uji Coba Parallel Programming POSIX

    3/9

    Table 2: Hasil Eksperimen 1 untuk menghitung perkalian matriks dengan 2 thread

    Table 3: Hasil Eksperimen 2 untuk menghitung perkalian matriks dengan 2 thread

  • 7/30/2019 Hasil Uji Coba Parallel Programming POSIX

    4/9

    Dan berikut adalah hasil eksperimen percobaan untuk perkalian matriks dari ordo 16 hingga

    1600 dengan menggunakan 4 thread :

    Table 4: Hasil Eksperimen 3 untuk menghitung perkalian matriks dengan 4 thread

  • 7/30/2019 Hasil Uji Coba Parallel Programming POSIX

    5/9

    Table 5: Hasil Eksperimen 4 untuk menghitung perkalian matriks dengan 4 thread

    Graphic

  • 7/30/2019 Hasil Uji Coba Parallel Programming POSIX

    6/9

    1:

    Grafik perbandingan hasil percobaan antara 1 thread, 2 threads dan 3 threads

    Graphic 2: Graphic CPU yang terpakai dalam OS Ubuntu

  • 7/30/2019 Hasil Uji Coba Parallel Programming POSIX

    7/9

    Graphic

    3:

    Grafik batang perbandingan hasil percobaan antara 1 thread, 2 threads dan 3 threads

  • 7/30/2019 Hasil Uji Coba Parallel Programming POSIX

    8/9

    Graphic 4: Kondisi ketika 2 thread sedang berjalan untuk menghitung perkalian matriks

    Uraian Analisis Hasil Eksperimen

    Dari hasil eksperimen yang didapat terdapat perbedaan yang cukup besar antara kecepatan proses

    ketika suatu proses (dalam kasus ini adalah perkalian 2 matriks) menggunakan prallel atau posix

    atau menggunakan lebih dari satu thread dibandingkan dengan yang hanya menggunakan 1

    thread. Terlihat dalam grafik 1 dan 2, dalam proses perhitungan matriks pun banyak ordo yang

    dimiliki matriks, semakin besar ordo matriks, semakin besar pula waktu yang dibutuhkan untuk

    menyelesaikan perkalian matriks tersebut. Dalam Graphic 4 pun yang merupakan screen shot

    ketika CPU 1 dan CPU 2 sedang dalam proses pengerjaan perhitungan matriks 1600 dengan 2

    threads, resource dari CPU 1 dan CPU 2 terlihat hampir 100% digunakan untuk menyelesaikan

  • 7/30/2019 Hasil Uji Coba Parallel Programming POSIX

    9/9

    perkalian matriks, artinya setiap CPU menangani 1 threads untuk menyelesaikan perkalian

    matriks, CPU 1 yang mungkin menangani thread 1 menangani perkalian matriks untuk row 0

    sampai 799, sedangkan thread 2 yang mungkin ditangani oleh CPU 2, menangani perkalian

    matriks dari row 800 sampai 1599, setelah kedua proses atau threads tersebut selesai, maka akan

    dilakukan singkronisasi untuk setiap hasil threads.