Περίληψη
Η ραγδαία εξάπλωση των συσκευών του Διαδικτύου των Πραγμάτων και η αυξανόμενη χρήση συστημάτων υπολογισμού στα άκρα του δικτύου έχουν οδηγήσει στην εμφάνιση του λεγόμενου υπολογιστικού συνεχούς. Στο περιβάλλον αυτό, οι εφαρμογές εκτελούνται σε ετερογενείς υπολογιστικούς πόρους, οι οποίοι εκτείνονται από κέντρα δεδομένων νέφους έως εξυπηρετητές στα άκρα του δικτύου και ενσωματωμένες συσκευές. Τα επιμέρους συστατικά σύνθετων εφαρμογών μπορούν να αναπτυχθούν, να ρυθμιστούν και να κλιμακωθούν δυναμικά σε γεωγραφικά κατανεμημένους πόρους. Η αποτελεσματική ενορχήστρωση των εφαρμογών αυτών είναι απαραίτητη προκειμένου να διασφαλιστεί η απόδοση των εφαρμογών και η αποδοτική αξιοποίηση των διαθέσιμων πόρων. Ωστόσο, η ενορχήστρωση εφαρμογών στο υπολογιστικό συνεχές παρουσιάζει σημαντικές προκλήσεις. Σε κατανεμημένα περιβάλλοντα, κάθε εφαρμογή επιβάλλει διαφορετικές απαιτήσεις ως προς τους υπολογιστικούς πόρους και τις συνθήκες εκτέλεσης. Η εξισορρόπηση αυτών των συχνά αντικρουόμενων απαιτήσεων γ ...
Η ραγδαία εξάπλωση των συσκευών του Διαδικτύου των Πραγμάτων και η αυξανόμενη χρήση συστημάτων υπολογισμού στα άκρα του δικτύου έχουν οδηγήσει στην εμφάνιση του λεγόμενου υπολογιστικού συνεχούς. Στο περιβάλλον αυτό, οι εφαρμογές εκτελούνται σε ετερογενείς υπολογιστικούς πόρους, οι οποίοι εκτείνονται από κέντρα δεδομένων νέφους έως εξυπηρετητές στα άκρα του δικτύου και ενσωματωμένες συσκευές. Τα επιμέρους συστατικά σύνθετων εφαρμογών μπορούν να αναπτυχθούν, να ρυθμιστούν και να κλιμακωθούν δυναμικά σε γεωγραφικά κατανεμημένους πόρους. Η αποτελεσματική ενορχήστρωση των εφαρμογών αυτών είναι απαραίτητη προκειμένου να διασφαλιστεί η απόδοση των εφαρμογών και η αποδοτική αξιοποίηση των διαθέσιμων πόρων. Ωστόσο, η ενορχήστρωση εφαρμογών στο υπολογιστικό συνεχές παρουσιάζει σημαντικές προκλήσεις. Σε κατανεμημένα περιβάλλοντα, κάθε εφαρμογή επιβάλλει διαφορετικές απαιτήσεις ως προς τους υπολογιστικούς πόρους και τις συνθήκες εκτέλεσης. Η εξισορρόπηση αυτών των συχνά αντικρουόμενων απαιτήσεων για την επίτευξη βέλτιστης τοποθέτησης εφαρμογών σε πολλαπλά υπολογιστικά συστήματα αποτελεί σημαντική πρόκληση. Επιπλέον, η αυτόματη κλιμάκωση των πόρων που κατανέμονται σε κάθε εφαρμογή πρέπει να προσαρμόζεται δυναμικά ώστε να ανταποκρίνεται στις διακυμάνσεις του φόρτου εργασίας. Στατικές προσεγγίσεις και αλγόριθμοι βελτιστοποίησης παρέχουν απλότητα στη χρήση, αλλά περιορίζονται σε σχετικά αδρό έλεγχο των πόρων. Τέλος, η ενσωμάτωση συσκευών του Διαδικτύου των Πραγμάτων απαιτεί κατάλληλα επίπεδα αφαίρεσης που να απλοποιούν την αλληλεπίδραση με τους φυσικούς πόρους. Για την αντιμετώπιση των παραπάνω προκλήσεων, η παρούσα διδακτορική διατριβή προτείνει ένα ενοποιημένο πλαίσιο ενορχήστρωσης που αξιοποιεί πόρους σε ολόκληρο το υπολογιστικό συνεχές. Το προτεινόμενο σύστημα εισάγει μια ιεραρχική αρχιτεκτονική ενορχήστρωσης, στο κέντρο της οποίας βρίσκεται ο Synergetic Meta-Orchestrator, ο οποίος συντονίζει τη διαχείριση πόρων μεταξύ διαφορετικών συστοιχιών υπολογιστικών κόμβων, διατηρώντας παράλληλα μια συνολική εικόνα της κατάστασης των εφαρμογών και της υποδομής. Η αρχιτεκτονική περιλαμβάνει ενορχηστρωτές σε επίπεδο συστοιχίας, οι οποίοι διαχειρίζονται τον κύκλο ζωής των εφαρμογών, την παρακολούθηση της λειτουργίας τους και την κατανομή πόρων. Η ιεραρχική αυτή δομή επιτρέπει τον συνδυασμό κεντρικού συντονισμού με τοπικούς μηχανισμούς ελέγχου. Το προτεινόμενο σύστημα δημιουργεί σχέδια ανάπτυξης εφαρμογών που μοντελοποιούνται ως γράφοι αλληλοσυνδεόμενων εφαρμογών. Η προσέγγιση αυτή επιτρέπει στο σύστημα ενορχήστρωσης να λαμβάνει υπόψη τις απαιτήσεις των εφαρμογών, τις εξαρτήσεις μεταξύ τους και το κόστος επικοινωνίας κατά τον προσδιορισμό των καταλληλότερων διατάξεων των εφαρμογών σε ετερογενείς συστοιχίες. Στόχος του συστήματος είναι η επίτευξη ισορροπίας μεταξύ της απόδοσης των εφαρμογών και της αποδοτικής χρήσης των πόρων. Πέρα από τη βελτιστοποίηση της αρχικής τοποθέτησης των εφαρμογών, η αρχιτεκτονική υποστηρίζει επίσης αλγορίθμους βασισμένους σε τεχνικές μάθησης για την αντιμετώπιση του προβλήματος της δυναμικής κλιμάκωσης πόρων. Οι κατανεμημένες εφαρμογές συχνά εμφανίζουν διακυμάνσεις στον φόρτο εργασίας, γεγονός που απαιτεί δυναμική προσαρμογή της κατανομής πόρων κατά τον χρόνο εκτέλεσης. Για τον σκοπό αυτό, στη διατριβή διερευνάται η χρήση πρακτόρων ενισχυτικής μάθησης για την υλοποίηση προσαρμοστικών πολιτικών αυτόματης κλιμάκωσης. Ο πράκτορας παρατηρεί συνεχώς την κατάσταση του συστήματος και εκπαιδεύεται ώστε να διαχειρίζεται τους πόρους μιας αλυσίδας εφαρμογών που αποτελείται από αυτοτελείς συναρτήσεις. Επεκτείνοντας το σενάριο ενός μόνο πράκτορα, η διατριβή εξετάζει επίσης συνεργατικές στρατηγικές κλιμάκωσης για εφαρμογές που αποτελούνται από πολλαπλές εφαρμογές. Στο πλαίσιο αυτό διερευνάται μια προσέγγιση ενισχυτικής μάθησης πολλών πρακτόρων, στην οποία κάθε πράκτορας διαχειρίζεται την κλιμάκωση ενός επιμέρους στοιχείου της εφαρμογής, ενώ παράλληλα συντονίζει τις αποφάσεις του με τους υπόλοιπους πράκτορες ώστε να βελτιστοποιείται η συνολική απόδοση του συστήματος. Ένα ακόμη σημαντικό ζήτημα της ενορχήστρωσης στο υπολογιστικό συνεχές είναι η ενσωμάτωση ετερογενών συσκευών του Διαδικτύου των Πραγμάτων στις κατανεμημένες εφαρμογές. Για την αντιμετώπιση του προβλήματος αυτού, η διατριβή εισάγει την έννοια του Virtual Object, το οποίο αποτελεί την ψηφιακή αναπαράσταση των φυσικών συσκευών. Με τον τρόπο αυτό, οι συσκευές του Διαδικτύου των Πραγμάτων παρέχουν μια τυποποιημένη διεπαφή που επιτρέπει στις εφαρμογές να αλληλεπιδρούν με ετερογενείς συσκευές με ενιαίο τρόπο. Οι προτεινόμενοι μηχανισμοί υλοποιήθηκαν και αξιολογήθηκαν σε μια πειραματική πλατφόρμα ενορχήστρωσης βασισμένη σε τεχνολογίες ενορχήστρωσης container και σε συστήματα πολλαπλών συστοιχιών. Τα αποτελέσματα δείχνουν τη σκοπιμότητα της προτεινόμενης προσέγγισης και αναδεικνύουν τις δυνατότητες συνδυασμού ιεραρχικών αρχιτεκτονικών ενορχήστρωσης με τεχνικές μάθησης για τη διαχείριση πόρων σε κατανεμημένα περιβάλλοντα. Συνολικά, η προτεινόμενη προσέγγιση παρέχει μια ευέλικτη βάση για τη διαχείριση κατανεμημένων εφαρμογών σε περιβάλλοντα νέφους, στα άκρα του δικτύου και στο Διαδίκτυο των Πραγμάτων στο πλαίσιο του υπολογιστικού συνεχούς.
περισσότερα
Περίληψη σε άλλη γλώσσα
The proliferation of Internet of Things devices and the increasing prevalence of edge systems have led to the emergence of the computing continuum, where applications are executed across heterogeneous resources ranging from cloud data centers to edge servers and embedded devices. The components of complex applications can be deployed, managed, and scaled across geographically distributed resources. Efficient orchestration of these applications is essential to ensure application performance and optimize resource utilization. Therefore, we can identify specific challenges in the domain of computing continuum orchestration. In distributed settings, each service imposes a different set of requirements. Reconciling conflicting objectives to achieve multi-cluster placement remains a significant challenge. Furthermore, the automatic scaling of resources allocated to each service needs to be dynamically adjusted to respond to incoming input load fluctuations. Static solutions and optimization- ...
The proliferation of Internet of Things devices and the increasing prevalence of edge systems have led to the emergence of the computing continuum, where applications are executed across heterogeneous resources ranging from cloud data centers to edge servers and embedded devices. The components of complex applications can be deployed, managed, and scaled across geographically distributed resources. Efficient orchestration of these applications is essential to ensure application performance and optimize resource utilization. Therefore, we can identify specific challenges in the domain of computing continuum orchestration. In distributed settings, each service imposes a different set of requirements. Reconciling conflicting objectives to achieve multi-cluster placement remains a significant challenge. Furthermore, the automatic scaling of resources allocated to each service needs to be dynamically adjusted to respond to incoming input load fluctuations. Static solutions and optimization-based algorithms offer ease of use but are limited to coarse-grained control of resources. Lastly, integrating Internet of Things devices requires abstractions that simplify interaction with physical resources. To address these challenges, this thesis proposes a unified orchestration framework that leverages resources across the computing continuum. The framework introduces a hierarchical orchestration architecture centered around the Synergetic Meta-Orchestrator that coordinates resource management across clusters while maintaining a global view of application deployments and infrastructure state. The architecture includes cluster-level orchestrators that manage the lifecycle, monitoring, and resource allocation of applications. This hierarchy enables centralized orchestration in combination with localized control mechanisms. The proposed framework constructs deployment plans that model applications as graphs of interconnected services. This approach allows the orchestration system to account for service requirements, dependencies, and communication costs when determining deployment configurations across heterogeneous clusters. The goal of the framework is to manage the trade-off between application performance and resource utilization. In addition to placement optimization problems, the architecture supports learning-based algorithms to address the problem of dynamic resource scaling. Distributed applications frequently experience workload fluctuations that require runtime adaptation of resource allocations. To address this issue, this thesis investigates the use of a reinforcement learning agent to enable adaptive autoscaling policies. The agent continuously observes the environment's state and is trained to manage the resources of a service chain composed of serverless functions. By interacting with the environment, the agent can learn autoscaling policies that can dynamically balance performance with resource usage. Building upon the single-agent reinforcement learning setting, the thesis explores cooperative scaling strategies for applications composed of multiple services. A multi-agent reinforcement learning approach is investigated in which individual agents manage the scaling behavior of separate application components while coordinating their decisions to optimize overall system performance. Another important aspect of orchestration across the continuum is the integration of heterogeneous Internet of Things devices in distributed applications. This thesis introduces the concept of the Virtual Object, which serves as the digital counterpart and an abstraction of the physical devices. This way, Internet of Things devices provide a standardized interface that enables applications to interact with heterogeneous devices in a consistent manner. The proposed mechanisms were implemented and evaluated using a prototype orchestration platform based on container orchestration technologies and multi-cluster deployments. Experimental evaluation using distributed application workloads and serverless service chains demonstrates the feasibility of the proposed framework and highlights the potential of combining hierarchical orchestration architectures with learning-based resource management techniques. Overall, the results indicate that the proposed approach provides a flexible foundation for managing distributed applications across cloud, edge, and Internet of Things infrastructures within the computing continuum.
περισσότερα