Minggu, 02 Juni 2013

KOMPUTASI DAN PARALEL PROCESSING

Komputasi merupakan cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma. Kemudian teori komputasi adalah suatu sub-bidang dari ilmu komputer dan matematika. Selama ribuan tahun, perhitungan dan komputasi umumnya dilakukan dengan menggunakan pena dan kertas atau kapur dan batu tulis, atau dikerjakan secara mental, kadang-kadang dengan bantuan suatu tabel. Pada zaman sekarang ini, komputasi dilakukan dengan cara menggunakan komputer. Komputasi yang menggunakan komputer inilah maka disebut dengan Komputasi Modern.

perhitungan komputasi modern yaitu seperti :

  • Akurasi (bit, floating point)
  • Kecepatan (dalam satuanHz)
  • Problem volume besar (paralel)
  • Modeling (NN dan GA)
  • Kompleksitas (menggunakan Teori Bog O)

Umumnya, ilmu komputasi merupakan bidang ilmu yang mempunyai perhatian pada penyusunan model matematika dan teknik penyelesaian numerik serta penggunaan komputer untuk menganalisis dan memecahkan masalah-masalah ilmu (sains).

Dengan cara sederhana, biasanya berupa penerapan simulasi komputer atau berbagai bentuk komputasi lainnya untuk menyelesaikan masalah-masalah dalam berbagai bidang keilmuan, tetapi dalam perkembangannya digunakan juga untuk menemukan prinsip-prinsip baru yang mendasar dalam ilmu.

Ilmu komputasi berbeda dengan ilmu komputer. Bidang ini juga berbeda dengan teori dan percobaan sebagai bentuk tradisional dari ilmu dan kerja keilmuan. Dalam ilmu alam, pendekatan ilmu komputasi dapat memberikan berbagai pemahaman baru, melalui penerapan model-model matematika dalam program komputer berdasarkan landasan teori yang telah berkembang, untuk menyelesaikan masalah-masalah nyata dalam ilmu yang bersangkutan.

SEJARAH SINGKAT KOMPUTASI

·  Pada paruh pertama abad 20, banyak kebutuhan komputasi ilmiah bertemu dengan semakin canggih komputer analog, yang menggunakan mekanis atau listrik langsung model masalah sebagai dasar perhitungan. Namun, ini tidak dapat diprogram dan umumnya tidak memiliki fleksibilitas dan keakuratan komputer digital modern. George stibitz secara internasional diakui sebagai ayah dari komputer digital modern.

·   sementara bekerja di laboratorium bel di November 1937, stibitz menciptakan dan membangun sebuah relay berbasis kalkulator ia dijuluki sebagai "model k" (untuk "meja dapur", di mana dia telah berkumpul itu), yang adalah orang pertama yang menggunakan sirkuit biner untuk melakukan operasi aritmatika. Kemudian model menambahkan kecanggihan yang lebih besar termasuk aritmatika dan kemampuan pemrograman kompleks.

TOKOH YANG MEMBAWA PENGARUH BESAR DALAM PERKEMBANGAN KOMPUTASI MODERN.
John von Neumann (1903-1957), Beliau adalah ilmuan yang meletakkan dasar-dasar komputer modern. Von Neumann telah menjadi ilmuwan besar abad 21. Von Neumann memberikan berbagai sumbangsih dalam bidang matematika, teori kuantum, game theory, fisika nuklir, dan ilmu komputer yang di salurkan melalui karya-karyanya . Beliau juga merupakan salah satu ilmuwan yang terkait dalam pembuatan bom atom di Los Alamos pada Perang Dunia II lalu.

Sejarah Komputasi Modern

Komputasi Modern pertama kali digagasi oleh John Von Neumann. Beliau di lahirkan di Budapest, ibukota Hungaria pada 28 Desember 1903 dengan nama asli yaitu Neumann Janos. Awal mula pemberian nama Von Neumann dikarenakan prinsip arsitektur beliau masih terus digunakan meskipun implementasi mesin dari sebuah tabung vakum, ke sirkuit terpadu (Integrated Circuit). Yang membuatnya tidak berubah adalah aliran informasi yang mengalir di dalam komputer tersebut. 

Arsitektur Von Neumann menggambarkan komputer dengan empat bagian utama:
  • Unit Aritmatika dan Logis (ALU).
  • Unit kontrol.
  • Memori.
  • Alat masukan dan hasil (secara kolektif dinamakan I/O).
Bagian ini dihubungkan oleh berkas kawat, “bus”.  Pada dasarnya komputer arsitektur Von Neumann adalah terdiri dari elemen sebagai berikut:
  • Prosesor, merupakan pusat dari kontrol dan pemrosesan instruksi pada komputer.
  • Memori, digunakan untuk menyimpan informasi baik program maupun data.
  • Perangkat input-output, berfungsi sebagai media yang menangkap respon dari luar serta menyajikan informasi keluar sistem 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.

·         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).

·         Colossus Computer 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.

·         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).

Parallel Processing pada Komputer
Pemrosesan Parallel (Parallel Processing)
penggunaan lebih dari satu CPU atau inti prosesor secara simultan untuk mengeksekusi sebuah program atau banyak program dengan komputasi ganda. Idealnya, parallel processing membuat program berjalan lebih cepat karena ada mesin yang lebih (CPU atau core) menjalankannya.

Dalam praktek pararel processing, seringkali sulit membagi program sedemikian rupa sehingga terpisah atau CPU core dapat mengeksekusi bagian yang berbeda tanpa mengganggu satu sama lain. Sebagian besar komputer hanya memiliki satu CPU, tetapi beberapa model memiliki beberapa chip prosesor, dan multi-core menjadi norma. Bahkan ada komputer dengan ribuan CPU.

Dengan single-CPU, single core komputer, adalah mungkin untuk melakukan proses pengolahan paralel dengan menghubungkan komputer dalam jaringan. Namun, jenis pemrosesan paralel membutuhkan perangkat lunak yang sangat canggih yang disebut perangkat lunak pengolah didistribusikan.

Perhatikan bahwa paralelisme berbeda dari konkurensi. Concurrency adalah istilah yang digunakan dalam sistem operasi dan database masyarakat yang mengacu pada milik suatu sistem di mana banyak tugas tetap aktif secara logis dan membuat kemajuan pada saat yang sama dengan interleaving urutan pelaksanaan tugas dan dengan demikian menciptakan ilusi sekaligus melaksanakan instruksi. Paralelisme, di sisi lain, adalah istilah yang biasanya digunakan oleh komunitas superkomputer untuk menggambarkan eksekusi yang secara fisik mengeksekusi secara bersamaan dengan tujuan untuk memecahkan masalah dalam waktu yang lebih atau pemecahan masalah yang lebih besar dalam waktu yang sama . Paralelisme mengeksploitasi konkurensi.

komputasi paralel

salah satu teknik untuk 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.

Komputasi Paralel merupakan salah satu teknologi paling menarik sejak ditemukannya komputer pada tahun 1940-an. Terobosan dalam pemorosesan parallel selalu berkembang dan mendapatkan tempat disamping teknologi-teknologi lainnya sejak Era Kebangkitan (1950-an), Era Mainframe (1960-an), Era Minis (1970-an), Era PC (1980-an), dan Era Komputer Paralel (1990-an). Dengan berbagai pengaruh atas perkembangan teknologi lainnya, dan bagaimana teknologi ini mengubah persepsi terhadap komputer, dapat dimengerti betapa pentingnya komputasi parallel itu.
Inti dari komputasi parallel yaitu hardware, software, dan aplikasinya. Paralel prosesing merupakan suatu pemrosesan informasi yang lebih mendekatkan pada manipulasi rata-rata dari elemen data terhadap satu atau lebih penyelesaian proses dari sebuah masalah. Dengan kata lain komputasi parallel adalah komputer dengan banyak processor dapat melakukan parallel processing dengan cara membagi-bagi proses ke source-source yang dimiliki.

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 paraleladalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa diselesaikan.Komputasi paralel membutuhkan:· algoritma· bahasa pemrograman· compiler Sebagai besar komputer hanya mempunyai satu CPU, namun ada yang mempunyai lebih dari satu.


Aristektur Komputer Parallel terdiri dari:

  1. Komputer SISD (Single Instruction stream-Single Data stream)
  2. Komputer SIMD (Single Instruction stream-Multiple Data stream)
  3. Komputer MISD (Multiple Instruction stream-Single Data stream)
  4. MIMD (Multiple Instruction stream-Multiple Data stream)

            Paradigma pemrosesan parallel bergantung pada nomor 2 dan 4. Model SIMD (single instruction multiple data) 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).
            paradigma functional dataflow yang memperkenalkan konsep model MIMD (Multiple Instrution Multiple Data) 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.

            Suatu program parallel memerlukan koordinasi ketika sebuah tugas bergantung pada tugas lainnya. Ada dua macam bentuk koordinasi pada komputer parallel :
-asynchronous.
Bentuk synchronous merupakan koordinasi pada hardware yang memaksa semua tugas agar dilaksanakan pada waktu yang bersamaan dengan mengesampingkan adanya ketergantungan tugas yang satu dengan yang lainnya.
-synchronous.
Sementara bentuk asynchronous mengandalkan mekanisme pengunci untuk mengkoordinasikan processor tanpa harus berjalan bersamaan.


Hubungan antara Komputasi Modern dan Parallel Processing

Pemrosesan paralel juga disebut komputasi paralel. Dalam upaya lebih murah pengolahan komputasi paralel menyediakan alternatif pilihan yang layak. Waktu idle siklus prosesor di seluruh jaringan dapat digunakan secara efektif oleh perangkat lunak komputasi terdistribusi yang canggih. Pengolahan paralel istilah digunakan untuk mewakili kelas besar teknik yang digunakan untuk memberikan tugas pengolahan simultan data untuk tujuan meningkatkan kecepatan komputasi dari sistem komputer.

Komentar:
Menurut saya dengan adanya tekhnik komputasi yang ada di computer dan kemudian dikolaborasikan dengan system algoritma yang ada pada parallel processing maka dapat mempermudah menyelesaikan permasalahan yang rumit sekalipun dengan waktu yang cepat dan efisien karena mampu melakukan beberapa proses komputasi secara bersamaan.  

Kelebihan:
Waktu eksekusi lebih cepat.
Throughput jadi lebih tinggi.

Kekurangan:
Perangkat keras lainnya yang dibutuhkan.
Kebutuhan daya juga lebih.
Tidak baik untuk daya rendah dan perangkat mobile.
Parallel processing adalah salah satu teknik komputasi modern.
Karena membutuhkan banyak prosesor maka biaya mahal.


SUMBER:



0 komentar: