Fault tolerant virtual machine consolidation for energy-efficient cloud systems
Enerji verimli bulut sistemler için hataya dayanıklı sanal makine bütünleştirme
- Tez No: 510186
- Danışmanlar: DOÇ. DR. TOLGA OVATMAN
- Tez Türü: Yüksek Lisans
- Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
- Anahtar Kelimeler: Belirtilmemiş.
- Yıl: 2018
- Dil: İngilizce
- Üniversite: İstanbul Teknik Üniversitesi
- Enstitü: Fen Bilimleri Enstitüsü
- Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
- Bilim Dalı: Bilgisayar Mühendisliği Bilim Dalı
- Sayfa Sayısı: 75
Özet
Günümüzde yüksek kapasiteli ağların her yerde ve yerden kullanılabilir olması, sunucuların ucuzlamasının yanı sıra insanların donanımla değil yapacakları işlere odaklanmak için donanımın sanallaştırılmasının yaygın olarak benimsenmesi bulut bilişimin büyümesinde çok büyük pay sahibi olmuştur. Ayrıca bulut bilişim sağladığı kullandığın kadar ödeme sistemi ve ihtiyaca göre sistemin otomatik bir şekilde yeni sanal makine eklenerek ya da olan sanal makinelere kaynak eklenerek büyütülmesi bulut bilişim diğer tercih sebeplerindendir. Ancak bulut bilişimin yaygınlaşması ve son kullanıcı için sanallaştırılsa da yine fiziksel makineler üzerinde olması kullanılan enerjinin artmasına neden olmuştur ve araştırmaların bulut bilişim performansı kadar enerji kullanımının azaltılması konusuna kaymasına da neden olmuştur. Bunun dışında bulut bilişim kullanıcılarının tüm uygulamarını bulut ortamlarına taşımasıyla birlkte bulut ortamlarındaki fiziksel makinelerde ya da sanal makinelerde karşılaşılabilecek yazılımsal ya da donanımsal hataların doğurduğu sonuçlar daha önemli hale gelmeye başlamıştır. Bu da hataya dayanıklı bulut bilişim algoritmalarının oluşturulması ihtiyacını doğurmuştur. Sanal Makinelerin üzerinde bir uygulama çalışsa da çalışmasa da kullanılan işletim sisteminden kaynaklı belirli bir kaynak kullanımı olduğu ve bunun da enerji kullanımını arttırdığı gözlenmiştir. Bu durumundaki lüzumsuz enerji kullanımını azaltmak için sanal makinelerin bütünleştirilmesi ihtiyacı doğmuştur. Böylelikle belirli sanal makineler kapatılıp üzerindeki uygulamalar başka sanal makinelere dağıtılarak sistemin daha az makine ile enerji kullanımının azaltılması planlanmıştır. Bu konuda yapılan birçok akademik araştırma enerji verimliliğini sanal makine bütünleştirmesiyle arttırılabildiğini ispatlamıştır. Ancak sanal makinelerin bütünleştirilmesi; kapatılacak sanal makinenin üzerindeki uygulamaların bir ya da daha fazla sanal makineye taşınması ihtiyacını doğurur. Bunun için canlı göç ve soğuk göç olmak üzere iki temel göç yöntemi vardır. Canlı göç yönteminde bir sanal makineden başka bir sanal makineye taşınacak uygulama durdurulmadan taşınırken soğuk göç yönteminde uygulama dururulup taşınır ve sonra yeniden başlatılır. Bu yöntemlerin ikisinin de farklı kullanım alanları vardır örneğin eğer uygulamanın belirli bir servis kalitesini yakalamak için durdurulmaması gerekiyorsa canlı göç, eğer enerji ve kaynak kullanımları arttırılmadan taşınması gerekiyorsa soğu göç yönteminin kullanılması gerekmektedir. Bu çalışmada bu iki göç yöntemi de denenmiş ve sonuçlar ikisin için de çıkarılmıştır.Enerji verimliliğini artırmak için sanal makinelerin bütünleştirilmesi bulut ortamın; sanal ya da fiziksel makinelerde oluşabilecek hatalara açık duruma gelmesine neden olabilir. Hataya karşı alınan önlemler genel olarak iki sınıfa ayrılabilir bunlardan ilk algoritma hata olmadan önce hata olma ihtimaline hazılanıp hatanın getirebileceği sorunların azaltılması ya da hatanın önceden tahmin edilerek oluşmasının önlenmesini sağlar. İkinci önlem algoritması ise hata olduktan sonra hızlı bir şekilde sistemi eski haline getiren genelde replikasyon algoritmalarıdır.Bu çalışmada hatadan önce hata olma ihtimali öngörülerek hatanın getireceği hsaarın minuma indirilmesine çalışan bir hata önlem algoritması önerilmiştir. Bu durumda ya uygulamalar için garanti edilen servis zamanı karşılanamayacak ya da uygulamaların başka makinelere taşınarak tekrar çalışması sağlanacaktır. Ancak uygulamaların bir makineden başka bir makineye taşınması uygulamanın canlı göç algoritmasının durumda, normalde kullandığından daha fazla bir enerji kullanımına sahip olmasına neden olacaktır. Eğer soğuk göç algoritması kullanılır ise garanti edilen servis zamanının sağlanamama ihtimali doğacak ve servis kalitesi düşecektir. Aynı şekilde eğer uygun bir sanal makine bulunamazsa ve yeni bir sanal makine oluşturulması gerekirse bu da sanal makinenin enerji kullanımının kurulum işlemlerinden dolayı bir süreliğine normalde olduğundan daha fazla olmasına sebep olacaktır. Bu durumlar aslında sanal makine bütünleştirerek enerji kullanımını düşürmek isterken enerji kullanımının aksine artmasıyla sonuçlanacaktır. Bunun için sanal makine bütünleştirme kararlarının hata durumların göz önünde bulundurularak verilmesi gerekmektedir.Bu çalışmada bulut sisteminin enerji verimliliğini arttırmak için sanal makine bütünleştirmesi yapılırken bir yandan da bulut sisteminin hata durumlarına karşı daha dayanıklı olmasını sağlayan bir algoritma önerilmiştir. Algoritmanın denenmesi için Java ile geliştirilen bir simülasyon yazılımı kullanılmıştır. Üretilen uygulamaların üretilme zamanları ve kaynak kullanımları Google'ın yayınladığı Cluster Data Traces'ten normalize edilerek simülasyonda dahil edilmiştir. Hata olma zamanları genel kabul gördüğü üzere Weibull Dağılımına göre rastgele seçilmiştir. Genel Simulasyon yapısında bir veri merkezi içerisinde bir fiziksel makine ve bu fiziksel makinenin içerisinde ihtiyaca göre birden fazla sanal makine ve bu sanal makinelere atanan belirli zamanlarda oluşturulan uygulamalar olduğu varsayılmıştır.Simülasyon akışında ilk adım olarak uygulamalar Google'dan alınan normalize edilmiş verilere göre belirli kaynak ihtiyaçları, belirli yaşam süreleri ve belirli başlangıç zamanları ile oluşturulur. Ayrıca simulasyonda uygulamaların kaynak olarak yalnızca bellek ve işlemci kullanımları dikkate alınmıştır. Sonrasında oluşturulan bu uygulamalar Round Robin algoritmasına göre sanal makinelere yerleştirilir. Uygulama yerleştirmesi olarak daha karmaşık ve daha iyi algoritmalar önceki çalışmalarda uygulanmış ve iyi sonuçlar verdiği kanıtlanmıştır ancak bu alan bu araştırmada incelenen bir alan olmaıdğı için basit bir algoritma seçerek simulasyon ilerletilmiştir. Çalışmanın odaklandığı nokta atamalar gerçekleştikten sonrasında sanal makinelerin kontrolünün yapıldığı kısımdır. Bu kısımda o simulasyon periyodunda seçilen algoritmaya göre tüm sanal makineler kontrol edilir ve seçilen bütünleştirme algoritmasına göre bütünleştirme kararı verilir ya da verilmez. Simulasyonda üç farklı algoritma seçilebilir bunların ilki hiç bir sanal makineyi bütünleştirmeyen bütünleştirmesiz algoritma, ikincisi belirlenen eşik kullanım miktarından daha az kaynak kullanıma sahip sanal makineleri bütünleştiren bütünleştirme algoritması ve sonuncusu önerilen hataya dayanıklı bütünleştirme algoritmalarıdır. Bütünleştirme ve hataya dayanıklı bütünleştirme algoritmaları periyot sonlarında tüm sanal makineleri kontrol ederek eğer sanal makinelerin kaynak kullanımları belirlenen eşik değerden daha düşükse bütünleştirme algoritmasında bütünleştirme kararını verir. Ancak hataya dayanıklı bütünleştirme algoritmasında eşik değerden daha az kaynak kullanımına sahip sanal makineyi bütünleştirme adayı olarak belirleyip algoritma içerisinde eğer sanal makine bütünleştirilirse sistem hataya açık bir duruma gelecek mi diye kontrol edip bu kontrolün sonucuna göre bütünleştirme kararını onaylar ya da reddeder. Bulut ortamının hataya açık duruma gelmemesi için önceden verilen karara göre sistemdeki en yüksek, en düşük ya da ortalama kaynak kullanımına sahip sanal makineyi garanti edilen sanal makine olarak belirlenir ve bütünleştirme adayı sanal makine ile garanti edilen sanal makine dışındaki diğer makinelere garanti edilen sanal makinenin ve bütünleştirme adayı sanal makinenin uygulamalarının taşınıp taşınamayacağı kontrol edildikten sonra bütünleştirme kararını onaylanır ya da reddedilir.Önerilen algoritmanın performansını görmek için simulasyonda 4 farklı deney yapılmıştır. Bu deneylerin ilk üçünde canlı göç yöntemi kullanıp, ilk ikisinde hataya dayanıklı bütünleştirme algoritması için en yüksek kullanımlı sanal makinenin garanti edilen sanal makine olarak seçilmiştir.İlk deneyde canlı göç yöntemi kullanılarak değişen eşik değerlerine bütünleştirmesiz, eşik değere göre bütünleştiren ve hataya dayanıklı bütünleştirme algoritmalarının enerji kullanımı değişimleri karşılaştırılmıştır. Bu karşılaştırma için verilen yüzde 30-40-50-60-70 eşik değelerinde bütünleştirmesiz ve hataya dayanıklı bütünleştirme algoritmalarının eşik değer değişimlerinden etkilenmedikleri ancak bütünleştirme algoritmasının eşik değer arttıkça enerji kullanımının arttığı gözlemlenmiştir. Ayrıca hataya dayanıklı bütünleştirme algoritmasının diğer iki algoritmadan tüm seçilen eşik değerler için daha az enerji kullanımı olduğu da görülmüştür. Sonrasında hataya dayanıklı bütünleştirme algoritmasının en başarılı olduğu yüzde 50 eşik değer için yine bu üç algoritmanın uygulama göç ettirme sayıları ve enerji kullanımlarının simulasyon zamanındaki değişimleri karşılaştırılmıştır. Bu deneyde de hataya dayanıklı bütünleştirme algoritmasının enerji kullanımını yüzde 37 ve toplam uygulama göç sayısını yüzde 9 düşürdüğü görülmüştür. Ayrıca hata olma durumlarındaki aşırı enerji artışının da yüzde 11 daha az olduğu saptanmıştır.Üçüncü deneyde hataya dayanıklı bütünleştirme algoritmasının garanti edilen sanal makinesi olarak en yüksek mi en düşük mü yoksa ortalama kaynak kullanımına sahip sanal makineyi mi seçmesinin enerji kullanımına ve uygulama taşıma sayısına etkisi karşılaştırılmıştır. Bu deneyde bu üç farklı parametre ile eşik değere göre bütünleştirme algoritmaları karşılaşırılmıştır. Hataya dayanıklı bütünleştirme algoritmasının garanti edilen sanal makine kaynağı miktarı düştükçe bütünleştirme isteğini kabul etme ihtimali arttığı için algoritma sonuçları gittikçe eşik değere göre bütünleştirme algoritmasına yakınsamıştır. Ancak garanti edilen sanal makinein kullanımının yükseldiği noktada hataya dayanıklı bütünleştirme algoritmasının en iyi sonuçlara ulaştığı görülmektedir.Son deneyde ise soğuk göç yönteminin hataya dayanıklı bütünleştirme ve bütünleştirme algoritlarındaki etkileri incelenmiştir. Bu deneyde 0'dan 100'e kadar uygulama taşıma süreleri verilmiş ve bunların ortalama uygulama çalışma süresine farklı algoritmalar için etkisi karşılaştırılmıştır. Uygulama taşıma sürelerinin artması hataya dayanıklı bütünleştirme algoritmasını bütünleştirme algoritmasına göre daha az etkilediği ve hataya dayanıklı bütünleştirme algoritmasında uygulamaların daha kısa zamanda işlemlerini bitirerek servis zamanını çok fazla arttırmadığı görülmüştür. Bu da alogirtmanın servis kalitesinin diğer algoritmalara göre daha iyi olduğunu göstermiştir.
Özet (Çeviri)
The requirement of optimizing large hardware and reducing their costs while considering the demand of software infrastructure organizations contributes Cloud computing to get more popular. Besides, automatic scaling, virtualization of hardware and guaranteed service performance features of Cloud computing increase the ease of adoption.On the other hand, the rise of Cloud computing applications may cause enormous energy consumption. Therefore, while satisfying the Cloud computing features, Virtual Machines (VMs) may be consolidated based on their utilization in order to balance the load or optimize energy consumption of physical machines.Since, these physical resources are vulnerable to system failure or in the need of maintenance, the probability of unavailable physical resources and coordination of the VMs over physical machines should be considered by a proposed optimization model.Otherwise, it is possible to encounter adverse results such as various unnecessary application migrations and consolidations of VMs that may easily lead to Service Level Agreement (SLA) violations and inefficient use of energy. In this study, a new model is suggested to decrease energy consumption and decrease number of application migration without violating SLA, while considering the fault occurrence possibilities in the cloud environment. Simulation software is developed by using Java 8 for this study. The main flow of the simulation could be separated as two main parts; application assignment to VM and VM consolidation on a physical machine.In the first part of the simulation, the applications are placed to VMs by using Round Robin algorithm. After that, the second part of the simulation checks all the VMs for consolidation; according to the selected algorithm. In the simulation, there are three types of algorithms could be selected; no-consolidation algorithm, consolidation by threshold algorithm and Fault Tolerant Consolidation (FTC) algorithm. Comparison of energy consumption on different threshold values, changes of energy consumption and number of application migrations during the simulation, by using different Guaranteed VM (GVM) selection policies and comparing application lifetime in the case of cold migration there are four different experiments has done to prove the performance of the FTC algorithm.Experiment results show that proposed approach decreases energy consumption by approximately 37% and the number of application migration by approximately 9%. Furthermore, when the fault occurs, the rise of energy consumption is less than 11% with the help of proposed model.
Benzer Tezler
- How cryptographic implementations affect mobile agent systems
Şifreleme gerçekleştirmelerinin gezgin aracı internet sistemlerini nasıl etkilediği
İSMAİL ULUKUŞ
Yüksek Lisans
İngilizce
2003
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolBoğaziçi ÜniversitesiSistem ve Kontrol Mühendisliği Ana Bilim Dalı
PROF. DR. EMİN ANARIM
- EdgeKV: Decentralized, scalable, and consistent storage for the edge
EdgeKV: Sınır bilişim için dağıtık, ölçeklenir ve tutarlı veri depolama sistemi
KARIM MOHAMED ABDELAZIM ABOUELMAATI SONBOL
Yüksek Lisans
İngilizce
2020
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolKoç ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
PROF. DR. ÖZNUR ÖZKASAP
- Investigation of amazon and google for fault tolerance strategies in cloud computing services
Amazon ve google'ın bulut bilişim servislerinde hata tolerans stratejisi kapsamında incelenmesi
SHEREEN ALRAHEYM
Yüksek Lisans
İngilizce
2015
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolÇankaya ÜniversitesiMatematik ve Bilgisayar Bilimleri Ana Bilim Dalı
YRD. DOÇ. DR. ÖZGÜR TOLGA PUSATLI
DR. SİNAN CAN AÇAN
- Topology-aware fast re-route algorithms for fault tolerant networking
Hata toleranslı haberleşme için topoloji farkında hızlı yeniden yönlendirme algoritmaları
SELÇUK CEVHER
Doktora
İngilizce
2016
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolKaradeniz Teknik ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
DOÇ. DR. MUSTAFA ULUTAŞ
DR. İBRAHİM HÖKELEK
- Linux kümelerinin hata toleranslı uygulamalardaki önemi ve bir örnek uygulama
The importance of linux clusters in fault tolerant applications and a sample application
GÜRKAN TUNA
Yüksek Lisans
Türkçe
2008
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolTrakya ÜniversitesiBilgisayar Mühendisliği Bölümü
YRD. DOÇ. DR. ERDEM UÇAR