Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

A Data Transformation Service in Cloud Infrastructures Κατρής Δημήτριος 1 Φεβρουαρίου 2010 Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "A Data Transformation Service in Cloud Infrastructures Κατρής Δημήτριος 1 Φεβρουαρίου 2010 Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών."— Μεταγράφημα παρουσίασης:

1 A Data Transformation Service in Cloud Infrastructures Κατρής Δημήτριος 1 Φεβρουαρίου 2010 Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών

2 Περιεχόμενα  Εισαγωγή Χρησιμότητα Τι κάνει το gDTS  Μοντέλο Μετατροπών  Βασική λειτουργικότητα  To gDTS σε cloud Αρχιτεκτονική Καθορίζοντας τον αριθμό των workers  Αξιολόγηση

3 Εισαγωγή: Χρησιμότητα  Ψηφιακές βιβλιοθήκες Διατήρηση ψηφιακής πληροφορίας  Μετατροπή δεδομένων από παλιά σε νέα πρότυπα Ασφάλεια δεδομένων  watermarking  Adaptive content delivery Αντικείμενα από web pages μετατρέπονται σε διαφορετική ποιότητα ή formats Σκοπός  Επιστροφή ίδιου περιεχομένου σε συσκευές διαφορετικού τύπων (PCs, PDAs, mobile phones) βάση: ειδικών χαρακτηριστικών συσκευών διαθέσιμου εύρους ζώνης

4 Εισαγωγή: Χρησιμότητα  Προβολή δεδομένων (web) Απεικόνιση δεδομένων (data representation) σε ένα σύστημα ≠ προβολή των δεδομένων  Αναγκαία η μετατροπή π.χ. XSLT Οι browsers δεν προβάλουν δημοφιλή τύπους δεδομένων (πχ pdf, word documents)  Απαίτηση από εφαρμογές  e.g. google, youtube  Εξαγωγή κειμένου Search engines e.g. lucene  Εστιάζουμε σε μετατροπές multimedia αρχείων - εγγράφων (transcoding)

5 Εισαγωγή: Τι κάνει το gDTS  Προτείνει τρόπο μοντελοποίησης μετατροπών Ορίζει τον τρόπο αναπαράστασης  Των τύπων των αντικειμένων (content types)  Των δυνατοτήτων μετατροπής Βασισμένο σε plug-ins (transformation programs)  Προσδιορίζουν τις δυνατότητες μετατροπής του framework  Προσφέρει επεκτασιμότητα  Αυτόματη εύρεση προγράμματος για μετατροπή content type source αντικειμένου + target content type  Κατάλληλο πρόγραμμα επιλέγεται αυτόματα  Πιθανή κατάληξη αλυσίδα μετατροπών

6 Εισαγωγή: gDTS  Λειτουργεί σε διάφορα περιβάλλοντα Υπηρεσία διαδικτύου Bιβλιοθήκη  Κατανέμει το φόρτο των μετατροπών Χρήση πόρων από cloud infrastructure

7 Μοντέλο Μετατροπών  Αναγνώριση τύπου αντικειμένων MIME type specification  Content type media type + subtype + σύνολο παραμέτρων “όνομα=τιμή” πχ  text/html; charset=“iso-8859-7”  image/jpeg; width=“1024”, height=“768”  Λόγος Εύκολη συνεργασία με εφαρμογές ευρείας χρήσης πχ browsers

8 Μοντέλο Μετατροπών  Program (πρόγραμμα) Λογισμικό που εκτελεί τις μετατροπές (converter)  Transformation Program Έγγραφο Αναφέρεται σε ένα πρόγραμμα Περιγράφει τις δυνατότητες μετατροπής του προγράμματος  Περιέχει 1 ή >1 δυνατότητες (Transformation Units)

9 Μοντέλο Μετατροπών  Transformation Unit Περιγράφει  Μία δυνατότητα μετατροπής του προγράμματος δλδ. Από ένα source content type σε ένα target content type  Το τρόπο χρήσης του προγράμματος για να εκτελεστεί η μετατροπή δλδ. Θέτοντας τις κατάλληλες παραμέτρους

10 Μοντέλο Μετατροπών  Transformation Unit Σύνθετο (composite)  Έχει αναφορές σε άλλα transformation units  Εκτελεί διαδοχικές μετατροπές στο source αντικείμενο Άλλα χαρακτηριστικά  wildcards στα content types των transformation units image/jpeg  image/jpeg; width=”*”, height=”*” */*  application/zip  wildcards στις παραμέτρους των προγραμμάτων Το ‘-’ απαιτεί τον καθορισμό τιμής από τον χρήστη

11 Μοντέλο Μετατροπών  Transformation Program Example ImageMagickWrapper dts_programs_bundle http://repo.di.uoa.gr/programs/dts_programs_bundle.tar.gz imagemagick http://repo.di.uoa.gr/programs/imagemagick.tar.gz org.gcube.datatransformation.datatransformationlibrary.programs.applications.ImageMagickWrapper image/tiff image/tiff.

12 Transformation Graph  Χρήση Βρίσκουμε αυτόματα transformation units  source content type  target content type  Κόμβοι content types  Ακμές transformation units

13 Transformation Graph  Αποτέλεσμα ψαξίματος στο γράφου Transformation unit ή ακολουθία απο TU προερχόμενα  Exact match media type of Cs matches with media type of Ctu-s, subtype of Cs matches with subtype of Ctu-s, #CTP of Cs = #CTP of Ctu-s each CTP in Cs matches with Ctu-s  Approximate match #CTP of Cs > #CTP of Ctu-s  Ίδιες συνθήκες ισχύουν και για τα Ct και Ctu-t CsSource content type CtTarget content type Ctu-sSource content type of TU Ctu-tTarget content type of TU CTPContent type parameters

14 Transformation Graph  Approximate matches έχουμε συχνά Η μετατροπή μπορεί να μην επηρεάζεται από κάποιες CT παραμέτρους. π.χ.  Source object: image/png; width=“1024px”, height=“1024px”  TU: image/png -> image/jpeg  Target Content Type: image/jpeg  Συνολικά τα βήματα Ψάξιμο για υπάρχον transformation unit με exact match Ψάξιμο για path στο γράφο με exact match  Δημιουργία composite transformation unit Αναφέρεται στα transformation units που αποτελούν το path Καταγραφή του TU στη transformation program registry Εκτέλεση των βημάτων με approximate match αντί για exact.

15 Data Handlers  Υπεύθυνοι για το I/O  Data Sources Παρέχουν τα source αντικείμενα (ένα - ένα)  Data Sinks Αποθηκεύουν τα αντικείμενα σε κάποιο repository μετά τη μετατροπή  Data element Envelop ενός αντικειμένου Περιέχει  Content type του αντικειμένου  Αναφορά στο content ή το ίδιο το content single or multipart  Multipart Περιέχει εμφωλιασμένα data elements Content types: multipart/mixed, multipart/alternative

16 Data Handlers  Data Handlers: Αρχικοποίηση:  Ο χρήστης ορίζει Πρωτόκολλο/Μηχανισμό μεταφοράς  π.χ. ftp, http Παραμέτρους για I/O  π.χ. hostname, port, password Προσφέρουν  Ομοιόμορφία στην επεξεργασία δεδομένων Οι μηχανισμοί μεταφοράς μπορεί να είναι διαφορετικοί

17 Εκτέλεση Προγραμμάτων  Εκτέλεση Προγραμμάτων Εγκατάσταση  Τοποθεσία αναγράφεται στο transformation program Κατεβάζουμε, unpack και εγκαθιστούμε  Φορτώνουμε τις απαιτούμενες βιβλιοθήκες Κλήση  Η entry class του προγράμματος αναγράφεται στο transformation program

18 Core Functionality  Τοπική εκτέλεση - worker σε cloud

19 Core Functionality  Σχόλιο Διαδικασίες κατεβάσματος – μετατροπής – αποθήκευσης επικαλύπτονται  Πιθανή βελτίωση απόδοσης  Μία διαδικασία μπορεί να είναι πιο αργή π.χ. Γρήγορο κατέβασμα + αργή μετατροπή  Ο δίσκος μπορεί να γεμίσει Έλεγχος ροής στους buffers

20 gDTS in Cloud  Στόχος Μεγάλος ρυθμό μετατροπής Αποτελεσματική χρήση των πόρων  Γιατί Cloud? Ευχρηστία  Virtualization technologies Ζήτηση οποιουδήποτε OS ή προ-εγκατεστημένου προγράμματος Root access στο VM (διευκολύνει την εγκατάσταση προγραμμάτων) On demand παροχή πόρων  Τα VMs δημιουργούνται και καταστρέφονται on demand  Σε job submission frameworks (torque σε clusters ή grid) Δουλειές μπορεί να περιμένουν σε ουρές ώρες/μέρες Θέλουμε άμεσο έλεγχο για τη προσαρμογή του αριθμού των workers

21 gDTS in Cloud  Αρχιτεκτονική Master – Worker pattern Master (Coordinator)  Δίνει (επιστρέφει) αντικείμενα στους workers  Καθορίζει τον αριθμό των workers Workers  Εκτελούν τις μετατροπές

22 gDTS in Cloud

23  Σχόλια Υλοποίηση ως stateful WSRF-service  WSRF Framework για grid web services Factory design pattern Οι workers ζητούν data elements  Το infrastructure μπορεί να θέσει δικτυακούς περιορισμούς Firewalls, NAT  Http κλήσεις “workers  coordinator service” επιτρέπονται Transformation graph  Υλοποιημένος σαν web service Βγάζουμε τον φόρτο διαχείρισης του γράφου από τους workers

24 Καθορίζοντας το πλήθους των workers  Πρόβλημα: Πόσους workers να χρησιμοποιήσουμε? Θέματα  Απόδοση  Κόστος (πόρους και χρήματα)  Απόδοση Χρήση “πολλών” workers  Ενδεχόμενη αύξηση της απόδοσης αλλά… Bottlenecks μπορεί να εμφανιστούν  Πιθανοί λόγοι Περιορισμένο bandwidth ή διαθέσιμη CPU σε sources/sinks Έλλειψη πόρων στο cloud  Αποτέλεσμα Under-utilization στους workers  Κόστος Το under-utilization έχει δύο αρνητικά  Πόροι καταλαμβάνονται αλλά μένουν αχρησιμοποίητοι Άλλες εφαρμογές μπορεί να χρειάζονται αυτούς τους πόρους  Σε εμπορικά clouds: κατάληψη πόρων => πληρώνουμε

25 Καθορίζοντας το πλήθους των workers  Λύσεις Ο χρήστης θέτει τον αριθμό των workers  Υποστηρίζεται από το gDTS  Οι χρήστες μπορεί να μη γνωρίζουν τις ακριβής συνθήκες στο σύστημα Υπολογισμός αναγκών προτού η μετατροπή αρχίσει  δλδ. bandwidth και υπολογιστική ισχύ  Προβλήματα Το πλήθος και ο τύπος των source δεδομένων μπορεί να μην είναι γνωστός από την αρχή (παράγονται δυναμικά) Οι μετατροπές που θα εκτελεστούν δεν είναι γνωστές Πολύπλοκο Adaptive προσέγγιση  Το πλήθος των workers διαχειρίζεται δυναμικά κατά την διάρκεια εκτέλεσης Βασιζόμενοι στον ρυθμό μετατροπής αντικειμένων Θεωρούμε ότι το workload (κατά μέσο όρο) δε μεταβάλλεται κατά τη διάρκεια της μετατροπής

26 Καθορίζοντας το πλήθους των workers  Adaptive προσέγγιση Επαναληπτική (iterative) διαδικασία  Καταμέτρηση του transformation rate για μια χρονική διάρκεια  Αλλαγή στον αριθμό των workers (workers step) Μία πολιτική αποφασίζει το workers step βασιζόμενη στα:  Transformation rate  Πλήθος των workers κατά τη διάρκεια των μετρήσεων Πολιτικές  Οποιαδήποτε πολιτική βασιζόμενη στα παραπάνω στοιχεία μπορεί να χρησιμοποιηθεί – υλοποιηθεί  Σύστημα + workload + σκοπός => Ορίζουν τη καλύτερη πολιτική

27 Καθορίζοντας το πλήθους των workers  Απλή πολιτική που χρησιμοποιείται στο gDTS Προσπαθεί να αναγνωρίσει bottlenecks Ορίζουμε σαν ratio το:  ratio = (current_rate – prev_rate) / (ideal_rate – prev_rate) = (current_rate – prev_rate) / (prev_rate * ((workers / prev_workers_num) – 1));  If ratio > ratio_of_efficiency (value set by the client) Προσθέτουμε workers  If ratio = ratio_of_efficiency Δεν αλλάζουμε το πλήθος των workers  If ratio < ratio_of_efficiency Αφαιρούμε workers Παράδειγμα  Εναλλακτικές Speed up σε σχέση με το πρώτο βήμα Πολιτική βασισμένη σε όλο το ιστορικό αλλαγών

28 Αξιολόγηση  Cloud 3 host μηχανήματα  CPU: Intel(R) Core(TM) 2 CPU, 6600, @ 2.40GHz  RAM: 8GB Virtual machine hosting  XEN hypervisor Cloud middleware  OpenNebula toolkit Host μηχανήματα  Συνδεδεμένα με 1Gbit Ethernet switch

29 Αξιολόγηση  CPU Intensive transformation avi to flash #Videos: 350 Συνολικό μέγεθος: 10 GB  Μέγεθος κάθε video: από 10MB έως 40MB ftp site MEncoder Specific number of workers Adaptive policy used to manage the number of workers

30 Αξιολόγηση  I/O Intensive transformation tiff to png + watermark #Images: 800 Συνολικό μέγεθος: 20GB  50% 1MB - 10MBs,  19% 10MB - 20MB  19% 20MBs - 50MBs  6% 50MBs - 100MBs  6% 100MBs - 300MBs ftp site ImageMagick  !!!Υπερφόρτωση στο ftp Specific number of workers Adaptive policy used to manage the number of workers


Κατέβασμα ppt "A Data Transformation Service in Cloud Infrastructures Κατρής Δημήτριος 1 Φεβρουαρίου 2010 Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google