Kamis, 31 Maret 2011

PARALEL PROCESSING

Paralel Processing



Komputasi dapat diartikan sebagai cara untuk menemukan pemecahan suatu permasalahan dari data input dengan suatu algoritma. Pemrosesan paralel (parallel processing) adalah penggunaan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. parallel processing membuat program berjalan lebih cepat karena semakin banyak CPU yang digunakan maka akan semakin cepat. Tetapi pada saat dalam praktek, seringkali sulit membagi program sehingga dapat dieksekusi oleh CPU yang berbeda-beda tanpa berkaitan di antaranya.

Kebanyakan sebagian besar komputer hanya mempunyai satu CPU, namun ada juga yang mempunyai lebih dari satu CPU. Bahkan juga ada komputer dengan ribuan CPU. Komputer dengan satu CPU dapat melakukan parallel processing dengan menghubungkannya dengan komputer lain pada jaringan. Tetapi, parallel processing ini memerlukan software yang canggih, software yang digunakan disebut distributed processing software. Parallel processing berbeda dengan multitasking, yaitu hanya satu CPU mengeksekusi beberapa program sekaligus. Parallel processing disebut juga dengan parallel computing.

Komputasi paralel adalah salah satu teknik yang melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan. Biasanya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dengan jumlah yang 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 biasanya disebut sebagai middleware yang berperan sebagai untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi.
Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan baik dalam komputer dengan satu (prosesor tunggal) ataupun lebih/banyak (prosesor ganda dengan mesin paralel) CPU. Tujuan utama dari dibuatnya pemrograman paralel adalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa cepat diselesaikan.

Komputansi parallel membutuhkan diantaranya adalah:
• algoritma
• bahasa pemrograman
• compiler

Arsitektur Komputer Parallel berdasarkan simetrinya, multiprocessing dapat dibagi ke dalam :
1. Asymmetric Multiproce ssing (ASMP)
2. Symmetric Multiprocessing (SMP)
3. Non-uniform memory access (NUMA)multi processing

Perbandingan antara serial komputasi dengan parallel komputasi

Pada sistem komputasi parallel terdiri dari beberapa unit prosesor dan beberapa unit memori. Ada dua teknik yang berbeda untuk mengakses data di unit memori, yaitu shared memory address dan message passing. Berdasarkan cara untuk mengorganisasikan memori ini komputer paralel dibedakan menjadi shared memory parallel machine dan distributed memory parallel machine.

Prosesor dan memori ini didalam mesin paralel dapat dihubungkan (interkoneksi) secara statis maupun dinamis. Interkoneksi statis umumnya digunakan oleh distributed memory system (sistem memori terdistribusi). Sambungan langsung peer to peer yang digunakan untuk menghubungkan semua prosesor. Interkoneksi dinamis umumnya menggunakan switch untuk menghubungkan antar prosesor dengan memori. Komunikasi data pada sistem paralel memori terdistribusi, juga memerlukan alat bantu komunikasi. Alat bantu yang sering digunakan oleh sistem seperti PC Jaringan pada saat ini adalah standar MPI (Message Passing Interface) atau standar PVM (Parallel Virtual Machine) yang keduanya bekerja diatas TCP/IP communication layer. Kedua standar ini MPI (Message Passing Interface) dan PVM (Parallel Virtual Machine) memerlukan fungsi remote access agar dapat menjalankan program pada masing -masing unit prosesor.
Salah satu protocol yang dipergunakan dalam komputasi parallel adalah Network File System (NFS), NFS adalah protokol yang dapat membagi sumber daya melalui jaringan. NFS dibuat untuk dapat independent dari jenis mesin, jenis sistem operasi, dan jenis protokol transport yang digunakan. Hal ini dilakukan dengan menggunakan RPC. NFS memperbolehkan user yang telah diijinkan untuk mengakses file-file yang berada diremote host seperti mengakses suatu file yang berada di lokal. Protokol yang digunakannya adalah protokol mount yang menentukan host remote dan jenis file sistem yang akan diakses dan menempatkan di suatu direktori, protokol NFS melakukan I/O pada remote file system. Protokol mount dan protokol NFS bekerja dengan menggunakan RPC dengan protokol TCP dan UDP. Kegunaan dari NFS pada komputasi parallel adalah untuk melakukan sharing data sehingga setiap node slave dapat mengakses program yang sama pada node master.
Software yang sangat diperlukan untuk mendukung Parallel komputasi adalah PGI CDK, dimana aplikasi ini telah dilengkapi dengan Cluster Development Kit dimana software ini telah memiliki feature yang sangat lengkap bila ingin melakukan komputasi dengan parallel prosessing karena software ini telah mensupport MPI (Message Passing Interface) untuk melakukan suatu perhitungan komputasi.

sumber :
http://www.scribd.com/doc/40938360/Makalah-Arkom-Paralel-Processing
ajuarna.staff.gunadarma.ac.id/Downloads/files/…/ArtikelEpilog.pdf
ebibaka.110mb.com/pararel.doc
http://id.wikipedia.org/wiki/Komputas
http://id.wikipedia.org/wiki/Kategori:Model_komputasi

Sabtu, 05 Maret 2011

KOMPUTASI MODERN

Komputasi Modern

Sejarah komputasi modern mencakup dari perkembangan komputer digital elektronik pertama melalui munculnya www (World Wide Web). Ada empat kunci transisi antara lain transformasi komputer pada akhir tahun 1940-an dari instrumen ilmiah khusus untuk produk komersial, munculnya sistem kecil pada akhir tahun 1960-an awal personal computer pada 1970-an dan penyebaran jaringan setelah 1985.
Komputasi merupakan suatu cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma. Teknologi komputasi merupakan 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 menggunakan bantuan suatu tabel. Namun sekarang ini karena kecanggihan teknologi kebanyakan komputasi telah dilakukan dengan menggunakan komputer. Komputasi yang menggunakan komputer inilah yang disebut dengan Komputasi Modern

Komputasi modern ini berfungsi untuk menghitung dan mencari solusi dari masalah yang ada, yang menjadi perhitungan dari komputasi modern yaitu :

1. Akurasi (bit, Floating poin)
2. Kecepatan (Dalam satuan Hz)
3. Modeling (NN dan GA)
4. Kompleksitas (Menggunakan teori Big O)

1. Kecepatan

Karena perkembangan jaman yang sangat pesat penggunaan komputer untuk menyelesaikan masalah sudah masuk dalam segala bidang. Di karena komputasi dianggap lebih cepat dibandingkan dengan penyelesaian masalah secara manual. Seiring dengan perkembangan jaman dan kebutuhan hal tersebut, semakin dituntut proses komputasi yang semakin sangat cepat berkembang. Untuk dapat meningkatkan kecepatan proses komputasi, dapat ditempuh dengan dua cara di antaranya adalah : peningkatan kecepatan perangkat keras dan peningkatan kecepatan perangkat lunak. Komponen utama dari perangkat keras komputer adalah processor. Saat ini, peningkatan kecepatan processor benar-benar luar biasa.

2. Modelling

Sebuah model dari komputasi adalah model matematika dalam ilmu komputer yang sangat luas yang memerlukan sumber daya komputasi untuk mempelajari perilaku sebuah sistem yang kompleks dengan simulasi komputer. Sistem yang seringkali diteliti merupakan sebuah kompleks sistem nonlinier yang sederhana. Teori dari pengoperasian model dapat diturunkan / dideduksi dari percobaan komputasi ini. Contoh dari model komputasi umum diantaranya adalah perkiraan cuaca model, bumi simulator model, flight simulator model, molekul protein lipat model, dan jaringan saraf model. Berbagai Macam Model Komputasi :

1. mesin Mealy adalah otomasi fasa berhingga (finite state automaton atau finite state tranducer) yang menghasilkan nilai keluaran berdasarkan fasa saat itu dan bagian masukan/input. Dalam hal ini, diagram fasa (state diagram) dari mesin Mealy dan memiliki sinyal masukan dan sinyal keluaran untuk tiap transisi.


2. mesin Moore adalah otomasi fasa berhingga (finite state automaton) di mana keluarannya ditentukan hanya dalam fasa, tetapi (tidak terpengaruh oleh bagian masukan/input). Diagram fasa (state diagram) dari mesin Moore memiliki sinyal keluaran dari masing-masing fasa. Hal ini berbeda dengan mesin Mealy yang mempunyai keluaran untuk tiap transisi.


3. Petri net adalah salah satu model untuk merepresentasikan sistem yang terdistribusi diskret. Sebagai sebuah model, Petri net merupakan grafik 2 arah yang terdiri dari place, transition, dan tanda panah yang menghubungkan keduanya pada grafik tersebut. Dalam mesin model petri net untuk merepresentasikan keadaan dalam suatu sistem, token diletakkan pada place tertentu. Ketika sebuah transition terpantik, token akan bertransisi sesuai tanda panah. Mesin Petri net pertama kali diajukkan oleh Carl Adam Petri pada tahun 1962.


3. Kompleksitas

Masalah ke tiga yang ada pada komputasi modern adalah kompleksitas. Kompleksitas komputasi adalah cabang dari teori komputasi dalam ilmu komputer yang berfokus pada mengklasifikasikan masalah komputasi sesuai dengan kesulitan. Dalam konteks kompleksitas ini, sebuah masalah komputasi dipahami sebagai tugas yang ada pada prinsipnya yaitu untuk memecahkan masalah yang ada dalam komputasi masalah tersebut dipecahkan oleh komputer. Sebuah masalah komputasi terdiri dari contoh-contoh masalah dan solusi untuk masalah ini contohnya adalah : primality pengujian adalah masalah menentukan apakah nomor yang diberikan perdana atau tidak. Contoh-contoh dari masalah ini adalah bilangan asli, dan solusi untuk sebuah contoh adalah ya atau tidak didasarkan pada apakah nomor perdana atau tidak. Masalah ini dianggap sebagai secara sulit jika memecahkan masalah yang memerlukan sejumlah besar sumber daya, tergantung pada algoritma yang digunakan untuk memecahkan itu. Dalam teori ini formalizes intuisi, dengan memperkenalkan matematika model komputasi untuk mempelajari masalah ini dan jumlah sumber daya yang dibutuhkan untuk memecahkan masalah seperti waktu dan penyimpanan. Ukuran kompleksitas lain juga digunakan, seperti jumlah komunikasi (yang digunakan dalam kompleksitas komunikasi), jumlah gerbang dalam rangkaian (yang digunakan dalam rangkaian kompleksitas) dan jumlah prosesor (yang digunakan dalam komputasi paralel). Secara khusus, teori kompleksitas komputasi menentukan batas-batas praktis tentang apa yang komputer bisa dan tidak bisa komputer lakukan.

Sumber :

http://laksamana-embun.blogspot.com/2010/01/jhon-von-neumann-penggegas-komputasi.html
http://id.wikipedia.org/wiki/Komputas
http://www.its.ac.id/personal/files/pub/2479-rully-is-Final%20SITIA%202009%20-%20004.pdf
http://arininech.ngeblogs.com/2010/02/11/komputasi-modern/
http://www.komputasi.lipi.go.id/utama.cgi?cetakartikel&1080002780
http://id.wikipedia.org/wiki/Mesin_Mealy
http://id.wikipedia.org/wiki/Kategori:Model_komputasi