Τεχνικές παραλληλοποίησης διεργασιών σε συστήματα cloud - Νικολακόπουλος, Θεόδωρος (Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Επικοινωνιών, Ηλεκτρονικής και Συστημάτων Πληροφορικής, 2015)
Η ανάπτυξη της πληροφορικής και η εισβολή της σε κάθε σύγχρονη τεχνολογία έχει ως αποτέλεσμα την παραγωγή τεράστιου όγκου δεδομένων με συνεχώς αυξανόμενους ρυθμούς, αυτό που χαρακτηρίζουμε ως big data. Η ανάγκη για αποθήκευση και ανάλυση των big data οδήγησε στην ανάπτυξη νέων τεχνολογιών, με βασικότερη ίσως από αυτές το cloud computing. Τα συστήματα cloud μάς επιτρέπουν την κατανεμημένη αποθήκευση και επεξεργασία δεδομένων. Η προσέγγιση αυτή πλεονεκτεί λόγω του παραλληλισμού και της εντοπιότητας που μπορεί να προσφέρει, αλλά δημιουργεί ταυτόχρονα νέες προκλήσεις λόγω της κατανεμημένης φύσης της. Ο μεγάλος αριθμός και η ποικιλία των χαρακτηριστικών των διαθέσιμων υπηρεσιών cloud καθιστά την επιλογή της κατάλληλης υπηρεσίας εξαιρετικά δύσκολη για τον χρήστη. Υπάρχει επομένως ανάγκη για δημιουργία αυτοματοποιημένων marketplace για την αναζήτηση και σύγκριση των υπηρεσιών αυτών. Σκοπός της παρούσας διπλωματικής είναι η μελέτη του marketplace για υπηρεσίες cloud 4CaaSt και η εύρεση τρόπων βελτίωσης της αποδοτικότητάς του με τεχνικές παραλληλοποίησης. Η επίλυση του προβλήματος της επιλογής κατάλληλων υπηρεσιών cloud στο 4CaaSt γίνεται σε τέσσερα στάδια, καθένα εκ των οποίων ξεκινά να εκτελείται αφού ολοκληρωθεί το προηγούμενο. Στην εργασία αυτή προτείνονται δύο τεχνικές για την μετάδοση των δεδομένων από κάθε στάδιο στο επόμενο κατά τη στιγμή της παραγωγής τους και πριν την ολοκλήρωση του σταδίου. Οι τεχνικές αυτές στηρίζονται στη χρήση ουρών μηνυμάτων. Η πρώτη προτείνει τη χρήση μίας ουράς, στην οποία θα προωθούνται τα δεδομένα από κάθε στάδιο, και αυτή θα αναλαμβάνει να τα στείλει στο επόμενο. Η δεύτερη προτείνει τη χρήση ξεχωριστής ουράς για κάθε ζεύγος διαδοχικών σταδίων. Αυτές οι τεχνικές θα επιτρέψουν στα τέσσερα στάδια να εκτελούνται σε παράλληλα σε μεγάλο βαθμό. Για να συγκριθούν ως προς την αποδοτικότητά τους οι τεχνικές αυτές, τόσο μεταξύ τους όσο και με την αρχική ιδέα της σειριακής υλοποίησης, αναπτύχθηκε ένα απλοποιημένο μοντέλο του 4CaaSt, με έμφαση στα τέσσερα στάδια της επίλυσης του προβλήματος αναζήτησης. Έγιναν μετρήσεις για διαφορετικά πλήθη ανταλλασσόμενων μηνυμάτων μεταξύ των σταδίων, καθώς και για διαφορετικές διάρκειες κάθε σταδίου. Από τη συγκριτική μελέτη των αποτελεσμάτων διαπιστώθηκε ότι και οι δύο τεχνικές βελτιώνουν την αποδοτικότητα του marketplace, με την τεχνική των ξεχωριστών ουρών να υπερτερεί.