Senin, 14 Juni 2021

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)

𝗣𝗿𝗼𝘀𝗲𝗱𝘂𝗿 𝗦𝘁𝗮𝗻𝗱𝗮𝗿 𝗱𝗮𝗹𝗮𝗺 𝗠𝗲𝗺𝘆𝗲𝗹𝗲𝘀𝗮𝗶𝗸𝗮𝗻 𝗣𝗲𝗿𝘀𝗼𝗮𝗹𝗮𝗻 𝗞𝗼𝗺𝗽𝘂𝘁𝗮𝘀𝗶 
    Dengan makin berkembangnya alat dan kebutuhan, maka makin banyak pula data-data yang ingin dihitung, dan mulailah ide pembuatan alat hitung dengan konsep komputasi modern yang juga dikenal sebagai komputer. Bukan hanya itu saja, keberadaan komputer yang diciptakan hingga sekarang ini bukan hanya menjadi alat untuk menghitung saja, tetapi juga bisa menyimpan, mengedit, mengolah kata, serta masih banyak lagi kegunaan dan kelebihannya

   1. 𝐏𝐫𝐨𝐬𝐞𝐝𝐮𝐫 𝐝𝐚𝐧 𝐊𝐢𝐧𝐞𝐫𝐣𝐚 𝐊𝐨𝐦𝐩𝐮𝐭𝐚𝐬𝐢

Komputer berasal dari kata computare yang artinya menghitung. Secara bahasa komputer didefinisikan sebagai alat yang melakukan proses perhitungan aritmatika. Secara umum, Komputer didefinisikan sebagai seperangkat alat elektronik yang mengubungkan komponen satu dengan yang lainnya sehingga menghasilkan informasi yang sebelumnya telah diolah terlebih dahulu. Komputer terdiri atas 3 elemen yaitu hardware (perangkat keras) seperti prosesor, harddisk, RAM, CPU, dan motherboard. Software (perangkat lunak) seperti aplikasi-aplikasi dan juga system operasi yang akan bekerja sesuai perintah yang diberikan oleh brainware (pengguna).

Kinerja komputasi menggunakan paralel processing dengan memanfaatkan beberapa komputer atau CPU untuk menemukan suatu pemecahan masalah dari berbagai masalah yang ada, sehingga dapat diselesaikan dengan cepat. Paralel processing computational akan menggabungkan beberapa CPU, dan membagi tugas untuk masing-masing CPU tersebut. Computational thinking (CT) sebagai metode berpikir yang dipakai programmer pada saat menulis program, sedangkan pemrosesan paralel (paralel processing) menggunakan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Dampak dari paralel processing adalah membuat program berjalan lebih cepat

karena makin banyak CPU yang digunakan

   2. 𝐏𝐚𝐫𝐚𝐥𝐞𝐥 𝐂𝐨𝐦𝐩𝐮𝐭𝐢𝐧𝐠 

komputasi paralel terkait erat dengan pemrosesan paralel (atau komputasi bersamaan). Ini adalah bentuk perhitungan di mana koneksi ("secara paralel") menggunakan beberapa CPU yang dilakukan secara bersamaan dengan sistem shared-memory untuk memecahkan masalah komputasi superkomputer. 

Paralelisme adalah proses perhitungan besar, yang dapat dipecah menjadi beberapa proses yang dapat memproses secara mandiri dan yang hasilnya digabungkan setelah selesai. Paralelisme telah lama digunakan dalam superkomputer berkinerja tinggi.

Pemrosesan paralel umumnya diimplementasikan dalam spektrum aplikasi yang luas yang membutuhkan kalkulasi dalam jumlah besar. Tujuan utama dari komputasi paralel adalah untuk meningkatkan daya komputasi yang tersedia untuk aplikasi penting Anda. Biasanya, infrastruktur ini adalah tempat himpunan prosesor hadir di server, atau server terpisah yang terhubung satu sama lain untuk menyelesaikan masalah komputasi.

Dalam perangkat lunak komputer paling awal, yang menjalankan satu instruksi (memiliki satu Central Processing Unit (CPU)) pada waktu yang telah ditulis untuk perhitungan serial. Masalah dipecah menjadi beberapa seri instruksi, dan bahwa Instruksi dieksekusi satu demi satu. Hanya satu dari instruksi komputasi yang diselesaikan secara bersamaan.

Alasan Utama untuk menggunakan Komputasi Paralel adalah:

1. Hemat waktu dan uang.

2. Memecahkan masalah yang lebih besar.

3. Berikan konkurensi.

4. Beberapa unit eksekusi

Jenis Jenis Parallel Computing

1.Paralelisme tingkat-bit
Dalam paralelisme tingkat-Bit, setiap tugas dijalankan pada tingkat prosesor dan tergantung pada ukuran kata prosesor (32-bit, 64-bit, dll.) Dan kami perlu membagi ukuran maksimum instruksi menjadi beberapa seri instruksi dalam tugas tersebut. . Sebagai Contoh, jika kita ingin melakukan operasi pada angka 16-bit dalam prosesor 8-bit, maka kita akan perlu membagi proses menjadi dua operasi 8 bit.

1.Paralelisme tingkat instruksi (ILP)
Paralelisme level instruksi (ILP) berjalan pada level perangkat keras (paralelisme dinamis), dan itu termasuk berapa banyak instruksi yang dijalankan secara bersamaan dalam siklus clock CPU tunggal.

2.Paralelisme Data
Sistem multiprosesor dapat menjalankan satu set instruksi (SIMD), paralelisme data dicapai ketika beberapa prosesor secara bersamaan melakukan tugas yang sama pada bagian terpisah dari data yang didistribusikan.

3.Paralelisme tugas
Paralelisme tugas adalah paralelisme di mana tugas dibagi antara prosesor untuk melakukan sekaligus.

   3.  𝐏𝐫𝐨𝐭𝐨𝐜𝐨𝐥 𝐊𝐨𝐦𝐩𝐮𝐭𝐚𝐬𝐢 𝐍𝐞𝐫𝐖𝐨𝐫𝐤 𝐅𝐢𝐥𝐞 𝐒𝐲𝐬𝐭𝐞𝐦 (𝐍𝐅𝐒)

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. 𝐒𝐭𝐚𝐧𝐝𝐚𝐫 𝐌𝐏𝐈 ( 𝐌𝐚𝐬𝐬𝐚𝐠𝐞 𝐏𝐚𝐬𝐬𝐢𝐧𝐠 𝐈𝐧𝐭𝐞𝐫𝐟𝐚𝐜𝐞 )

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 :
  1. MPI akan menjadi sebuah library untuk membangun program aplikasi dan bukan distributed operating system.
  2. MPI akan mendukung thread-safe yang penting dalam symmetric multiprocessor pada lingkungan jaringan komputer yang heterogen.
  3. MPI akan mampu untuk men-deliver high-performance computing.
  4. MPI akan bersifat modular, untuk mengakselerasi development pustaka paralel yang portable.
  5. MPI akan bersifat extensible, sehingga dapat terus dikembangkan dan memenuhi kebutuhan komputasi masa akan datang.
  6. MPI akan mendukung heterogeneos komputasi.
  7. 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.

Tidak ada komentar:

Posting Komentar

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)

𝗣𝗿𝗼𝘀𝗲𝗱𝘂𝗿 𝗦𝘁𝗮𝗻𝗱𝗮𝗿 𝗱𝗮𝗹𝗮𝗺 𝗠𝗲𝗺𝘆𝗲𝗹𝗲𝘀𝗮𝗶𝗸𝗮𝗻 𝗣𝗲𝗿𝘀𝗼𝗮𝗹𝗮𝗻 𝗞𝗼𝗺𝗽𝘂𝘁𝗮𝘀𝗶      Dengan makin berkembangnya ...