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.,

Slides:



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

4/3/2017 5:15 AM Επισκόπηση προσεγγίσεων ανάπτυξης εφαρμογών για έξυπνες κινητές συσκευές και ανάπτυξη πρότυπης εφαρμογής Ξανθόπουλος Σπύρος ΑΕΜ: 114 Διπλωματική.
ΕΙΣΑΓΩΓΗ ΣΤΟ DOS (Disk Operating System)
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Αποθήκευση Δεδομένων.
ΕΠΕΞΕΡΓΑΣΙΑ ΔΕΔΟΜΕΝΩΝ
Ανακτηση Πληροφοριασ σε νεφη Υπολογιστων
Δ.Π.Θ. Συνδέοντας έγγραφα - 1 Συνδέοντας έγγραφα Μια σύνδεση στο Web (link) αποτελείται από δύο μέρη : Aυτό που βλέπουμε στη σελίδα και λέγεται άγκυρα.
1 Επεξεργασία Συναλλαγών. 2 Συναλλαγές m Η ταυτόχρονη εκτέλεση προγραμμάτων χρηστών είναι απαραίτητη για την καλή απόδοση ενός ΣΔΒΔ m Επειδή οι προσπελάσεις.
File Management και I/O στο UNIX
Προχωρημένα Θέματα Τεχνολογίας και Εφαρμογών Βάσεων Δεδομένων
Projects 2007 εργαστήριο Προηγμένων μΕ. Program for TLB testing Υλοποίηση προγράμματος για την μελέτη των TLBs. πέρασμα όλων των δυνατών συνδυασμών των.
Προηγμένοι Μικροεπεξεργαστές 2007 – 2008 Παρουσίαση Projects.
1 Εισαγωγή στις Βάσεις Δεδομένων  Ανάγκη Αποθήκευσης και Διαχείρισης Δεδομένων  Συστήματα Αρχείων  Συστήματα Βάσεων Δεδομένων  Παραδοσιακές και Σύγχρονες.
1515 Διαχείριση Συναλλαγών  Συναλλαγές  Έλεγχος ταυτοχρονισμού  Επανάκτηση δεδομένων.
Εργασία Η υλοποίηση του αλγορίθμου συγχώνευσης θα πρέπει να χρησιμοποιεί την ιδέα των ροών (streams). Θα πρέπει να υπάρχουν δύο διαφορετικά είδη.
Συντονισμός Εργασιών και Διεκπεραίωση Συναλλαγών Η.Ε. σε περιβάλλον Web Services Κώστας Κωτσοκάλης
©Silberschatz, Korth and Sudarshan1 ΒΔ ΙΙ: Διαχείριση συναλλαγών Διαχείριση Συναλλαγών (Transaction Management)  Ορισμός της συναλλαγής  Καταστάσεις.
Προχωρημένα Θέματα Τεχνολογίας και Εφαρμογών Βάσεων Δεδομένων Εσωτερική Αρχιτεκτονική Βάσεων Δεδομένων Πάνος Βασιλειάδης Σεπτέμβρης 2009.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Τεχνικές Ανάκαμψης.
1 Εισαγωγή στις Βάσεις Δεδομένων  Ανάγκη Αποθήκευσης και Διαχείρισης Δεδομένων  Συστήματα Αρχείων  Συστήματα Βάσεων Δεδομένων  Παραδοσιακές και Σύγχρονες.
Κεφάλαιο 19 Τεχνικές Ανάκαμψης Βάσεων Δεδομένων (Recovery)
Βάσεις Δεδομένων II Ενότητα 6: Ανάκαμψη Γεωργία Γκαράνη Επίκουρος Καθηγήτρια Τμήμα Μηχανικών Πληροφορικής Τ.Ε. T.E.I. Θεσσαλίας.
Δομές Δεδομένων.
An Implementation and Evaluation of WiFi Positioning Algorithms in Android Πανεπιστήμιο Κύπρου 2011 Προγραμματισμός Συστημάτων ΕΠΛ371 Γιώργος Κωνσταντίνου.
1 Βάσεις Δεδομένων ΙII Επιμέλεια: ΘΟΔΩΡΗΣ ΜΑΝΑΒΗΣ Διαχείριση συναλλαγών Transaction Management T Manavis.
Βάσεις Δεδομένων II Περίληψη: Τεχνικές Ανάνηψης Πάνος Βασιλειάδης Νοέμβρης 2002
Τα μέσα μνήμης του Η.Υ.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Τεχνικές Ανάκαμψης.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
© Processor-Memory (DRAM) Διαφορά επίδοσης Performance
University of Crete HY566-Semantic Web CS566 – Semantic Web Computer Science Department - UoC Heraklion 1 April, 2003 Παπαγγελής Μάνος, Κοφφινά Ιωάννα,
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Τεχνικές Ανάκαμψης.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Επεξεργασία Δοσοληψιών.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙΙ.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Τεχνικές Ανάκαμψης.
Προχωρημένα Θέματα Τεχνολογίας και Εφαρμογών Βάσεων Δεδομένων Τεχνικές Ανάνηψης Πάνος Βασιλειάδης Ιανουάριος 2008
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙΙ.
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
Βάσεις Δεδομένων II Περίληψη: Διαχείριση Δοσοληψιών Πάνος Βασιλειάδης Οκτώβρης 2002
Calvin:Fast Distributed Transactions for Partitioned Database System Ηλίας Σπανός Αντωνία Νικολάου Calvin: Fast Distributed Transactions for Partitioned.
ΔΙΑΔΙΚΤΥΑΚΗ ΣΟΥΙΤΑ ΠΡΟΓΡΑΜΜΑΤΩΝ
Ανάπτυξη ηλεκτρονικών μαθημάτων στην πλατφόρμα Open eClass Γνωριμία με την Open eClass.
Διαφάνειες διδασκαλίας του πρωτότυπου βιβλίου μεταφρασμένες στα ελληνικά (μετάφραση, επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών) Οργάνωση και.
Διοίκηση Επιχειρήσεων Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας.
ΠΑΡΟΥΣΙΑΣΗ ΤΗΣ ΠΡΑΚΤΙΚΗΣ ΑΣΚΗΣΗΣ ΣΤΗΝ ΚΟΙΝΟΤΗΤΑ Γκζα Αναστασία Α. Μ
Κύρια Μνήμη Διάφοροι τύποι μνήμης RAM Από πάνω προς τα κάτω, DIP, SIPP, SIMM (30-pin), SIMM (72-pin), DIMM (168-pin), DDR DIMM (184-pin). Μνήμη RΟM.
Υλοποίηση εφαρμογών σε προγραμματιστικά περιβάλλοντα Κεφάλαιο 7.
Μαγνητικός δίσκος (magnetic disk) Εισαγωγή στην Πληροφορκή1 Ο μαγνητικός δίσκος χρησιμοποιείται για μόνιμη αποθήκευση δεδομένων, παρέχοντας σχετικά μικρό.
Εξέλιξη Farm Manager iOS για δυνατότητα λογικής ομαδοποίησης, επισκόπησης εργασιών που εκκρεμούν και αναφορές Μπούρας Βασίλειος 2702 Επιβλέπων: Δρ. Λάντζος.
Θέμα Πτυχιακής Εργασίας
Infofarm Ενημέρωση Εξελίξεων και Διαφημίσεων στον FarmManager
Java DataBase Connectivity
Εφαρμογές Της Διαδικτυακής Πλατφόρμας Google Drive
Επεξεργασία Κειμένου Διδακτική προσέγγιση των λογισμικών γενικής χρήσης Ζωγραφική Λογιστικά φύλλα Βάσεις δεδομένων.
ΤΕΧΝΙΚΑ ΘΕΜΑΤΑ ΠΩΛΗΣΕΩΝ & ΠΡΟΔΙΑΓΡΑΦΕΣ ΥΛΙΚΟΥ ΚΑΙ ΛΟΓΙΣΜΙΚΟΥ Β΄ ΕΠΑΛ ΚεφΑλαιο 2: ΠροδιαγραφΕΣ ΥλικοΥ Η/Υ 2.11 Σκληρός Δίσκος.
Αρχιτεκτονική Υπολογιστών 5ο Εξάμηνο,
Καθηγητής: Δεβρίκης Κωνσταντίνος
ΤΟ ΕΠΙΠΕΔΟ ΧΡΗΣΤΗ.
Εισαγωγή στα Λειτουργικά Συστήματα (ΛΣ) Operating Systems (OS)
Σκοπός Μαθήματος Σκοπός του μαθήματος είναι να παρουσιάσει τις έννοιες των Συναλλαγών (Transactions) στο προϊόν mySQL. 1.
ΕΝΟΤΗΤΑ 1 – Υλικό, Λογισμικό και Εφαρμογές
Με τι ασχολείται η πληροφορική; Η πληροφορική μελετά με επιστημονικό τρόπο: 1.Τον αποτελεσματικό τρόπο επεξεργασίας των πληροφοριών με τη βοήθεια του υπολογιστή.
Διαχείριση Συναλλαγών
Συγγραφέας: Ζαγκότας Στεφανος Επιβλέπων Καθηγητής: Ούτσιος Ευάγγελος
βλέπουμε – διαβάζουμε – γράφουμε»
Βάσεις Δεδομένων 28/11/2018 Ενότητα Γ6.Μ2 (Βασικά Δομικά Συστατικά Στοιχεία και Κύρια Αντικείμενα μιας Βάσης Δεδομένων ) Ο Δάσκαλος.
2 Στοιχεία Hardware H/Υ Αρχιτεκτονική Υπολογιστικού Συστήματος
Βάσεις Δεδομένων 16/2/2019 Ενότητα Γ6.3 (Δημιουργία και Αποθήκευση Βάσης Δεδομένων και Πίνακα. Καθορισμός Πεδίων του Πίνακα, Τύπων Δεδομένων και Ιδιότητες.
ΔΙΑΔΙΚΤΥΑΚΗ ΣΟΥΙΤΑ ΠΡΟΓΡΑΜΜΑΤΩΝ
Μεταγράφημα παρουσίασης:

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., SUNGKYUNKWAN UNIVERSITY BONGKI MOON SCHOOL OF COMPUTER SCIENCE AND ENGINEERING,SEOUL NATIONAL UNIVERSITY

Περιεχόμενα  Εισαγωγή  SQLite  Transactional Atomicity  Buffer management  X-FTL για SQLite  Γιατί X-FTL  RBJ vs WAL vs Copy – on –write  X-FTL  L2P & X-L2P  SATA commands  Commit/Abort  Υλοποίηση  Αξιολόγηση  Workloads  Run-time performance  Recovery performance

Εισαγωγή  Η SQLite είναι η πιο διαδεδομένη βάση δεδομένων για κινητές συσκευές.  Android : Facebook, Google, web browsers  iOS.  Προσφέρει ACID (Atomicity Consistency Isolation Durability) ιδιότητες.  Περιορισμένος κώδικας για ενσωματωμένα συστήματα.  Lightweight  Προσφέρει ατομικότητα των transactions με πιο απλούς αλλά λιγότερο αποδοτικούς τρόπους.

Περιεχόμενα  Εισαγωγή  SQLite  Transactional Atomicity  Buffer management  X-FTL για SQLite  Γιατί X-FTL  RBJ vs WAL vs Copy – on –write  X-FTL  L2P & X-L2P  SATA commands  Commit/Abort  Υλοποίηση  Αξιολόγηση  Workloads  Run-time performance  Recovery performance

SQLite transactional atomicity with journaling/logging Rollback journal (RBJ)  Το αρχικό περιεχόμενο κάθε σελίδας γράφεται σε ένα journal για επαναφορά σε περίπτωση σφάλματος Write ahead log( WAL)  Οι αλλαγές γράφονται σε ένα log file έτσι ώστε να ξαναγίνουν σε περίπτωση σφάλματος ΑΠΛΕΣ ΑΛΛΑ ΛΙΓΟΤΕΡΟ ΑΠΟΔΟΤΙΚΕΣ ΜΕΘΟΔΟΙ Συχνά λόγος καθυστέρησης σε κινητές εφαρμογές.

Transactional atomicity & force- steal policy (all or nothing)  Η SQLite υλοποιεί το force/steal policy για page buffer management.  Force: Όλες οι σελίδες πρέπει να γραφτούν στο δίσκο μετά από commit.  Steal: Uncommitted σελίδες μπορούν να χρησιμοποιηθούν  πρέπει να αναιρεθούν οι αλλαγές.  Επαναφερσιμότητα: Σε περίπτωση σφάλματος αν όλες οι σελίδες δεν κατάφεραν να γραφούν επιτυχώς στο δίσκο πρέπει να αναιρεθούν/ξαναγίνουν οι αλλαγές.

Περιεχόμενα  Εισαγωγή  SQLite  Transactional Atomicity  Buffer management  X-FTL για SQLite  Γιατί X-FTL  RBJ vs WAL vs Copy – on –write  X-FTL  L2P & X-L2P  SATA commands  Commit/Abort  Υλοποίηση  Αξιολόγηση  Workloads  Run-time performance  Recovery performance

Transactional FTL for SQLite  eMMC flash card για μόνιμη αποθήκευση σε κινητές συσκευές.  Δημιουργήθηκε στην πλατφόρμα OpenSSD  Εκμεταλλεύεται τις ιδιότητες του Flash Translation Layer για ατομικότητα.  Copy – on – write τεχνική  μοιάζει με shadow paging  Επέκταση της διεπαφής αποθήκευσης και του SSD controller.  L2P (logical to physical table), X-L2P (transactional logical to physical table)  Λειτουργεί με SQLite αλλά και ext4 file system.  Κατάλληλο για τις περισσότερες Android συσκευές.

SQLite vs FTL RBJ (Default)WALCopy – on –write Ατομική ενημέρωση σελίδων. Μοιάζει με την τεχνική shadow paging.

Περιεχόμενα  Εισαγωγή  SQLite  Transactional Atomicity  Buffer management  X-FTL για SQLite  Γιατί X-FTL  RBJ vs WAL vs Copy – on –write  X-FTL  L2P & X-L2P  SATA commands  Commit/Abort  Υλοποίηση  Αξιολόγηση  Workloads  Run-time performance  Recovery performance

X-FTL: Transactional Flash Translation Layer: L2P & X-L2P tables

X-FTL & SATA interface  Επαύξηση των εντολών SATA (Serial AT Attachment) έτσι ώστε να περνά στο controller της μνήμης flash πληροφορία για τα transactions που κάνουν αλλαγές στη σελίδα.  Προσθήκη εντολών commit (tid), abort (tid).  Write (page p, transaction tid)  Read (page p, transaction tid)  Commit (transaction tid) – χρήση εντολής fsync() του συστήματος αρχείων (file system)  Abort (transaction tid) - χρήση εντολής ioctl() του συστήματος αρχείων (file system)

X-FTL: Commit / Abort (transaction_id,logical_page, physical_page,new_physical_ page,status) Copy-on-write!

I/O count

Περιεχόμενα  Εισαγωγή  SQLite  Transactional Atomicity  Buffer management  X-FTL για SQLite  Γιατί X-FTL  RBJ vs WAL vs Copy – on –write  X-FTL  L2P & X-L2P  SATA commands  Commit/Abort  Υλοποίηση  Αξιολόγηση  Workloads  Run-time performance  Recovery performance

Υλοποίηση  OpenSSD board  ext4 file system (χρησιμοποιείται από τις περισσότερες πλατφόρμες Android)  SQLite  Αλλαγές σε firmware, SQLite, file system  X-L2P πίνακας  Επέκταση SATA interface: read,write,abort,commit  SQLite – OFF MODE (χωρίς μηχανισμούς logging)  Σύστημα αρχείων – OFF MODE (χωρίς μηχανισμούς journaling)

Περιεχόμενα  Εισαγωγή  SQLite  Transactional Atomicity  Buffer management  X-FTL για SQLite  Γιατί X-FTL  RBJ vs WAL vs Copy – on –write  X-FTL  L2P & X-L2P  SATA commands  Commit/Abort  Αξιολόγηση  Workloads  Run-time performance  Recovery performance

Αξιολόγηση  Workloads:  Synthetic: TPC-H benchmark  60,000 πλειάδες, 220 bytes ανά πλειάδα  Τυχαία updates των 1-20 σελίδων  Android smartphone: Trace εφαρμογών που χρησιμοποιούν SQLite  RL bench ( chmark.sqlite&hl=en), Facebook, Gmail, web browser  Database: TPC-C benchmarks   Original, read intensive  File System Workload  Flexible I/O(FIO), random write, adjust fsync frequency  Run-time performance & Recovery time.

Αποτελέσματα - Run – time performance

Αποτελέσματα – Recovery performance  Σφάλμα κατά τη λειτουργία της SQLite.  Μέτρηση χρόνου επαναφοράς σε συνεπή κατάσταση (all or nothing).

Συμπεράσματα  Μεταφορά ευθύνης της ατομικότητας των transactions από τις εφαρμογές στο storage layer.  Εμετάλλευση τεχνικής copy – on – write του flash translation layer που υπάρχει στο controller του flash storage(που χρησιμοποιείται στις περισσότερες κινητές συσκευές).  Ίδιο επίπεδο αξιοπισίας μοιράζοντας στη μέση τις εγγραφές σε σελίδες (σχεδόν δωρεάν).  Ελάχιστες αλλαγές στον κώδικα της SQLite.  Μπορεί να προσφέρει ατομικότητα οχι μόνο στην SQLite αλλά και σε συστήματα αρχείων (ext4) και άλλες εφαρμογές ανώτερων επιπέδων.

Ερωτήσεις

Πηγές  Moon.pdf Moon.pdf    mark.sqlite&hl=en mark.sqlite&hl=en   blocks-and-the-flash-translation-layer/ blocks-and-the-flash-translation-layer/  