Penjadwalan Disk

Penjadwalan disk yang telah kita pelajari pada bab sebelumnya memfokuskan untuk menangani data yang konvensional, yang memiliki sasaran yaitu fairness dan throughput. Sedangkan pada bab ini data yang kita pelajari adalah data yang continuous.

Data continuous memiliki dua constraint yang tidak dimiliki oleh data konvensional yaitu: timing deadline dan rate requirements. Kedua constraint tersebut harus dipenuhi untuk mempertahankan jaminan QOS (Quality Of Service), dan algoritma penjadwalan disk harus dioptimalkan untuk constraint. Sayangnya, kedua constraint tersebut sering terjadi konflik. Data continuous biasanya membutuhkan kecepatan bandwidth disk yang sangat besar untuk memenuhi rate-requirements data. Karena disk memiliki transfer rate yang relatif rendah dan latency rate yang relatif tinggi maka penjadwal disk harus mengurangi waktu latensi untuk menjamin bandwidth yang tinggi. Bagaimanapun, mengurangi waktu latensi mungkin berakibat dalam sebuah penjadwalan policy yang tidak memberikan prioritas pada deadline.

Earliest-Deadline-First

Penjadwalan EDF yang digunakan pada penjadwalan proses pada sistem waktu nyata dapat digunakan juga untuk melakukan penjadwalan disk pada data yang continuous. EDF mirip dengan shortest-seek-time-first (SSTF), kecuali dalam melayani permintaan terdekat dengan silinder saat itu karena EDF melayani permintaan yang terdekat dengan deadline.

Masalah yang dihadapi dari pendekatan ini adalah pelayanan permintaan yang kaku berdasarkan deadline akan memiliki seek time yang tinggi, karena head dari disk harus secara random mencari posisi yang tepat tanpa memperhatikan posisinya saat ini. Sebagai contoh, disk head pada silinder 75 dan antrian dari silinder (diurutkan berdasarkan deadline) adalah 98, 183, 105. Dengan EDF, maka head akan bergerak dari 75, ke 98, ke 183 dan balik lagi ke 105 (head melewati silinder 105 ketika berjalan dari 98 ke 183). Hal ini memungkinkan penjadwal disk telah dapat melayani permintaan silinder 105 selama perjalanan ke silinder 183 dan masih dapat menjaga persyaratan deadline dari silinder 183.

Scan EDF

Masalah dasar dari penjadwalan EDF yang kaku adalah mengabaikan posisi dari read-write head dari disk, ini memungkinkan pergerakan head melayang secara liar ke dan dari disk, yang akan berdampak pada seek time yang tidak dapat diterima, sehingga berdampak negatif pada throughput dari disk. Hal ini pula yang dialami oleh penjadwalan FCFS dimana akhirnya dimunculkan penjadwalan SCAN, yang menjadi solusi.

Scan EDF merupakan algoritma hibrida dari kombinasi penjadwalan EDF dengan penjadwalan SCAN. SCAN-EDF dimulai dengan EDF ordering tetapi permintaan pelayanan dengan deadline yang sama menggunakan SCAN order. Apa yang terjadi apabila beberapa permintaan memiliki deadline yang berbeda yang relatif saling tertutup? Pada kasus ini, SCAN-EDF akan menumpuk permintaan, menggunakan SCAN ordering untuk melayani permintaan pelayanan yang ada dalam satu tumpukan. Ada banyak cara menumpuk permintaan dengan deadline yang mirip; satu-satunya syarat adalah reorder permintaan pada sebuah tumpukan tidak boleh menghalangi sebuah permintaan untuk dilayani berdasarkan deadline-nya. Apabila deadline tersebar merata, tumpukan dapat diatur pada grup pada ukuran tertentu. Pendekatan yang lain adalah dengan menumpuk permintaan yang deadlinenya jatuh pada treshold waktu yang diberikan, misalnya 10 permintaan pertumpukan.