Kamis, 30 November 2017

PROSESOR PARALEL

2. Prosesor Paralel
2.1 Jaringan Interkoneksi
Interkoneksi adalah hubungan yang terjadi antara satu koneksi dengan koneksi yang lain. Interkoneksi antar jaringan adalah hubungan atau koneksi antara satu jaringan dengan jaringan yang lain. Jaringan yang terhubung ini bukan hanya jaringan telekomunikasi namun semua bentuk jaringan yang melakukan interkoneksi.
Banyak yang menganalisa interkoneksi antar jaringan adalah hubungan antar jaringan telekomunikasi. Namun secara harfiah interkoneksi jaringan tidak hanya mengarah ke jaringan telekomunikasi, namun ke semua jaringan.Topology nya adalah bagaimana sebuah jaringan itu terbentuk, dan bagaimana keamanan dari jaringan itu sendiri.
Komputer yang terhubung dengan komputer yang lain melalui jaringan dapat melakukan koneksi dengan konfigurasi jaringan. Koneksi ini memerlukan sebuah Port Koneksi pada kartu jaringan (NIC = Network Interface Card) yang berfungsi sebagai jembatan dari komputer ke sebuah jaringan. Peralatan yang dibutuhkan untuk koneksi antara jaringan diantaranya adalah :
1. NIC (Network Interface Card)
Fungsi NIC selain itu adalah untuk mengubah data paralel dalam sebuah bus komputer ke dalam bentuk data serial. Untuk koneksi ini NIC membutuhkan sebuah penghubung yang berupa kabel, kabel ini dapat berupa kabel UTP atau Fiber Optic.
2. HUB
Hub ini ada dua jenis, yaitu passive hub dan active hub. Fungsi hub adalah sebagai terminal penghubunga antara dua koneksi atau lebih. Dimana hub ini sebagai terminal persinggahan dan menambah node didalam sebuah LAN (Local Area Network).

3. Repeater
Repeater ini berfungsi memperluas cakupan suatu jaringan tanpa melakukan filter terhadap sinyal yang masuk dan keluar. Tugas utamanya mensikronisasikan dan mentransmisikan ulang sinyal dari suatu segmen ke segmen yang lain didalam sebuah jaringan.
4. Bridge
Fungsi Bridge kurang lebih sama dengan repeater namun Bridge melakukan filter terhadap sinyal, sehingga setiap segmen tidak dipengaruhi oleh segmen yang lain. Selain itu Bridge juga dapat menghubungkan jaringan yang berbeda segmen protokol aksesnya, namun dengan syarat protokol komunikasinya sama.
5. Router
Fungsi router adalah menentukan jalur routing dan mengirimkan paket-paket informasi pada internet yang bekerja pada layer 3 OSI.

Komunikasi diantara terminal-terminal yang berbeda harus dapat dilakukan dengan suatu media tertentu. Interkoneksi yang efektif antara prosesor dan modul memori sangat penting dalam lingkungan komputer. Menggunakan arsitektur bertopologi bus bukan merupakan solusi yang praktis karena bus hanya sebuah pilihan yang baik ketika digunakan untuk menghubungkan komponen-komponen dengan jumlah yang sedikit. Jumlah komponen dalam sebuah modul IC bertambah seiring waktu. Oleh karena itu, topologi bus bukan topologi yang cocok untuk kebutuhan interkoneksi komponen-komponen di dalam modul IC. Selain itu juga tidak dapat diskalakan, diuji, dan kurang dapat disesuaikan, serta menghasilkan kinerja toleransi kesalahan yang kecil.
        Di sisi lain, sebuah crossbar menyediakan interkoneksi penuh diantara semua terminal dari suatu sistem tetapi dianggap sangat kompleks, mahal untuk membuatnya, dan sulit untuk dikendalikan. Untuk alasan ini jaringan interkoneksi merupakan solusi media komunikasi yang baik untuk sistem komputer dan telekomunikasi. Jaringan ini membatasi jalur-jalur diantara terminal komunikasi yang berbeda untuk mengurangi kerumitan dalam menyusun elemen switching.
Gambar Arsitektur Crossbar


       Jaringan interkoneksi dapat dibagi menjadi statis atau jaringan langsung (direct network), dinamis atau jaringan tidak langsung (undirect network), dan hybrid. Jaringan hybrid adalah jaringan interkoneksi yang memiliki struktur yang rumit. 

Klarifikasi Jaringan Interkoneksi


1. Jaringan Interkoneksi Statis
Dalam jaringan interkoneksi statis, jalur diantara terminal yang berbeda dari sistem bersifat pasif dan hanya jalur yang telah ditentukan oleh prosesor pengendali yang dapat digunakan untuk berkomunikasi. Masing-masing terminal dihubungkan secara langsung ke terminal lain dengan jalur interkoneksi tertentu.

2. Jaringan Intekoneksi Dinamis
Jika dibandingkan dengan jaringan statis, dengan jalur interkoneksi antar terminal yang pasif, konfigurasi jalur dalam sebuah jaringan interkoneksi dinamis merupakan fungsi dari kondisi elemen switching. Jalur diantara terminal pada jaringan interkoneksi dinamis berubah sesuai dengan perubahan kondisi elemen switching. Jaringan dinamis dibangun menggunakan crossbar (khususnya yang berukuran 2 x 2).
Pemrosesan paralel (parallel processing) adalah penggunakan lebih dari satu CPU untuk menjalankan sebuah program secara simultan.Idealnya, parallel processing membuat program berjalan lebih cepat karena semakin banyak CPU yang digunakan.

2.2 TUJUAN PARALLEL PROCESSING
Tujuan utama dari pemrosesan paralel adalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa diselesaikan.

2.3 KOMPUTASI PARALEL
Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan. Biasanya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar ataupun karena tuntutan proses komputasi yang banyak.
Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk itu diperlukan aneka perangkat lunak pendukung yang biasa disebut sebagai middleware yang berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi.
Pemrograman Paralel sendiri adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan. Bila komputer yang digunakan secara bersamaan tersebut dilakukan oleh komputer-komputer terpisah yang terhubung dalam satu jaringan komputer, biasanya disebut sistem terdistribusi. Bahasa pemrograman yang populer digunakan dalam pemrograman paralel adalah MPI (Message Passing Interface) dan PVM (Parallel Virtual Machine).
Yang perlu diingat adalah komputasi paralel berbeda dengan multitasking. Pengertian multitasking adalah komputer dengan processor tunggal mengeksekusi beberapa tugas secara bersamaan. Walaupun beberapa orang yang bergelut di bidang sistem operasi beranggapan bahwa komputer tunggal tidak bisa melakukan beberapa pekerjaan sekaligus, melainkan proses penjadwalan yang berlakukan pada sistem operasi membuat komputer seperti mengerjakan tugas secara bersamaan. Sedangkan komputasi paralel sudah dijelaskan sebelumnya, bahwa komputasi paralel menggunakan beberapa processor atau komputer. Selain itu komputasi paralel tidak menggunakan arsitektur Von Neumann.
Untuk lebih memperjelas lebih dalam mengenai perbedaan komputasi tunggal (menggunakan 1 processor) dengan komputasi paralel (menggunakan beberapa processor), maka kita harus mengetahui terlebih dahulu pengertian mengenai model dari komputasi. Ada 4 model komputasi yang digunakan, yaitu:
•           SIMD
•           SIMD
•           MISD
•           MIMD

2.4 SISD
Yang merupakan singkatan dari Single Instruction, Single Data adalah satu-satunya yang menggunakan arsitektur Von Neumann. Ini dikarenakan pada model ini hanya digunakan 1 processor saja. Oleh karena itu model ini bisa dikatakan sebagai model untuk komputasi tunggal. Sedangkan ketiga model lainnya merupakan komputasi paralel yang menggunakan beberapa processor. Beberapa contoh komputer yang menggunakan model SISD adalah UNIVAC1, IBM 360, CDC 7600, Cray 1 dan PDP 1.
  
2.5 SIMD
Yang merupakan singkatan dari Single Instruction, Multiple Data. SIMD menggunakan banyak processor dengan instruksi yang sama, namun setiap processor mengolah data yang berbeda. Sebagai contoh kita ingin mencari angka 27 pada deretan angka yang terdiri dari 100 angka, dan kita menggunakan 5 processor. Pada setiap processor kita menggunakan algoritma atau perintah yang sama, namun data yang diproses berbeda. Misalnya processor 1 mengolah data dari deretan / urutan pertama hingga urutan ke 20, processor 2 mengolah data dari urutan 21 sampai urutan 40, begitu pun untuk processor-processor yang lain. Beberapa contoh komputer yang menggunakan model SIMD adalah ILLIAC IV, MasPar, Cray X-MP, Cray Y-MP, Thingking Machine CM-2 dan Cell Processor (GPU).

2.6 MISD
Yang merupakan singkatan dari Multiple Instruction, Single Data. MISD menggunakan banyak processor dengan setiap processor menggunakan instruksi yang berbeda namun mengolah data yang sama. Hal ini merupakan kebalikan dari model SIMD. Untuk contoh, kita bisa menggunakan kasus yang sama pada contoh model SIMD namun cara penyelesaian yang berbeda. Pada MISD jika pada komputer pertama, kedua, ketiga, keempat dan kelima sama-sama mengolah data dari urutan 1-100, namun algoritma yang digunakan untuk teknik pencariannya berbeda di setiap processor. Sampai saat ini belum ada komputer yang menggunakan model MISD.

2.7 MIMD
Yang merupakan singkatan dari Multiple Instruction, Multiple Data. MIMD menggunakan banyak processor dengan setiap processor memiliki instruksi yang berbeda dan mengolah data yang berbeda. Namun banyak komputer yang menggunakan model MIMD juga memasukkan komponen untuk model SIMD. Beberapa komputer yang menggunakan model MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/L.

Singkatnya untuk perbedaan antara komputasi tunggal dengan komputasi paralel, bisa digambarkan pada gambar di bawah ini:
http://lukmanlagi.files.wordpress.com/2013/05/667f0-serialproblem.gif?w=440
Penyelesaian Sebuah Masalah pada Komputasi Tunggal
  http://lukmanlagi.files.wordpress.com/2013/05/0acf2-parallelproblem.gif?w=440
Penyelesaian Sebuah Masalah pada Komputasi Paralel
Dari perbedaan kedua gambar di atas, kita dapat menyimpulkan bahwa kinerja komputasi paralel lebih efektif dan dapat menghemat waktu untuk pemrosesan data yang banyak daripada komputasi tunggal.
Dari penjelasan-penjelasan di atas, kita bisa mendapatkan jawaban mengapa dan kapan kita perlu menggunakan komputasi paralel. Jawabannya adalah karena komputasi paralel jauh lebih menghemat waktu dan sangat efektif ketika kita harus mengolah data dalam jumlah yang besar. Namun keefektifan akan hilang ketika kita hanya mengolah data dalam jumlah yang kecil, karena data dengan jumlah kecil atau sedikit lebih efektif jika kita menggunakan komputasi tunggal.
Komputasi paralel membutuhkan :
• algoritma
• bahasa pemrograman
• compiler

Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan baik dalam komputer dengan satu (prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin paralel) CPU.
Tujuan utama dari pemrograman paralel adalah untuk meningkatkan performa komputasi.
* Message Passing Interface (MPI)
MPI adalah sebuah standard pemrograman yang memungkinkan pemrogram untuk membuat sebuah aplikasi yang dapat dijalankan secara paralel.  MPI menyediakan fungsi-fungsi untuk menukarkan antar pesan. Kegunaan MPI yang lain adalah
1.      menulis kode paralel secara portable
2.      mendapatkan performa yang tinggi dalam pemrograman paralel, dan
3.      menghadapi permasalahan yang melibatkan hubungan data irregular atau dinamis yang tidak begitu cocok dengan model data paralel.

2.8 HUBUNGAN ANTARA KOMPUTASI MODERN DENGAN PARALEL PROCESSING

Hubungan antara komputasi modern dan parallel processing sangat berkaitan, karena penggunaan komputer saat ini atau komputasi dianggap lebih cepat dibandingkan dengan penyelesaian masalah secara manual. Dengan begitu peningkatan kinerja atau proses komputasi semakin diterapkan, dan salah satu caranya adalah dengan meningkatkan kecepatan perangkat keras. Dimana komponen utama dalam perangkat keras komputer adalah processor. Sedangkan parallel processing adalah penggunaan beberapa processor (multiprocessor atau arsitektur komputer dengan banyak processor) agar kinerja computer semakin cepat.
Kinerja komputasi dengan menggunakan paralel processing itu menggunakan dan memanfaatkan beberapa komputer atau CPU untuk menemukan suatu pemecahan masalah dari masalah yang ada. Sehingga dapat diselesaikan dengan cepat daripada menggunakan satu komputer saja. Komputasi dengan paralel processing akan menggabungkan beberapa CPU, dan membagi-bagi tugas untuk masing-masing CPU tersebut. Jadi, satu masalah terbagi-bagi penyelesaiannya. Tetapi ini untuk masalah yang besar saja, komputasi yang masalah kecil, lebih murah menggunakan satu CPU saja.

2.9 ARSITEKTUR PENGGANTI
Dalam bidang teknik komputer, arsitektur pengganti merupakan konsep perencanaan atau struktur pengoperasian dasar dalam komputer atau bisa dikatakan rencana cetak biru dan deskripsi fungsional kebutuhan dari perangkat keras yang didesain. implementasi perencanaan dari masing-masing bagian seperti CPU, RAM, ROM, Memory Cache, dll
Bagian berikut akan membahas secara singkat mengenai dua alternatif bagi arsitektur flow-control konvensional. Salah satunya adalah prosesor dataflow (arus data). Tidak seperti halnya dalam mesin von Neumann, yakni bahwa program menentukan kapan mereka akan menjalankan operasi, prosesor dataflow ini adalah availability data yang menentukan kapan prosesor dataflow akan menjalankan operasi. Kelompok lain dari arsitektur pengganti yang baru-baru ini telah diperkenalkan adalah jaringan neural. Ia agak didasarkan pada sistem biologis dan terdiri atas sejumlah elemen komputasional yang sangat sederhana yang beroperasi secara paralel. Walaupun tidak dirancang sebagai komputer penggunaan umum, namun jaringan neural ini telah menunjukkanbahwa ia bisa digunakan untuk pemrosesan signal dan aplikasi rekognisi pola.
2.9.1 Arsitektur Dataflow
Algoritma, seperti halnya arah dan menu, adalah rangkaian langkah yang menetapkan proses. Sebagian besar pemrograman berisi pembuatan algoritma berurutan yang dinyatakan dalam bahasa pemrograman yang terprosedur. Apabila ada yang putus dalam rangkaian (branch), maka secara sendiri program menentukan instruksi apa yang berikutnya harus dijalankan komputer. Para arsitek merancang mesin von Neumann untuk menjalankan rangkaian instruksi, sehingga mesin ini sangat cocok untuk menjalankan program yang ditulis dalam bahasa yang terprosedur.
2.9.2 Jaringan Neural
Para arsitek, dalam usahanya agar bisa menggunakan paralelisme yang melekat pada sistem yang asli, telah merancang arsitektur komputer yang secara terkait didasarkan pada jaringan neural biologis. Walaupun jaringan neural artifIcial, seperti halnya jaringan biologis, memerlukan sejumlah besar elemen komputasional, namun ada empat faktor yang membuatnya feasibel (Iayak digunakan):
1.            Komponen dasar, yakni neuron yang disimulasi mempunyai kompleksitas komputasional yang sederhana dan mempunyai count gate yang kecil (beberapa lusin).
2.            Interkoneksinya sangat sederhana, dan interkoneksi ini cenderung bersifat repetitif.
3.            Komunikasi yang diperlukannya hanyalah dengan neighbor yang ada dalam radius yang sudah pasti.
4.            Komponen untuk integrasis kala yang sangat besar (VLSI) tidak mahal lagi, sehingga biaya pembangunan sistem dengan jumlah prosesor yang besar tidak ada masalah.




Daftar pustaka :
http://riofajar1012.blogspot.co.id/2016/11/prosesor-paralel.html
http://andi-granderist.blogspot.co.id/2013/01/pipelining-risc-dan-prosesor-paralel.html

Tidak ada komentar:

Posting Komentar