Round Robin İş Zamanlama Algoritması

Sunucuya yapılan istek yoğunluğundan dolayı hepimiz işlerimizin bir yerinde sıkıntı yaşamışızdır. Tabi ki bu problem yeryüzünde ilk defa bizim başımıza gelmiyor. 🙂 Bizden öncekiler de aynı yollardan geçtiği için bu soruna çözüm aramışlar. Çalışmaların sonucu olarak ortaya Round Robin algoritması çıkmış.  Özellikle işletim sistemleri konusunda epeyce bilinirliği olan bir algoritmadır.

Bir siteniz var. Anlık olarak gelen ziyaretçilerin hepsine ayrı ayrı cevap veremiyor hale geldiniz. Sunucunuz kaldıramıyor. Sitenize gelen ziyaretçilerin isteklerine tek DNS üzerinden cevap vermek yerine birden fazla DNS çalıştırmak gelen anlık istek yoğunluğunu yorulmadan kaldırabilir hale gelebilirsiniz. Burada aslında gelen istek yükünü dağıtmıyoruz. Gelen istekleri birden fazla adreste işliyoruz. Sıraya soktuğumuz adresler gelen istekleri işleyip istemciye cevap vermekle yükümlü oluyor. Bu da size cevaplanmamış soru bırakmıyor ve ziyaretçinizi memnun ağırlıyorsunuz. 🙂

Örnek olarak rastgele zaman dilimi belirleyelim: Ben 7 saniye olarak belirledim.

P1 işlemi için -> bitirme süresi: 16 sn
P2 işlemi için -> bitirme süresi: 15 sn
P3 işlemi için -> bitirme süresi: 8 sn
P4 işlemi için -> bitirme süresi: 3 sn

İlk olarak P1 işlemi sürece girer. 16 – 7 = 9 sn kalır.
P2 işlemi sürece alınır. 15 – 7 = 8 sn kalır.
P3 işlemi kuyruktan çıkar. 8 – 7 = 1 sn kalır.
P4 işlemi sürecte sıradaki işlem: 3 – 7 (süreç bitti)

Sıra tekrar başa döner.

P1 -> 9 – 7 = 2 sn kalır.
P2 -> 8 – 7 = 1 sn kalır.
P3 -> 1 – 7 (süreç bitti)
P4 -> P1 (süreç bitti)

İşlem süreçleri başa döner.

Gantt Chart çizelgesi de şu şekilde oluşur:

robin-sureciBu algoritmanın en avantajlı özelliği diğer çözümlere göre en ucuz yöntem olmasıdır. Fakat hosting üzerinde karşıladığınız istemci isteklerini farklı hostlarda adreslediğiniz için her istekte aynı makineye gitmeme ihtimali olduğundan oturum (session düşmesi) yaşayabilirsiniz. Access log kullanıyorsanız farklı sunucularınıza ayrı ayrı log yazılır. Bir sunucuda yapılan veri girişi herhangi bir önlem almazsanız diğer sunucuya gitmez. Önlemlerinizi alır doğru adımları atarsanız başarılı bir algoritmadır. Sırtınızı kolay kolay yere getirmez. 🙂

Bu yazı Algoritma, Nasıl Çalışır? kategorisine gönderilmiş ve , , ile etiketlenmiş. Kalıcı bağlantıyı yer imlerinize ekleyin.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir