Prosedur Standar dalam Menyelesaikan Persoalan Komputasi
Mei 28, 2021
1. Prosedur dan Kinerja Komputasi.
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.
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.
Contoh Gambar struktur pengiriman permintaan dan jawaban dari parallel processing.
Dalam Kinerja Komputasi terdapat 2 model penyelesaian masalahnya, yaitu :
1. Dengan cara Komputasi Tunggal (terdiri dari 1 cpu yg menyelesaikan masalah)
2. Dengan cara Komputasi Parallel (terdiri dari beberapa cpu yg menyelesaikan masalah)
2. Paralel Computing.
Komputasi paralel adalah jenis komputasi di mana banyak perhitungan atau proses dilakukan secara bersamaan. [1] Masalah besar sering kali dapat dibagi menjadi masalah kecil, yang kemudian dapat diselesaikan pada saat yang bersamaan. Ada beberapa bentuk komputasi paralel yang berbeda: level bit , level instruksi , data , dan paralelisme tugas . Paralelisme telah lama digunakan dalam komputasi berkinerja tinggi , tetapi telah mendapatkan minat yang lebih luas karena kendala fisik yang mencegah penskalaan frekuensi . [2]Karena konsumsi daya (dan akibatnya pembangkitan panas) oleh komputer telah menjadi perhatian dalam beberapa tahun terakhir, [3] komputasi paralel telah menjadi paradigma dominan dalam arsitektur komputer , terutama dalam bentuk prosesor multi-core . [4]
Superkomputer paralel besar-besaran IBM Blue Gene / P
Komputasi paralel terkait erat dengan komputasi serentak — keduanya sering digunakan bersama, dan sering digabungkan, meskipun keduanya berbeda: dimungkinkan untuk memiliki paralelisme tanpa konkurensi (seperti paralelisme tingkat bit ), dan konkurensi tanpa paralelisme (seperti multitasking dengan berbagi waktu pada CPU inti tunggal). [5] [6] Dalam komputasi paralel, tugas komputasi biasanya dipecah menjadi beberapa, seringkali banyak, sub-tugas yang sangat mirip yang dapat diproses secara independen dan yang hasilnya akan digabungkan setelahnya, setelah selesai. Sebaliknya, dalam komputasi bersamaan, berbagai proses seringkali tidak membahas tugas-tugas terkait; ketika mereka melakukannya, seperti yang biasa terjadi dalam komputasi terdistribusi, tugas yang terpisah mungkin memiliki sifat yang bervariasi dan seringkali membutuhkan komunikasi antar proses selama pelaksanaan.
Komputer paralel dapat diklasifikasikan secara kasar sesuai dengan tingkat di mana perangkat keras mendukung paralelisme, dengan komputer multi-core dan multi-prosesor memiliki beberapa elemen pemrosesan dalam satu mesin, sementara cluster , MPP , dan grid menggunakan banyak komputer untuk bekerja pada hal yang sama. tugas. Arsitektur komputer paralel khusus terkadang digunakan bersama prosesor tradisional, untuk mempercepat tugas-tugas tertentu.
Dalam beberapa kasus, paralelisme transparan bagi pemrogram, seperti dalam bit-level atau paralelisme tingkat instruksi, tetapi secara eksplisit algoritma paralel , terutama yang menggunakan konkurensi, lebih sulit untuk ditulis daripada yang berurutan , [7] karena konkurensi memperkenalkan beberapa algoritma baru. kelas bug perangkat lunak potensial , yang kondisi balapannya paling umum. Komunikasi dan sinkronisasi antara subtugas yang berbeda biasanya merupakan beberapa kendala terbesar untuk mendapatkan kinerja program paralel yang optimal.
Batas atas teoritis pada percepatan program tunggal sebagai hasil dari paralelisasi diberikan oleh hukum Amdahl .
3. Protocol Komputasi Network File System (NFS).
NFS
Network File System atau sistem berkas jaringan adalah sekumpulan protokol yang digunakan untuk mengakses beberapa sistem berkas melalui jaringan. Bisa dikatakan juga bahwa NFS merupakan sebuah implementasi dan spesifikasi dari sebuah perangkat lunak untuk mengakses remote file melalui jaringan LAN atau WAN.
NFS yang dikembangkan oleh Sun Micro Systems Inc. ini menggambarkan himpunan unit-unit komputer yang saling berhubungan sebagai sebuah mesin bebas yang memiliki sistem berkas bebas. Tujuan dari NFS adalah untuk memungkinkan terjadinya pertukaran sistem berkas secara transparan antara mesin-mesin bebas tersebut. Hubungan yang terjadi di sini didasarkan pada hubungan client-server yang menggunakan perangkat lunak NFS server dan NFS client yang berjalan diatas workstation. Gambar 18.3 berikut ini menggambarkan tiga buah mesin bebas yang memiliki sistem berkas lokal masing-masing yang bebas juga.
Gambar 18.3. Three Independent File System
Three Independent File System
NFS didesain agar dapat beroperasi di lingkungan ataupun jaringan yang heterogen yang meliputi mesin, platform, sistem operasi, dan arsitektur jaringan. Ketidaktergantungan ini didapat dari penggunaan RPC primitif yang dibangun diatas protokol External Data Representation (XDR).
Jika misalnya terjadi sebuah pertukaran sistem berkas antara server dan client , maka pertukaran sistem berkas yang terjadi disini harus dipastikan hanya berpengaruh pada tingkat client dan tidak mempengaruhi sisi server , karena server dan client adalah mesin yang berbeda dan sama-sama bebas. Untuk itu, mesin client harus melakukan operasi mount terlebih dahulu agar remote directory dapat diakses secara transparan.
4. Standar MPI (Message Passing Interface).
Pengertian MPI (Message Passing Interface)
MPI (Message Passing Interface) adalah spesifikasi API (Application Programming Interface) yang memungkinkan terjadinya komunikasi antar komputer pada network dalam usaha untuk menyelesaikan suatu tugas. Paradigma Message - Passing dengan implementasi MPI memberikan suatu pendekatan yang unik dalam membangun suatu software dalam domain fungsi tertentu, yang dalam hal ini pada lingkungan sistem terdistribusi, sehingga memberikan kemampuan pada produk software yang dibangun diatas middleware tersebut untuk dapat mengeksploitasi kemampuan jaringan komputer dan komputasi secara paralel.
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 "standard by consensus" untuk pustaka message - 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 computer cluster. Pada spesifikasi MPI-1 tidak memiliki konsep tentang shared memory, kemudian pada spesifikasi selanjutnya MPI-2 sudah mendukung konsep distributed shared memory. 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, ataupun C++, dan bersifat portable. Terdapat dua versi standar yang pada saat ini populer digunakan, yaitu versi 1.2 (MPI-1) yang berfokus pada message passing dan memiliki static runtime enviroment, dan MPI-2.1 (MPI-2) yang memasukkan fitur - fitur baru seperti parallel I/O, dynamic process management, remote memory operation dsb.
Tujuan MPI
MPI merupakan sebuah protokol komunikasi yang sifatnya language-independent, portable dalam mensupport berbagai platform, dan memiliki spesifikasi semantic yang mengatur bagaimana perilaku setiap impelementasinya. MPI mendukukung komunikasi baik dengan tipe point-to-point maupun yang bersifat kolektif. Secara umum MPI memliki tujuan sebagai berikut :
MPI akan menjadi sebuah library untuk membangun program aplikasi dan bukan distributed operating system.
MPI akan mendukung thread-safe yang penting dalam symmetric multiprocessor pada lingkungan jaringan komputer yang heterogen.
MPI akan mampu untuk men-deliver high-performance computing.
MPI akan bersifat modular, untuk mengakselerasi development pustaka paralel yang portable.
MPI akan bersifat extensible, sehingga dapat terus dikembangkan dan memenuhi kebutuhan komputasi masa akan datang.
MPI akan mendukung heterogeneos komputasi.
MPI akan memiliki semantic behavior yang telah terspesifikasi dengan jelas, sehingga dapat menghindari beberapa permasalahan kritis seperti race-conditions, dead-lock dsb.
Tipe Komunikasi MPI
a. Point-to-Point Communication
Pada implementasi program berbasis message-passing, point-to-point communication adalah komunikasi yang paling sederhana dimana akan melibatkan sepasang proses yang saling bekerjasama. Pada API dari MPI, secara sederhana dapat digunakan MPI_Send atau MPI_Recv, dimana akan mengizinkan terjadinya sebuah proses spesifik yang satu dapat mengirimkan data pesan ke sebuah proses spesifik yang lain. Operasi point-to-point communication secara khusus berguna dalam komunikasi yang irregular ataupun yang berpola.
Contoh: sebuah arsitektur data paralel dimana setiap prosessor secara rutin melakukan pertukaran region data dengan sebuah prosessor spesifik lainnya pada setiap langkah kalkulasi, atau pada arsitektur master-salve dimana sang master akan mengirim task data baru ke proses slave pada saat task data sebelummnya telah selesai.
b. Collective Communication
×
Search this blog
Home / IlmuKomputer / Jaringan
MPI ( Message Passing Interface)
By ketutrare 1 comment
Pengertian MPI (Message Passing Interface)
MPI (Message Passing Interface) adalah spesifikasi API (Application Programming Interface) yang memungkinkan terjadinya komunikasi antar komputer pada network dalam usaha untuk menyelesaikan suatu tugas. Paradigma Message - Passing dengan implementasi MPI memberikan suatu pendekatan yang unik dalam membangun suatu software dalam domain fungsi tertentu, yang dalam hal ini pada lingkungan sistem terdistribusi, sehingga memberikan kemampuan pada produk software yang dibangun diatas middleware tersebut untuk dapat mengeksploitasi kemampuan jaringan komputer dan komputasi secara paralel.
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 "standard by consensus" untuk pustaka message - 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 computer cluster. Pada spesifikasi MPI-1 tidak memiliki konsep tentang shared memory, kemudian pada spesifikasi selanjutnya MPI-2 sudah mendukung konsep distributed shared memory. 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, ataupun C++, dan bersifat portable. Terdapat dua versi standar yang pada saat ini populer digunakan, yaitu versi 1.2 (MPI-1) yang berfokus pada message passing dan memiliki static runtime enviroment, dan MPI-2.1 (MPI-2) yang memasukkan fitur - fitur baru seperti parallel I/O, dynamic process management, remote memory operation dsb.
BACA JUGA
Cara Mengalisa Kebutuhan Perangkat Lunak Fungsional dan Non Fungsional (Contoh Kasus Perpustakaan Sekolah)
Pengenalan Rekayasa Perangkat Lunak dan Model Proses Perangkat Lunak
Teknologi 5G dan Perkembangannya di Indonesia
Tujuan MPI
MPI merupakan sebuah protokol komunikasi yang sifatnya language-independent, portable dalam mensupport berbagai platform, dan memiliki spesifikasi semantic yang mengatur bagaimana perilaku setiap impelementasinya. MPI mendukukung komunikasi baik dengan tipe point-to-point maupun yang bersifat kolektif. Secara umum MPI memliki tujuan sebagai berikut :
MPI akan menjadi sebuah library untuk membangun program aplikasi dan bukan distributed operating system.
MPI akan mendukung thread-safe yang penting dalam symmetric multiprocessor pada lingkungan jaringan komputer yang heterogen.
MPI akan mampu untuk men-deliver high-performance computing.
MPI akan bersifat modular, untuk mengakselerasi development pustaka paralel yang portable.
MPI akan bersifat extensible, sehingga dapat terus dikembangkan dan memenuhi kebutuhan komputasi masa akan datang.
MPI akan mendukung heterogeneos komputasi.
MPI akan memiliki semantic behavior yang telah terspesifikasi dengan jelas, sehingga dapat menghindari beberapa permasalahan kritis seperti race-conditions, dead-lock dsb.
Tipe Komunikasi MPI
a. Point-to-Point Communication
Pada implementasi program berbasis message-passing, point-to-point communication adalah komunikasi yang paling sederhana dimana akan melibatkan sepasang proses yang saling bekerjasama. Pada API dari MPI, secara sederhana dapat digunakan MPI_Send atau MPI_Recv, dimana akan mengizinkan terjadinya sebuah proses spesifik yang satu dapat mengirimkan data pesan ke sebuah proses spesifik yang lain. Operasi point-to-point communication secara khusus berguna dalam komunikasi yang irregular ataupun yang berpola.
Contoh: sebuah arsitektur data paralel dimana setiap prosessor secara rutin melakukan pertukaran region data dengan sebuah prosessor spesifik lainnya pada setiap langkah kalkulasi, atau pada arsitektur master-salve dimana sang master akan mengirim task data baru ke proses slave pada saat task data sebelummnya telah selesai.
b. Collective Communication
Berbeda dengan point-to-point communication, collective communication pada MPI API melibatkan komunikasi antara semua proses dalam sebuah group proses (dalam artian keseluruhan 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 group, dan fungsi MPI_Reduce untuk melakukan kebalikannya.
Tipe komunikasi memberikan dua keuntungan, yaitu pertama, operasi komunikasi tersebut mengizinkan programmer untuk mengekspresikan operasi yang kompleks dengan menggunakan semantik yang sederhana, kedua, implementasi dapat melakukan pengoptimasian operasi melalui cara yang tidak disediakan oleh tipe operasi point-to-point communication.