Περίληψη
Στις ημέρες μας, η εκτέλεση εφαρμογών μέσω χρήσης του 'Υπολογιστικού Νέφους' αποτελεί μία από τις πιο ελκυστικές και ευρέως υιθετούμενες λύσεις, λόγω της μεγάλης ευελιξίας και αποτελεσματικότητας που προσφέρει. Το 'Υπολογιστικό Νέφος' ουσιαστικά εξυπηρετεί στην κατ' απαίτηση παροχή υπολογιστικών πόρων σε τελικούς χρήστες και τις περισσότερες φορές αναφέρεται σε υπολογιστική ισχύ και χώρο αποθήκευσης δεδομένων. Αυτοί οι πόροι συνήθως είναι κομμάτι κάποιων μεμονωμένων διακομιστών, οι οποίοι βρίσκονται σε περιβάλλοντα κέντρων δεδομένων ή/και σε φάρμες διακομιστών ανά τον κόσμο. Η σωστή και αποδοτική διαχείριση αυτών των πόρων γίνεται κρίσιμη, τόσο από την πλευρά των παρόχων όσο και των τελικών χρηστών, καθώς μπορεί να βελτιώσει δραστικά την απόδοση και να μειώσει τα έξοδα κόστους τόσο για τους τελικούς χρήστες όσο και για τους παρόχους υπολογιστικών υπηρεσιών. Ωστόσο, η ενορχήστρωση των πόρων υπολογισμού στο Νέφος δεν είναι απλή υπόθεση, λόγω 1) της τεράστιας ποσότητας διαθέσιμων παραμέτρ ...
Στις ημέρες μας, η εκτέλεση εφαρμογών μέσω χρήσης του 'Υπολογιστικού Νέφους' αποτελεί μία από τις πιο ελκυστικές και ευρέως υιθετούμενες λύσεις, λόγω της μεγάλης ευελιξίας και αποτελεσματικότητας που προσφέρει. Το 'Υπολογιστικό Νέφος' ουσιαστικά εξυπηρετεί στην κατ' απαίτηση παροχή υπολογιστικών πόρων σε τελικούς χρήστες και τις περισσότερες φορές αναφέρεται σε υπολογιστική ισχύ και χώρο αποθήκευσης δεδομένων. Αυτοί οι πόροι συνήθως είναι κομμάτι κάποιων μεμονωμένων διακομιστών, οι οποίοι βρίσκονται σε περιβάλλοντα κέντρων δεδομένων ή/και σε φάρμες διακομιστών ανά τον κόσμο. Η σωστή και αποδοτική διαχείριση αυτών των πόρων γίνεται κρίσιμη, τόσο από την πλευρά των παρόχων όσο και των τελικών χρηστών, καθώς μπορεί να βελτιώσει δραστικά την απόδοση και να μειώσει τα έξοδα κόστους τόσο για τους τελικούς χρήστες όσο και για τους παρόχους υπολογιστικών υπηρεσιών. Ωστόσο, η ενορχήστρωση των πόρων υπολογισμού στο Νέφος δεν είναι απλή υπόθεση, λόγω 1) της τεράστιας ποσότητας διαθέσιμων παραμέτρων προς βελτιστοποίηση, 2) των διαφορετικών επιπέδων στα οποία μπορούν να εφαρμοστούν αυτές οι βελτιστοποιήσεις (επίπεδο διακομιστή - επίπεδο συστάδας - επίπεδο εφαρμογής) και ιιι) της ισχυρής αλληλεπίδρασης μεταξύ λογισμικού και υλικού σε συνδυασμό με την έντονη ανομοιογένεια του υλικού που βρίσκεται στα σύγχρονα περιβάλλοντα κέντρων δεδομένων. Επιπλέον, νέα υπολογιστικά πρότυπα αναδύονται, τα οποία φέρνουν στο προσκήνιο επιπλέον σημεία βελτιστοποίησης, επομένως, περιπλέκουν περαιτέρω το πρόβλημα της αποτελεσματικής οργάνωσης των πόρων. Σε αυτήν τη διατριβή, εξετάζουμε την εφαρμογή τεχνικών βαθιάς μάθησης για τη βελτιστοποίηση συστημάτων σε αρχιτεκτονικές 'Υπολογιστικού Νέφους'. Λαμβάνοντας υπόψη τον μεγάλο αριθμό και το πολυεπίπεδο χαρακτήρα των διαθέσιμων σημείων βελτιστοποίησης, τα οποία τείνουν να είναι δύσκολα διαχειρίσιμα με συμβατικούς, ανθρώπινα καθοδηγούμενους μηχανισμούς οργάνωσης, οι προσεγγίσεις βαθιάς μάθησης φαίνεται να είναι αναπόφευκτες για την αξιοποίηση και εκμετάλλευση του πλήρους δυναμικού των σύγχρονων συστημάτων Νέφους. Προς αυτήν την κατεύθυνση, σαν πρώτο αντικείμενο της διατριβής, ερευνούμε τη χρήση νευρωνικών δικτύων στον τομέα των συστημάτων παρακολούθησης στο Υπολογιστικό Νέφος, η οποία αποτελεί σημαντική συνιστώσα των σύγχρονων υποδομών Υπολογιστικού Νέφους. Στη συνέχεια, εξετάζουμε την αποτελεσματικότητα της τεχνητής νοημοσύνης για βελτιστοποίηση διαχείρισης πόρων σε διαφορετικά επίπεδα της ιεραρχίας, δηλαδή αυτόματες βελτιστοποιήσεις σε επίπεδο εφαρμογής, καθώς και την ανάπτυξη και οργάνωση σε επίπεδο συστάδας υπολογιστών. Για να επιτευχθούν το παραπάνω, προτείνουμε τρία εργαλεία, το Rusty, το Adrias και το Sparkle, καθένα από τα οποία χρησιμοποιεί βελτιστοποιήσεις καθοδηγούμενες από βαθιά νευρωνικά δίκτυα και στοχεύουν σε διαφορετικά επίπεδα της ιεραρχίας.
περισσότερα
Περίληψη σε άλλη γλώσσα
Nowadays, Cloud computing is becoming one of the most attractive solutions for application execution, due to the enhanced flexibility and efficiency it offers. Cloud computing refers to the on-demand provision of system resources, especially computing power and storage. These resources typically exist on individual servers found in datacenter environments and/or server farms around the world. Proper and efficient management of those resources becomes crucial, both from the providers’ as well as end-users’ point of view, since it can dramatically improve performance and reduce cost expenses for all the parties involved. However, orchestrating cloud computing resources is not a straightforward matter, due to i) the huge amount of available optimization knobs, ii) the different levels that these optimizations can be applied (server- to cluster- to application-level) and iii) the interrelationship between software and hardware optimizations combined with the extreme hardware heterogeneity ...
Nowadays, Cloud computing is becoming one of the most attractive solutions for application execution, due to the enhanced flexibility and efficiency it offers. Cloud computing refers to the on-demand provision of system resources, especially computing power and storage. These resources typically exist on individual servers found in datacenter environments and/or server farms around the world. Proper and efficient management of those resources becomes crucial, both from the providers’ as well as end-users’ point of view, since it can dramatically improve performance and reduce cost expenses for all the parties involved. However, orchestrating cloud computing resources is not a straightforward matter, due to i) the huge amount of available optimization knobs, ii) the different levels that these optimizations can be applied (server- to cluster- to application-level) and iii) the interrelationship between software and hardware optimizations combined with the extreme hardware heterogeneity found in today’s data-centers environments. On top of that novel computing paradigms are emerging (e.g., hardware disaggregation), which unveil extra optimization knobs on the foreground, thus, further complicating the problem of efficient resource orchestration. In this dissertation, we examine the applicability of deep learning techniques for system optimization in Cloud architectures. Given the huge amount and the multi-level nature of the available optimization knobs, which tend to be unmanageable using conventional, human-driven orchestration mechanisms, deep learning approaches appear to be unavoidable in order to exploit and leverage the full potential of modern Cloud systems. First, we investigate the employment of state-of-the-art neural networks in the field of system monitoring, which forms an integral part of modern Cloud infrastructures. Then, we examine the application of ML-driven orchestration on different levels of the hierarchy, i.e., application-driven automatic optimizations, cluster-level application deployment and orchestration and system-level control of running applications. To achieve the above, we propose three frameworks, i.e., Rusty, Adrias and Sparkle, which employ deep learning driven optimizations on different levels of the hierarchy.
περισσότερα