Selasa, 29 April 2014

Komputasi Modern dan Parallel Processing



Komputasi

Setiap jenis perhitungan atau penggunaan teknologi komputer dalam pengolahan informasi. Perhitungan adalah proses setelah yang jelas model yang dipahami dan dinyatakan dalam suatu algoritma , protokol , topologi jaringan , dll Perhitungan juga merupakan subyek utama dari ilmu komputer : 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 , bets 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 ).


Parallel Processing

Parallel processing adalah salah satu teknik melakukan beberapa proses secara bersamaan. Hal ini dapat dilihat dalam 2 konteks,yaitu proses yang terjadi pada manusia yaitu penggunaan otak yang memproses rangsangan secara bersamaan dan konteks pada komputasi parallel pada mesin. Komputasi parallel merupakan bentuk komputasi dimana banyak proses yang dilakukan secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan.
Biasanya diperlukan saat kapasitas yang iperlukan 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.
Hampir seluruh perusahaan besar pasti menggunakan parallel processing ini, terutama perusahaan yang membutuhkan kinerja prosesor yang cepat dan besar.


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.


Perusahaan yang Menggunakan Parallel Processing dan Komputasi Modern


Mari kita bahas lagi sedikit mengenao komputasi modern. Masih ingatkan jenis-jenis dari komputasi modern? Silahkan “Baca” pada artikel yang pernah saya tulis sebelumnya. Saya pernah menuliskan contoh” implementasi pada cloud computing”. Kali ini, saya akan mengambil pengimplementasian dari Grid Computing. Kenapa Grid computing? Komputasi grid atau grid computing adalah penggunaan sumber daya komputer secara bersama-sama dimana komputer tersebut terpisah secara geografis. Komputasi grid ini biasanya digunakan untuk memecahkan suatu permasalahan berskala besar.


Grid Computing Memiliki Persamaan dengan Parallel Processing

Salah satu perusahaan yang menggunakan grid computing adalah aplikasi yang dibuat oleh perusahaan Oracle. Beberapa aplikasi yang telah menggunakan system grid computing antara lain adalah PipeLine (untuk mendeteksi kerusakan pipa ), NeuroGrid, Molecular Docking,  ABCGrid(Application of Bioinformatics Computing Grid), Oracle 10g, dll.  Namun dalam tulisan kali ini akan dibahas mengenai software Oracle 10g dan apa hubungannya dengan grid computing. Oracleversi baru ini diberi nama Oracle 10g dan digunakan huruf  “g” pada nama versinya. Penggunaan huruf “g”  padaOracle 10g  berasal dari singkatan grid.

Versi baru dari Oracle ini akan lebih mempermudah perusahaan dalam membangun system komputasi grid diluar kerangka kerja komputasi  akademik, teknik, riset, dan saintifik.Seperti yang telah kita ketahui bahwa Oracle 10g itu terdiri dari OracleDatabase 10g,  Oracle Application 10g, dan Oracle Enterprise Manager 10g. Penggunaan teknik grid pada ketiga produk oracle tersebut biasa diimplementasikan dengan virtualisasi dan provisioning.  Teknik virtualisasi dan provisioning pada ketiga produk Oracle 10g adalah sebagai berikut :
 

    OracleDatabase 10g


Dengan adanya real application cluster menjadikan database tunggal dapat dijalankan melintasi titik-titik cluster pada grid dan mengumpulkan sumber daya pemroses dari mesin standar. Proses ini dilakukan secara fleksibel karena data tidak perlu disebarkan dalam suatu jaringan.
Pada Oracle Database10g juga diperkenalkan ASM(Automatic Storage Management) yang mendukung fungsi penyimpanan virtual dengan menggunakan mirroring dan stripping data secara otomatis.
Oracle 10g menyediakan fitur-fitur  pengaksesan terhadap informasi di saat dan di tempat diperlukan, juga menyesuaikan penyedia informasi dan peminta informasi.


    Oracle Application Server 10g         


Disini disediakan platform infrastruktur yang lengkap untuk menjalankan aplikasi perusahaan,mengintegrasikan banyak fungsi seperti J2ME dan web service, portal perusahaan, broker integrasi perusahaan, business intelligence, web caching dan manajemen service. Ketika aplikasidijalankan pada server aplikasi di grid,maka transparansi distribusi beban kerja, pelimpahan beban kerja, dan penjadwalan dilakukan secara efisien dengan melakukan koordinasi pada banyak server.
Setiap service dalam OracleAS didistribusikan ke banyak mesin dalam grid. Kerangka kerja provisioning didasarkan pada kebijakan bisnis, semisal alokasi beban kerja akan dipengaruhi oleh estimasi konsumsi sumber daya. OracleAS 10g mendukung clustering pada setiap layanan dalam server aplikasi, sehingga tidak akan didapati titik tunggal kegagalan.


    OracleEnterprise Manager 10g


Fasilitas Oracle Grid Control di Oracle EM 10g dapat  mengurangi biaya administrasi melalui proses otomasi dan policy-based standarization. Professional TI dapat menyatukan titik-titik hardware, database, server aplikasi, dan sasaran lain pada entity logik tunggal. Oleh karena itu,

keberadaan banyaknya komputer-komputer kecil pada infrastruktur grid tidak menambah kompleksitas pengelolaan.


Kinerja Komputasi dengan Parallel Processing

Pada artikel sebelumnya kita telah memahami apa itu komputasi modern. Kali ini saya akan mengulas lebih lanjut mengenai kinerja komputasi tersebut dengan parallel processing. Terlebih dahulu kita mengerti konsep dari pemrosesan paralel (parallel processing), yaitu penggunaan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Idealnya, parallel processing membuat program berjalan lebih cepat karena semakin banyak CPU yang digunakan.

Sedangkan komputasi paralel adalah 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.


Paradigma pemrosesan parallel bergantung pada model SIMD (single instruction multiple data), dan paradigma functional dataflow yang memperkenalkan konsep model MIMD (Multiple Instrution Multiple Data). Suatu program parallel memerlukan koordinasi ketika sebuah tugas bergantung pada tugas lainnya. Ada dua macam bentuk koordinasi pada komputer parallel : asynchronous dan synchronous. 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. Sementara bentuk asynchronous mengandalkan mekanisme pengunci untuk mengkoordinasikan processor tanpa harus berjalan bersamaan.



Sumber :
http://en.wikipedia.org/wiki/Parallel_computing
http://en.wikipedia.org/wiki/Parallel_processing
http://ghani.gxrg.org/2011/04/01/kinerja-komputasi-dengan-parallel-processing/
http://imamnotes.webs.com/apps/blog/show/3792057-grid-computing

http://ayunworld.blogspot.com/2013/06/komputasi-modern-dan-parallel-processing.html