Χρονοπρογραμματισμός Ροών Δεδομένων στο Νέφος

Abstract

Ο χρονοπρογραμματισμός ροών δεδομένων στο νέφος είναι μια πολύπλοκη διαδικασία γεμάτη προκλήσεις. Ουσιαστικά, είναι ένα πρόβλημα βελτιστοποίησης, το οποίο διαφέρει σε δύο σημεία από την κλασσική βελτιστοποίηση στις βάσεις δεδομένων: ο χώρος αναζήτησης είναι πολύ πλούσιος δεδομένου του νέου περιβάλλοντος και το κριτήριο βελτιστοποίησης είναι τουλάχιστον δύο διαστάσεων, με το χρηματικό κόστος να είναι εξίσου σημαντικό με τον χρόνο ολοκλήρωσης. Σε αυτήν την εργασία μελετάμε τον χρονοπρογραμματισμό ροών δεδομένων που περιλαμβάνουν αυθαίρετους τελεστές που επεξεργάζονται δεδομένα στο πλαίσιο τριών προβλημάτων: 1) ελαχιστοποίηση του χρόνου εκτέλεσης δεδομένου ενός χρηματικού ορίου, 2) ελαχιστοποίηση χρηματικού κόστους δεδομένου χρονικού ορίου, και 3) εύρεση συμβιβασμών μεταξύ χρόνου και χρήματος χωρίς περιορισμούς. Διατυπώνουμε τα προβλήματα και παρουσιάζουμε ένα πλαίσιο βελτιστοποίησης το οποίο είναι προσεγγιστικό και εκμεταλλεύεται την ελαστικότητα των πόρων του νέφους. Για να διερευνήσουμε την αποτελεσματικότητα της προσέγγισής μας, υλοποιήσαμε το προτεινόμενο πλαίσιο σε ένα πρωτότυπο σύστημα και ενσωματώσαμε διάφορους άπληστους, πιθανοτικούς, και εξαντλητικής αναζήτησης αλγορίθμους. Τέλος, μέσα από διάφορα πειράματα που κάναμε με το πρωτότυπο ελαστικό βελτιστοποιητή χρησιμοποιώντας διάφορες επιστημονικές και συνθετικές ροές δεδομένων, έχουμε εντοπίσει αρκετά ενδιαφέροντα χαρακτηριστικά του χώρου των εναλλακτικών χρονοπρογραμμάτων καθώς και τα πλεονεκτήματα και μειονεκτήματα των διαφόρων αλγορίθμων αναζήτησης. Τα συνολικά αποτελέσματα είναι ελπιδοφόρα και δείχνουν την αποτελεσματικότητα της προσέγγισής μας.Scheduling data processing workflows (dataflows) on the cloud is a very complex and challenging task. It is essentially an optimization problem, very similar to query optimization, that is characteristically different from traditional problems in two aspects: Its space of alternative schedules is very rich, due to various optimization opportunities that cloud computing offers; its optimization criterion is at least two-dimensional, with monetary cost of using the cloud being at least as important as query completion time. In this paper, we study scheduling of dataflows that involve arbitrary data processing operators in the context of three different problems: 1) minimize completion time given a fixed budget, 2) minimize monetary cost given a deadline, and 3) find trade-offs between completion time and monetary cost without any a-priori constraints. We formulate these problems and present an approximate optimization framework to address them that uses resource elasticity in the cloud. To investigate the effectiveness of our approach, we incorporate the devised framework into a prototype system for dataflow evaluation and instantiate it with several greedy, probabilistic, and exhaustive search algorithms. Finally, through several experiments that we have conducted with the prototype elastic optimizer on numerous scientific and synthetic dataflows, we identify several interesting general characteristics of the space of alternative schedules as well as the advantages and disadvantages of the various search algorithms. The overall results are quite promising and indicate the effectiveness of our approach

    Similar works