Calvin:Fast Distributed Transactions for Partitioned Database System Ηλίας Σπανός Αντωνία Νικολάου Calvin: Fast Distributed Transactions for Partitioned.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Αναδρομικοί Αλγόριθμοι
Advertisements

Transactions & P2P Systems Διονύσης Αθανασόπουλος Βασίλης Φωτόπουλος.
Προχωρημένα Θέματα Τεχνολογίας και Εφαρμογών Βάσεων Δεδομένων Βασικές Αρχές Διαχείρισης Ταυτοχρονισμού Πάνος Βασιλειάδης Οκτώβριος 2009.
ΠΡΟΣΟΜΟΙΩΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ
Βάσεις Δεδομένων II Περίληψη: Προχωρημένα Θέματα Διαχείρισης Ταυτοχρονισμού Πάνος Βασιλειάδης Οκτώβρης 2002
Λειτουργικά Συστήματα ΙΙ
ΠΡΟΣΟΜΟΙΩΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ. Εισαγωγή Έρευνα στην Αρχιτεκτονική Υπολογιστών – Σχεδίαση επεξεργαστή για την εκτέλεση 1 thread (pipeline, branch prediction)
1515 Διαχείριση Συναλλαγών  Συναλλαγές  Έλεγχος ταυτοχρονισμού  Επανάκτηση δεδομένων.
ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ1. 2 Θεωρείστε δύο συναλλαγές (Xacts): T1:BEGIN R(X), X=Χ-N, W(X), R(Y), Y=Y+N, W(Y), END T2:BEGIN R(X) X=X+M, W(X) END v Διαισθητικά, η.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Επεξεργασία Δοσοληψιών (συνέχεια)
Γιατί Disk Based Backup; Πολλά ψηφιακά δεδομένα Μεγάλος χρόνος λήψεως αντιγράφων ασφαλείας Χρονοβόρο restore αρχείων Έλλειψη σιγουριάς για την ποιότητα.
Βάσεις Δεδομένων II Περίληψη: Τεχνικές Ανάνηψης Πάνος Βασιλειάδης Νοέμβρης 2002
ΗΛΕΚΤΡΟΝΙΚΟΣ ΦΑΚΕΛΟΣ ΑΣΘΕΝΟΥΣ
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Τεχνικές Ανάκαμψης.
Σύγχρονες Προκλήσεις. Εισαγωγή Οι CMP είναι πια πραγματικότητα – Intel Core 2, Quad, Nehalem – IBM Power5, Power6 – Sun Niagara, Niagara2, Rock –
Γράφημα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Συνδυαστικό αντικείμενο που αποτελείται από.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Ασκήσεις Επεξεργασία Δοσοληψιών, Τεχνικές Ελέγχου Συνδρομικότητας, Τεχνικές Ανάκαμψεις από Σφάλματα.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Τεχνικές Ανάκαμψης.
All-Optical Packet Switching. (circuit switching)
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Παράλληλα Συστήματα Διαχείρισης Βάσεων Δεδομένων ‘The Future of High Performance.
Βάσεις Δεδομένων II Προχωρημένα Θέματα Διαχείρισης Ταυτοχρονισμού Πάνος Βασιλειάδης Οκτώβρης 2002
ΗΥ Καλοκαιρινός Γιώργος1 Bus. ΗΥ Καλοκαιρινός Γιώργος2 MCS51.
6/26/2015HY220: Ιάκωβος Μαυροειδής1 HY220 Asynchronous Circuits.
7/15/2015HY220: Ιάκωβος Μαυροειδής1 HY220 Assignments.
Βάσεις Δεδομένων II (Θ) Ενότητα 9: Συναλλαγές (Transactions) στο προϊόν mySQL Χ. Σκουρλάς Τμήμα Μηχανικών Πληροφορικής ΤΕ Ανοικτά Ακαδημαϊκά Μαθήματα στο.
X-FTL: Transactional Flash Translation Layer for SQLite Databases WOON-HAK KAN, GY SANG-WON LEE, GI-HWAN OH, CHANGWOO MIN COLLEGE OF INFO. AND COMM. ENGR.,
Αρχιτεκτονική Λογισμικού. Αρχιτεκτονική Συστήματος Λογισμικού Η Αρχιτεκτονική περιγράφει τη γενική στατική δομή του συστήματος, τα βασικά δομικά του στοιχεία,
On Brewing Fresh Espresso: LinkedIn’s Distributed Data Serving Platform Marios Komodromou Kyriakos Theodoulou EPL 646 Assignment 2.
Δεκαπενθήμερο Ενημέρωσης για την Πρόσβαση στην Εκπαίδευση, Οκτωβρίου 2015 « Προσβάσιμο Εκπαιδευτικό και Εποπτικό Υλικό για Μαθητές με αυτισμό » ΒΑΣΙΛΕΙΟΥ.
Διαφάνειες διδασκαλίας του πρωτότυπου βιβλίου μεταφρασμένες στα ελληνικά (μετάφραση, επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών) Οργάνωση και.
ΠΥΡΙΤΙΟ Το πυρίτιο (Si) έχει ατομικό αριθμό 14. Είναι ένα μεταλλοειδές που ανήκει στην ομάδα IV A (14) του περιοδικού πίνακα μαζί με τον Άνθρακα, το Γερμάνιο,
ΠΑΡΟΥΣΙΑΣΗ ΤΗΣ ΠΡΑΚΤΙΚΗΣ ΑΣΚΗΣΗΣ ΣΤΗΝ ΚΟΙΝΟΤΗΤΑ Γκζα Αναστασία Α. Μ
ΠΥΡΙΤΙΟ ΟΠΤΙΚΕΣ ΙΝΕΣ Τα είναι οπτικές ίνες; Οι οπτικές ίνες είναι πολύ λεπτά νήματα φτιαγμένα από πλαστικό ή γυαλί, με διάμετρο μικρότερη των 8μm μέσα.
Λειτουργικά Συστήματα Ενότητα # 4: Συστήματα Αρχείων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής.
Linux ROCs - Performance
Ευρετήρια.
Βάσεις Δεδομένων ΙΙ 9η διάλεξη
Transactional Memory.
Προχωρημένα Θέματα Δικτύων
Βάσεις Δεδομένων Ι 10η διάλεξη
Είδη των Cache Misses: 3C’s
Άθλημα Πετοσφαίρισης Βογιατζή Ίριδα-Βοϊλα Έφη.
Β. Μάγκλαρης 14/11/2016 ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Αρχιτεκτονικές Διαχείρισης Δικτύων SNMP MIB - Αντικείμενα & Ορισμοί.
Βάσεις Δεδομένων ΙΙ 5η διάλεξη
Λογισμικό παρουσιάσεων
ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ
Ειδικά Θέματα σε Κινητά και Ασύρματα Δίκτυα: 1η εργαστηριακή άσκηση
Σκοπός Μαθήματος Σκοπός του μαθήματος είναι να παρουσιάσει τις έννοιες των Συναλλαγών (Transactions) στο προϊόν mySQL. 1.
Βάσεις Δεδομένων ΙΙ Triggers
Ευρετήρια Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Το θέμα «έφηβοι και διατροφή» τέθηκε από τους μαθητές του προγράμματος προκειμένου να διαπιστωθεί η σημασία και ο ρόλος της διατροφής στη ζωή και την καθημερινότητα.
Διαχείριση Συναλλαγών
Εισαγωγή στα Ευρετήρια
Σχεσιακεσ βασεισ δεδομενων
Οι μαθήτριες του Β2: Παρουσιάζουν το πρότζεκτ με θέμα: Μακρή Θεοδώρα
« Εξ Αποστάσεως Εκπαίδευση : Εξατομικευμένη και αυτορυθμιζόμενη μάθηση - Η Αξιοποίηση της Ψηφιακής Εκπαιδευτικής Πλατφόρμας Ανοικτού Κώδικα Moodle» Κερασοβίτης.
Κατανεμημένα Συστήματα
Κατανεμημένα Συστήματα
Κατανεμημένα Συστήματα
Κατανεμημένες δοσοληψίες
Κατανεμημένα Συστήματα
Είδη των Cache Misses: 3C’s
Χαρακτηριστικά και Αξιολόγηση Δικτύου για εφαρμογές Πολυμέσων
OLTP System Online Transaction Processing (Operational System)
Τηλεόραση και Παιδί!!!.
Κατανεμημένα Συστήματα
Είδη των Cache Misses: 3C’s
Χαρακτηριστικά και Αξιολόγηση Δικτύου για εφαρμογές Πολυμέσων
Είδη των Cache Misses: 3C’s
ΣΤΑΣΕΙΣ ΚΑΙ ΣΥΜΠΕΡΙΦΟΡΑ
Μεταγράφημα παρουσίασης:

Calvin:Fast Distributed Transactions for Partitioned Database System Ηλίας Σπανός Αντωνία Νικολάου Calvin: Fast Distributed Transactions for Partitioned Database Systems

Σύνοψη  Κίνητρα για την δημιουργία του Calvin ; ● Ύπαρξη ACID properties στις κατανεμημένες βάσεις ● Συνεπές replication ● Σχεδόν οριζόντια επεκτασιμότητα 2 Calvin: Fast Distributed Transactions for Partitioned Database Systems

Ποιο είναι το πρόβλημα ??  Οι κατανεμημένες δοσοληψίες είναι ακριβές!! ― Agreement protocol ● Πολλαπλά roundtrips στο 2-phase commit ● Μειωμένη επεκτασιμότητα ― Locking ● Οι κλειδαριές μένουν καθ’ όλη την διάρκεια της δοσοληψίας. ● Πιθανότητα deadlock 3 Calvin: Fast Distributed Transactions for Partitioned Database Systems

Συνεπές replication  Πολλά συστήματα επιτρέπουν ασυνεπές replication ― Τα δεδομένα στους replica μπορεί να διαφέρουν αλλά σε κάποια φάση θα συγχρονιστούν(eventually consistency ) ― Dynamo, SimpleDB, Cassandra..  Συνεπές replication (Η νέα μόδα!!) ― Άμεση ανάκαμψη ― Αυξάνει το Latency  4 Calvin: Fast Distributed Transactions for Partitioned Database Systems

Calvin Layer  Ο Calvin είναι ένα layer που: Χρονοπρογραμματίζει τις δοσοληψίες και αναπαράγει τα δεδομένα Χρησιμοποιεί ντετερμινιστική διάταξη Επεκτείνεται σχεδόν γραμμικά σε clusters με συνιθισμένα μηχανήματα Δεν έχει single point of failure Calvin: Fast Distributed Transactions for Partitioned Database Systems 5

Αρχιτεκτονική του Calvin (1)  Σχεδιάστηκε ως ένα επεκτάσιμο transactional layer για να τρέχει πάνω από οποιοδήποτε storage system  Αποτελέιται από τρια layers 1.Sequencing Layer: 2.Scheduling Layer: 3.Storage Layer: Calvin: Fast Distributed Transactions for Partitioned Database Systems 6

Αρχιτεκτονική του Calvin (2)  Sequencing Layer: ● Βάζει όλες τις δοσοληψίες σε μία καθολική σειρά ● Χειρίζεται την αναπαραγωγή της καθολικής σειράς  Scheduling Layer: ● Kαθορίζει το χρονοπρόγραμμα με το οποίο πρέπει να εκτελεστούν οι δοσοληψίες ● Το χρονοπρόγραμμα πρέπει να είναι ισοδύναμο συγκρούσεων με τη σειριακή διάταξη που καθορίστηκε στο Sequencing Layer ● Επιτρέπει στις δοσοληψίες να εκτελούνται ταυτόχρονα με διάφορα νημάτα  Storage Layer: ● Διαχειρίζεται τη διάταξη των δεδομένων στο φυσικό μέσο ● CRUD διεπαφή create/insert, read, update και delete για να έχουν πρόσβαση οι δοσοληψίες στα δεδομένα Calvin: Fast Distributed Transactions for Partitioned Database Systems 7

Sequencer Calvin: Fast Distributed Transactions for Partitioned Database Systems  Κατανεμημένος σε όλους τους κόμβους ● Αποφυγή ενός μοναδικού σημείου αποτυχίας ● Αύξηση επεκτασιμότητας  Καθήκοντα sequencer ● Χωρίζει τις δοσοληψίες σε υποσύνολα κάθε 10 δευτερόλεπτα ● Καθορίζει τη σειρά με την οποία θα εκτελεστούν οι δοσοληψίες ● Αντιγράφει στους replicas τις δοσοληψίες ● Στέλνει σε όλους του schedulers που είναι στην ίδια μηχανή τις δοσοληψίες που θα εκτελεστούν 8

Scheduler Calvin: Fast Distributed Transactions for Partitioned Database Systems  Υπεύθυνος για την εκτέλεση των δοσοληψιών ● Βάζει σε μια καθολική διάταξη όλες τις δοσοληψίες που έχει λάβει από τους Sequencers ● Χρήση ενός ντετερμινιστικού πρωτοκόλλου κλειδώματος (Deterministic Locking) ● Δυνατότητα ταυτόχρονης εκτέλεσης δοσοληψιών μέσω νημάτων 9

Αρχιτεκτονική του Calvin 10

Αρχιτεκτονική του Calvin 11 Calvin: Fast Distributed Transactions for Partitioned Database Systems

Calvin: Ντετερμινιστική Προσέγγιση (1)  Oι replicas συμφωνούν τον τρόπο με τον οποίο θα χειριστούν τη δοσοληψία, πριν να δεσμεύσουν τους πόρους που χρειάζεται και να ξεκινήσουν την εκτέλεση της  Υπεύθυνος είναι ο Sequencer ● Παρακολουθεί όλες τις δοσοληψίες και τις βάζει σε μία καθολική σειρά ● Με αυτήν την σειρά θα εκτελεστούν σε όλους τους replicas  Για την επίτευξη της ατομικότητας, πρέπει να εξασφαλίσουμε ότι οι αλλαγές θα γίνουν είτε σε όλους τους replicas είτε σε κανέναν Calvin: Fast Distributed Transactions for Partitioned Database Systems 12

Ντετερμινιστική Προσέγγιση (2)  Κατηγορίες γεγονότων που μπορούν να αποτρέψουν ένα κόμβο να κάνει commit τις τοπικές αλλαγές του: ● μη ντετερμινιστικά σφάλματα γίνεται commit η δοσοληψία από τους υπόλοιπους replicas ● ντετερμινιστικά σφάλματα one-way μήνυμα Πλεονεκτήματα:  Δεν χρειάζεται agreement protocol ● Δεν χρειάζεται έλεγχος για node failure ● Recovery από τους άλλους replica Calvin: Fast Distributed Transactions for Partitioned Database Systems 13

Αναπαραγωγή των δοσοληψιών  O Calvin υποστηρίζει προς το παρόν δύο τρόπους για να αναπαραγάγει τις δοσοληψίες: ● Asynchronous Replication ● Paxos-based synchronous replication  Σύγχρονο replication(Paxos-based): ● Τα δεδομένα στον master και στον replica είναι συγχρονισμένα (Αυξάνει το Latency!!)  Aσύγχρονο replication: ● Τα δεδομένα στον master και στον replica δεν είναι συγχρονισμένα ― Low latency αλλά πολύπλοκο failure recovery!! Calvin: Fast Distributed Transactions for Partitioned Database Systems 14

Deterministic Locking  Είναι κατανεμημένο στο scheduling layer ● O scheduler κάθε κόμβου κλειδώνει μόνο τις εγγραφές που είναι στο δικό του αποθηκευτικό μέσο ● Κάθε δοσοληψία πρέπει να δηλώνει όλα τα locks που θα χρειαστεί πριν να ξεκινήσει την εκτέλεση της  Μοιάζει με το strict two-phase locking αλλά με δυο επιπλέον συνθήκες ● Τα locks θα δίνονται στις δοσοληψίες με βάση την καθολική διάταξη των δοσοληψιών (σειριακή διάταξη που εξάγεται από τον sequencing layer) ● Υλοποιείται σειριοποιώντας όλα τα αιτήματα για lock σε ένα νήμα ● O lock manager πρέπει να δίνει τα locks με τη σειρά που γίνονται τα αιτήματα 15 Calvin: Fast Distributed Transactions for Partitioned Database Systems

Εκτέλεση Δοσοληψιών (1)  Φάση Πρώτη: ● Κάθε δοσοληψία εκτελείται από ένα νήμα το οποίο είναι υπεύθυνο να καθορίζει τα στοιχεία τα οποία θα διαβαστούν και τα στοιχεία που θα γραφούν ● Χωρίζει τα στοιχεία που βρήκε σε δύο σύνολα: write set και read set ● Active participants : Όλοι οι κόμβοι που περιέχουν έστω και ένα στοιχείο απο το write set ● Passive participants: Οι υπόλοιπoι κόμβοι  Φάση Δεύτερη: ● Ανάκτηση των εγγραφών από το read set που βρίσκονται τοπικά  Φάση Τρίτη: ● Όλοι οι κόμβοι που έχουν διαβάσει οποιαδήποτε δεδομένα από το read set, τα στέλνουν σε όλους τους active participants ● Δεν στέλνονται στους passive participants επειδή δεν θα εκτελέσουν κανένα transaction. 16 Calvin: Fast Distributed Transactions for Partitioned Database Systems

Εκτέλεση Δοσοληψιών (2)  Φάση Τέταρτη: ● Όλοι οι active participants συλλέγουν τα δεδομένα που στάλθηκαν στην προηγούμενη φάση  Φάση Πέμπτη: ● Εκτελείται η δοσοληψία και γράφονται όλες οι τροποποιήσεις στις τοπικές εγγραφές ● Δεν χρειάζεται να γραφούν οι τροποποιήσεις σε άλλους κόμβους εφόσον θα τις κάνει ο συγκεκριμένος κόμβος. 17 Calvin: Fast Distributed Transactions for Partitioned Database Systems

18 Εκτέλεση Δοσοληψιών (3) Calvin: Fast Distributed Transactions for Partitioned Database Systems

Εξαρτώμενες Δοσοληψίες  Δοσοληψίες που χρειάζεται να κάνουν κάποια read, για να καθορίσουν τα read/write set τους  Ο Calvin απαιτεί γνώση των read/write set πριν να ξεκινήσει η εκτέλεση της δοσοληψίας  Λύση: Optimistic Lock Location Prediction (OLLP) ● Yλοποιείται με πολύ λίγο κόστος, τροποποιώντας τον κώδικα της δοσοληψίας του πελάτη ● Εκτελείται ένα ερώτημα αναγνώρισης, το οποίο εκτελεί τα απαραίτητα reads για να καθοριστούν τα read/write sets ● H πραγματική δοσοληψία προστίθεται στην καθολική διάταξη των δοσοληψιών με αυτά τα read/write sets ● Στην περίπτωση που αλλάξουν τα read/write sets μέχρι να εκτελεστεί η δοσοληψία?? H διαδικασία αυτή ξαναρχίζει σε όλους τους κόμβους 19 Calvin: Fast Distributed Transactions for Partitioned Database Systems

Calvin με disk-based αποθηκευση (1)  Nτετερμινιστική εκτέλεση των δοσοληψιών: δεν δουλεύουν καλά για βάσεις δεδομένων που δεν χωρούν στην κύρια μνήμη και πρέπει να γίνονται προσβάσεις στον δίσκο  Παραδοσιακές βάσεις δεδομένων: ● Σειρά εκτέλεσης των δοσοληψιών: ισοδύναμη συγκρούσεων με οποιοδήποτε σειριακό χρονοπρόγραμμα ● Κατά την εκτέλεση των δοσοληψιών μπορεί να αλλάξει το χρονοπρόγραμμα και να γίνει ισοδύναμο με ένα άλλο σειριακό χρονοπρόγραμμα  Άρα δε θα γίνει block η εκτέλεση όλου του χρονοπρογράμματος για να διαβαστούν κάποια δεδομένα από το δίσκο  Nτετερμινιστικές βάσεις δεδομένων:  Tο σειριακό χρονοπρόγραμμα είναι προκαθορισμένο εξαρχής από τον sequencer και δεν μπορεί να αλλάξει  Βlock η εκτέλεση όλου του χρονοπρογράμματος για να διαβαστούν κάποια δεδομένα από το δίσκο 20 Calvin: Fast Distributed Transactions for Partitioned Database Systems

Calvin με disk-based αποθηκευση (2) Λύση:  Στέλνονται αρχικά αιτήματα στα αποθηκευτικά μέσα που έχουν τα δεδομένα για να γίνουν prefetch  Προστίθεται μια τεχνητή καθυστέρηση αποστολής των δοσοληψιών στον scheduler έτσι ώστε να μειώσουμε τον χρόνο που χρειάζεται να έχουμε κλειδωμένα τα δεδομένα  Όταν εκτελεστεί η δοσοληψία θα βρει όλα τα δεδομένα στην κύρια μνήμη 21 Calvin: Fast Distributed Transactions for Partitioned Database Systems

Checkpointing  Checkpointing ?? ● Σε περίπτωση βλάβης επαναφέρουμε γρήγορα την βάση σε συνεπή κατάσταση.  Τρεις μεθόδοι για Checkpointing ● Naive synchronous checkpointing ● Zig-Zag αλγόριθμος ● Ασύγχρονο snapshot mode 22 Calvin: Fast Distributed Transactions for Partitioned Database Systems

Naive synchronous checkpointing  Πώς λειτουργά ; ● Σταματά περιοδικά ένα αντίγραφο replica ● Δημιουργεί ένα στιγμιότυπο του replica ● Προωθεί σε κάποιο άλλο replica οποιαδήποτε δοσοληψία έρθει  Πιθανά Προβλήματα ?? ● O replica μπορεί να μείνει πίσω από τους άλλους replica ● Θα έχουμε προβληματική κατάσταση σε περίπτωση που χρειαστεί να αντικαταστήσει κάποιο άλλο replica ● Αρκετός χρόνος για ανταλλαγή αντιγράφων με τους υπόλοιπους replica 23 Calvin: Fast Distributed Transactions for Partitioned Database Systems

Zig-Zag Αλγόριθμος  Στον Calvin χρησιμοποιείται μια παραλλαγή του Zig-Zag αλγόριθμου  Προκαθορίζεται ένα εικονικό σημείο συνέπειας στην καθολική σειριακή διάταξη των δοσοληψιών  Tο στρώμα αποθήκευσης του Calvin δημιουργεί δυο versions κάθε εγγραφής, το before version και το after version  Οι δοσοληψίες που είναι πριν από το εικονικό σημείο χρησιμοποιούν το before version  Οι δοσοληψίες που είναι μετά από το εικονικό σημείο χρησιμοποιούν το after version  Όταν οι δοσοληψίες που είναι πριν από το εικονικό σημείο στο χρονοπρόγραμμα ολοκληρώσουν την εκτέλεση τους τα before versions τους δεν πρόκειται να ξανα τροποποιηθούν  Τότε ένα ασύγχρονο checkpointing νήμα ξεκινά να δημιουργεί checkpoint για τα before versions  Τα before versions διαγράφονται, γιατί οι εγγραφές που έχουν και before version και after version χρησιμοποιούν το after version  To ασύγχρονο checkpointing προκαλεί μέτριο overhead 24

25

Asynchronous snapshot mode  Υποστηρίζεται μόνο από επίπεδα αποθήκευσης που έχουν πλήρη multiversioning σχήμα, δηλαδή κρατούν όλες τις πρόσφατες εκδόσεις κάθε εγγραφής και την τρέχον έκδοση της  Τα ερωτήματα που μόνο Διαβάζουν εγγραφές δεν χρειάζεται να αποκτούν κάποιο lock 26 Calvin: Fast Distributed Transactions for Partitioned Database Systems

Performance Evaluation Benchmarks??  TPC-C benchmark ● Μόνο New order Transaction γιατί αυτές δημιουργούν το μεγαλύτερο φόρτο στο σύστημα  Microbenchmark  Σύστημα που χρησιμοποιήθηκε? ● Amazon EC2 ● Έχει 7 GB μνήμη και 8 εικονικoύς πυρήνες 27 Calvin: Fast Distributed Transactions for Partitioned Database Systems

Αποτελέσματα του TPC-C benchmark  To συνολικό throughput αυξάνεται γραμμικά  Mεγάλη πτώση μεταξύ του throughput για ένα μηχάνημα και του throughput για δυο μηχανήματα  λόγω της επιπλέον δουλειάς που πρέπει να γίνει από τον επεξεργαστή για κάθε multipartition δοσοληψία  Κάθε κόμβος εκτελεί 5000 δοσοληψίες ανά δευτερόλεπτο σε clusters μεγαλύτερα από 10 κόμβους ● Λόγω στην απουσία κάποιου agreement protocol ● Λόγω ελαχιστοποίησης του χρόνου που κρατά μια δοσοληψία τα locks  Με 100 κόμβους σε ένα δευτερόλεπτο εκτελούνται 500,000 δοσοληψίες (100*5000)  Πολύ κοντινό throughput με αυτό της Oracle που είναι ο κάτοχος του παγκόσμιου ρεκόρ με 504,161 new order transactions ανά δευτερόλεπτο και τρέχει σε πολύ πιο δυνατό υλικό 28 Calvin: Fast Distributed Transactions for Partitioned Database Systems

Αποτελέσματα του microbenchmark  Contention index: το ποσοστό των “hot” εγγραφών που τροποποιεί μια δοσοληψία όταν εκτελείται σε μια μηχανή  Για χαμηλό contention index καθώς προσθέτουμε μηχανήματα το througput μειώνεται και σταθεροποιείται περίπου στα 10 μηχανήματα  Για ψηλά contention index καθώς προσθέτουμε μηχανήματα βλέπουμε μια σταδιακή μείωση στο throughput.  Mεγάλη πτώση μεταξύ του throughput για ένα μηχάνημα και του throughput για δυο μηχανήματα  λόγω της επιπλέον δουλειάς που πρέπει να γίνει από τον επεξεργαστή για κάθε multipartition δοσοληψία  Η επιπλέον μείωση του throughput ανά μηχανή λόγω: ● της προσθήκης μιας αργής μηχανής ● κάποια μηχανήματα μπορεί να μένουν πίσω ή ακόμη να προχωρούν πιο γρήγορα από άλλα μηχανήματα  Από την άλλη το συνολικό througput εξαρτάται από: ● το επίπεδο του contention ● τον αριθμό των μηχανών 29 Calvin: Fast Distributed Transactions for Partitioned Database Systems

Ευχαριστούμε - Rollback(); 30