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.
Parallel
Processing pada Komputer
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 computer 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.
Kelebihan :
· Waktu eksekusi lebih cepat.
o Throughput jadi lebih tinggi.
Kekurangan :
o
Perangkat keras lainnya yang dibutuhkan.
o
Kebutuhan daya juga lebih.
o Tidak baik untuk daya rendah dan perangkat
mobile.
(Parallel processing adalah salah satu teknik komputasi
modern).