National and Kapodistrian University of Athens
Design and Implementation of a Serverless MapReduce Framework
Abstract
dc:descriptionΗ ταχεία αύξηση του όγκου των δεδομένων έχει δημιουργήσει την ανάγκη για κλιμακώσιμες, οικονομικά αποδοτικές και ευέλικτες λύσεις επεξεργασίας. Τα παραδοσιακά MapReduce frameworks εξαρτώνται συνήθως από στατικές υποδομές, οι οποίες μπορεί να είναι δαπανηρές και σύνθετες στην εγκατάσταση. Το serverless computing προσφέρει on-demand εκτέλεση με αυτόματη και παραμετροποιήσιμη κλιμάκωση και παρέχει μια εναλλακτική τεχνική για την κατανεμημένη επεξεργασία δεδομένων. Σε αυτή τη διπλωματική εργασία, παρουσιάζεται ένα MapReduce framework βασισμένο στο μοντέλο Function as a Service (FaaS), το οποίο χρησιμοποιεί το Kubernetes για την ανάπτυξη, το Knative για τη διαχείριση των serverless workloads και cloud native υπηρεσίες για την αποθήκευση και τη διαχείριση δεδομένων. Το framework οργανώνεται σε πέντε μερικώς συζευγμένες υπηρεσίες και jobs, οι οποίες ενεργοποιούνται μέσω της πλατφόρμας Apache Kafka event streaming. Σε μια εργασία MapReduce, τα δεδομένα αρχικά διαχωρίζονται σε τμήματα με βάση τον αριθμό των Mapper jobs. Στη συνέχεια εκτελούνται τα Mapper και Reducer containers και, τέλος, εφόσον έχει ενεργοποιηθεί, ένα Finalizer component συγχωνεύει τα αποτελέσματα σε ένα ενιαίο τελικό αρχείο. Η ροή αυτή διαχειρίζεται από ένα κεντρικό component, τον Coordinator. Όλα τα components εκτελούνται ως ανεξάρτητοι Knative πόροι, οι οποίοι μπορούν να εκκινηθούν από μηδενικό αριθμό replicas. Τα metadata διαχειρίζονται μέσω μιας βάσης δεδομένων Redis, ενώ το AWS S3 αποθηκεύει τόσο τα ενδιάμεσα όσο και τα τελικά αποτελέσματα. Το framework είναι εύχρηστο και μπορεί να παραμετροποιηθεί μέσω μιας client-side βιβλιοθήκης Python. Οι χρήστες μπορούν να ορίσουν ρυθμίσεις σε αρχείο JSON, να επιλέξουν τον αριθμό των Mappers και Reducers και να ορίσουν δικές τους map και reduce συναρτήσεις. Με τον τρόπο αυτό, το framework προσαρμόζεται στις απαιτήσεις του κάθε φόρτου εργασίας. Η πειραματική αξιολόγηση πραγματοποιήθηκε σε περιβάλλον Kubernetes στο AWS μέσω EKS, καθώς και τοπικά με χρήση Minikube. Τα αποτελέσματα δείχνουν ότι το framework κλιμακώνεται, επιτυγχάνει ανταγωνιστικούς χρόνους εκτέλεσης και παρέχει έναν απλό και ασφαλή τρόπο για την εκτέλεση MapReduce εργασιών. Το framework δείχνει ότι μια serverless υλοποίηση του MapReduce μπορεί να αποτελέσει μια πρακτική εναλλακτική στα παραδοσιακά συστήματα κατανεμημένης επεξεργασίας δεδομένων. Η χρήση event driven αρχιτεκτονικής, container orchestration και cloud native υπηρεσιών αποθήκευσης μειώνει την ανάγκη για αποκλειστική υποδομή, διατηρώντας παράλληλα υψηλή απόδοση και αξιοπιστία. Η χρήση πόρων, όπως CPU και μνήμη, παρακολουθήθηκε μέσω του Prometheus, παρέχοντας λεπτομερή εικόνα της αξιοποίησης των πόρων του συστήματος.
Author and committee
dc:creator, dc:contributor.*- Authors dc:creator
-
- ΧΑΤΖΟΠΟΥΛΟΣ ΑΓΓΕΛΟΣ-ΔΩΡΟΘΕΟΣ
- CHATZOPOULOS ANGELOS-DOROTHEOS
Subjects
dc:subject × 2Rights
- Language dc:language
- Ελληνικά, English, Greek
Identifiers
dc:identifier.*- Identifier
- uoadl:5327694
- OAI identifier oai:identifier
- oai:lib.uoa.gr:uoadl:5327694