Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεSibyl Pulos Τροποποιήθηκε πριν 9 χρόνια
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
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.