MillWheel: Fault-Tolerant Stream Processing at Internet Scale

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Λειτουργικό Σύστημα (Operating System) 1o μέρος
Advertisements

Λογισμικο συστηματοσ Κεφάλαιο 4ο
7.3.8 Μεταφραστές Ελληνογαλλική Σχολή Καλαμαρί - Τίκβα Χριστίνα.
Η Γλώσσα Προγραμματισμού LOGO
Παρουσίαση λειτουργίας εφαρμογής extra Διαχείριση Ταμείου
Από Άκρο σε Άκρο Αποφυγή Συμφόρησης
Νέα σειρά εκδόσεων 4.5. Νέα χαρακτηριστικά  Επιφάνεια εργασίας  On Line ενημέρωση Λογιστικής  Διαχείριση σχετικών εγγράφων  Data Center  Γεωγραφικές.
Chord: A scalable Peer-to-Peer Lookup Service for Internet Applications Παρουσίαση: Αθανασόπουλος, Αλεξάκης, Δεβελέγκα, Πεχλιβάνη, Φωτιάδου, Φωτόπουλος.
Λειτουργικά Συστήματα
Κεφάλαιο 1ο: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΤΩΝ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ
Συνάφεια Κρυφής Μνήμης σε Επεκτάσιμα Μηχανήματα. Συστήματα με Κοινή ή Κατανεμημένη Μνήμη  Σύστημα μοιραζόμενης μνήμης  Σύστημα κατανεμημένης μνήμης.
Ανακτηση Πληροφοριασ σε νεφη Υπολογιστων
Λογισμικο συστηματοσ Κεφάλαιο 4ο
 Αυδίκου Χριστίνα  Γιουμούκης Παναγιώτης  Κιντσάκης Θάνος  Πάπιστας Γιάννης.
ΜΕΘΟΔΟΙ ΕΠΙΚΥΡΩΣΗΣ ΤΩΝ ΔΕΞΙΟΤΗΤΩΝ  Εκπαιδευτικό Κεφάλαιο 9.1 Εθνικές και Ευρωπαϊκές πολιτικές για την επικύρωση των εμπειριών τοποθέτησης.
Πανεπιστήμιο Ιωαννίνων Ανάκτηση Πληροφορίας Τμήμα Πληροφορικής Ακαδημαϊκό Έτος MapReduce: Simplified Data processing on Large Clusters Φώτης.
Βάσεις Δεδομένων (ΚΒΔ)
1 ΠΟΛΥΜΕΣΑ ΚΑΙ ΔΙΚΤΥΑ Μάθημα 1 ο : Μέσα και πολυμέσα Εισηγήτρια:Αναστασία Κατρανίδου.
Λειτουργικά συστήματα ΙΙ
ΤCP/IP Τι είναι; Σύντομο Ιστορικό
ΕΝΟΤΗΤΑ 12η Συστήματα μετρήσεων SCADA
ΚΕΦΑΛΑΙΟ 3 ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΤΩΝ Γ.Σ.Π.. ΟΡΙΣΜΟΙ Ένα σύστημα για τακτικό και συνηθισμένο τρόπο επεξεργασίας δεδομένων και για απάντηση προκαθορισμένων και.
Δεδομένα, Πληροφορίες και Ηλεκτρονικοί Υπολογιστές
Η ΓΛΩΣΣΑ C ΜΑΘΗΜΑ 2.
ΑΡΧΙΤΕΚΤΟΝΙΚΗ & ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 1 Εισαγωγή
ΕΙΣΑΓΩΓΗ ΣΤΑ ΓΕΩΓΡΑΦΙΚΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΩΝ
Κεφάλαιο 2 Το Εσωτερικό του υπολογιστή
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Πληροφορική, Β Γυμνασίου
Τμήμα Μηχανικών Επιστήμης Υλικών Ιωάννινα 2013 Διδάσκων: Δημήτριος Ι. Φωτιάδης Υπολογιστική Μοντελοποίηση στη Βιοϊατρική Τεχνολογία.
Αλγόριθμοι 2.1.1,
Ο προσωπικός υπολογιστής εσωτερικά
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Γ’ μέρος
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Δρομολόγηση. Δρομολόγηση ονομάζεται το έργο εύρεσης του πως θα φθάσει ένα πακέτο στον προορισμό του Ο αλγόριθμος δρομολόγησης αποτελεί τμήμα του επιπέδου.
ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΜΣ «ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΗΣΗΣ» ΗΛΕΚΤΡΟΝΙΚΗ ΔΗΜΟΣΙΕΥΣΗ ΔΙΔΑΣΚΟΝΤΕΣ: ΚΑΠΙΔΑΚΗΣ ΣΑΡΑΝΤΟΣ ΓΕΡΓΑΤΣΟΥΛΗΣ ΕΜΜΑΝΟΥΗΛ Το DSpace ως ένα Ανοικτό.
ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Syntax Directed Translation and alpha Language.
Εφαρμογές Υπολογιστών Ά Λυκείου Κεφ. 4 Λογισμικό Συστήματος
ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΙΚΟΙΝΩΝΙΩΝ
ΕΝΟΤΗΤΑ 2 – Κεφάλαιο 5: Γνωριμία με το Λογισμικό
ΕΙΣΑΓΩΓΉ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΉ ΝΊΚΟΣ ΠΑΠΑΔΆΚΗΣ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ.
ΕΝΟΤΗΤΑ 1 – Κεφάλαιο 2: Το εσωτερικό του Υπολογιστή Β΄ τάξη Λέξεις Κλειδιά: Μητρική πλακέτα, κάρτες επέκτασης, κάρτα οθόνης, κάρτα ήχου, τροφοδοτικό, Κεντρική.
ΠΑΡΑΔΕΙΓΜΑ: ΤΑ ΕΠΙΠΕΔΑ ΥΛΙΚΟΥ – ΛΟΓΙΣΜΙΚΟΥ ΣΕ ΕΝΑΝ ΥΠΟΛΟΓΙΣΤΗ.
Κύρια Μνήμη Διάφοροι τύποι μνήμης RAM Από πάνω προς τα κάτω, DIP, SIPP, SIMM (30-pin), SIMM (72-pin), DIMM (168-pin), DDR DIMM (184-pin). Μνήμη RΟM.
Ενότητα 2 η Σήματα και Συστήματα. Σήματα Γενικά η πληροφορία αποτυπώνεται και μεταφέρεται με την βοήθεια των σημάτων. Ως σήμα ορίζουμε την οποιαδήποτε.
ΟΡΓΑΝΩΣΗ ΤΗΣ ΠΡΟΣΩΠΙΚΗΣ ΑΤΖΕΝΤΑΣ Τι είναι η προσωπική ατζέντα; Που μπορεί να χρησιμεύσει στον χώρο εργασίας;
ΥΝ Ι: ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ 1 ΥΠΟΛΟΓΙΣΤΙΚΗ ΝΟΗΜΟΣΥΝΗ (Τεχνητά Νευρωνικά Δίκτυα και Γενετικοί Αλγόριθμοι) ΣΠΥΡΟΣ ΛΥΚΟΘΑΝΑΣΗΣ, ΚΑΘΗΓΗΤΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ.
1 State Diagrams. 2 Τα διαγράμματα καταστάσεων (State diagrams) χρησιμοποιούνται: Για να βοηθήσουν στην ανάπτυξη ενός συστήματος Για να βοηθήσουν στην.
Διαχείριση Πόρων (1/10) Εισαγωγή στην Πληροφορκή 1 Στα πρώτα χρόνια των υπολογιστών, όπου μόνο ένα πρόγραμμα είχε τη δυνατότητα να βρίσκεται στην κύρια.
στην Επιστήμη των Υπολογιστών Κωδικός Διαφανειών: MKT110
CSMA/CA στο Κατανεμημένα Ενσωματωμένα Συστήματα
Έβδομο μάθημα Ψηφιακά Ηλεκτρονικά.
ΤΙΤΛΟΣ ΕΡΓΑΣΙΑΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ανδρέου Βασίλης.
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΔΙΑΧΕΙΡΙΣΗ ΤΕΧΝΙΚΩΝ ΕΡΓΩΝ
Προγραμματισμός έργων
Χειρισμός Χρόνου και Μεθοδολογίες Προσομοίωσης
Κεφάλαιο 4. Επίπεδο μεταφοράς
Γνωριμία με το Λογισμικό του Υπολογιστή
Βασικά Μοντέλα και Έννοιες Διεργασιών
Λειτουργικά Συστήματα και Ασφάλεια Πληροφοριακών Συστημάτων ΔΙΕΡΓΑΣΙΕΣ
DREMEL: Interactive Analysis of Web-Scale Datasets
ΕΛΛΗΝΟΓΑΛΛΙΚΗ ΣΧΟΛΗ ΠΕΙΡΑΙΑ <<ΑΓΙΟΣ ΠΑΥΛΟΣ>>
ΕΝΟΤΗΤΑ 1 – Κεφάλαιο 1: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ
Νέα σειρά εκδόσεων 4.5.
ΤΕΙ Ηρακλείου Τμήμα Εφαρμοσμένης Πληροφορικής και Πολυμέσων
Διαχείριση των περιορισμών
Το υπολογιστικό σύστημα σαν ενιαίο σύνολο
Κεφάλαιο 2ο: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
Μεταγράφημα παρουσίασης:

MillWheel: Fault-Tolerant Stream Processing at Internet Scale Μιχαηλινα Αργυρου Κυριακη Χριστοδουλου

Περιεχόμενα Τι είναι ΜillWheel? Χρήση του ΜillWheel Τι είναι ένα computation? Timers Είσοδος – Έξοδος Βασικά Πλεονεκτήματα Χαρακτηριστικά ΜillWheel Απαραίτητες Προϋποθέσεις για stream processing Checkpoints Strong Production Weak Production Εγγυήσεις ΜillWheel API Αρχιτεκτονική

The MillWheel Framework Low latency data processing εφαρμογές Χρησιμοποιείται ευρέως από την Google σαν ένας anomaly detector στους servers της Google Προγραμματιστικό μοντέλο Ανοχή σε σφάλματα Επεκτασιμότητα Κατευθυνόμενος Γράφος απoτελούμενος από Computations

Χρήση του MillWheel Συγκεκριμένα βρίσκει εφαρμογή στο Google's Zeitgeist που ουσιαστικά είναι ένας αγωγός που χρησιμοποιείται για να συλλαμβάνει την εξέλιξη των web queries. Ο αγωγός αυτός προσλαμβάνει μια συνεχή είσοδο από search queries και προσφέρει anomaly detection δίνοντας σαν έξοδο spiking ή dipping queries όσο πιο σύντομα γίνεται. Το Google's Zeitgeist ενισχύει την δύναμη του Google's Hot Trends το οποίο εξαρτάται από τις καινούριες πληροφορίες.

Χρήση του MillWheel

Ανάγκη δημιουργίας του MillWheel Spark Streaming και Sonora: κάνουν εξαιρετική δουλειά με την αποτελεσματική χρήση των checkpoint περιορίζουν όμως ωστόσο το διάστημα των operators μέσα στο user code S4: δεν παρέχεται ικανοποιητική ανοχή σε σφάλματα, ούτε υποστηρίζεται η έννοια του persistent state. Storm: δεν υποστηρίζεται ο μηχανισμός του exactly once delivery

Computation Persistent Storage (βραχυπρόθεσμη και μακροπρόθεσμη μνήμη) Εκτελείται παράλληλα Ενεργοποίηση κατά την παραλαβή ενός δεδομένου εισόδου Είσοδος: πολλά streams(ο μηχανισμός μεταφοράς μεταξύ διαφορετικών computations) Έξοδος: παράγει records για πολλά streams

Computation Σειριακή επεξεργασία του ανά κλειδί Παράλληλη διαμέσου διακριτών κλειδιών

Timers Δημιουργούνται και εκτελούνται στα πλαίσια ενός Computation Εφαρμογές που έχουν ως βάση τον χρόνο Βασίζονται στο wall time ή στο low watermark

Είσοδος – Έξοδος Τριάδα(κλειδί, τιμή, timestamp) Κλειδί: Χαρακτηρίζει μοναδικά κάθε record Συνδέει και Συγκρίνει διαφορετικά record Ανάθεση μέσω key extraction function

Είσοδος – Έξοδος Τιμή: Timestamp : Είναι ένα byte string Αντιστοιχεί σε συγκεκριμένο record Timestamp : Σηματοδοτεί την ώρα δημιουργίας ενός record μέσα στο σύστημα

Βασικά Πλεονεκτήματα Διασφαλίζει μια συνεπή κατάσταση στο σύστημα Συνεχής Ροή των records στο σύστημα Απόκρυψη τυχόν σφαλμάτων Εύκολο στην χρήση για κατασκευή πολύπλοκων streaming συστημάτων χωρίς ιδιαίτερες γνώσεις σε κατανεμημένα συστήματα (όπως και στο MapReduce) Προσφέρει επεκτασιμότητα Εγγυάται ανοχή σφαλμάτων

Χαρακτηριστικά MillWheel Low Watermark Duplicate Prevention Persistent State

Χαρακτηριστικά MillWheel Low Watermark: Αυστηρά ορισμένη τιμή πάνω στο Timestamp των γεγονότων Γνωρίζουμε πληροφορίες για τα queries Τα δεδομένα με μικρότερο Timestamp από το Low Watermark ξέρουμε ότι έχουν ήδη αφιχθεί στο σύστημα Αντικατοπτρίζει τις εργασίες που εκκρεμούν min(oldest work of A, low watermark of C : C outputs to A) Computation C Computation A

Χαρακτηριστικά MillWheel

Χαρακτηριστικά MillWheel Duplicate Prevention: Διασφαλίζει ότι δεν θα παραληφθούν ίδια δεδομένα από τον ίδιο κόμβο Δεν χρειάζεται να γραφεί κώδικας από τον χρήστη για να υπάρχει αυτή η εγγύηση Persistent State: Συνοχή και Συνέπεια σε ολόκληρο το σύστημα Διασφαλίζεται με πλεονασμό Αποθήκευση των δεδομένων σε ένα διαθέσιμο αποθηκευτικό χώρο προσπελάσιμο ανά πάσα στιγμή

Απαραίτητες Προϋποθέσεις για Stream Processing Διαθέσιμα Δεδομένα όσο πιο γρήγορα γίνεται από την ώρα δημιουργίας τους Διαχείριση των δεδομένων που είναι αχρείαστα με τρόπο που να μην επηρεάζεται το ολικό σύστημα και να μην είναι ορατό προς τους χρήστες Σταθερή και ικανοποιητική απόδοση όσο μεγαλώνει το κατανεμημένο σύστημα Υπολογισμός της μονοτονικής αύξησης του Low Watermark Διασφάλιση της έννοιας του exactly-once delivery

Checkpoints Κάθε record έχει μοναδική ταυτότητα και σηματοδοτείται από ένα checkpoint πριν να ξεκινήσει η μεταφορά του. Αυτό γίνεται για 2 λόγους: Αν δεν παραδοθεί το record σωστά και δεν πάρουμε ACK τότε γίνεται επανάληψη της αποστολής με βάση το checkpoint Αν προκύψει οποιοδήποτε σφάλμα στο σύστημα κατά την αποστολή με την χρήση του checkpoint γίνεται επαναφορά του συστήματος σε μια συνεπή κατάσταση Αφού ολοκληρώσουν την δουλειά τους τα checkpoints συλλέγονται από ένα garbage collector

Strong Production To checkpoint τοποθετείται στο record Μόλις πάρουμε ACK ο garbage collector συλλέγει το checkpoint

Weak Production To checkpoint τοποθετείται στο record Μόλις πάρουμε ACK ο garbage collector συλλέγει το checkpoint Συμπέρασμα: Η προσέγγιση αυτή είναι πιο ελαστική και δεν μας εγγυάται την έννοια του exactly–once delivery

Weak Production

Εγγυήσεις του MillWheel Σε καμιά περίπτωση δεν χάνονται δεδομένα Συνέπεια των δεδομένων που κινούνται ανά πάσα στιγμή μέσα στο σύστημα Τα Low Watermark αντικατοπτρίζουν τις εκκρεμείς καταστάσεις του συστήματος Τα timers πυροδοτούνται βάση μιας συγκεκριμένης σειράς δοθέντος ενός κλειδιού Single Writer -> αποτροπή της ύπαρξης zombie writers με την χρήση sequencer token

API – Κύριες Συναρτήσεις Σημαντικές Συναρτήσεις του User Code: ProcessRecord() Ενεργοποιείται μόλις γίνει η παραλαβή ενός record ProcessTimer() Δεν είναι απαραίτητο να υπάρχει Ενεργοποιείται μόλις παρουσιαστεί μια συγκεκριμένη τιμή ή ένα συγκεκριμένο Low Watermark

API – Injectors Φέρνουν εξωτερικά δεδομένα μέσα στο framework Διαδίδουν σε όλους τους subscribers ένα injector Low Watermark διαμέσου των stream εξόδου Κατανεμημένοι σε πολλά διαφορετικά processes Ο υπολογισμός του injector Low Watermark γίνεται βάση των Low Watermarks των processes

Αρχιτεκτονική Το MillWheel τρέχει σαν ένα κατανεμημένο σύστημα Κάθε computation τρέχει σε μια ή περισσότερες μηχανές Κάθε μηχανή διευθετεί τις εισερχόμενες εργασίες, διαχειρίζεται τα metadata και αναθέτει computation στον κατάλληλο χρήστη Τα streams μεταφέρονται μέσω RPC Μετά από κάποιο σφάλμα μηχανής επανέρχεται σε μια σταθερή κατάσταση σαρώνοντας τα metadata από ένα backing store

Ευχαριστούμε για την προσοχή!