Η ανάπτυξη υπηρεσιοστρεφών υποδομών παροχής λογισμικού και υλισμικού ως υπηρεσία καθιστά εφικτή την χρησιμοποίηση αυτών από εξωτερικούς χρήστες με τη μορφή πληρωμής με βάση τη χρήση. Για την εξασφάλιση της απαιτούμενης ποιότητας υπηρεσίας στην παροχή αυτών των υπηρεσιών, είναι απαραίτητος ένας διαστρωματικός μηχανισμός αντιστοίχισης και μοντελοποίησης των χαρακτηριστικών της εφαρμογής που προσφέρονται σαν όροι στα συμβόλαια επιπέδου υπηρεσιών σε χαρακτηριστικά φυσικών πόρων εκτέλεσης. Στην διαδικασία αυτή πρέπει να ξεπεραστούν αγκυλώσεις και περιορισμοί που προκύπτουν λόγω της ύπαρξης διαφορετικών οντοτήτων (Πάροχος Εφαρμογής, Πάροχος Πλατφόρμας και Πάροχος Υποδομών) κατά μήκος της αλυσίδας αξίας των υπηρεσιοστρεφών υποδομών/αρχιτεκτονικών.
Στην παρούσα διατριβή αναλύονται διαφορετικές υποψήφιες μεθοδολογίες δυναμικής δημιουργίας μοντέλων εφαρμογών σε υπηρεσιοστρεφείς υποδομές και επιλέγεται η καταλληλότερη σύμφωνα με τους προαναφερθέντες περιορισμούς. Επιπλέον αναλύονται οι αδυναμίες αυτής και εφαρμόζονται καινοτόμοι τρόποι αντιμετώπισής τους, ώστε να είναι εφικτή η εφαρμογή της στο ζητούμενο πλαίσιο. Η τελική μορφή αυτής (γενετικά βελτιστοποιημένα νευρωνικά δίκτυα) δοκιμάζεται σε διαφορετικού τύπου εφαρμογές με στόχο την πρόβλεψη της απόδοσής τους με βάση το χρησιμοποιούμενο υλικό και την διαμόρφωσή τους. Επιπλέον, αναπτύσεται ένας μηχανισμός 2 επιπέδων που επεκτείνει την χρήση της και σε περιπτώσεις μη προκαθορισμένης και γνωστής ζήτησης της εφαρμογής. Μέσω της ανάλυσης των ιστορικών στοιχείων χρήσης αναγνωρίζονται μοτίβα συμπεριφοράς και δημιουργείται το κατάλληλο πλαίσιο συνδυασμένης πρόβλεψης.
Επιπλέον, σχεδιάζεται και υλοποιείται ένα αποσυζευγμένο υπηρεσιοστρεφές πλαίσιο για την ενθυλάκωση της επιλεγμένης μεθόδου σε περιβάλλοντα υπολογιστικών νεφών και το οποίο βασίζεται σε μαθηματικό λογισμικό ειδικού σκοπού. Με βάση το σχεδιασμό αυτό, είναι εφικτή η γρηγορότερη και ευκολότερη ανάπτυξη μεθόδων πρόβλεψης απόδοσης και η εναλλαγή τους. Επίσης λόγω της χαρακτηριστικής διαστρωμάτωσης, είναι εφικτή η εναλλαγή τεχνολογιών σε όλα τα ενδιάμεσα στρώματα, γεγονός που επιτρέπει την εκμετάλλευση καινοτόμων εξελίξεων στις αντίστοιχες υλοποιήσεις. Μέσω της ενδελεχούς ανάλυσης του πλαισίου αυτού, είναι εφικτή η ανίχνευση των κυριότερων σημείων καθυστέρησης και η δημιουργία εναλλακτικών μορφών υλοποίησης που μπορούν να εναλλάσονται σε πραγματικό χρόνο ώστε να ελαχιστοποιήσουν τις ανάγκες πόρων της υπηρεσίας πρόβλεψης.
Επιπρόσθετα, η διατριβή αυτή αναλύει την αλληλεπίδραση των εφαρμογών σε ένα κοινόχρηστο υπηρεσιοστρεφές πλαίσιο εκτέλεσης όπως τα Υπολογιστικά Νέφη. Επιλέγεται ένας περιορισμένος αριθμός τυπικών δοκιμίων και ανιχνεύεται η μείωση της απόδοσής τους λόγω του διαμοιρασμού των φυσικών πόρων. Παράμετροι που λαμβάνονται υπόψη κατά τη διαδικασία αυτή περιλαμβάνουν επίσης χαρακτηριστικά χρονοδρομολόγησης στις μονάδες επεξεργασίας καθώς και τρόπους ανάθεσης των εργασιών σε πολυεπεξεργαστικές αρχιτεκτονικές. Με βάση τα πειραματικά δεδομένα, μοντέλα πρόβλεψης της αλληλεπίδρασης αυτής αναπτύσονται, με βάση τα οποία ο Πάροχος Υποδομών μπορεί να γνωρίζει εκ των προτέρων την επίδοση ενός συγκεκριμένου συνδυασμού εργασιών που ανατίθενται σε ένα φυσικό κόμβο. Με τον τρόπο αυτό μπορεί να επιλέξει τους βέλτιστους συνδυασμούς για την ομαλότερη λειτουργία της υποδομής και την εξασφάλιση της ποιότητας υπηρεσίας.
The advent of service oriented infrastructures providing software and hardware as a service has rendered feasible the utilization of the latter by external users in the form of pay-per-use resources. In order to ensure the demanded quality of service during the provisioning of these resources, a multilayer translation and modeling mechanism is necessary, in order to convert the application terms that are offered in traditional service level agreement contracts to resource level attributes. During this process, specific requirements must be met and limitations overcome, that originate mainly from the existence of different entities (Software-as-a-Service, Platform-as-a-Service and Infrastructure-as-a-Service providers) along the value chain of service oriented infrastructures and architectures.
In the current thesis different candidate methodologies are analyzed with regard to their ability to dynamically create application models in service oriented infrastructures and the fittest one is selected based on the aforementioned limitations and requirements. Its weaknesses are also investigated and innovative approaches are applied in order to render it applicable to the desired framework. The final form of this method (genetically optimized artificial neural networks) is validated in a variety of real world applications for predicting their performance based on the given hardware of execution, their high level parameters and configuration. What is more, a two level mechanism (workload forecasting and translation) extends its use in cases where the application workload cannot be foreseen by the owner of the service. Through the proposed framework, historical data are analyzed and patterns of usage are discovered that aid in the full automation of the management framework.
Furthermore, a multi-layer, decoupled and service oriented framework, based on specialized numerical software, is designed and implemented for incorporating the selected method in cloud computing environments. Based on this scripting software, the development or evolution of the modeling methods is enhanced and aided. What is more, due to the decoupling of the layers, it is feasible to interchange technologies in all the involved layers without affecting the remaining framework, in order to exploit advances in the respective technological fields. Through the detailed analysis of the framework’s behaviour the performance bottlenecks are discovered and alternative design methods are created in order to interchange between them based on the runtime usage of the service. This way the needed resources for the framework are minimized and its performance is optimized.
In addition, the thesis analyzes the performance interference between concurrently running virtual resources and applications in a multitenant service oriented execution framework like Clouds. A limited number of benchmarks is chosen that depicts characteristic usage of the hardware resources and the degradation of their performance is measured due to the coexistence in the same physical host. Parameters that are taken under consideration in this process include also real time scheduling configuration, necessary for guaranteeing a process’s time on the CPU, along with assignment patterns on multicore architectures. Based on these experimental data, suitable prediction models are created, based on which the IaaS provider may have a priori knowledge of the overhead inserted by the execution of a specific task combination on a physical host. Through this knowledge it may choose the optimal combinations for the smooth operation of the infrastructure and the guarantee of the Quality of Service offered by the resources.