-
Notifications
You must be signed in to change notification settings - Fork 0
Algoritma Task Scheduling
Beberapa algorithm yang bisa diterapkan dalam load balancing di cloud adalah:
- Round Robin Task diberi secara 'melingkar'. Bisa menangani banyak pekerjaan, tetapi throughput bisa kecil dan waktu tunggu yang lama pada beberapa task.
- Shortest Job First (SJF) Melihat jumlah waktu proses terkecil. Waktu turnaround cepat, tetapi memrlukan estamis wktu proses yang akurat agar menjadi efektif.
- First Come First Serve (FCFS) Memproses task sesuai dengan urutan kedatangan. Sederhana dan mudah diimplementasikan, tetapi bisa menyebabkan waktu tunggu yang lama jika ada task yang besar di depan antrian.
- Particle Swarm Optimization (PSO) Algoritma berbasis kecerdasan swarm yang mengoptimalkan distribusi beban kerja berdasarkan posisi dan kecepatan partikel dalam ruang pencarian. Efektif dalam menemukan solusi yang mendekati optimal dalam waktu yang relatif singkat, terutama dalam lingkungan yang dinamis.
Untuk mencontohkan algoritma tersebut di dalam cloudsim, teman-teman bisa mendownload repository ini : https://github.com/michaelfahmy/cloudsim-task-scheduling/tree/master
Setelah itu isi dari folder src dari repo yang di download tadi (FCFS, PSO, RoundRobin, SJF, dan utils) dimasukkan ke folder example di dalam eclipse

Untuk contoh ini akan saya jelaskan untuk yang round robin. Buka folder RoundRobin lalu klik RoundRobinScheduler.java

Disini kita bisa lihat kode untuk membuat vm, mengatur cloudlet (tugas yang dijalankan), membuat datacenter, dan menjalankan simulasi. Tapi ada kode yang membuat hasil round robin tidak konsisten.

Di saat pembuatan cloudlet, ID cloudlet yang akan dijalankan oleh vm ada perintah randomnya int dcId = (int) (Math.random() * Constants.NO_OF_DATA_CENTERS); karena ada random itu maka hasilnya tidak akan konsisten untuk itu kita perlu menggantinya menjadi int dcId = i % Constants.NO_OF_DATA_CENTERS;
Setelah itu untuk mengatur jumlah dari data center dan jumlah tugas yang dilakukan bisa ke folder utils -> constants.java

Untuk melihat bagaimana cara algoritma RoundRobinnya bekerja bisa dilihat di RoundRobinDataCenterBroker.java

Setelah itu kita tinggal menjalankan kodenya dengan kembali lagi ke file RoundRobinScheduler.java dan pencet ctrl + F11. Hasilnya akan ada di console seperti ini:

Sekilas itu dari RoundRobin, selanjutnya bisa dipelajari sendiri untuk yang algoritma FCFS dan SJF.
Cloudsim ini akan sangat berguna untuk menyimulasikan Final Project kalian nanti karena bisa mengatur spek vm dengan cepat tanpa perlu menghapus dan membuat VM lagi di cloud provider dan juga mudah untuk setting load balancing nya.
Modul 1
- Prerequisite
- Dasar Teori
- Installasi
- Membuat Virtualisasi
- Konfigurasi Resource Virtual Machine
- Cara Bermain
- Konfigurasi Internet Pada Virtual Machine
- Sinkronisasi Folder
- Provisioning Aplikasi Pada Virtual Machine
- Soal Latihan
- Referensi
Modul 2
- Dasar Teori
- Installasi
- Terminologi Dasar
- Simple Provisioning Vagrant dengan Ansible
- Provisioning Multiple VM dengan Ansible
- Soal Latihan
- Referensi
Modul 3
- Virtual Machine vs Container
- Docker Instalasi
- Docker
- Docker Image
- Docker Container
- Docker Volume
- Dockerfile
- Docker Compose
- Soal Latihan
- Referensi
Modul 4
Modul 5