widget

Tuesday, May 29, 2018

TUGAS 3 “ PENGANTAR KOMPUTASI MODERN (KOMPUTASI DAN PARALEL PROCESSING) “


“ PENGANTAR KOMPUTASI MODERN (KOMPUTASI DAN PARALEL PROCESSING) “

a.   Artikel Tentang Komputasi Dan Paralel Processing

1.   Komputasi

Komputasi adalah setiap jenis perhitungan atau penggunaan teknologi komputer dalam pengolahan informasi. Dalam dunia komputasi, perhitungan diartikan sebagai sebuah proses setelah yang jelas model yang dipahami dan dinyatakan dalam suatu algoritma , protokol , topologi jaringan dan lain sebagainya. Perhitungan juga merupakan subyek utama dari ilmu komputer adalah menyelidiki apa yang dapat atau tidak dapat dilakukan dengan cara komputasi.

Perhitungan dapat diklasifikasikan oleh setidaknya tiga kriteria ortogonal:
·         Digital Vs Analog,
·         Sekuensial Vs Paralel Vs Bersamaan,
·         Best Vs Interaktif.

Dalam prakteknya, perhitungan digital sering digunakan untuk mensimulasikan proses alam (misalnya, perhitungan Evolusi ), termasuk yang lebih alami dijelaskan oleh model analog perhitungan (misalnya, jaringan syaraf tiruan ).

2.   Parallel Processing

Dalam komputer, pemrosesan paralel merupakan pengolahan dari Program instruksi dengan membagi mereka di antara beberapa prosesor dengan tujuan untuk menjalankan program dalam waktu kurang. Dalam komputer paling awal, hanya satu program berlari pada suatu waktu. Sebuah program komputasi-intensif yang memakan waktu satu jam untuk menjalankan dan menyalin Program tape yang mengambil satu jam untuk menjalankan akan mengambil total dua jam untuk menjalankan. Bentuk awal dari pemrosesan paralel memungkinkan eksekusi interleaved kedua program bersama-sama. Komputer akan memulai operasi I / O, dan sementara itu sedang menunggu operasi untuk menyelesaikan, itu akan mengeksekusi program prosesor-intensif. Waktu eksekusi total untuk dua pekerjaan akan menjadi sedikit lebih dari satu jam.
Peningkatan berikutnya multi programming Dalam sistem multi programming, beberapa program telah dikirim pengguna yang masing-masing diperbolehkan untuk menggunakan prosesor untuk waktu yang singkat. Untuk pengguna tampak bahwa semua program yang melaksanakan pada saat yang sama. Masalah pertama muncul pertentangan sumber daya di sistem ini. Permintaan eksplisit untuk sumber daya menyebabkan masalah dari kebuntuan . Kompetisi untuk sumber daya pada mesin tanpa dasi-melanggar instruksi mengarah pada rutin critical section .
Langkah berikutnya dalam pengolahan paralel adalah pengenalan multi processing . Dalam sistem ini, dua atau lebih prosesor berbagi pekerjaan yang akan dilakukan. Versi awal memiliki master / slave konfigurasi. Salah satu prosesor (master) diprogram untuk bertanggung jawab atas semua pekerjaan dalam sistem, yang lain (budak) dilakukan hanya tugas-tugas itu diberikan oleh master. Pengaturan ini diperlukan karena tidak kemudian mengerti bagaimana program mesin sehingga mereka bisa bekerja sama dalam pengelolaan sumber daya sistem.

b.   Hubungan Antara Komputasi Modern Dengan Paralel Processing 

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.
Pemrosesan paralel (parallel processing) adalah penggunakan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Idealnya, parallel processing membuat program berjalan lebih cepat karena semakin banyak CPU yang digunakan. Tetapi dalam praktek, seringkali sulit membagi program sehingga dapat dieksekusi oleh CPU yang berbea-beda tanpa berkaitan di antaranya.
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 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 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 membutuhkan:
·         Algoritma
·        bahasa pemrograman
·         compiler
Sebagai besar komputer hanya mempunyai satu CPU, namun ada yang mempunyai lebih dari satu. Bahkan juga ada komputer dengan ribuan CPU. Komputer dengan satu CPU dapat melakukan parallel processing dengan menghubungkannya dengan komputer lain pada jaringan. Namun, parallel processing ini memerlukan software canggih yang disebut distributed processing software.
Parallel processing berbeda dengan multitasking, yaitu satu CPU mengeksekusi beberapa program sekaligus. Parallel processing disebut juga parallel computing.

Terdapat dua hukum yang berlaku dalam sebuah parallel processing. yaitu:

1)  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.”

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

     Gambar 1.1 Distribusi Parallel Processing

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.


Berikut ini adalah perbedaan antara komputasi tunggal dengan parallel komputasi :

1.   Message Passing Interface (MPI).

MPI adalah sebuah standard pemrograman yang memungkinkan pemrogram untuk membuat sebuah aplikasi yang dapat dijalankan secara paralel. Proses yang dijalankan oleh sebuah aplikasi dapat dibagi untuk dikirimkan ke masing – masing compute node yang kemudian masing – masing compute node tersebut mengolah dan mengembalikan hasilnya ke komputer head node. Untuk merancang aplikasi paralel tentu membutuhkan banyak pertimbangan – pertimbangan diantaranya adalah latensi dari jaringan dan lama sebuah tugas dieksekusi oleh prosesor.
MPI ini merupakan standard yang dikembangkan untuk membuat aplikasi pengirim pesan secara portable. Sebuah komputasi paralel terdiri dari sejumlah proses, dimana masing-masing bekerja pada beberapa data lokal. Setiap proses mempunyai variabel lokal, dan tidak ada mekanisme suatu proses yang bisa mengakses secara langsung memori yang lain. Pembagian data antar proses dilakukan dengan message passing, yaitu dengan mengirim dan menerima pesan antar proses.
MPI menyediakan fungsi-fungsi untuk menukarkan antar pesan. Kegunaan MPI yang lain adalah
1.   Menulis kode paralel secara portable,
2.   Mendapatkan performa yang tinggi dalam pemrograman paralel, dan
3.   Menghadapi permasalahan yang melibatkan hubungan data irregular atau dinamis yang tidak begitu cocok dengan model data paralel.

2.   PVM (Parallel Virtual Machine)

PVM adalah paket software yang mendukung pengiriman pesan untuk komputasi parallel antar komputer. PVM dapat berjalan diberbagai macam variasi UNIX atau pun windows dan telah portable untuk banyak arsitektur seperti PC, workstation, multiprocessor dan superkomputer.
Sistem PVM terbagi menjadi dua. Pertama adalah daemon, pvmd, yang berjalan pada mesin virtual masing-masing komputer. Mesin virtual akan dibuat, ketika User mengeksekusi aplikasi PVM. PVM dapat dieksekusi melalui prompt UNIX disemua host. Bagian kedua adalah library interface rutin yang mempunyai banyak fungsi untuk komunikasi antar task . Library ini berisikan rutin yang dapat dipanggil untuk pengiriman pesan, membuat proses baru, koordinasi task dan konfigurasi mesin virtual.
Salah aturan main yang penting dalam PVM adalah adanya mekanisme program master dan slave/worker. Programmer harus membuat Kode master yang menjadi koordinator proses dan Kode slave yang menerima, menjalankan, dan mengembalikan hasil proses ke komputer master. Kode master dieksekusi paling awal dan kemudian melahirkan proses lain dari kode master. Masing-masing program ditulis menggunakan C atau Fortran dan dikompilasi dimasing-masing komputer. Jika arsitektur komputer untuk komputasi paralel semua sama, (misalnya pentium 4 semua), maka program cukup dikompilasi pada satu komputer saja. Selanjutnya hasil kompilasi didistribusikan kekomputer lain yang akan menjadi node komputasi parallel. Program master hanya berada pada satu node sedangkan program slave berada pada semua node.
Komunikasi dapat berlangsung bila masing-masing komputer mempunyai hak akses ke filesystem semua komputer. Akses kefile system dilakukan melalui protokol rsh yang berjalan di unix atau windows. Berikut adalah langkah pengaturan pada masing-masing komputer :
1.   Buat file hostfile yang berisi daftar node komputer dan nama user yang akan dipakai untuk komputasi parallel. Bila nama user pada semua komputer sama misalnya nama user riset pada komputer C1, C2,C3 dan C4, maka hostfile ini boleh tidak ada. Hostfile ini dapat digunakan bila nama user di masing-masing komputer berbeda.

2.   Daftarkan IP masing-masing komputer pada file /etc/hosts/hosts.allow dan /etc/hosts/hosts.equiv.

3.   Penambahan dan penghapusan host secara dinamis dapat dilakukan melalui konsole PVM. Bila IP tidak didefinisikan pada hostfile¸ cara ini dapat digunakan.
Program PVM terdiri dari master dan slave, dimana program master dieksekusi paling awal dan kemudian melahirkan proses lain. PVM memanggil rutin pvm_spawn() untuk melahirkan satu atau dua proses lebih yang sama. Fungsi-fungsi untuk PVM versi bahasa C mempunyai rutin awalan pvm. Pengiriman dan penerimaan task diidentifikasi dengan TID (Task Identifier). TID ini bersifat unik dan digenerate oleh pvmd lokal. PVM berisi beberapa rutine yang mengembalikan nilai TID sehingga aplikasi user dapat mengidentifikasi task lain disistem. Secara umum, langkah implementasi komputasi parallel sebagai berikut :
1.   Jalankan PVM daemon pada setiap mesin dalam cluster
2.   Jalankan program master pada master daemon
3.    Master daemon akan menjalankan proses slave.
Kesimpulan:

Artikel diatas sudah menjelaskan secara singkat tentang pengertian dari parallel processing. Pemrosesan paralel (parallel processing) adalah penggunakan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Didalam artikel diatas juga diberikan gambaran sedikit tentang perkembangan palalel processing di Indonesia. Tapi dalam artikel diatas, kurang diberitahu kelebihan dan kelemahan dari hubungan antara parallel processing dengan komputasi modern.






 “ Komentar Pribadi Mengenai Artikel Diatas “

Komputasi bisa diartikan sebagai 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. Sedangkan parallel processing bisa diartikan sebagai cara agar lebih dari satu komputer dapat bekerja secara bersamaan. Komputasi saat ini sangat berguna terutama dibidang IT, dengan adanya parallel processing, tentu dapat mempermudah proses komputasi yang dilakukan oleh sekumpulan komputer. Sehingga, proses dapat dilakukan dengan cepat (tidak memakan waktu yang lama) dan hasil yang diinginkan dari proses komputasi dapat diterima oleh user.
Kelebihan pada artikel daiatas adalah terdapat penjelasan mengenai komputasi, parallel processing serta hubungan antara keduanya. Sehingga, dari segi pengertian dapat lebih mudah dipahami dan terdapat penjelasan mengenai komputasi parallel processing dengan cukup lengkap. Mulai dari hukum yang berlaku, tujuan, hingga model komputasi.
Terdapat kekurangan yaitu tidak dijelaskan secara lengkap mengenai parallel processing sehingga perbedaan spesifik antara komputasi biasa dan komputasi parallel processing tidak terlihat dengan jelas dan penjelasan hanya pada komputasi parallel processing sedangkan komputasi sendiri tidak dibahas. Sehingga, perbedaan antara keduanya agak sulit dimengerti. Selain itu, terdapat sedikit kekurangan pada hukum yang berlaku. Dimana seharusnya ada beberapa rumus yang berkaitan dengan masing-masing hukum, sehingga cara penggunaan hukum yang berlaku seharusnya dapat lebih mudah dimengerti.






No comments:

Post a Comment