Rabu, 15 Juni 2016

BIOINFORMATIKA


Ilmu yang mempelajari penerapan teknik komputasional untuk mengelola dan menganalisis informasi biologis. Bidang ini mencakup penerapan metode-metode matematika, statistika, dan informatika untuk memecahkan masalah-masalah biologis, terutama dengan menggunakan sekuens DNA dan asam amino serta informasi yang berkaitan dengannya. Contoh topik utama bidang ini meliputi basis data untuk mengelola informasi biologis, penyejajaran sekuens (sequence alignment), prediksi struktur untuk meramalkan bentuk struktur protein maupun struktur sekunder RNA, analisis filogenetik, dan analisis ekspresi gen.

Perkembangan Bioinformatika
Studi Bioinformatika mulai tumbuh sebagai akibat dari perkembangan berbagai metode sekuens baru yang menghasilka data yang sangat banyak. Hal tersebut, secara kebetulan, didukung pula oleh teknologi penyimpanan, manajemen, dan pertukaran data melalui komputer. Inovasi dalam pemetaan dan sekuensing memiliki peran penting dalam proses pengambilan data biologis. Penggunaan Yeast Artificial Chromosome (YAC), sangat membantu dalam konstruksi peta fisik genom kompleks secara lengkap (Touchmann & Green, 1998). Untuk mengklon fragmen-fragmen DNA besar (sekitar 150.000 pasangan basa) digunakan bacterial Artificial Chromosome (BAC).
Kemungkinan, teknologi yang paling banyak kontribusinya adalah teknologi PCR. Walaupun tergolong tua (PCR ditemukan tahun 1985), meode ini sangat efektif, dan telah mengalami penyempurnaan selama bertahun-tahun.
Perkembangan teknologi sekuensing dimulai dan semi-automatic sequencer yang pertama pada tahun 1987, dilanjutkan dengan Taq Cycle sequencing pada tahun 1990. Pelabelan Flourescen fragmen DNA dengan Sanger dideoxy Chain Termination Method, merupakan dasar bagi proyek sekuensing skala besar (Venter et. al., 199).
Seluruh perkembangan tersebut sia-sia saja tanpa obyek yang diteliti, yang memiliki nilai komersil tinggi dan data yang berlimpah. Gampang ditebak, pasti Manusia melalui Human Genome Project.
Selain perkembangan dalam bidang Genomik, Bioinformatika sangat dipengaruhi oleh perkembangan di bidang teknologi informasi dan komputer. Pada fase awal (sekitar tahun 80-an) perkembangan yang paling signifikan adalah kapasitas penyimpanan data. Dari hanya baeberapa puluh byte (1980), hingga mencapai Terabyte (1 terabyte=1 trilyun byte),
Setelah pembuatan database, selanjutnya dimulai perkembangan pemuatan perangkat lunak untuk mengolah data. Awalnya, metode yang digunakan hanya pencariaan kata kunci, dan kalimat pendek. perkembangan selanjutnya berupa perangkat lunak dengan algoritma yang lebih kompleks, seperti penyandian nukleotida, menjadi asam-asam amino, kemudian membuat struktur proteinnya. Saat ini, perangkat lunak yang tersedia meliputi pembacaan sekuens nukleotida dari gel elektroforesis, prediksi kode protein, identifikasi primer, perbandingan sekuens, analisis kekerabatan, pengenalan pola dan prediksi struktur. Dengan perkembangan seperti diatas, ternyata masih belum cukup. Kurangnya pemahaman terhadap sistem biologis dan organisasi molekular membua analisis sekuens masih mengalami kesulitan. Perbandingan sekuens antar spesies masih sulit akibat variabilitas DNA.
Usaha yang dilakukan saat ini, baru mencoba mempelajari eori-teori tersebut melalui proses inferensi, penyesuaian model, dan belajar dari contoh yang tersedia (Baldi & Brunac, 1998). Perkembangan perangkat keras komputer juga berperan sangat penting. Kecepatan prosesor, kapasitas RAM, dan kartu grafik merupakan salah satu pendorong majunya bioinformatika. Terakhir perkembangan bioinformatika sangat dipengaruhi oleh pertumbuhan jaringan Internet. Mulai dari e-mail, FTP, Telnet (1980-an), Gopher, WAIS, hingga ditemukannya World Wide Web oleh Tim Berners-Lee pada tahun 1990, mendukung kemudahan transfer data yang cepat dan mudah. Saat ini, telah tersedia sekitar 400 database biologis yang dapat diakses melalui internet.

Beberapa aplikasi bioinformatika
1.Transformasi sekuen menjadi informasi genetik.
Intinya adalah menjual data, dalam bentuk gen komplit, atau fragmen, yang dapat digunakan oleh pihak lain untuk mencari potensi terhadap gen tersebut.
2.Pasien sebagai komoditas
Pasien dengan kecenderungan terhadap penyakit tertentu dapat diketahui, sehingga mudah sekali bagi perusahaan oba untuk menawarkan produknya.

3.Mencari potensi gen
Potensi dari sebuah gen sangat beragam, bergantung pada ekspresi gen tersebut. Aplikasi lebih lanjut dapat berupa transgenik, terapi genetik, atau berbagai rekayasa dan pemanfaatan geneik lainnya. Permasalahan dan tantangan yang dihadapi



Bidang-bidang yang terkait dengan BioInformatika :
-    Biophysics
Biologi molekul merupakan pengembangan yang lahir dari biophysics. Biophysics adalah sebuah bidang interdisipliner yang mengaplikasikan teknik- teknik dari ilmu Fisika untuk memahami struktur dan fungsi biologi (British Biophysical Society).
-    Cheminformatics
Cheminformatics adalah kombinasi dari sintesis kimia, penyaringan biologis, dan pendekatan data-mining yang digunakan untuk penemuan dan pengembangan obat (Cambridge Healthech Institute’s Sixth Annual Cheminformatics conference). Ruang lingkup akademis dari cheminformatics ini sangat luas. Contoh bidang minatnya antara lain: Synthesis Planning, Reaction and Structure Retrieval, 3-D Structure Retrieval, Modelling, Computational Chemistry, Visualisation Tools and Utilities.
-    Computational Biology
Computational biology merupakan bagian dari Bioinformatika (dalam arti yang paling luas) yang paling dekat dengan bidang Biologi umum klasik. Fokus dari computational biology adalah gerak evolusi, populasi, dan biologi teoritis daripada biomedis dalam molekul dan sel.
-    Genomics
Genomics adalah bidang ilmu yang menganalisa atau membandingkan seluruh komplemen genetik dari satu spesies atau lebih.
-    Mathematical Biology
Mathematical biology lebih mudah dibedakan dengan Bioinformatika daripada computational biology dengan Bioinformatika. Mathematical biology juga menangani masalah-masalah biologi, namun metode yang digunakan untuk menangani masalah tersebut tidak perlu secara numerik dan tidak perlu diimplementasikan dalam software maupun hardware.
-    Pharmacogenomics
Pharmacogenomics adalah aplikasi dari pendekatan genomik dan teknologi pada identifikasi dari target-target obat. Contohnya meliputi menjaring semua genom untuk penerima yang potensial dengan menggunakan cara Bioinformatika, atau dengan menyelidiki bentuk pola dari ekspresi gen di dalam baik patogen maupun induk selama terjadinya infeksi, atau maupun dengan memeriksa karakteristik pola-pola ekspresi yang ditemukan dalam tumor atau contoh dari pasien untuk kepentingan diagnosa (kemungkinan untuk mengejar target potensial terapi kanker).

-    Proteomics
Istilah proteomics pertama kali digunakan untuk menggambarkan himpunan dari protein-protein yang tersusun (encoded) oleh genom. Ilmu yang mempelajari proteome, yang disebut proteomics, pada saat ini tidak hanya memperhatikan semua protein di dalam sel yang diberikan, tetapi juga himpunan dari semua bentuk isoform dan modifikasi dari semua protein, interaksi diantaranya, deskripsi struktural dari proteinprotein dan kompleks-kompleks orde tingkat tinggi dari protein, dan mengenai masalah tersebut hampir semua pasca genom.



Sumber :



Minggu, 05 Juni 2016

KOMPUTASI DAN PARALEL PROCESSING


Sebelum membahas Komputasi Paralel itu sendiri, yang terdiri dari dua kata yaitu Komputasi dan Paralel. Komputasi bisa diartikan sebagai cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma, dan Paralel adalah suatu yang berjalan secara bersamaan. Bisa disimpulkan Komputasi Paralel adalah teknik untuk melakukan pemecahan masalah menggunakan suatu algoritma secara bersamaan dengan memanfaatkan komputer yang bediri sendiri secara bersamaan.

Hubungan antara Komputasi Modern dengan Parallel Processing
Komputasi Paralel merupakan teknik untuk melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer yang independen secara bersamaan. Biasanya digunakan untuk kapasitas yang pengolahan data yang sangat besar (lingkungan industri, bioinformatika dll) atau karena tuntutan komputasi yang banyak. Pada kasus yang kedua biasanya ditemukannya kalkulasi numerik untuk menyelesaikan persamaan matematis di bidang fisika (fisika komputasi), kimia (kimia komputasi) dll. 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. Salah satu middleware yang asli dikembangkan di Indonesia adalah OpenPC yang dipelopori oleh GFTK LIPI dan diimplementasikan di LIPI Public Center.
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:
  • SISD
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.
  • SIMD
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).
  • MISD
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.
  • MIMD
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.

Untuk ilustrasi antara komputasi tunggal dengan komputasi paralel, bisa dilihat pada gambar berikut:

Dari gambar di atas, dapat kita simpulkan bahwa kinerja komputasi paralel lebih efektif dan dapat menghemat waktu untuk pemrosesan data yang banyak daripada komputasi tunggal.


Sumber :
http://philiphkristison.blogspot.co.id/2016/06/komputasi-dan-parallel-processing.html
https://aswendy.wordpress.com/2016/05/16/artikel-komputasi-dan-paralel-processing/ 

PARALLEL PROCESSING

Komputasi Paralel

Komputasi paralel adalah suatu bentuk komputasi dimana instruksi-instruksi dijalankan secara berkesinambungan. Masalah yang besar dapat dibagi menjadi beberapa masalah yang lebih kecil(submasalah), untuk kemudian diselesaikan secara serempak. Komputasi paralel telah digunakan untuk melakukan komputasi yang mensyaratkan unjuk kerja yang tinggi(high-performance computing). Teknik komputasi ini semakin berkembang dewasa ini, hal ini disebabkan oleh batasan fisik di dalam penskalaan frekuensi(frequency scaling1). Komputasi paralel telah menjadi paradigma yang mendominan di dalam arsitektur komputer, yaitu misalnya prosesor multicore.
Program komputer paralel lebih susah untuk dibangun dibandingkan dengan program komputer serial, hal ini disebabkan keserempakan menimbulkan masalah yang potensial di dalam membagi pekerjaan menjadi subpekerjaan dan menggabungkan kembali subpekerjaan tersebut menjadi hasil oleh perangkat lunak, diantaranya kondisi berebut(race condition). Komunikasi dan sinkronisasi diantara unit pemroses(processing unit) menjadi satu diantara tantangan terbesar untuk menghasilkan program paralel dengan performa yang baik.
Sejarah Singkat
Pada tahun 1958, Peneliti IBM, John Cocke dan Daniel Slotnick membahas tentang pemanfaatan paralelisme di dalam komputasi numerik untuk pertama kalinya. Burroughs Corporation memperkenalkan D825 pada tahun 1962, sebuah komputer dengan empat buah prosesor yang mengakses 16 modul memori dengan bantuan saklar bar-silang(crossbar switch).

Latar Belakang

Komputasi paralel memanfaatkan beberapa elemen pemroses secara berkesinambungan untuk menyelesaikan permasalahan, dengan cara memecah masalah menjadi bagian-bagian independen, kemudian masing-masing bagian tersebut diselesaikan oleh masing-masing elemen pemroses sesuai dengan algoritma secara serempak. Elemen pemroses dapat terdiri dari unit pemroses yang heterogen, dan dapat pula terdiri dari unit pemroses yang homogen. Elemen pemroses dapat berupa komputer tunggal dengan banyak prosesor, beberapa komputer yang terhubung dalam suatu jaringan, perangkat keras yang dikhususkan untuk melakukan komputasi paralel, ataupun kombinasi dari perangkat-perangkat yang telah disebutkan.
Penskalaan frekuensi menjadi alasan utama dalam peningkatan performa komputer sejak pertengahan 1980an sampai dengan 2004. Waktu eksekusi(runtime) dari sebuah program adalah banyaknya instruksi dikali dengan waktu rata-rata sebuah instruksi. Dengan menganggap faktor lain adalah konstan, meningkatkan detak frekuensi(clock frequency) akan menurunkan waktu rata-rata yang diperlukan untuk menjalankan sebuah instruksi, yang kemudian akan mengurangi waktu eksekusi.
Konsumsi daya sebuah chip dirumuskan dengan persamaan:
P = C x V2 x F

Dimana P adalah daya, C adalah kapasitansi, V adalah tegangan, dan F adalah frekuensi prosesor. Apabila frekuensi ditingkatkan, maka akan terjadi peningkatan daya yang dikonsumsi oleh sebuah prosesor.
Hukum Amdahl


Secara teoritis, peningkatan kecepatan akibat paralelisasi adalah linear, yaitu apabila elemen pemroses digandakan, maka waktu ekseskusi akan menjadi setengahnya. Tetapi, sangat sedikit algoritma paralel yang dapat mencapai peningkatan kecepatan yang optimal.
Menurut Hukum Amdahl, bagian kecil dari sebuah program yang tidak dapat lagi diparalelkan, akan membatasi peningkatan kecepatan yang dapat dicapai dari paralelisasi secara keseluruhan. Semua masalah mengandung bagian yang dapat diparalelkan dan bagian yang tidak dapat diparalelkan juga. Hubungan antara kedua bagian ini dinyatakan dalam:

S = 1 / (1-P)
Dimana S adalah besarnya peningkatan kecepatan dari sebuah program, P adalah besarnya bagian yang dapat diparalelkan.
Tidak semua hasil dari paralelisasi dapat meningkatkan kecepatan. Secara umum, ketika sebuah pekerjaan dibagi menjadi lebih banyak subpekerjaan, subpekerjaan tersebut menghabiskan waktu lebih banyak, yaitu untuk berkomunikasi diantara subpekerjaan. Hal ini tidak akan membuat waktu eksekusi menjadi lebih singkat, melainkan sebaliknya, hal inilah yang disebut sebagai perlambatan paralel(parallel slowdown).

Taksonomi Flynn

Michael J. Flynn menciptakan satu diantara sistem klasifikasi untuk komputer dan program paralel, yang dikenal dengan sebutan Taksonomi Flynn. Flynn mengelompokkan komputer dan program berdasarkan banyaknya set instruksi yang dieksekusi dan banyaknya set data yang digunakan oleh instruksi tersebut.
Instruksi Tunggal
(single instruction)
Instruksi Majemuk
(multiple instruction)
Data Tunggal
(single data)
SISD
(Single Instruction Single Data)
MISD
(Multiple Instruction Single Data)
Data Majemuk
(multiple data)
SIMD
(Single Instruction Multiple Data)
MIMD
(Multiple Instruction Multiple Data)

Jenis-Jenis Komputer Paralel

Berdasarkan tingkatan perangkat keras yang mendukung paralelisme, secara umum komputer-komputer paralel dapat diklasifikasikan:

Multicore processing

Merupakan prosesor yang memiliki beberapa unit pengeksekusi. Sebuah prosesor multicore dapat melakukan beberapa instruksi per siklus dari beberapa aliran instruksi.
Symmetric multiprocessing
Merupakan sebuah sistem komputer dengan beberapa prosesor yang identik, dapat menggunakan struktur berbagi memori atau memori tersendiri yang saling terhubung melalui bus.

Distributed computing

Merupakan sebuah sistem komputer dengan memori terdistribusi, dimana masing-masing elemen pemrosesan dihubungkan oleh jaringan.
Cluster computing
Merupakan sekumpulan komputer yang bekerja sama,dihubungkan oleh jaringan, sehingga dapat dipandang sebagai sebuah kesatuan, cluster komputer ini dikoordinasi oleh sebuah komputer induk yang bertugas untuk mendistribusikan pekerjaan kepada masing-masing komputer lainnya.

Massive parallel processing

Merupakan sebuah komputer tunggal dengan banyak prosesor yang terhubung dalam sebuah jaringan. Di dalam MPP, tiap CPU mempunyai memory tersendiri, sistem operasi dan aplikasi yang sama. Tiap subsistem berkomunikasi satu dengan yang lainnya melalui interkoneksi berkecepatan tinggi.

Grid computing

Merupakan bentuk pemrosesan paralel yang paling terdistribusi. Grid computing memanfaatkan Internet sebagai saluran komunikasi antar komputer untuk menyelesaikan suatu permasalahan.

Specialized parallel computer

Komputer paralel yang dikhususkan untuk menyelesaikan tugas khusus.
Model komputasi Paralel

1. Embarasingly Parallel adalah pemrograman paralel yang digunakan pada masalah-masalah yang bisa diparalelkan tanpa membutuhkan komunikasi satu sama lain. Sebenarnya pemrograman ini bisa dibilang sebagai pemrograman paralel yang ideal, karena tanpa biaya komunikasi, lebih banyak peningkatan kecepatan yang bisa dicapai.

2. Taksonomi dari model pemrosesan paralel dibuat berdasarkan alur instruksi dan alur data yang digunakan:
SISD (Single Instruction Single Datapath) merupakan prosesor tunggal, yang bukan paralel.
SIMD (Single Instruction Multiple Datapath)alur instruksi yang sama dijalankan terhadap banyak alur data yang berbeda. Alur instruksi di sini kalau tidak salah maksudnya ya program komputer itu. trus datapath itu paling ya inputnya, jadi inputnya lain-lain tapi program yang digunakan sama.
MIMD (Multiple Instruction Multiple Datapath)alur instruksinya banyak, alur datanya juga banyak, tapi masing-masing bisa berinteraksi.
MISD (Multiple Instruction Single Datapath)alur instruksinya banyak tapi beroperasi pada data yang sama.

Paralel Processing adalah kemampuan menjalankan tugas atau aplikasi lebih dari satu aplikasi dan dijalankan secara simultan atau bersamaan pada sebuah komputer. Secara umum, ini adalah sebuah teknik dimana sebuah masalah dibagi dalam beberapa masalah kecil untuk mempercepat proses penyelesaian masalah.
Terdapat dua hukum yang berlaku dalam sebuah parallel processing. yaitu:

Hukum Amdahl

Amdahl berpendapat, “Peningkatan kecepatan secara paralel akan menjadi linear, melipatgandakan kemampuan proses sebuah komputer dan mengurangi separuh dari waktu proses yang diperlukan untuk menyelesaikan sebuah masalah.”

Hukum Gustafson
Pendapat yang dikemukakan Gustafson hampir sama dengan Amdahl, tetapi dalam pemikiran Gustafson, sebuah komputasi paralel berjalan dengan menggunakan dua atau lebih mesin untuk mempercepat penyelesaian masalah dengan memperhatikan faktor eksternal, seperti kemampuan mesin dan kecepatan proses tiap-tiap mesin yang digunakan.

Pengertian Komputasi dengan Parallel Processing Lengkap

Gambar diatas merupakan contoh dari sebuah komputasi paralel, dimana pada gambar diatas terdapat sebuah masalah, dari masalah tersebut dibagi lagi menjadi beberapa bagian agar sebuah masalah dapat dengan cepat diatasi.

Tujuan Komputasi Paralel

Tujuan dari komputasi paralel adalah meningkatkan kinerja komputer dalam menyelesaikan berbagai masalah. Dengan membagi sebuah masalah besar ke dalam beberapa masalah kecil, membuat kinerja menjadi cepat.

Formula komputasi paralel yang diajukan pada hukum Amdahl

Dimana a adalah banyaknya paralel yang terjadi. Secara teori, artinya proses penyelesaian masalah menjadi lebih cepat dengan menggunakan komputasi paralel.
Salah satu jenis penggunaan komputasi paralel adalah:

PVM(Parallel Virtual Machine)

Merupakan sebuah perangkat lunak yang mampu mensimulasikan pemrosesan paralel pada jaringan.

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

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.