Kamis, 10 Juli 2014 | By: Allandeman

Algoritma Paralel



PENDAHULUAN
Dalam ilmu komputer, sebuah algoritma paralel atau algoritma bersamaan, sebagai lawan berurutan (atau serial) algoritma tradisional, merupakan algoritma yang dapat dieksekusi sepotong pada waktu pada banyak perangkat pengolahan yang berbeda, dan kemudian digabungkan bersama-sama lagi pada akhir untuk mendapatkan hasil yang benar. Sebagian besar algoritma yang tersedia untuk menghitung pi (π), di sisi lain, tidak dapat dengan mudah dibagi menjadi bagian-bagian paralel. Mereka membutuhkan hasil dari langkah sebelumnya untuk secara efektif melanjutkan dengan langkah berikutnya. Masalah seperti ini disebut masalah inheren serial. Iteratif metode numerik, seperti metode Newton atau masalah tiga-badan, juga algoritma yang secara inheren serial.

TEORI
Pengertian
Algoritma Paralel adalah sebuah algoritma yang dapat dieksekusi sepotong pada waktu pada banyak perangkat pengolahan yang berbeda, dan kemudian digabungkan bersama-sama lagi pada akhir untuk mendapatkan hasil yang benar. Algoritma paralel berharga karena perbaikan substansial dalam multiprocessing sistem dan munculnya multi-core prosesor. Secara umum, lebih mudah untuk membangun komputer dengan prosesor cepat tunggal dari satu dengan banyak prosesor lambat dengan throughput yang sama. Tapi kecepatan prosesor meningkat terutama dengan mengecilkan sirkuit, dan prosesor modern yang mendorong ukuran fisik dan batas panas. Hambatan kembar telah membalik persamaan, membuat multiprocessing praktis bahkan untuk sistem kecil. Biaya atau kompleksitas algoritma serial diperkirakan dalam hal ruang (memori) dan waktu (siklus prosesor) yang mereka ambil. Algoritma paralel perlu mengoptimalkan satu sumber daya yang lebih, komunikasi antara prosesor yang berbeda. Ada dua cara paralel prosesor berkomunikasi, memori bersama atau pesan lewat.
Desain
SISD Single Instruction stream, Single Data Stream
istilah yang mengacu pada arsitektur komputer di mana prosesor tunggal, sebuah uniprocessor, mengeksekusi aliran instruksi tunggal, untuk beroperasi pada data yang tersimpan dalam memori tunggal. Ini sesuai dengan arsitektur von Neumann . SISD adalah salah satu dari empat klasifikasi utama sebagaimana didefinisikan dalam taksonomi Flynn . Dalam sistem ini klasifikasi didasarkan pada jumlah instruksi bersamaan dan data stream hadir dalam arsitektur komputer. Menurut Michael J. Flynn , SISD dapat memiliki karakteristik pemrosesan konkuren. Instruksi fetching dan eksekusi pipelined instruksi adalah contoh umum ditemukan di komputer SISD paling modern.
File: SISD.svg
MISD Multiple Instruction Stream, Single Data Stream
jenis komputasi paralel arsitektur di mana banyak unit fungsional melakukan operasi yang berbeda pada data yang sama. Pipa arsitektur termasuk tipe ini, meskipun purist mungkin mengatakan bahwa data berbeda setelah pengolahan oleh setiap tahap dalam pipa. Komputer toleransi kegagalan mengeksekusi instruksi yang sama secara berlebihan dalam rangka untuk mendeteksi dan masker kesalahan, dengan cara yang dikenal sebagai replikasi tugas , dapat dianggap milik jenis ini. Tidak banyak contoh arsitektur ini ada, sebagai MIMD dan SIMD sering lebih tepat untuk data teknik paralel umum. Secara khusus, mereka memungkinkan skala yang lebih baik dan penggunaan sumber daya komputasi daripada MISD tidak. Namun, salah satu contoh yang menonjol dari MISD dalam komputasi adalah Space Shuttle komputer kontrol penerbangan.
File: MISD.svg
SIMD Single Instruction Stream, Multiple Data Stream
Kelas komputer paralel dalam taksonomi Flynn . Ini menggambarkan komputer dengan beberapa elemen pemrosesan yang melakukan operasi yang sama pada beberapa titik data secara bersamaan. Dengan demikian, mesin tersebut memanfaatkan data tingkat paralelisme . SIMD ini terutama berlaku untuk tugas umum seperti menyesuaikan kontras dalam citra digital atau menyesuaikan volume audio digital . Paling modern CPU desain termasuk instruksi SIMD dalam rangka meningkatkan kinerja multimedia digunakan.
Keuntungan SIMD antara lain sebuah aplikasi yang dapat mengambil keuntungan dari SIMD adalah salah satu di mana nilai yang sama sedang ditambahkan ke (atau dikurangkan dari) sejumlah besar titik data, operasi umum di banyak multimedia aplikasi. Salah satu contoh akan mengubah kecerahan gambar. Setiap pixel dari suatu gambar terdiri dari tiga nilai untuk kecerahan warna merah (R), hijau (G) dan biru (B) bagian warna. Untuk mengubah kecerahan, nilai-nilai R, G dan B yang dibaca dari memori, nilai yang ditambahkan dengan (atau dikurangi dari) mereka, dan nilai-nilai yang dihasilkan ditulis kembali ke memori.
Dengan prosesor SIMD ada dua perbaikan proses ini. Untuk satu data dipahami dalam bentuk balok, dan sejumlah nilai-nilai dapat dimuat sekaligus. Alih-alih serangkaian instruksi mengatakan “mendapatkan pixel ini, sekarang mendapatkan pixel berikutnya”, prosesor SIMD akan memiliki instruksi tunggal yang efektif mengatakan “mendapatkan n piksel” (dimana n adalah angka yang bervariasi dari desain untuk desain). Untuk berbagai alasan, ini bisa memakan waktu lebih sedikit daripada “mendapatkan” setiap pixel secara individual, seperti desain CPU tradisional.
Keuntungan lain adalah bahwa sistem SIMD biasanya hanya menyertakan instruksi yang dapat diterapkan pada semua data dalam satu operasi. Dengan kata lain, jika sistem SIMD bekerja dengan memuat delapan titik data sekaligus, add operasi yang diterapkan pada data akan terjadi pada semua delapan nilai pada waktu yang sama. Meskipun sama berlaku untuk setiap desain prosesor super-skalar, tingkat paralelisme dalam sistem SIMD biasanya jauh lebih tinggi.
SIMD dibagi menjadi beberapa bentuk lagi yaitu :
·        Exclusive-Read, Exclusive-Write (EREW) SM SIMD
·        Concurent-Read, Exclusive-Write (CREW) SM SIMD
·        Exclusive-Read, Concurrent-Write (ERCW) SM SIMD
·        Concurrent-Read, Concurrent-Write (CRCW) SM SIMD
File: SIMD.svg



MIMD Multiple Instruction Stream, Multiple Data Stream
Teknik yang digunakan untuk mencapai paralelisme. Mesin menggunakan MIMD memiliki sejumlah prosesor yang berfungsi asynchronous dan independen. Setiap saat, prosesor yang berbeda dapat mengeksekusi instruksi yang berbeda pada bagian yang berbeda dari data. Arsitektur MIMD dapat digunakan di sejumlah area aplikasi seperti desain dibantu komputer / manufaktur dibantu komputer , simulasi , pemodelan , dan sebagai switch komunikasi . Mesin MIMD dapat menjadi baik memori bersama atau memori terdistribusi kategori. Klasifikasi ini didasarkan pada bagaimana prosesor MIMD memori akses. Mesin memori bersama mungkin dari berbasis bus , diperpanjang, atau hirarkis jenis. Mesin memori terdistribusi mungkin memiliki hypercube atau jala skema interkoneksi.
File: MIMD.svg
ANALISIS
Algoritma pararel memiliki banyak desain atau model yaitu SISD, MISD, SIMD, dan MIMD. Untuk setiap model yang ada memiliki kelebihan kekurangan dan mempunyai fungsi masing - masing. Menurut saya model MIMD merupakan model yang paling efisien karena memiliki banyak prosessor yang bisa mengeksekusi instruksi yang berbeda sehingga tidak terjadi penumpukan atau antrian instruksi.

REFERENSI

ALLANDEMAN
50410566     
4IA19

Komputasi Modern

Komputasi merupakan ilmu yang mempelajari tentang cara-cara untuk memecahkan suatu masalah terhadap data input dengan sebuah algoritma, data input disini adalah sebuah masukan yang berasal dari luar lingkungan sistem. Komputasi Modern merupakan sebuah sistem yang akan menyelesaikan masalah matematis menggunakan komputer dengan cara menyusun algoritma yang dapat dimengerti oleh komputer yang berguna untuk menyelesaikan suatu masalah. 
Komputasi modern bisa disebut sebuah konsep sistem yang menerima intruksi-intruksi dan menyimpannya dalam sebuah memory, memory disini bisa juga dari memory komputer. Oleh karena pada saat ini kita melakukan komputasi menggunakan komputer maka bisa dibilang komputer merupakan sebuah komputasi modern. Dalam kerjanya komputasi modern menghitung dan mencari solusi dari masalah yang ada, dan perhitungan yang dilakukan itu meliputi:

1.    Akurasi (big, Floating point)
2.    Kecepatan (dalam satuan Hz)
3.    ProblemVolume Besar (Down Sizzing atau pararel)
4.    Modelling (NN & GA)
5.    Kompleksitas (Menggunakan Teori big O)

A.     Sejarah Komputasi Modern

Awal mula dari komputasi adalah adanya perhitungan-perhitungan angka yang dilakukan manusia. Manusia telah mengenal angka dan perhitungan sejak berabad-abad yang lalu. Bangsa romawi pun telah dapat menghitung sistem kalender dan rasi bintang. Seiring dengan perkembangan zaman manusia pun melakukan perhitungan-perhitungan yang lebih kompleks. Otak manusia juga mengalami keterbatasan dalam menghitung angka yang jumlahnya bisa berdigit-digit, kemudian diciptakan alat sempoa untuk menghitung, kemudian dikembangkan menjadi kalkulator, Karena semakin berkembangnya alat dan kebutuhan semakin banyak pula data-data yang ingin dihitung, dan mulailah ide pembuatan untuk membuat komputer sebagai alat hitung dengan konsep komputasi modern. Tidak hanya itu, komputer yang diciptakan hingga sekarang ini bukan menjadi sebuah alat yang digunakan untuk menghitung, tapi juga bisa menyimpan, mengedit dan mengolah kata serta masih banyak lagi kegunaan dan kelebihan yang dimiliki oleh komputer.

Sejarah perkembangan komputasi modern dimulai dari seseorang ilmuan yang ternama dari hungaria bernama John Von Neumann (1903-1957). Von Neumann seorang ilmuan yang belajar dari Berlin dan Zurich dan mendapatkan diploma pada bidang teknik kimia pada tahun 1926. Pada tahun yang sama dia mendapatkan gelar doktor pada bidang matematika dari Universitas Budapest. Berkat keahlian dan kepiawaiannya Von Neumann dalam bidang teori game yang melahirkan konsep seluler automata, teknologi bom atom di Los Alamos pada Perang Dunia II , dan komputasi modern yang kemudian melahirkan komputer. Kegeniusannya dalam matematika telah terlihat semenjak kecil dengan mampu melakukan pembagian bilangan delapan digit (angka) di dalam kepalanya. Setelah mengajar di Berlin dan Hamburg, Von Neumann pindah ke Amerika pada tahun 1930 dan bekerja di Universitas Princeton serta menjadi salah satu pendiri Institute for Advanced Studies. Dipicu ketertarikannya pada hidrodinamika dan kesulitan penyelesaian persamaan diferensial parsial nonlinier yang digunakan, Von Neumann kemudian beralih dalam bidang komputasi. Sebagai konsultan pada pengembangan ENIAC, dia merancang konsep arsitektur komputer yang masih dipakai sampai sekarang. Arsitektur Von Nuemann adalah komputer dengan program yang tersimpan (program dan data disimpan pada memori) dengan pengendali pusat, I/O, dan memori. berdasarkan beberapa definisi di atas, maka komputasi modern dapat diartikan sebagai suatu pemecahan masalah berdasarkan suatu inputan dengan menggunakan algoritma dimana penerapannya menggunakan berbagai teknologi yang telah berkembang seperti komputer.

Berikut ini beberapa contoh komputasi modern sampai dengan lahirnya ENIAC :

·      Konrad Zuse’s electromechanical “Z mesin”.Z3 (1941) sebuah mesin pertama menampilkan biner aritmatika, termasuk aritmatika floating point dan ukuran programmability. Pada tahun 1998, Z3 operasional pertama di dunia komputer itu di anggap sebagai Turing lengkap.
·      Berikutnya Non-programmable Atanasoff-Berry Computer yang di temukan pada tahun 1941 alat ini menggunakan tabung hampa berdasarkan perhitungan, angka biner, dan regeneratif memori kapasitor.Penggunaan memori regeneratif diperbolehkan untuk menjadi jauh lebih seragam (berukuran meja besar atau meja kerja).
·      Selanjutnya komputer Colossus ditemukan pada tahun 1943, berkemampuan untuk membatasi kemampuan program pada alat ini menunjukkan bahwa perangkat menggunakan ribuan tabung dapat digunakan lebih baik dan elektronik reprogrammable.Komputer ini digunakan untuk memecahkan kode perang Jerman.
·      The Harvard Mark I ditemukan pada 1944, mempunyai skala besar, merupakan komputer elektromekanis dengan programmability terbatas.
·      Lalu lahirlah US Army’s Ballistic Research Laboratory ENIAC ditemukan pada tahun 1946, komputer ini digunakan unutk menghitung desimal aritmatika dan biasanya disebut sebagai tujuan umum pertama komputer elektronik (ENIAC merupaka generasi yang sudah sangat berkembang di zamannya sejak komputer pertama Konrad Zuse ’s Z3 yang ditemukan padatahun 1941).

B.     Karakteristik Komputasi Modern

1.    Komputer-komputer penyedia sumber daya bersifat heterogenous karena terdiri dari berbagai jenis perangkat keras, sistem operasi, serta aplikasi yang terpasang.
2.    Komputer-komputer terhubung ke jaringan yang luas dengan kapasitas bandwidth yang beragam.
3.    Komputer maupun jaringan tidak terdedikasi, bisa hidup atau mati sewaktu-waktu tanpa jadwal yang jelas.

C.     Jenis-jenis komputasi modern

1.    Mobile computing
Mobile computing atau komputasi bergerak merupakan kemajuan teknologi komputer sehingga dapat berkomunikasi menggunakan jaringan tanpa menggunakan kabel dan mudah dibawa atau berpindah tempat, tetapi berbeda dengan komputasi nirkabel. Contoh dari perangkat komputasi bergerak seperti GPS.
Beberapa keterbatasan dan resiko dari mobile computing:
·      Kurangnya Bandwith Akses internet pada peralatan ini umumnya lebih lambat dibandingkan dengan koneksi kabel.
·      Gangguan Transmisi Banyak faktor yang bisa menyebabkan gangguan sinyal pada mobile computing seperti cuaca, medan dan jarak alat mobile computing dengan titik pemancar sinyal terdekat.

2.    Grid computing
Grid computing Komputasi grid menggunakan komputer yang terpisah oleh geografis, didistibusikan dan terhubung oleh jaringan untuk menyelasaikan masalah komputasi skala besar.
Beberapa daftar yang dapat digunakan untuk mengenali sistem komputasi grid, adalah :
·      Sistem untuk koordinat sumber daya komputasi tidak dibawah kendali pusat.
·      Sistem menggunakan standard dan protocol yang terbuka.
·      Sistem mencoba mencapai kualitas pelayanan yang canggih, yang lebih baik diatas kualitas komponen individu pelayanan komputasi grid.

3.    Cloud computing
Cloud computing Komputasi cloud merupakan gaya komputasi yang terukur dinamis dan sumber daya virtual yang sering menyediakan layanan melalui internet. Komputasi cloud menggambarkan pelengkap baru, konsumsi dan layanan IT berbasis model dalam internet, dan biasanya melibatkan ketentuan dari keterukuran dinamis dan sumber daya virtual yang sering menyediakan layanan melalui internet.
Adapun perbedaan antara komputasi mobile, komputasi grid dan komputasi cloud, dapat dilihat penjelasannya dibawah ini :
·      Komputasi mobile menggunakan teknologi komputer yang bekerja seperti handphone, sedangkan komputasi grid dan cloud menggunakan komputer.
·      Biaya untuk tenaga komputasi mobile lebih mahal dibandingkan dengan komputasi grid dan cloud.
·      Komputasi mobile tidak membutuhkan tempat dan mudah dibawa kemana-mana, sedangkan grid dan cloud membutuhkan tempat yang khusus.
·      Untuk komputasi mobile proses tergantung si pengguna, komputasi grid proses tergantung pengguna mendapatkan server atau tidak, dan komputasi cloud prosesnya membutuhkan jaringan internet sebagai penghubungnya.




D.     Dampak adanya komputasi modern

Salah satu dampak dari adanya komputasi modern adalah dapat membantu manusia untuk menyelesaikan masalah-masalah yang kompleks dengan menggunakan computer. Salah satu contohnya adalah biometric. Biometric berasal dari kata Bio dan Metric. Kata bio diambil dari bahasa yunani kuno yang berarti Hidup sedangkan Metric juga berasal dari bahasa yunani kuno yang berarti ukuran, jadi jika disimpulkan biometric berarti pengukuran hidup.

Tapi secara garis besar biometric merupakan pengukuran dari statistic analisa data biologi yang mengacu pada teknologi untuk menganalisa karakteristik suatu tubuh ( individu ). Nah dari penjelasan tersebut sudah jelas bahwa Biometric menggambarkan pendeteksian dan pengklasifikasian dari atribut fisik. Terdapat banyak teknik biometric yang berbeda, diantaranya:

·      Pembacaan sidik jari / telapak tangan
·      Geometri tangan
·      Pembacaan retina / iris
·      Pengenalan suara
·      Dinamika tanda tangan.

Analisis

Komputasi modern dapat membantu manusia untuk menyelesaikan masalah-masalah dengan lebih mudah. Dengan memanfaatkan teknologi, kita dapat mempermudah pekerjaan dan dapat menghemat waktu.

Referensi