ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Προσομοίωση Συστημάτων Χειμερινό εξάμηνο 2016 2017 Εξάμηνο 5 ο Ε. Οικονόμου (oikonomouef@unipi.gr) Α. Ρούσκας (arouskas@unipi.gr) Ατομική εργασία προς παράδοση στο CloudAnalyst Η εργασία να σταλεί με email (θέμα: CloudAnalyst - Ονομ/μο - ΑΜ) στον υπεύθυνο του εργαστηρίου Ε. Οικονόμου (CC στο διδάσκοντα Α. Ρούσκα) έως τη Δευτέρα 28/11/2016 23:59 Αντικείμενο της παρούσας εργασίας αποτελεί η ανάλυση και αξιολόγηση επίδοσης Web Application σε υποδομές Cloud (μέσω σεναρίων) με τη χρήση του CloudAnalyst προσομοιωτή. Εισαγωγικά Το CloudAnalyst είναι ένα εργαλείο προσομοίωσης κατασκευασμένο πάνω από το framework του CloudSim, γραμμένο σε γλώσσα JAVA. Δίνει την δυνατότητα προσομοίωσης εφαρμογών ευρείας κλίμακας σε υποδομές Cloud με σκοπό τη μελέτη συμπεριφοράς αυτών σε διαφορετικά επίπεδα διαμόρφωσης (deployment configurations). Οι σχεδιαστές εφαρμογών μπορούν βάσει της ανωτέρω μελέτης να επωφεληθούν έτσι ώστε να συμπεράνουν τη βέλτιστη ή την καλύτερη δυνατή διαμόρφωση για την ανάπτυξη των εφαρμογών τους στο Cloud, μέσω επαναλαμβανόμενων προσομοιώσεων. Το CloudAnalyst διαχωρίζει το πείραμα προσομοίωσης από την διαδικασία του προγραμματισμού. Τα αποτελέσματα της προσομοίωσης αναλύονται γρήγορα, εύκολα και ποιο ιδανικά με την παραγωγή των αποτελεσμάτων σε γραφικό περιβάλλον. Εικόνα 1: CloudAnalyst GUI
Εικόνα 2 : CloudAnalyst Results
Μελέτη Περίπτωσης: Προσομοίωση εφαρμογής κοινωνικού δικτύου ευρείας κλίμακας. Μια τυπική εφαρμογή διαδικτύου ευρείας κλίμακας που μπορεί να επωφεληθεί από την τεχνολογία Cloud αποτελούν οι εφαρμογές κοινωνικής δικτύωσης. Αυτές οι εφαρμογές μπορούν να επωφεληθούν από την τεχνολογία Cloud διότι ακολουθούν μη ομοιόμορφα πρότυπα χρήσης. Η πρόσβαση στις εφαρμογές αυτές ποικίλει τόσο κατά τη διάρκεια της ημέρας όσο και από τη γεωγραφική θέση των πηγών των αιτήσεων για την παροχή της υπηρεσίας. Επιπλέον, μια νέα λειτουργία στην υπηρεσία μπορεί να προκαλέσει μια ξαφνική αύξηση ενδιαφέροντος από την υπηρεσία, οδηγώντας με τη σειρά της σε αύξηση του αριθμού των αιτήσεων που φθάνουν στους εξυπηρετητές και που μπορεί να είναι μόνο προσωρινή. Η τεχνολογία Cloud επιτρέπει στις υποδομές να αντιδρούν δυναμικά με την αύξηση των αιτημάτων, μέσω της δυναμικής αύξησης των πόρων της εφαρμογής καθώς και της μείωσης των διαθέσιμων πόρων όταν ο αριθμός των αιτημάτων ελαττώνεται. Έτσι, τα SLAs μεταξύ των παρόχων υπηρεσιών Cloud και πελατών ικανοποιούνται με το ελάχιστο κόστος για τους καταναλωτές. Μια πολύ γνωστή εφαρμογή κοινωνικής δικτύωσης είναι το Facebook, η οποία έχει πολλά εκατομμύρια εγγεγραμμένους χρήστες παγκόσμιος. Στις 18/06/2009 η κατά προσέγγιση κατανομή των η βάση χρηστών (user base) του Facebook σε όλο τον κόσμο είχε ως εξής: Βόρεια Αμερική: 80 εκατομμύρια των χρήστες, Νότια Αμερική: 20 εκατομμύρια χρήστες, Ευρώπη: 60 εκατομμύρια χρήστες Ασία: 27 εκατομμύρια χρήστες, Αφρική: 5 εκατομμύρια χρήστες και Ωκεανία: 8 εκατομμύρια χρήστες. Καλείστε να απαντήσετε στα παρακάτω ερωτήματα καθώς και να υλοποιήσετε τα σενάρια που ακολουθούν με σκοπό να αναλύσετε και να αξιολογήσετε την επίδοση Web Application σε υποδομές Cloud με τη χρήση του CloudAnalyst προσομοιωτή. Ερωτήσεις: 1. Δώστε εν συντομία τις έννοιες των παρακάτω στοιχείων (components) του CloudAnalyst simulator. a. Region b. Internet c. Service Broker d. e. Internet Cloudlet f. Controller g. VM Load Balancer 2. Εν συντομία περιγράψτε τους αλγορίθμους του Service Broker του CloudAnalyst simulator. 3. Εν συντομία περιγράψτε τους αλγορίθμους του VM Load Balancer του CloudAnalyst simulator. 4. Περιγράψτε εν συντομία τι μπορούμε να μετρήσουμε και να υπολογίσουμε με το εργαλείο προσομοίωσης CloudAnalyst.
Παραμετροποίηση Προσομοίωσης Παρακάτω ακολουθούν διάφορα σενάρια υλοποίησης με τις αντίστοιχες διαμορφώσεις (configurations) όπου και καλείστε α) να τα υλοποιήσετε και β) να αξιολογήστε τα αποτελέσματα που προκύπτουν. Απαραίτητα screen shots, πίνακες (Πίνακας 0) και οι αντίστοιχες γραφικές παραστάσεις (ραβδογράμματα) με τα αντίστοιχα αποτελέσματα. SN Scenario Service Broker Algorithm VM Load Balancing Algorithm Overall average response time (milliseconds) Overall average time spent for processing a request by a data center (milliseconds) Virtual Machine 1 Eg:1 data center with 50 VMs Πίνακας 0: Πίνακας Σύγκρισης Για την υλοποίηση των σεναρίων θεωρηθούμε τις παρακάτω 6 διαφορετικές βάσεις χρηστών (User Bases) γεωγραφικά κατανεμημένες στις 6 Regions. User Base Region Time Zone Peak Hours (Local time) Peak Hours (GMT) Simultaneous Online Users During Peak Hrs Simultaneous Online Users During Offpeak Hrs UB1 0 N. America GMT 6.00 7.00 9.00 pm 13:00-15:00 400.000 40.000 UB2 1 S. America GMT 4.00 7.00 9.00 pm 15:00-17:00 100.000 10.000 UB3 2 - Europe GMT + 1.00 7.00 9.00 pm 20:00-22:00 300.000 30.000 UB4 3 - Asia GMT + 6.00 7.00 9.00 pm 01:00-03:00 150.000 15.000 UB5 4 - Africa GMT + 2.00 7.00 9.00 pm 21:00-23:00 50.000 5.000 UB6 5 - Ocenia GMT + 10.00 7.00 9.00 pm 09:00-11:00 80.000 8.000 Πίνακας 1: A. Σενάριο 1: Web application που υλοποιείται σε δύο data center DC1 και DC2 με 25VMs το κάθε ένα. Region Service Broker R1, R3 Πίνακας 4: Configuration Service Broker Closest DC1 25 10000 512 1000 Closest DC2 25 10000 512 1000 Πίνακας 5: Application Deployment Configuration Parameter
Name Region Arch OS VMM DC1 1 x86 Linux Xen 0.1 0.05 0.1 0.1 2 DC2 3 x86 Linux Xen 0.1 0.05 0.1 0.1 1 Πίνακας 6: Configuration Parameter B. Σενάριο 2: Web application που υλοποιείται σε ένα data center DC1 με 50VMs. Region Service Broker DC1 R0 DC1 Πίνακας 7: Configuration Service Broker Closest DC1 50 10000 512 1000 Πίνακας 8: Application Deployment Configuration Parameter Name Region Arch OS VMM DC1 0 x86 Linux Xen 0.1 0.05 0.1 0.1 2 Πίνακας 9: Configuration Parameter C. Σενάριο 3: Web application που υλοποιείται σε δύο data center DC1 και DC2 με 25VMs το κάθε ένα. Region Service Broker R0, R0 Πίνακας 10: Configuration
Service Broker Closest Closest DC1 25 10000 512 1000 DC2 25 10000 512 1000 Πίνακας 11: Application Deployment Configuration Parameter Name Region Arch OS VMM DC1 0 x86 Linux Xen 0.1 0.05 0.1 0.1 2 DC2 0 x86 Linux Xen 0.1 0.05 0.1 0.1 2 Πίνακας 12: Configuration Parameter D. Σενάριο 4: Web application που υλοποιείται σε δύο data center DC1 και DC2 με 25VMs το κάθε ένα. Region Service Broker R0, R0 Πίνακας 10: Configuration Service Broker Closest DC1 50 10000 512 1000 Closest DC2 50 10000 512 1000 Πίνακας 11: Application Deployment Configuration Parameter Name Region Arch OS VMM DC1 0 x86 Linux Xen 0.1 0.05 0.1 0.1 2 DC2 0 x86 Linux Xen 0.1 0.05 0.1 0.1 2 Πίνακας 12: Configuration Parameter
E. Σενάριο 5: Το σενάριο 1 με Service Broker : και Load Balancing Algorithm: Equally Spread F. Σενάριο 6: Το σενάριο 1 με Service Broker : και Load Balancing Algorithm: Throttled G. Σενάριο 7: Το σενάριο 1 με Service Broker : Optimize Response Time και Load Balancing Algorithm: Round Robin H. Σενάριο 8: Το σενάριο 1 με Service Broker : Reconfigure Dynamically with load routing και : Round Robin