Tugas Informatika Lanjutan : Prosedur Standar dalam Menyelesaikan Persoalan Komputasi : 1, Prosedur dan Kinerja Komputasi. 2, Paralel Computing. 3, Protocol Komputasi Network File System (NFS). 4, Standar MPI (Message Passing Interface)
1.Prosedur, Kinerja dan Paralel Computing
Kinerja berarti hasil kerja. Komputasi adalah cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma. Parallel berarti ganda. Processing adalah proses. Dengan demikian dapat diartikan bahwa Kinerja Komputasi dengan Parallel Processing adalah teknik melakukan komputasi (cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma) secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan. Komputasiparalel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan. Biasanyadiperlukan 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.Penggunaan komputasi parallel prosessing merupakan pilihan yang cukup handal untuk saat ini untuk pengolahan data yang besar dan banyak, hal ini apabila dibandingkan dengan membeli suatu super komputer yang harganya sangat mahal maka penggunaan komputasi parallel prosessing merupakan pilihan yang sangat tepat untuk pengolahan data tersebut.
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. Pemrosesan paralel (parallel processing) adalah penggunakan lebih dari satu CPU untuk menjalankan sebuah program secara simultan.
Kinerja Parallel komputasi digunakan untuk melakukan perhitungan komputasi dengan menggunakan 2 atau lebih CPU/Processor dalam suatu komputer yang sama atau komputer yang berbeda dimana dalam hal ini setiap instruksi dibagi kedalam beberapa instruksi kemudian dikirim ke processor yang terlibat komputasi dan dilakukan secara bersamaan. Untuk proses pembagian proses komputasi tersebutdilakukan oleh suatu software yang betugas untuk mengatur komputasi.
Komputasi paralel membutuhkan:
algoritma
bahasa pemrograman
compiler
Sebagai besar komputer hanya mempunyai satu CPU, namun ada yang mempunyai lebih darisatu. Bahkan juga ada komputer dengan ribuan CPU. Komputer dengan satu CPU dapatmelakukan 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.
Contoh struktur pengiriman permintaan dan jawaban dari parallel processing
Aristektur Komputer Parallel
Taksonomi Flynndan model pemrosesan parallel
Keempat kelompok komputer tersebut adalah :
1. Komputer SISD (Single Instruction stream-Single Data stream)
Pada komputer jenis ini semua instruksi dikerjakan terurut satu demi satu, tetapi jugadimungkinkan adanya
overlapping
dalam eksekusi setiap bagian instruksi ( pipelining ). Pada umumnya komputer SISD berupa komputer yang terdiri atas satu buah pemroses ( single processor ). Namun komputer SISD juga mungkin memiliki lebih dari satu unit fungsional(modul memori, unit pemroses, dan lain-lain), selama seluruh unit fungsional tersebut beradadalam kendali sebuah unit pengendali. Skema arsitektur global komputer SISD dapat dilihat padagambar .1 (a).
2. Komputer SIMD (Single Instruction stream-Multiple Data stream)
Pada komputer SIMD terdapat lebih dari satu elemen pemrosesan yang dikendalikan oleh sebuahunit pengendali yang sama. Seluruh elemen pemrosesan menerima dan menjalankan instruksiyang sama yang dikirimkan unit pengendali, namun melakukan operasi terhadap himpunan datayang berbeda yang berasal dari aliran data yang berbeda pula. Skema arsitektur global komputer SIMD dapat dilihat pada gambar .1 (b).
3. Komputer MISD (Multiple Instruction stream-Single Data stream)
Komputer jenis ini memiliki n unit pemroses yang masing-masing menerima danmengoperasikan instruksi yang berbeda terhadap aliran data yang sama, dikarenakan setiap unit pemroses memiliki unit pengendali yang berbeda. Keluaran dari satu pemroses menjadi masukan bagi pemroses berikutnya. Belum ada perwujudan nyata dari komputer jenis ini kecuali dalam bentuk prototipe untuk penelitian. Skema arsitektur global komputer MISD dapat dilihat padagambar .1 (c).
4. Komputer MIMD (Multiple Instruction stream-Multiple Data stream)
Pada sistem komputer MIMD murni terdapat interaksi di antara n pemroses. Hal ini disebabkanseluruh aliran dari dan ke memori berasal dari space data yang sama bagi semua pemroses.Komputer MIMD bersifat tightly coupled jika tingkat interaksi antara pemroses tinggi dandisebut loosely coupled jika tingkat interaksi antara pemroses rendah.
Paralel prosessing komputasi adalah proses atau pekerjaan komputasi di komputer denganmemakai suatu bahasa pemrograman yang dijalankan secara paralel pada saat bersamaan. Secara umum komputasi paralel diperlukan untuk meningkatkan kecepatan komputasi biladibandingkan dengan pemakaian komputasi pada komputer tunggal.
2. NFS
NFS (Network File System) adalah sebuah protokol berbagi pakai berkas melalui jaringan. NFS ini meng-share file ataupun resource melalui network atau jaringan tanpa peduli sistem operasi yang digunakan apa. Sederhananya NFS (Network File System) Merupakan komputer/host yang menyediakan sistem file(via direktori) yang dapat diakses oleh komputer lain. Langkah server adalah menyiapkan direktori yang akan di-share, kemudian melakukan konfigurasi sharing direktori yang sudah disiapkan.
NFS merupakan sebuah sistem berkas terdistribusi yang dikembangkan oleh Sun Microsystems Inc. pada awal dekade 1980-an yang menjadi standar de facto dalam urusan sistem berkas terdistribusi. NFS didesain sedemikian rupa untuk mengizinkan pengeksporan sistem berkas terhadap jaringan yang heterogen (yang terdiri dari sistem-sistem operasi yang berbeda dan platform yang juga berbeda).
Teknologi NFS ini dilisensikan kepada lebih dari 200 vendor komputer dan jaringan, dan telah dibuat implementasinya pada banyak platform dan sistem operasi, termasuk di antaranya adalah UNIX, GNU/Linux, Microsoft Windows, dan lingkungan mainframe.
3. MPI
(Message Passing Interface) adalah spesifikasi API (Application Programming Interface) yang memungkinkan terjadinya komunikasi antar komputer pada jaringan dalam usaha untuk menyelesaikan suatu tugas. Pesan Paradigma - Melewati dengan implementasi MPI memberikan suatu pendekatan yang unik dalam membangun suatu perangkat lunak dalam domain fungsi tertentu, yang dalam lingkungan sistem terdistribusi, sehingga memberikan kemampuan pada produk perangkat lunak yang dibangun diatas middleware tersebut untuk dapat mengeksploitasi kemampuan jaringan komputer dan komputasi secara sejajar.
MPI adalah standar interface dari model message - passing yang didefenisikan oleh sebuah grup yang terdiri dari 60 orang yang berasal dari 40 organisasi baik vendor komersil maupun dari kalangan peneliti akademisi yang berada di Amerika Serikat dan Eropa. Dalam grup tersebut mereka mencoba merumuskan dan membuat sebuah "standar berdasarkan konsensus" untuk pustaka pesan - passing yang dapat digunakan dalam komputasi paralel.
MPI menjadi standar defacto yang banyak digunakan dalam komunikasi proses pada model dari program paralel pada sistem memori terdistribusi, yang mana banyak diimplementasikan oleh pada super komputer dan cluster komputer. Pada spesifikasi MPI-1 tidak memiliki konsep tentang memori bersama, kemudian pada spesifikasi selanjutnya MPI-2 sudah mendukung konsep memori bersama yang didistribusikan. Dengan kemampuan tersebut MPI dapat mengeksploitasi arsitektur lingkungan yang sifatnya heterogen atau bersifat arsitektur NUMA (Non-Uniform Memory Access).
Implementasi MPI merupakan sebuah API yang dapat dipanggil dari beberapa bahasa pemrograman seperti Fortran, C, atau C ++, dan bersifat portable. Ada dua versi standar yang pada saat ini populer digunakan, yaitu versi 1.2 (MPI-1) yang berfokus pada message passing dan memiliki static runtime environment, dan MPI-2.1 (MPI-2) yang memasukkan fitur - fitur baru seperti parallel I / O , manajemen proses dinamis, operasi memori jarak jauh dsb.
MPI merupakan sebuah protokol komunikasi yang sifatnya language-independent, portable dalam mensupport berbagai platform, dan memiliki spesifikasi semantik yang mengatur bagaimana perilaku setiap impelementasinya. MPI mendukukung komunikasi baik dengan tipe point-to-point atau yang bersifat kolektif. Secara umum MPI memiliki tujuan sebagai berikut:
MPI akan menjadi sebuah perpustakaan untuk membangun program aplikasi dan bukan sistem operasi terdistribusi.
MPI akan mendukung thread-safe yang penting dalam multiprosesor simetris pada lingkungan jaringan komputer yang heterogen.
MPI akan mampu menghadirkan komputasi berperforma tinggi.
MPI bersifat modular, untuk mengakselerasi pembangunan pustaka paralel yang portable.
MPI akan bersifat extensible, sehingga dapat terus dikembangkan dan memenuhi kebutuhan komputasi masa akan datang.
MPI akan mendukung heterogenos komputasi.
MPI akan memiliki perilaku semantik yang telah terspesifikasi dengan jelas, sehingga dapat menghindari beberapa permasalahan kritis seperti race-conditioning, dead-lock dsb.
Tipe Komunikasi MPI
Sebuah. Komunikasi Point-to-Point
Pada implementasi program berbasis penyampaian pesan, komunikasi point-to-point adalah komunikasi yang paling sederhana dimana akan melibatkan proses yang saling berhubungan. Pada API dari MPI, secara sederhana dapat digunakan MPI_Send atau MPI_Recv, dimana akan terjadi sebuah proses spesifik yang satu dapat mengirimkan data pesan ke sebuah proses spesifik yang lain. Operasi komunikasi point-to-point secara khusus berguna dalam komunikasi yang tidak teratur maupun yang berpola.
Contoh: sebuah data arsitektur paralel dimana setiap prosessor secara rutin melakukan pertukaran data wilayah dengan sebuah prosessor spesifik lainnya pada setiap langkah kalkulasi, atau pada arsitektur master-salve dimana sang master akan mengirim data tugas baru ke proses slave pada saat data tugas sebelummnya telah selesai. b. Komunikasi Kolektif
Berbeda dengan komunikasi point-to-point, komunikasi kolektif pada MPI API melibatkan komunikasi antara semua proses dalam sebuah proses grup (dalam artian total pool Proses atau sebuah subset terdefinisi pada program). Fungsi interface yang sederhana dapat berupa MPI_Bcast (broadcast) yang melakukan pengiriman data dari sebuah proses ke semua proses lainnya pada grup, dan fungsi MPI_Reduce untuk melakukan kebalikannya.
Tipe komunikasi memberikan dua keuntungan, yaitu operasi pertama, komunikasi tersebut pada programmer untuk mengekspresikan operasi yang kompleks dengan menggunakan semantik yang sederhana, kedua, implementasi dapat melakukan pengoptimasi operasi melalui cara yang tidak disediakan oleh operasi komunikasi point-to-point.
Komentar
Posting Komentar