SEN – Scheduler Enhanced, Bulut Platformları için Kaynak Planlayıcısı

SEN (Scheduler ENhanced) projesi bulut kümelerinde bulunan kaynakların etkin bir şekilde kullanılabilmesi amacına yönelik olarak TÜBİTAK Bulut Bilişim ve Büyük Veri Laboratuvarı (B3LAB) bünyesinde geliştirilmektedir. Bu kapsamda farklı stratejilere yönelik kaynak planlaması yapabilecek yazılım mimarisi ile tasarlanmıştır. Projenin mevcut aşamasında bulut kümelerinde enerji tasarrufunu hedefleyen kaynak planlaması gerçekleştirilmiştir.

SEN projesi genişleyebilir, esnek mimari altyapısı sayesinde farklı kullanım senaryolarını destekleyebilecek iki ana özelliğe sahiptir. Bunlardan ilki markette bulunan OpenStack, Apache CloudStack gibi farklı bulut bilişim sistemleri üzerinde kaynak planlamasını desteklemesidir. İkincisi ise kendi içerisinde başarımı test edilmiş algoritmalar bulundurması ve ihtiyaç dahilinde yeni algoritmalar geliştirilip sadece bir konfigürasyon ayarı ile kullanıma alınabilmesidir.

SEN mevcut durumda bulut kümelerinde bulunan sanal makina ve depolama birimlerini barındıran kaynakların planlaması işlemlerini yaparak enerji tasarrufu sağlamaktadır.

Scheduler ENchanced Mimari Yapı

SEN 3 önemli bileşenden oluşmaktadır: “input handlers”, “output handlers” ve “core”. Tüm bileşenler birbiri ile RESTful olarak haberleşmektedir.

Input handlers : Kaynak planlaması yapılacak olan bulut kümesindeki metrikleri ve diğer gerekli bilgileri toplar. Adaptör benzeri bir yapıdadır. Bulut altyapılarında bulunan CPU, bellek, disk kullanımı ve diğer kritik değere sahip kaynakların bilgilerini sağlar.

Core: “Input Handler” bileşeninden kaynak planlaması yapacağı küme ile ilgili gerekli bilgileri alarak kullanıcı tarafından seçilen algoritma ile bu kaynakların optimizasyonunu yaparak yeni bir kaynak planı oluşturur. İçerisinde mevcut algoritmalar bulunmakla beraber yeni algoritmalar kolaylıkla eklenebilir.

Output handlers: Bulut kümesi üzerinde gerçekleştirilecek olan işlemleri gerçekleştiren bileşendir. Algoritmalar tarafından önerilen kaynakların yeni yerleşim planını gerçekleştirmek için bulut kümesi üzerinde canlı göç ve gerekli diğer değişiklikleri gerçekleştirirler. Kaynakların yeni yerleşimi ile boşa çıkan kaynaklar var ise bu kaynakların kapatılmasını yada yeni kaynak ihtiyacı var ise kapalı olan kaynakların açılıp kullanıma alınmasını sağlarlar.

SEN projesi içerisinde 3 adet sanal makina yerleşim algoritması kullanıma sunulmuştur. Bunlar: Round-Robin, Best-Fit Decreasing ve Best-Fit Decreasing algoritmasına yeni özellikler katılarak oluşturulan Extended Best-Fit Decreasing algoritmalarıdır.

SEN farklı komut kümesi içeren işlemcilere (örn:Intel/AMD) sahip bilgisayarlardan oluşan heterojen bulut kümelerinde kaynak planlaması yapabilme yetkinliğine sahiptir.

Sanal makinalar oluşturulurken belirtilen sunucu grubu kuralları (Affinity – anti affinity) SEN tarafından kaynak planlaması yapılırken dikkate alınmakta ve en az sayıda göç işlemi yapılarak yeni bir yerleşim yapısı önerilmekte ve uygulanmaktadır.

SEN projesi mevcut durumunda Openstack ile oluşturulmuş bulut kümelerinde kaynak planlaması yapabilmek için gerekli “input handler” ve “output handler” geliştirilmiş ve OpenStack “Liberty” ve “Mitaka” versiyonlarında test edilmiştir. SEN “input handler” bileşeninde gerekli CPU, bellek, disk metrikleri Ceilometer ve Nova istemci programlama arayüzleri aracılığı ile alınmaktadır. Bulut kümesinden elde edilen bu bilgiler SEN “core” bileşenine aktarılarak geliştirilmiş algoritmalar ile yeni bir kaynak planlaması oluşturulmaktadır. Son olarak elde edilen kaynak planı Openstack için geliştirilmiş olan SEN “output handler” bileşeni aracılığıyla göç işlemleri ve sunucuların otomatik olarak kapama açma işlemleri yapılarak uygulanmaktadır. Böylelikle SEN kullanımı ile bulut kümesinde enerji kazanımı sağlanmaktadır. Testler sonucunda elde edilen enerji kazanımı gerçek zamanlı olarak donanımsal bir enerji ölçer ile hesaplanmıştır.

SEN projesi kaynak planlamasını gerçekleştirirken KVM, Nova client API, Ceilometer client API, canlı göç ve donanımları kapatma/açma işlemleri ile hedefine ulaşmaktadır. Kullanılan araçlar farklı bulut platformlarında değişse de “input handler” ve “output handler” bileşenlerinin uyarlanması ile SEN “core” bileşeninde herhangi bir değişiklik gerekmeden mevcut algoritmalar ilgili platform için de kullanılabilir olmaktadır.

Sunucuların kaynak planlamasının daha akıllı yapılabilmesi amacı ile SEN proje ekibi tarafından makina öğrenmesi ve genetik algoritmlar ile gelecek kullanım tahminlemesi üzerine çalışmalar sürdürülmektedir.

Scheduler ENchanced Mimari Yapı

sen-mimari-akisi
Scheduler ENchanced (SeN) Akış Şeması

SEN PROJESİ SUNUMU

PAYLAŞ

YORUM YOK