dc.contributor.author |
Dimitrios, Dologlou
|
en |
dc.contributor.author |
Δόλογλου, Δημήτριος
|
el |
dc.date.accessioned |
2022-10-12T10:16:43Z |
|
dc.date.available |
2022-10-12T10:16:43Z |
|
dc.identifier.uri |
https://dspace.lib.ntua.gr/xmlui/handle/123456789/55900 |
|
dc.identifier.uri |
http://dx.doi.org/10.26240/heal.ntua.23598 |
|
dc.rights |
Default License |
|
dc.subject |
Application distribution |
en |
dc.subject |
Κατανομή Εφαρμογών |
el |
dc.subject |
Resource management |
en |
dc.subject |
Kubernetes |
en |
dc.subject |
Scheduler |
en |
dc.subject |
Interference Awareness |
en |
dc.subject |
Νεφοϋπολογιστιικό Σύστημα |
el |
dc.subject |
Διαθεσιμότητα |
el |
dc.subject |
Κυβερνήτης |
el |
dc.subject |
Αλγόριθμοι |
el |
dc.title |
Application distribution to computing systems |
en |
dc.title |
Κατανομή εφαρμογών σε υπολογιστικά συστήματα |
el |
heal.type |
bachelorThesis |
|
heal.classification |
Computer Engineering |
en |
heal.classification |
Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών |
el |
heal.language |
el |
|
heal.language |
en |
|
heal.access |
free |
|
heal.recordProvider |
ntua |
el |
heal.publicationDate |
2022-03 |
|
heal.abstract |
Ο σκοπός της διπλωματικής εργασίας ήταν η ανάπτυξη αλγορίθμων για την βελτιστοποίηση
της διαδικασίας κατανομής εφαρμογών σε υπολογιστικά νέφη. Καθώς η χρήση του υπολογιστικού
νέφους αυξάνεται, ταυτόχρονα αυξάνονται και οι απαιτήσεις υπολογιστικών πόρων για την
διάθεση υπηρεσιών, όπως η εξυπηρέτηση εφαρμογών. Όμως, η παροχή υπολογιστικών πόρων
αποτελεί σημαντικό κόστος και είναι φυσικά αδύνατο να έχουμε απεριόριστους πόρους. Συνεπώς
είναι επιτακτική η υλοποίηση αλγοριθμικών τεχνικών που κατανέμουν εφαρμογές σε
υπολογιστικά νέφη με τέτοιον τρόπο, ώστε αφενός να εξοικονομούμε τη διάθεση πόρων κατά το
μέγιστο δυνατό και αφετέρου να διατηρούμε την εξυπηρέτηση των εφαρμογών στο απαιτούμενο
επίπεδο.
Για την κατανομή εφαρμογών σε υπολογιστικά συστήματα, χρησιμοποιείται ευρέως ένα
σύστημα ενορχήστρωσης γνωστό ως Kubernetes. Το Kubernetes αξιοποιεί την χρήση των
containers για την διαχείριση και κατανομή εφαρμογών. Μάλιστα ένα από τα main components
του Kubernetes είναι ο Scheduler του, ο οποίος καθορίζει το πως και το πότε θα κατανεμηθούν οι
εφαρμογές που καταφτάνουν στον cluster. Σε αυτό ακριβώς το σημείο προσπαθούμε να
εισάγουμε αλγοριθμικές τεχνικές, οι οποίες επηρεάζουν την συμπεριφορά του Scheduler και
καθορίζουν τον τρόπο που θα κατανεμηθούν οι εφαρμογές. Ως αποτέλεσμα, δημιουργούνται
ζεύγη εφαρμογών, με σκοπό την καλύτερη εξοικονόμηση των διαθέσιμων πόρων αλλά και την
αδιάλειπτη διαθεσιμότητα των εφαρμογών
Για την πειραματική αξιολόγηση των παραπάνω, υλοποιήθηκε ένας server από φυσικά
μηχανήματα, που επιτρέπει την εξυπηρέτηση εφαρμογών. Η βελτίωση της απόδοσης των
εφαρμογών που παρατηρήθηκε όμως, δεν αποτελεί μονοσήμαντο συμβάν του συγκεκριμένου
φυσικού server, καθώς οι αλγόριθμοι είναι υλοποιημένοι με τέτοιο τρόπο, ώστε να επηρεάζουν
την συμπεριφορά του Kubernetes Scheduler ασχέτως του συστήματος που βρίσκονται. Συνεπώς, η
παραπάνω τεχνική κατανομής εφαρμογών, μπορεί να βελτιώσει αισθητά την αντιστοίχιση
εφαρμογών σε οποιοδήποτε server, εξοικονομώντας υπολογιστικούς πόρους στο μέγιστο δυνατό. |
el |
heal.abstract |
The purpose of this thesis was the development of algorithmic concepts, in order to
optimize the process of distributing applications to cloud-based environments. Considering that the
usage of cloud computing has been increasing steadily over time, consequently has increased the
demand of more computing resources, in order to provide services, such as hosting applications.
Nonetheless, providing computing resources is a significant cost and it is physically impossible to
have unlimited assets. Therefore, it is imperative to implement algorithmic techniques, which
distribute applications to cloud computing services in such manner, so that on one hand, we save
the disposal of resources as much as possible and on the other hand, we maintain hosting
applications at the desired level.
In order to distribute applications to computing systems, an increasingly famous
orchestration system is used, known as Kubernetes. Kubernetes makes use of containers to manage
and distribute applications. Moreover, one of Kubernetes’ main components is its Scheduler, which
dictates when and how applications will be distributed, when arriving at the cluster. At that exact
point, we aim at adding algorithmic techniques, which will affect the Scheduler’s behavior and
determine the assignment of applications to server sockets. As a result, pairs of applications are
created, with the intension of conserving as many resources as possible, whilst also maintaining the
availability of our applications.
Regarding evaluating the above mentioned, a physical server was set up, so that to allow
application hosting. The improvement observed on application performance, is not dedicated to
this specific physical server, since the algorithms are constructed in such way, so that they alter the
behavior of the Kubernetes Scheduler, in spite of the system they are operating on. In conclusion,
the aforementioned technique of distributing applications, can improve noticeably the workload
share on any server, preserving computing resources as much as possible. |
en |
heal.advisorName |
Γκούμας, Γεώργιος |
el |
heal.advisorName |
Goumas, Georgios |
en |
heal.committeeMemberName |
Γκούμας, Γεώργιος |
el |
heal.committeeMemberName |
Πνευματικάτος, Διονύσιος |
el |
heal.committeeMemberName |
Κοζύρης, Νεκτάριος |
el |
heal.academicPublisher |
Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών |
el |
heal.academicPublisherID |
ntua |
|
heal.numberOfPages |
80 σ. |
el |
heal.fullTextAvailability |
false |
|