Friday, May 6, 2016

Parallel Computation : Pengantar Message Passing, OpenMP

Anggota Kelompok:
Alberto Juan Pablo (58412279)
Denny Bayu Listiawan (51412846)
Eka Mahlida (52412410)
Muhammad Gigih Wicaksono (54412960)

Pemrosesan Paralel adalah komputasi dua atau lebih tugas pada waktu bersamaan dengan tujuan untuk mempersingkat waktu penyelesaian tugas-tugas tersebut dengan cara mengoptimalkan resource pada sistem komputer yang ada. Pemrosesan paralel dapat mempersingkat waktu ekseskusi suatu program dengan cara membagi suatu program menjadi bagian-bagian yang lebih kecil yang dapat dikerjakan pada masing-masing prosesor secara bersamaan. Suatu program yang yang dieksekusi oleh n prosesor diharapkan dapat mempersingkat waktu eksekusi n kali lebih cepat. Salah satu komputer yang menggunakan metode pemrosesan paralel adalah SMP (Single Multi Processor). Sebuah sistem paralel setidaknya terdiri dari Message Passing Interface (MPI) dan sebuah pengatur beban kerja (job scheduler).
Pada bagian komputasi parallel ini akan dibahas tentang Message Passing dan OpenMP.

Pembahasan Jurnal:
Algoritma genetika sekuensial untuk menyelesaikan Container Loading Problem bekerja hanya dengan menggunakan satu  processor  saja meskipun dijalankan pada system multicore. Tujuan dari penelitian ini adalah untuk mengoptimalkan kinerja system multicore. Untuk mengoptimalkan kinerja system multicore diperlukan adanya paralelisasi algoritma genetika untuk menyelesaikan Container Loading Problem.
Dalam penelitian ini paralelisasi yang digunakan adalah paralelisasi shared memory menggunakan OpenMP. Paralelisasi dalam OpenMP dilakukan melalui penyisipan pragma OMP paralel. Dari algoritma genetika serial Container Loading Problem akan diparalelisasi menggunakan OpenMP menjadi algoritma genetika parallel Container Loading Problem. Selanjutnya akan dilakukan pengujian waktu eksekusi algoritma dan perhitungan  speedup.
Hasil dari penelitian ini berupa hasil pengujian kinerja algoritma parallel yang menunjukkan bahwa waktu komputasialgoritma paralel lebih kecil dari algoritma sekuensial sebelum diparalelisasi menggunakan OpenMP. Waktukomputasi yang lebih kecil ini menyatakan efisiensi kinerja algoritma paralel yang lebih baik dari algoritmasekuensial. Peningkatan efisiensi ini juga dapat diidentifikasi dari Speedup  paralelisasi yang semakin besar. Kesimpulan diperoleh dari penelitian ini adalah bahwa paralelisasi terhadap algoritma genetika untuk menyelesaikan Container Loading Problem akan meningkatkan efisiensi waktu komputasi melalui pemanfaatan sistem  multicore.

Message Passing

Massage Passing merupkan suatu teknik bagaimana mengatur suatu alur komunikasi messaging terhadap proses pada system. Message passing dalam ilmu komputer adalah suatu bentuk komunikasi yang digunakan dalam komputasi paralel, pemrograman-berorientasi objek, dan komunikasi interprocess. Dalam model ini, proses atau benda dapat mengirim dan menerima pesan yang terdiri dari nol atau lebih byte, struktur data yang kompleks, atau bahkan segmen kode ke proses lainnya dan dapat melakukan sinkronisasi. Paradigma Message passing yaitu :
1.  Banyak contoh dari paradigma sekuensial dipertimbangkan bersama-sama.
2.Programmer membayangkan beberapa prosesor, masing-masing dengan memori, dan menulis sebuah program untuk berjalan pada setiap prosesor.
3. Proses berkomunikasi dengan mengirimkan pesan satu sama lain.



Terdapat beberapa metode dalam pengiriman pesan yaitu :
·        Synchronous Message Passing
Pengirim menunggu untuk mengirim pesan sampai penerima siap untuk menerima pesan. Oleh karena itu tidak ada buffering. Selain itu Pengirim tidak bisa mengirim pesan untuk dirinya sendiri.
·        Ansynchronous Message Passing
Pengirim akan mengirim pesan kapanpun dia mau. Pengirim tidak peduli ketika penerima belum siap untuk menerima pesan. Oleh karena itu diperlukan buffering untuk menampung pesan sementara sampai penerima siap menerima pesan. Selain itu pengirim dapat pesan untuk dirinya sendiri.

OpenMP (Open Multiprocessing)
OpenMP adalah Application Programing Interface (API) yang mendukung pemrograman multiprosesing shared memory dalam bahasa C/C++ dan fortran pada berbagai arsitektur dan sistem operasi diantaranya: Solaris, AIX, HP-UX,GNU/Linux, Mac OS X, dan Windows.


OpenMP adalah model portabel dan skalabel yang memberikan interface sederhana dan fleksibel bagi programer shared memory dalam membangun aplikasi paralel. Program multithread dapat ditulis dalam berbagai cara. Beberapa diantaranya memungkinkan untuk melakukan interaksi yang kompleks antar thread. OpenMP mencoba untuk memberikan kemudahan pemrograman serta membantu dalam menghindari kesalahan program, melalui pendekatan terstruktur. Pendekatan ini dikenal sebagai model pemrograman fork-join.
OpenMP bekerja berdasarkan model shared memory, maka secara default data dibagi diantara thread-thread dan dapat terlihat dari setiap thread. Terkadang program akan membutuhkan variabel dengan nilai thread spesifik. Jika setiap thread memiliki variabel duplikat akan sangat berpotensi memiliki nilai yang berbeda-beda pada setiap variabel duplikat tersebut.

Sinkronisasi (pengkoordinasian) aksi dari thread adalah sesuatu yang sangat penting untuk menjamin data yang harus dibagi dan untuk mencegah terjadinya data race condition. Secara default OpenMP telah menyediakan mekanisme untuk menunggu thread dalam suatu tim thread sehingga semua thread menyelesaikan tugasnya dalam region, kemudian dapat melanjutkan ke proses selanjutnya. Mekanisme ini dikenal sebagai barrier.



Thursday, May 5, 2016

QUANTUM COMPUTATION : Algorithma Shor

Anggota Kelompok:
Alberto Juan Pablo (58412279)
Denny Bayu Listiawan (51412846)
Eka Mahlida (52412410)
Muhammad Gigih Wicaksono (54412960)

Pengertian sederhana dari computer kuantum adalah jenis chip processor terbaru yang diciptakan berdasar perkembangan mutakhir dari ilmu fisika (dan matematika) quantum.

Pengertian komputer kuantum adalah merupakan suatu alat hitung yang menggunakan sebuah fenomena mekanika kuantum, misalnya superposisi dan keterkaitan, untuk melakukan operasi data. Dalam komputasi klasik, jumlah data dihitung dengan bit; dalam komputer kuantum, hal ini dilakukan dengan qubit.


Algoritma Shor

Pada tahun 1994 Peter Shor (Bell Laboratories) menemukan algoritma kuantum pertama yang secara prinsip dapat melakukan faktorisasi yang efisien yaitu Algoritma Shor.
Algoritma Shor adalah algoritma kuantum yaitu merupakan suatu algoritma yang berjalan pada komputer kuantum yang berguna untuk faktorisasi bilangan bulat. Inti dari algoritma ini merupakan bagaimana cara menyelesaikan faktorisasi terhaadap bilanga interger atau bulat yang besar.

Efisiensi algoritma Shor adalah karena efisiensi kuantum Transformasi Fourier , dan modular eksponensial. Hal ini menjadi sebuah aplikasi kompleks yang hanya dapat dilakukan oleh sebuah komputer kuantum. 


Pemfakotoran adalah salah satu masalah yang paling penting dalam kriptografi. Misalnya, keamanan RSA (sistem keamanan perbankan elektronik). Kriptografi kunci publik bergantung pada pemfaktoran. Apabila, pada computer saat ini pemecahan segala jenis enkripsi memerlukan waktu hampir seabad, mungkin pada computer quantum hanya membutuhkan waktu beberapa tahun.
Algoritma Shor terdiri dari dua bagian:
1.   Penurunan yang bisa dilakukan pada komputer klasik, dari masalah anjak untuk masalah ketertiban -temuan.
2.  Sebuah algoritma kuantum untuk memecahkan masalah order-temuan.

Hambatan runtime dari algoritma Shor adalah kuantum eksponensial modular yang jauh lebih lambat dibandingkan dengan kuantum Transformasi Fourier dan pre-/post-processing klasik. Ada beberapa pendekatan untuk membangun dan mengoptimalkan sirkuit untuk eksponensial modular. Yang paling sederhana dan saat ini yaitu pendekatan paling praktis adalah dengan menirukan sirkuit aritmatika konvensional dengan gerbang reversibel, dimulai dengan penambah ripple-carry. Sirkuit Reversible biasanya menggunakan nilai pada urutan n^3, gerbang untuk n qubit. Teknik alternatif asimtotik meningkatkan jumlah gerbang dengan menggunakan kuantum transformasi Fourier , tetapi tidak kompetitif dengan kurang dari 600 qubit karena konstanta tinggi.


Source:

Wednesday, May 4, 2016

PENGANTAR KOMPUTASI MODERN Di Bidang Fisika : Komputasi Solusi Transien Rangkaian Listrik Dengan GGL


Anggota Kelompok:
Alberto Juan Pablo (58412279)
Denny Bayu Listiawan (51412846)
Eka Mahlida (52412410)
Muhammad Gigih Wicaksono (54412960)


Komputasi adalah sebuah proses perhitungan, pemrosesan informasi atau pemecahan masalah dengan menggunakan algoritma. Secara umum ilmu komputasi adalah bidang ilmu yang mempunyai perhatian pada penyusunan model matematika dan teknik penyelesaian numerik serta penggunaan komputer untuk menganalisis dan memecahkan masalah-masalah ilmu. 
Implementasi komputasi sendiri ada pada berbagai bidang seperti Fisika, Kimia, Biologi, Geografi, Matematika dan Geologi. Kali ini akan dibahas tentang penerapan komputasi modern pada bidang fisika.
Implementasi komputasi modern di bidang fisika disebut juga Computational Physics yang mempelajari suatu gabungan antara Fisika,Komputer Sain dan Matematika Terapan untuk memberikan solusi pada “Kejadian dan masalah yang komplek pada dunia nyata” baik dengan menggunakan simulasi dan penggunaan algoritma yang tepat.
Penginmplementasian komputasi dibidang fisika ini sudah banyak dijelaskan di artikel ataupun jurnal. Salah satunya akan direview kali ini adalah Komputasi Solusi Transien Rangkaian Listrik dengan GGL Gayut Waktu dengan Sistem Aljabar Komputer REDUCE.

I.     PENDAHULUAN
Dalam elektromagnetisme ada materi rangkaian listrik, namun pada pembahasan ggl (gaya gerak listrik) gayut waktu biasanya penjelasan dibatasi hanya pada ggl yang sinusoidal dan pada saat sistem sudah mencapai keadaan ajeg, yaitu lama setelah ditutupnya saklar pada rangkaian listrik itu. Pada saat membahas keadaan transien, yaitu pada saat-saat yang dekat dengan ditutupnya saklar, biasanya digunakan ggl yang konstan atau ggl yang dihubung pendek.
Disini akan ditentukan solusi ketika sistem dalam keadaan transien dengan ggl yang gayut waktu secara sembarang. Penyelesaian akan dilakukan secara komputatif dengan pemrograman simbolik menggunakan bahasa REDUCE. Penggunaan pemrograman simbolik (Sistem Aljabar Komputer).

II.     METODE DERET
Sistem yang ditinjau yaitu rangkaian listrik yang terdiri atas beberapa lingkaran arus. Dalam setiap lingkaran itu variabel yang bisa digunakan adalah muatan (kapasitor) dan arus listrik (induktor dan resistor).
Solusi transien yang akan ditentukan menyatakan keadaan sistem dekat dengan saat awal t=0 sehingga dalam hal ini metode deret Taylor-McLaurin cocok untuk diterapkan. Besaran muatan listrik Q(t) diperderetkan menjadi deret pangkat terhadap waktu dengan koefisien yang ditentukan dari nilai semua derivatif besaran itu pada saat awal.

III.     BAHASA PEMROGRAMAN REDUCE
Bahasa REDUCE merupakan satu di antara berbagai bahasa pemrograman simbolik yang tersedia di dunia komputasi. Bahasa ini disusun oleh A.C. Hearns (seorang fisikawan) dan pada awalnya digunakan untuk komputasi dalam fisika partikel. Bahasa ini banyak juga digunakan dalam bidang keteknikan bidang fisika, mulai dari mekanika klasik sampai Teori Relativitas Umum dan Mekanika Kuantum. REDUCE mempunyai kemampuan untuk mengolah bilangan bulat, bilangan rasional, bilangan tak rasional dengan ketelitian sangat tinggi dan simbol baik dalam bentuk umum maupun ekspresi matematik. Berdasarkan berbagai pertimbangan itu maka bahasa REDUCE digunakan dalam makalah ini.

IV.     HASIL DAN PEMBAHASAN
Titik pangkal komputasi dalam persoalan ini adalah persamaan E(t)  menyatakan ggl yang gayut waktu. Dengan memilih satuan komputasi yang sesuai maka koefisien-koefisien yang mengandung berbagai tetapan sistem dapat dibuat tak berdimensi. Untuk memudahkan pembahasan maka koefisien-koefisien itu dimisalkan mempunyai nilai tertentu berupa bilanganbilangan real. Demikian pula dicobakan nilai ggl yang gayut waktu secara sembarang.

V.     KESIMPULAN
Komputasi merupakan jembatan antara fisika teori yang simbolik analitik (matematika) dengan fisika eksperimental yang numerik(pengukuran). 

Pemrograman merupakan implementasi dari metode komputasi. Pada jurnal ini ditunjukkan bahwa pemilihan bahasa pemrograman yang tepat akan menghasillkan output dalam bentuk yang diinginkan sesuai dengan tujuan komputasi.

source:

Komputasi Solusi Transien Rangkaian Listrik dengan GGL Gayut Waktu dengan Sistem Aljabar Komputer REDUCE.
Komputasi Modern


Pages