Bulut ortamlarında hipervizör ve konteyner tipi sanallaştırmanın farklı özellikte iş yüklerinin performansına etkisinin değerlendirilmesi
Evaluation of the effect of hypervisor and container type virtualization on different workloads performance in cloud environments
Yazar: GÖKHAN IŞIK
Danışman: DR. ÖĞR. ÜYESİ UĞUR GÜREL
Eskişehir Osmangazi Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı / Bilgisayar Yazılımı Bilim Dalı
Derece: Yüksek Lisans, 2021
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Günümüzde fiziksel kaynakların mantıksal parçalara bölünerek daha verimli ve performanslı kullanılmasını sağlayan sanallaştırma teknolojilerindeki ilerlemeler, bulut bilişim, nesnelerin interneti, yazılım tanımlı ağlar ve ağ fonksiyonlarının sanallaştırılması teknolojilerinin gelişimine yön vermiştir. Son yıllarda hipervizör tipi sanallaştırma çözümlerine ek olarak işletim sistemi seviyesinde sanallaştırma sağlayan konteyner teknolojileri ortaya çıkmıştır. Kullanıcılarına daha verimli ve performanslı ortamlar sunmak için bulut altyapı sağlayıcıları hem hipervizör hem de konteyner tipi sanallaştırma çözümlerini desteklemeyi amaçlamaktadır. Sanallaştırma çözümleri, tasarımı bakımından farklılıklar barındırdığından uygulama tiplerine göre farklı performanslar gösterebilir. Kurumlar ve son kullanıcılar, uygulama tipine göre farklı bulut altyapılarına yönelmektedir. 
Bu tez kapsamında birden fazla sanallaştırma çözümünü destekleyen OpenStack bulut altyapı çözümü kullanılmıştır. OpenStack bulut altyapısında işlemci, bellek, ağ ve disk yoğunluklu iş yüklerinin Çekirdek Tabanlı Sanal Makine (Kernel-based Virtual Machine -  KVM) hipervizör ve Linux Daemon (LXD) konteyner sanallaştırma çözümleri üzerinde performans değerlendirmesi 'Alan bilgisine dayalı' yöntem uygulanarak gerçekleştirilmiştir. Performans testleri, PerfKit Benchmarker ve Cloudbench kıyaslama otomasyon araçları ile işlemci yoğunluklu iş yükü olarak High Performance Linpack (HPL), bellek yoğunluklu iş yükü olarak STREAM,  ağ yoğunluklu iş yükü olarak Iperf ve disk yoğunluklu iş yükü olarak Fio kıyaslama araçları kullanılarak OpenStack bulut ortamında gerçekleştirilmiştir. Yapılan testler sonucunda OpenStack bulut altyapısında LXD sanallaştırma KVM sanallaştırmadan işlemci, ağ, sabit disk sürücüsünde sıralı okuma gönderim gecikmesi, bant genişliği, saniyedeki giriş/çıkış sayısı ve sıralı yazma gönderim gecikmesi, bant genişliği, saniyedeki giriş/çıkış sayısı iş yüklerinde daha iyi performans sergilemiştir. KVM sanallaştırma ise LXD sanallaştırmadan bellek, sabit disk sürücüsünde rasgele okuma gönderim gecikmesi, bant genişliği, saniyedeki giriş/çıkış sayısında ve rasgele yazma gönderim gecikmesi, bant genişliği, saniyedeki giriş/çıkış sayısında daha iyi performans sergilemiştir. Bu durum OpenStack bulut altyapısında konteyner ve hipervizör sanallaştırma teknolojilerinin farklı tipteki iş yükleri üzerinde değişken sonuçlar çıkardığını göstermektedir.

Abstract:
Nowadays, advances in virtualization technologies, which enable physical resources to be used more performance and efficiently by dividing them into logical components, have led to the development of cloud computing, Internet of Things, software defined networks and network functions virtualization technologies. Recently, besides the hypervisor virtualization solutions, container technologies have emerged that provide virtualization at the operating system level. Cloud infrastructure providers aim to support both hypervisor and container type virtualization solutions in order to offer more efficient and performance environments to their users. Virtualization solutions may show different performances according to application types, as they differ in design. Institutions and end users are turning to different cloud infrastructures according to the application types.
In this thesis, OpenStack cloud infrastructure solution which supports multiple virtualization types has been used. Performance evaluation was carried out by applying 'Domain Knowledge-based Methodology' on the Linux Daemon (LXD) which is container type virtualization solution and Kernel-based Virtual Machine (KVM) which is a hypervisor type virtualization solution under different types of workloads in Openstack cloud infrastructure. Performance tests were carried out with PerfKit Benchmarker and Cloudbench benchmark automation tools by using High Performance Linpack (HPL) as a processor-intensive workload, STREAM as a memory-intensive workload, Iperf as a network-intensive workload and Fio as a disk-intensive workload in the OpenStack cloud environment. As a result of the tests, LXD virtualization outperformed KVM virtualization in processor-intensive, network-intensive, hard disk drive sequential read submission latency, bandwidth, input / output per second and sequential write submission latency, bandwidth, input / output per second workloads in OpenStack cloud infrastructure. On the other hand, KVM virtualization outperformed LXD virtualization in memory-intensive, hard disk drive random read submission latency, bandwidth, input / output per second and random write submision latency, bandwidth, input / output per second. This shows that container and hypervisor virtualization technologies in OpenStack cloud infrastructure produce changeable results on different types of workloads.