Komputasi
Komputasi sebetulnya bisa diartikan sebagai cara untuk
menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma.
Hal ini ialah apa yang disebut dengan teori komputasi, 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.
Namun sekarang, kebanyakan komputasi telah dilakukan dengan menggunakan
komputer.
Secara umum iIlmu 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 (sains). Dalam penggunaan praktis, 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.
Bidang ini berbeda dengan ilmu komputer (computer science),
yang mengkaji komputasi, komputer dan pemrosesan informasi. 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 tersebut.
Teori komputasi adalah cabang ilmu komputer dan matematika
yang membahas apakah dan bagaimanakah suatu masalah dapat dipecahkan pada model
komputasi, menggunakan algoritma. Bidang ini dibagi menjadi dua cabang: teori
komputabilitas dan teori kompleksitas, namun kedua cabang berurusan dengan
model formal komputasi.
Komputasi Modern
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. Dalam komputasi modern
terdapat perhitungan dan pencarian solusi dari masalah. Perhitungan dari
komputasi modern adalah akurasi, kecepatan, problem, volume dan besar kompleksitas.
Komputansi modern mempunyai karakteristik komputasi modern
yang terdiri atas 3 macam, yaitu :
- Komputer-komputer penyedia sumber daya bersifat heterogenous
karena terdiri dari berbagai jenis perangkat keras, sistem operasi, serta
aplikasi yang terpasang.
- Komputer-komputer terhubung ke jaringan yang luas dengan
kapasitas bandwidth yang beragam.
- Komputer maupun jaringan tidak terdedikasi, bisa hidup atau
mati sewaktu-waktu tanpa jadwal yang jelas.
Jenis-jenis komputasi modern :
Mobile computing atau komputasi bergerak memiliki beberapa
penjelasan, salah satunya 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.
Komputasi grid menggunakan komputer yang terpisah oleh
geografis, didistibusikan dan terhubung oleh jaringan untuk menyelasaikan
masalah komputasi skala besar.
Komputasi cloud merupakan gaya komputasi yang terukur
dinamis dan sumber daya virtual yang sering menyediakan layanan melalui
internet.
Parallel Processing
Komputasi paralel adalah salah satu teknik melakukan
komputasi secara bersamaan dengan memanfaatkan beberapa komputer independen
secara bersamaan. Ini umumnya diperlukan saat kapasitas yang diperlukan sangat
besar, baik karena harus mengolah data dalam jumlah besar (di industri
keuangan, bioinformatika, dll) ataupun karena tuntutan proses komputasi yang
banyak. Kasus kedua umum ditemui di kalkulasi numerik untuk menyelesaikan
persamaan matematis di bidang fisika (fisika komputasi), kimia (kimia
komputasi) dll. Tetapi dalam praktek, seringkali sulit membagi program sehingga
dapat dieksekusi oleh CPU yang berbea-beda tanpa berkaitan di antaranya.
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. Tidak berarti dengan mesin
paralel semua program yang dijalankan diatasnya otomatis akan diolah secara parallel.
Pemrograman paralel adalah teknik pemrograman komputer yang
memungkinkan eksekusi perintah/operasi secara bersamaan (komputasi paralel),
baik dalam komputer dengan satu (prosesor tunggal) ataupun banyak (prosesor
ganda dengan mesin paralel) CPU. Bila komputer yang digunakan secara bersamaan
tersebut dilakukan oleh komputer-komputer terpisah yang terhubung dalam suatu
jaringan komputer lebih sering istilah yang digunakan adalah sistem
terdistribusi (distributed computing).
Arsitektur Komputer Paralel
Komputasi paralel berbeda dengan multitasking. Multitasking
itu sendiri adalah komputer dengan processor tunggal yang dapat mengeksekusi
beberapa tugas secara bersamaan. Sedangkan 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 4 model komputasi
yang digunakan, yaitu :
Merupakan singkatan dari Single Instruction, Single Data
yaitu satu-satunya yang menggunakan arsitektur Von Neumann, karena pada model
ini hanya menggunakan 1 processor saja. Oleh karena itu model ini 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.
Merupakan singkatan dari Single Instruction, Multiple Data.
Model ini menggunakan banyak processor dengan instruksi yang sama, namun dengan
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).
Merupakan singkatan dari Multiple Instruction, Single Data.
MISD menggunakan banyak processor dengan instruksi yang berbeda namun mengolah
data yang sama. Hal ini merupakan kebalikan dari model SIMD. Sebagai contoh,
dengan menggunakan kasus yang sama pada contoh model SIMD namun cara untuk
menyelesaikannya 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.
Pada Multiple Instruction, Multiple Data biasanya
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.
Hubungan antara komputasi modern dengan parallel processing
Untuk melakukan berbagai jenis komputasi paralel diperlukan
infrastruktur mesin paralel yang terdiri dari banyak komputer yang nantinya
dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk
menyelesaikan suatu masalah. Untuk itu maka digunakannya perangkat lunak
pendukung yang biasa disebut middleware yang berperan untuk mengatur distribusi
antar titik dalam satu mesin paralel. Selanjutnya pemakai harus membuat
pemrograman paralel untuk merealisasikan komputasi. Untuk hubungan komputasi
modern dengan paralel processing itu sendiri merupakan hubungan yang saling
terkait. Hubungan yang paling mencolok adalah penggunaan komputer yang dianggap
lebih cepat dibandingkan dengan penyelesaian masalah secara manual. oleh karena
itu peningkatan kinerja terus diterapkan dengan cara meningkatkan kecepatan
perangkat keras yaitu processor.