Ari Ghiffari - F55118031 - Kelas A - Tugas 3
Ari Ghiffari - F55118031 - Kelas A - Tugas 3
Stambuk : F55118031
Kelas :A
Prinsip Komputasi Paralel dan Terdistribusi Komputasi awan adalah tren teknologi
baru yang mendukung pemanfaatan infrastruktur TI yang lebih baik, layanan dan
aplikasi. Ini mengadopsi model pemberian layanan berdasarkan pendekatan bayar
per penggunaan, di pengguna mana yang tidak memiliki infrastruktur, platform atau
aplikasi, tetapi menggunakannya untuk saat ini butuh mereka. Aset TI ini dimiliki dan
dipelihara oleh penyedia layanan yang membuatnya dapat diakses melalui Internet.
A. Era komputasi
Dua model komputasi fundamental dan dominan adalah sekuensial dan paralel. Era
komputasi sekuensial dimulai pada 1940-an, era komputasi paralel dan terdistribusi
mengikutinya dalam satu dekade. Empat elemen kunci komputasi berkembang
selama era ini adalah arsitektur, kompiler, aplikasi, dan lingkungan pemecahan
masalah. Era komputasi dimulai dengan perkembangan arsitektur perangkat keras,
yang sebenarnya memungkinkan pembuatan perangkat lunak system terutama di
bidang penyusun dan sistem operasi yang mendukung pengelolaan sistem tersebut
dan pengembangan aplikasi. Pengembangan dari aplikasi dan sistem adalah
elemen utama yang menarik bagi kami, dan saat itu menyangkut konsolidasi
lingkungan pemecahan masalah dirancang dan diperkenalkan untuk memfasilitasi
dan memberdayakan para insinyur. Inilah saat paradigma yang mencirikan
komputasi mencapai kematangan dan menjadi arus utama.
Syarat komputasi terdistribusi meliputi arsitektur atau sistem apa pun yang
memungkinkan komputasi dipecah menjadi beberapa unit dan dijalankan secara
bersamaan pada elemen komputasi yang berbeda, baik prosesor pada node yang
berbeda, prosesor pada komputer yang sama, atau inti dalam prosesor yang sama.
Oleh karena itu, komputasi terdistribusi mencakup sistem dan aplikasi yang lebih
luas daripada komputasi paralel dan sering dianggap sebagai istilah yang lebih
umum.
d. Tingkat paralelisme
Tingkat paralelisme ditentukan berdasarkan gumpalan kode yang dapat menjadi
kandidat potensial untuk paralelisme. Semua pendekatan ini memiliki tujuan yang
sama, meningkatkan efisiensi prosesor dengan menyembunyikan latensi. Untuk
menyembunyikan latensi, harus ada utas lain yang siap dijalankan setiap kali
operasi yang berkepanjangan terjadi. Idenya adalah untuk mengeksekusi secara
bersamaan dua atau lebih aplikasi single-threaded, seperti kompilasi, pemformatan
teks, pencarian database, dan simulasi perangkat.
Seperti yang ditunjukkan pada tabel dan digambarkan dalam, paralelisme dalam
aplikasi dapat terdeteksi di beberapa level:
• Butir besar (atau level tugas)
• Butir sedang (atau level kontrol)
• Butir halus (tingkat data)
• Butir sangat halus (masalah instruksi-ganda)
e. Hukum kehati-hatian
Sekarang kita telah memperkenalkan beberapa aspek umum komputasi paralel
dalam hal arsitektur dan model, kita dapat membuat beberapa pertimbangan yang
diambil dari pengalaman merancang dan mengimplementasikan sistem semacam
itu. Pertimbangan ini adalah pedoman yang dapat membantu kita memahami
seberapa besar manfaat yang dapat diperoleh aplikasi atau sistem perangkat lunak
dari paralelisme. Secara khusus, yang perlu kita ingat adalah bahwa paralelisme
digunakan untuk melakukan banyak aktivitas bersama sehingga sistem dapat
meningkatkan throughput atau kecepatannya. Tetapi hubungan yang mengontrol
kenaikan kecepatan tidak linier.
Berikut adalah dua pedoman penting yang harus diperhatikan:
• Kecepatan komputasi sebanding dengan akar kuadrat dari biaya sistem; mereka
tidak pernah meningkat sejak awal. Oleh karena itu, semakin cepat suatu sistem,
semakin mahal untuk meningkatkan kecepatannya.
• Kecepatan oleh komputer paralel meningkat seiring dengan logaritma jumlah
prosesor.
Perkembangan yang sangat cepat dalam pemrosesan paralel dan bidang terkait
telah mengaburkan batasan konseptual, menyebabkan banyak kebingungan
terminologis. Bahkan perbedaan yang terdefinisi dengan baik seperti memori
bersama dan memori terdistribusi bergabung karena kemajuan teknologi baru.
Penggunaan standar terkenal di tingkat sistem operasi dan bahkan lebih di tingkat
perangkat keras dan jaringan memungkinkan pemanfaatan yang mudah dari
komponen heterogen dan organisasinya ke dalam sistem yang koheren dan
seragam. Misalnya, konektivitas jaringan antara perangkat yang berbeda dikontrol
oleh standar, yang memungkinkan mereka untuk berinteraksi dengan mulus. Di
tingkat sistem operasi, layanan IPC diimplementasikan di atas protokol komunikasi
standar seperti Transmission Control Protocol / Internet Protocol (TCP / IP), User
Datagram Protocol (UDP) atau lainnya.
Bagian atas tumpukan sistem terdistribusi diwakili oleh aplikasi dan layanan yang
dirancang dan dikembangkan untuk menggunakan middleware. Ini dapat melayani
beberapa tujuan dan sering kali menampilkan fitur-fiturnya dalam bentuk antarmuka
pengguna grafis (GUI) yang dapat diakses secara lokal atau melalui Internet melalui
browser Web.
Kelas pertama berkaitan dengan organisasi logis dari perangkat lunak dan kelas
kedua mencakup semua gaya yang menggambarkan organisasi fisik dari sistem
perangkat lunak terdistribusi dalam kaitannya dengan komponen utamanya.
Server klien
Arsitektur ini sangat populer dalam komputasi terdistribusi dan cocok untuk berbagai
macam aplikasi. Seperti yang digambarkan dalam model klien/server memiliki dua
komponen utama yaitu server dan klien. Kedua komponen ini berinteraksi satu sama
lain melalui koneksi jaringan menggunakan protokol yang diberikan. Komunikasi
searah, klien mengeluarkan permintaan ke server, dan setelah memproses
permintaan, server mengembalikan respons.
Model klien/server cocok dalam skenario banyak ke satu, di mana informasi dan
layanan yang diminati dapat dipusatkan dan diakses melalui satu titik akses. Server.
Secara umum, banyak klien tertarik pada layanan tersebut dan server harus
dirancang dengan tepat untuk melayani permintaan yang datang dari klien yang
berbeda secara efisien. Pertimbangan ini berimplikasi pada desain klien dan desain
server. Untuk desain klien, diidentifikasi dua model utama:
•Model klien tipis. Dalam model ini, beban pemrosesan dan transformasi data
diletakkan di sisi server, dan klien memiliki implementasi ringan yang sebagian besar
berkaitan dengan pengambilan dan pengembalian data yang diminta, tanpa
pemrosesan lebih lanjut yang berarti.
• Model klien gemuk. Dalam model ini, komponen klien juga bertanggung jawab
untuk memproses dan mengubah data sebelum mengembalikannya ke pengguna,
sedangkan server memiliki implementasi yang relatif ringan yang sebagian besar
berkaitan dengan pengelolaan akses ke data.
Tiga komponen utama dalam model klien/server yaitu presentasi, logika aplikasi dan
penyimpanan data. Presentasi, logika aplikasi dan penyimpanan data dapat dilihat
sebagai lapisan konseptual, yang lebih tepat disebut tingkatan.
Arsitektur klien/server telah menjadi model referensi yang dominan untuk merancang
dan menyebarkan sistem terdistribusi, dan beberapa aplikasi untuk model ini dapat
ditemukan. Yang paling relevan mungkin adalah Web dalam konsep aslinya. Saat
ini, model klien/server merupakan blok bangunan penting dari sistem yang lebih
kompleks, yang menerapkan beberapa fitur mereka dengan mengidentifikasi server
dan proses klien yang berinteraksi melalui jaringan.
Peer-to-peer
Model peer-to-peer, arsitektur simetris di mana semua komponen, disebut teman
sebaya, memainkan peran yang sama dan menggabungkan kapabilitas klien dan
server dari model klien/server. Lebih tepatnya, setiap rekan bertindak sebagai server
saat memproses permintaan dari rekan lain dan sebagai klien saat mengeluarkan
permintaan ke peer lain. Sehubungan dengan model klien/server yang membagi
tanggung jawab IPC antara server dan klien, model peer-to-peer mengaitkan
tanggung jawab yang sama ke setiap komponen. Oleh karena itu, model ini sangat
cocok untuk arsitektur yang sangat terdesentralisasi, yang dapat menskalakan lebih
baik sepanjang dimensi jumlah peer. Kerugian dari pendekatan ini adalah bahwa
pengelolaan implementasi algoritma lebih kompleks daripada model klien/server.