Anda di halaman 1dari 27

Cloud Computing

1
Week 6
Concurrency di Cloud
Cloud Computing-Week 6-Concurrency di Cloud
2 Concurrency
 Menggambarkan kebutuhan dimana beberapa
aktivitas berlangsung pada saat bersamaan
 Menekankan kerjasama dan intervensi antara aktifitas-
aktifitas
 Komunikasi dapat mempengaruhi efisiensi secara
keseluruhan dari aktifitas-aktifitas yang berlangsung
pada saat bersamaan dan dapat meningkatkan waktu
selesai dari pekerjaan yang kompleks.

Cloud Computing-Week 6-Concurrency di Cloud


3 Concurrency
 Motivasi untuk meng-eksekusi aplikasi komputer secara
bersamaan adalah untuk mengatasi keterbatasan fisik
dari satu sistem komputer dengan mendistribusikan
beban kerja ke beberapa sistem sehingga
mendapatkan hasil yang lebih cepat.
 Concurrency adalah titik pusat dari cloud computing,
beban kerja yang besar yang ditimbulkan dari
banyaknya aplikasi yang berjalan pada saat
bersamaan pada beberapa instance mengambil
manfaat dari sumber daya-sumber daya yang hanya
tersedia di cloud

Cloud Computing-Week 6-Concurrency di Cloud


4 Tantangan dan Cloud Computing

 Concurrency adalah topic yang luas, pembahasan


concurrency disini hanya yang terkait dengan cloud
computing.
 Koordinasi dimulai dari alokasi sumber daya ke pihak-
pihak yang menjalankan pekerjaan secara individu dan
distribusi beban pekerjaan. Kemudian diikuti dengan
komunikasi selama eksekusi pekerjaan-pekerjaan (task)
tersebut dan yang terakhir adalah penggabungan hasil-
hasil pekerjaan secara individu tersebut

Cloud Computing-Week 6-Concurrency di Cloud


5 Tantangan dan Cloud Computing
 Gambar di bawah ini memperlihatkan kurangnya
koordinasi dan tanpa memandang peraturan terhadap
manajemen sumber daya akan mengakibatkan traffic
deadlock.

Cloud Computing-Week 6-Concurrency di Cloud


6 Tantangan dan Cloud Computing

 Parallel dan distributed computing memanfaatkan


concurrency. Parallel processing mengacu pada
eksekusi secara parallel pada sebuah system yang
mempunyai lebih dari satu processor, sedangkan
distributed computing adalah eksekusi secara parallel
dan lebih dari satu system yang sering terletak pada
lokasi-lokasi yang berlainan.

Cloud Computing-Week 6-Concurrency di Cloud


7 Tantangan dan Cloud Computing

 Multithreading lebih relevan untuk parallel processing


dan load balancing penting khususnya untuk distributed
systems.

Cloud Computing-Week 6-Concurrency di Cloud


8 Komunikasi dan Concurrency

 Concurrency adalah eksekusi bersama lebih dari satu


proses/thread secara parallel.
 Concurrency dapat dimanfaatkan untuk mengurangi
waktu selesainya suatu pekerjaan (task) sambil
memaksimalkan efisiensi dari sistem fisik yang digunakan
selama pemrosesan sebuah aplikasi.

Cloud Computing-Week 6-Concurrency di Cloud


9 Komunikasi dan Concurrency
 Concurrency

Cloud Computing-Week 6-Concurrency di Cloud


10 Komunikasi dan Concurrency
 Concurrency yang akan di bahas disini adalah
algorithmic atau logical concurrency.
 Komunikasi dan komputasi saling terkait. Komunikasi
secara eksplisit termasuk di dalam aktifitas-aktifitas yang
berjalan bersamaan
 Terkadang sebuah komputasi terdiri dari beberapa
tahap dimana proses/thread yang berjalan bersamaan
tidak dapat melanjutkan ke tahap berikutnya sampai
semua proses tersebut selesai. Ini dapat menyebabkan
kurangnya efisiensi

Cloud Computing-Week 6-Concurrency di Cloud


11 Komunikasi dan Concurrency

Cloud Computing-Week 6-Concurrency di Cloud


12 Komunikasi dan Concurrency

 Kecepatan komunikasi lebih rendah dibanding dengan


kecepatan komputasi. Selama waktu yang digunakan
untuk mengirim atau menerima beberapa bytes,
sebuah processor dapat mengeksekusi jutaan instruksi.
 Komunikasi yang intensif dapat sangat memperlambat
proses-proses/thread yang berjalan bersamaan pada
sebuah aplikasi.

Cloud Computing-Week 6-Concurrency di Cloud


13 Komunikasi dan Concurrency
 Warna hitam : proses yang berjalan
 Warna putih: proses terhenti menunggu pesan dari
proses/thread lain

Cloud Computing-Week 6-Concurrency di Cloud


14 Thread dan Koordinasi Aktifitas

 Thread adalah light-weight process


 Eksekusi thread adalah unit terkecil dari pemrosesan
yang dapat dijadwalkan oleh sebuah sistem operasi
 Saat ini banyak aplikasi bersifat data-intensive dan
sumber daya-sumber daya yang ada di satu server
tidak mencukupi. Aplikasi seperti ini membutuhkan
distribusi beban kerja (workload) ke beberapa instance
yang berjalan bersamaan pada server-server yang
jumlahnya banyak.

Cloud Computing-Week 6-Concurrency di Cloud


15 Thread dan Koordinasi Aktifitas

 Ini adalah daya tarik utama dari Cloud Computing


 Penggunaan secara efektif core (komponen inti) dari sebuah
processor memaksa banyak application developer untuk
mengimplementasi parallel algorithm dan menggunakan
multithreading.
 Banyak aplikasi-aplikasi dengan lebih dari satu thread
berjalan pada saat bersamaan ada pada area embedded
system seperti penyalaan mobil, pemrosesan minyak di kilang
minyak, smart electric meter, sistem pemanasan dan
pendinginan di rumah, coffee maker.

Cloud Computing-Week 6-Concurrency di Cloud


16 Thread dan Koordinasi Aktifitas

 Thread adalah obyek yang dibuat secara eksplisit untuk


meng-eksekusi instruksi – instruksi.
 Banyak thread berbagi core (komponen inti) dari
sebuah processor. System scheduler adalah otoritas
yang memutuskan kapan sebuah thread memegang
control dari core dan masuk ke running state (kondisi
berjalan)

Cloud Computing-Week 6-Concurrency di Cloud


17 Thread dan Koordinasi Aktifitas
 Kondisi dari sebuah thread dan aksi yang menyebabkan
perubahan kondisi

Cloud Computing-Week 6-Concurrency di Cloud


18 Thread dan Koordinasi Aktifitas

 Multithreading pada level aplikasi memungkinkan


thread berbagi sumber daya – sumber daya yang
dialokasikan untuk aplikasi. Sedangkan thread pada
sistem operasi di balik layar mendukung berbagai
macam fungsi manajemen sumber daya

Cloud Computing-Week 6-Concurrency di Cloud


19 Thread dan Koordinasi Aktifitas

Cloud Computing-Week 6-Concurrency di Cloud


20 Kunci dan Deadlock
 Concurrency memerlukan suatu disiplin dimana pada
saat thread mengakses sumber daya – sumber daya
bersama. Membaca data bersama secara bersamaan
tidak dibatasi, tapi menulis data bersama ditentukan
oleh kontrol concurrency.
 Kunci (lock) adalah obyek yang memberikan akses ke
bagian kritis. Untuk memasuki bagian kritis, sebuah
thread harus mendapatkan kunci untuk bagian tersebut
dan setelah selesai, thread harus melepaskan kunci
tersebut.

Cloud Computing-Week 6-Concurrency di Cloud


21 Kunci dan Deadlock

 Kunci dapat menyebabkan deadlock. Deadlock terjadi


pada saat process/thread berlomba satu sama lain
dalam mendapatkan sumber daya, dipaksa untuk
menunggu sumber daya tambahan yang dipegang
oleh proses/thread lain dan tidak ada proses/thread
yang dapat selesai.

Cloud Computing-Week 6-Concurrency di Cloud


22 Kunci dan Deadlock
 Gambar thread deadlock

Cloud Computing-Week 6-Concurrency di Cloud


23 Kunci dan Deadlock
 Thread T1 dan T2 mulai eksekusi pada saat yang
bersamaan pada waktu t0. Kedua thread
membutuhkan sumber daya R1 dan R2 untuk
menyelesaikan eksekusi. T1 mendapatkan R1 pada
waktu t1 dan T2 mendapatkan R2 pada waktu t2. Pada
waktu t3 > t2, thread t1 berusaha untuk mendapatkan
sumber daya R2 yang dipegang oleh t2 dan menunggu
sampai R2 dilepaskan. Pada waktu t4 > t3, thread T2
berusaha untuk mendapatkan sumber daya R1 yang
dipegang oleh thread T1 dan menunggu sampai R1
dilepas. Masing-masing thread T1 dan T2 tidak dapat
melanjutkan eksekusi dan saling menunggu

Cloud Computing-Week 6-Concurrency di Cloud


24 Load Balancing

 Diformulasikan sebagai berikut: ada satu set pekerjaan


(task) T yang didistribusikan diantara mereka ke satu set
processor P yang melakukan komputasi dengan
kecepatan yang sama sedemikian rupa sehingga
hanya satu pekerjaan yang dapat dijalankan pada satu
processor pada suatu waktu tertentu; tidak ada yang
didahulukan dan setiap pekerjaan berjalan sampai
selesai.

Cloud Computing-Week 6-Concurrency di Cloud


25 Exercise
1. Apa yang dimaksud dengan Concurrency ?
2. Waktu proses (run-time) dari aplikasi yang bersifat data-
intensive dapat memakan waktu berhari-hari atau
mungkin berminggu-minggu bahkan pada
supercomputer yang hebat. Checkpoint dilakukan
untuk komputasi yang berjalan lama secara periodic
dan pada saat terjadi crash, komputasi akan dimulai
kembali dari checkpoint yang terakhir. Strategi ini
berguna untuk program dan model debugging;
dimana pada saat seseorang mengamati hasil
sebagian yang salah, komputasi dapat di mulai lagi

Cloud Computing-Week 6-Concurrency di Cloud


26 Exercise
.. 2. dari checkpoint dimana hasil sebagian (partial) benar.
n adalah perlambatan karena checkpointing, untuk
komputasi dimana checkpoint diambil setelah proses
berjalan T unit waktu dan setiap checkpoint
membutuhkan K unit waktu.
Diskusikan pilihan optimal dari T dan K.
Data checkpoint dapat disimpan local pada tempat
penyimpanan kedua dari setiap processor atau pada

Cloud Computing-Week 6-Concurrency di Cloud


27 Exercise
.. 2. server penyimpanan khusus yang dapat diakses
dengan menggunakan jaringan komputer
berkecepatan tinggi.
Solusi mana yang optimal dan mengapa?

Cloud Computing-Week 6-Concurrency di Cloud

Anda mungkin juga menyukai