Ο χρονοπρογραμματισμός ροών δεδομένων στο νέφος είναι μια πολύπλοκη διαδικασία
γεμάτη προκλήσεις. Ουσιαστικά, είναι ένα πρόβλημα βελτιστοποίησης, το οποίο
διαφέρει σε δύο σημεία από την κλασσική βελτιστοποίηση στις βάσεις δεδομένων:
ο χώρος αναζήτησης είναι πολύ πλούσιος δεδομένου του νέου περιβάλλοντος και το
κριτήριο βελτιστοποίησης είναι τουλάχιστον δύο διαστάσεων, με το χρηματικό
κόστος να είναι εξίσου σημαντικό με τον χρόνο ολοκλήρωσης. Σε αυτήν την εργασία
μελετάμε τον χρονοπρογραμματισμό ροών δεδομένων που περιλαμβάνουν αυθαίρετους
τελεστές που επεξεργάζονται δεδομένα στο πλαίσιο τριών προβλημάτων: 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