Fast and efficient, durable storage in local and distributed filesystems

Φόρτωση...
Μικρογραφία εικόνας

Ημερομηνία

Συγγραφείς

Χατζηελευθερίου, Ανδρομάχη

Τίτλος Εφημερίδας

Περιοδικό ISSN

Τίτλος τόμου

Εκδότης

Πανεπιστήμιο Ιωαννίνων. Σχολή Θετικών Επιστημών. Τμήμα Μηχανικών Η/Υ & Πληροφορικής

Περίληψη

Τύπος

Είδος δημοσίευσης σε συνέδριο

Είδος περιοδικού

Είδος εκπαιδευτικού υλικού

Όνομα συνεδρίου

Όνομα περιοδικού

Όνομα βιβλίου

Σειρά βιβλίου

Έκδοση βιβλίου

Συμπληρωματικός/δευτερεύων τίτλος

Περιγραφή

The increasingly large amount of structured and unstructured data that needs to be constantly stored and processed, requires highly sealable storage system solutions. Typi­ cally, in a cloud environment the storage stack consists of multiple tiers. Front-end ma­ chines are mainly responsible for temporarily caching data, while back-end machines pro­ vide persistent storage. Additionally, data is redundantly stored among multiple servers for high availability in ease of failures. However, the eo-loeation of multiple workloads on top of a shared physical infrastructure introduces several new design challenges related to the performance, resource efficiency and durability of multi-tier cloud environments. In the present thesis, we argue that the inherent characteristics of multi-tier virtualized environments necessitate the fresh reconsideration of the I/O path. Across the different tiers of the storage stack, we investigate the tradeoff between consistency and resource effi­ ciency, aiming to provide improved durability and high performance at moderate resource overhead. In the first part of this thesis, we focus on the storage backend tier with the aim to combine improved local filesystem consistency with high performance and efficient storage bandwidth utilization. In general, synchronous small writes are commonly used to safely log recent state modifications for fast crash recovery. Demanding systems usually dedi­ cate separate devices to logging for adequate performance during normal operation and redundancy during state reconstruction. Nevertheless, storage stacks enforce page-sized granularity in data transfers from memory to disk. As a result, they consume excessive storage bandwidth to handle small writes, which hurts performance. The problem wors­ ens, as filesystems often handle multiple concurrent streams, which effectively generate random I/O traffic. In a local filesystem, we rely on journaling of both data and metadata blocks in order to achieve their safe transfer to disk at sequential disk throughput and low latency. We propose the design of two new mount modes, wasteless journaling and selective journaling. Wasteless journaling coalesces multiple concurrent subpage writes into page-sized jour­ nal blocks. Instead, selective journaling selectively journals data updates below a write threshold, and transfers the rest directly to the filesystem. We implement a functional prototype of our design over a widelv-used local filesystem. Across a wide range of mi­ crobenchmarks and application-level workloads over standalone servers and a multi-tier networked system, we demonstrate that the proposed modes preserve filesystem consis­ tency, and provide improved operation throughput along with reduced write latency and recovery time, at low storage bandwidth overhead. In the second part of the present thesis, we focus on the frontend layer of a multi-tier environment. In particular, we examine the implications among performance, resource efficiency, and durability in sealable storage systems. Hardware consolidation in the dat­ acenter occasionally leads to scalability bottlenecks due to the heavy utilization of critical resources, such as the shared network bandwidth. Host-side caching on durable media is already applied at the block level in order to reduce the load of the storage backend. However, block-level caching is often criticized for added overhead, and restricted data sharing across different hosts. During client crashes, writeback caching can also lead to unrecoverable loss of written data that was previously acknowledged as stable. granularity in data transfers from memory to disk. As a result, they consume excessive storage bandwidth to handle small writes, which hurts performance. The problem wors­ ens, as filesystems often handle multiple concurrent streams, which effectively generate random I/O traffic. In a local filesystem, we rely on journaling of both data and metadata blocks in order to achieve their safe transfer to disk at sequential disk throughput and low latency. We propose the design of two new mount modes, wasteless journaling and selective journaling. Wasteless journaling coalesces multiple concurrent subpage writes into page-sized jour­ nal blocks. Instead, selective journaling selectively journals data updates below a write threshold, and transfers the rest directly to the filesystem. We implement a functional prototype of our design over a widelv-used local filesystem. Across a wide range of mi­ crobenchmarks and application-level workloads over standalone servers and a multi-tier networked system, we demonstrate that the proposed modes preserve filesystem consis­ tency, and provide improved operation throughput along with reduced write latency and recovery time, at low storage bandwidth overhead. In the second part of the present thesis, we focus on the frontend layer of a multi-tier environment. In particular, we examine the implications among performance, resource efficiency, and durability in sealable storage systems. Hardware consolidation in the dat­ acenter occasionally leads to scalability bottlenecks due to the heavy utilization of critical resources, such as the shared network bandwidth. Host-side caching on durable media is already applied at the block level in order to reduce the load of the storage backend. However, block-level caching is often criticized for added overhead, and restricted data sharing across different hosts. During client crashes, writeback caching can also lead to unrecoverable loss of written data that was previously acknowledged as stable. We improve the durability of shared storage in the datacenter by supporting journal­ ing at the kernel-level client of a well-known object-based distributed filesystem. Storage virtualization at the file interface allows us to achieve clear consistency semantics across data and metadata blocks, support native file sharing between clients over the same or different hosts, and provide flexible configuration of the time period during which the data is durably staged at the host side. Over a prototype implementation, we demon­ strate improved operation throughput at reduced disk and network bandwidth utilization for specific durability, across multiple mierobenehmarks, application-level workloads, and real-world applications on top of a local cluster setup and a large-scale public cloud envi­ ronment.
Στην εποχή της ψηφιακής πληροφορίας, τα κλιμακώσιμα συστήματα αποθήκευσης είναι απαραίτητα για τη διαχείριση του τεράστιου όγκου δομημένων και αδόμητων δεδομένων που απαιτούν οι υπηρεσίες διαδικτύου. Το αποθηκευτικό σύστημα σε ένα περιβάλλον υπολογιστικού νέφους αποτελείται συνήθως από πολλαπλά επίπεδα. Το πρώτο επίπεδο είναι υπεύθυνο για την προσωρινή αποθήκευση των δεδομένων, ενώ το τελευταίο επίπεδο παρέχει μόνιμη αποθήκευση. Επιπρόσθετα, τα συστήματα αποθήκευσης μεγάλης κλίμακας διατηρούν πολλαπλά αντίγραφα των δεδομένων σε διαφορετικούς κόμβους ώστε να πετύχουν υψηλή διαθεσιμότητα σε περίπτωση κάποιας αποτυχίας. Ωστόσο, η συνύπαρξη πολλαπλών ροών εργασιών πάνω σε μία κοινή υποδομή στο κέντρο δεδομένων ( datacenter ), εισάγει μία σειρά από σχεδιαστικά ζητήματα που αφορούν την απόδοση (performance), την αποδοτικό- τητα ( efficiency ) και την ανθεκτικότητα ( durability ) των δεδομένων στο σύστημα. Στην παρούσα διατριβή επισημαίνουμε την αναγκαιότητα για συνολική αναθεώρηση του μονοπα­ τιού αποθήκευσης σε ένα πολυστρωματικό σύστημα μεγάλης κλίμακας. Προς αυτή την κατεύθυνση, σε διαφορετικά επίπεδα του συστήματος αποθήκευσης, εξετάζουμε την επίδραση της συνέπειας των δεδομένων στην αποδοτικότητα του συστήματος, θέτουμε ως βασικό στόχο την εξασφάλιση της ανθεκτικότητας των δεδομένων σε συνδυασμό με υψηλή απόδοση και χαμηλές απαιτήσεις σε φυσικούς πόρους. Στο πρώτο τμήμα της παρούσας διατριβής, μελετάμε στο κατώτερο επίπεδο της στοίβας αποθήκευσης, και εξετάζουμε το τοπικό σύστημα αρχείων με στόχο να προσφέρουμε υψηλή αξιοπιστία, βελτιωμένη απόδοση και αποδοτική χρήση του εύρους ζώνης δίσκου. Σε ένα μεγάλο εύρος συστημάτων, οι μικρές σύγχρονες εγγραφές παίζουν κρίσιμο ρόλο στην αξιοπιστία και τη διαθεσιμότητα των συστημάτων αποθήκευσης, καθώς χρησιμοποιούνται για την ασφαλή καταγραφή των μεταβολών στην κατάσταση του συστήματος και τη μετέπει- τα ανάκαμψη από πιθανές αποτυχίες. Τυπικά παραδείγματα τέτοιων συστημάτων αποτελούν τα παραδοσιακά συστήματα αρχείων, οι σχεσιακές βάσεις δεδομένων και τα συστήματα αποθήκευσης κλειδιού-τιμής. Το γεγονός ότι τα σύγχρονα συστήματα αποθήκευσης μεταφέ­ ρουν τα δεδομένα από τη μνήμη στο δίσκο σε ολόκληρα μπλοκ, έχει σαν αποτέλεσμα την άσκοπη χρήση εύρους ζώνης δίσκου που επιφέρει αυξημένη καθυστέρηση εγγραφής, Προκειμένου να ελαττώσουμε τις απαιτήσεις σε εύρος ζώνης δίσκου, σχεδιάσαμε δύο νέες μεθόδους καταγραφής ενημερώσεων ( journaling ), Πιο συγκεκριμένα, βασιζόμαστε στην τεχνική καταγραφής ενημερώσεων στα μεταδεδομένα και τα δεδομένα, ώστε να πετύ- χουμε στην ασφαλή εγγραφή τους στο δίσκο με χαμηλή καθυστέρηση, αξιοποιώντας την ακολουθιακή προσπέλαση του αρχείου καταγραφής, Η πρώτη μέθοδος αποθηκεύει μόνο την πραγματική μεταβολή στα δεδομένα ως αποτέλεσμα των αιτήσεων εγγραφής του χρήστη, συγκεντρώνοντας πολλαπλές μικρές αιτήσεις σε ένα πλήρες μπλοκ. Στη συνέχεια προτεί­ νουμε μία εναλλακτική μέθοδο καταγραφής ενημερώσεων, η οποία έχει ως στόχο να μειώσει την κίνηση στο αρχείο καταγραφής στην περίπτωση μεγάλων αιτήσεων ακολουθιακής προ­ σπέλασης, Το προτεινόμενο σύστημα διαχωρίζει τις αιτήσεις με βάση κάποιο κατώφλι εγγραφής (write threshold). Σύμφωνα με το μέγεθος της εκάστοτε αίτησης, τα δεδομένα της αποθηκεύονται είτε στο αρχείο καταγραφής, είτε στην τελική τους θέση στο δίσκο. Υλοποιήσαμε τις προτεινόμενες μεθόδους στο ευρέως διαδεδομένο σύστημα αρχείων ext 3 του Linux, Πραγματοποιήσαμε την αξιολόγηση του προτεινόμενου συστήματος χρησιμο­ ποιώντας μια σειρά εκτενών πειραματικών μετρήσεων που περιλαμβάνουν συστήματα ροών δεδομένων, διακομιστές ηλεκτρονικής αλληλογραφίας, συστήματα επεξεργασίας συναλλα­ γών πραγματικού χρόνου και παράλληλα συστήματα αρχείων. Συγκρίναμε το σύστημά μας με τις υπάρχουσες προσεγγίσεις και αποδείξαμε ότι επιτυγχάνει χαμηλή καθυστέρηση εγγραφής και επαναφοράς, υψηλό ρυθμό εξυπηρέτησης συναλλαγών, ενώ έχει χαμηλές απαιτήσεις σε εύρος ζώνης δίσκου. Στο δεύτερο τμήμα της παρούσας διατριβής, επικεντρωνόμαστε στο πρώτο επίπεδο ενός πολυστρωματικού συστήματος αποθήκευσης. Ειδικότερα, μελετάμε ζητήματα που αφορούν την απόδοση, την αποδοτική αξιοποίηση των πόρων και την ανθεκτικότητα των δεδομένων σε ένα κλιμακώσιμο σύστημα αποθήκευσης. Στο κέντρο δεδομένων, η εκτέλεση πολλαπλών ροών εργασίας πάνω στην ίδια υποδομή μπορεί να οδηγήσει σε περιορισμένη κλιμακωσιμότητα εξαιτίας της αυξημένης χρήσης κρίσιμων πόρων, όπως το εύρος ζώνης δίσκου και δικτύου, Η μεγάλη επιβάρυνση του δικτύου επιβάλλει στον πελάτη να διατηρήσει για κάποιο χρονικό διάστημα τα ενημερωμένα δεδομένα στην κρυφή του μνήμη ( cache) για λόγους απόδοσης, Η κρυφή αποθήκευση στην πλευρά του πελάτη πάνω από ανθεκτικά μέσα μπορεί να βελτιώσει την ανθεκτικότητα των δεδομένων, ενώ εφαρμόζεται ήδη σε επίπεδο μπλοκ ( block-based ) προκειμένου να μειωθεί το φορτίο του αποθηκευτικού συστήματος που βρίσκεται από πίσω. Ωστόσο, η κρυφή αποθήκευση επιπέδου μπλοκ κρίνεται ανεπαρκής λόγω της πρόσθετης επιβάρυνσης στην απόδοση του συστήματος, και της περιορισμένης δυνατότητας κοινοχρησίας δεδομένων που προσφέρει μεταξύ διαφορετικών διακομιστών. Επιπρόσθετα, σε περίπτωση αποτυχίας της λειτουργίας του πελάτη, η κρυφή αποθήκευση με περιοδική εγγραφή (writeback caching) μπορεί να οδηγήσει σε απώλεια των δεδομένων τα οποία προηγουμένως επιβεβαιώθηκαν ως μόνιμα αποθηκευμένα στις εκτελούμενες εφαρμο­ γές. Στην παρούσα διατριβή, βελτιώνουμε την ανθεκτικότητα της κοινόχρηστης αποθήκευσης στο κέντρο δεδομένων με την υποστήριξη καταγραφής ενημερώσεων στον πελάτη επιπέδου πυρήνα ενός κατανεμημένου συστήματος αρχείων μεγάλης κλίμακας, Η επιλογή της διεπα- φής αρχείων ( file-based interface) απλοποιεί το μονοπάτι προς το τελικό αποθηκευτικό μέσο προσφέροντας πολλαπλά οφέλη. Αρχικά, βελτιώνει την απόδοση των εφαρμογών και πετυχαίνει ξεκάθαρη σημασιολογία συνέπειας μεταξύ δεδομένων και μεταδεδομένων. Επιπλέον, υποστηρίζει την εγγενή κοινοχρησία αρχείων μεταξύ πελατών που τρέχουν είτε στον ίδιο, είτε σε διαφορετικούς διακομιστές. Τέλος, η διεπαφή αρχείων επιτρέπει την ευέλικτη ρύθμιση της χρονικής περιόδου κατά την οποία τα δεδομένα είναι αξιόπιστα αποθη­ κευμένα στην πλευρά του διακομιστή, Προκειμένου να δώσουμε τη δυνατότητα σε πολλα­ πλούς πελάτες να προσπελάσουν ταυτόχρονα κοινά δεδομένα, εξασφαλίζουμε ότι το σύστη­ μα διατηρείται συνεχώς σε μία συνεπή κατάσταση. Επίσης, παρέχουμε έναν ειδικό μηχανι­ σμό για την επαναφορά των δεδομένων που βρίσκονται αποθηκευμένα στο αρχείο καταγρα­ φής ενημερώσεων του πελάτη κατά την ανάκαμψη του συστήματος από κάποια αποτυχία. Αξιολογούμε πειραματικά την πρωτότυπη υλοποίηση που αναπτύξαμε στο κατανεμημένο σύστημα αρχείων του Ceph στο Linux, χρησιμοποιώντας μια τοπική συστοιχία υπολογιστών, και το μεγάλης κλίμακας περιβάλλον υπολογιστικού νέφους της Amazon, Συνολικά το προτεινόμενο σύστημα επιτυγχάνει σημαντική βελτίωση στην απόδοση για συγκεκριμένες εγγυήσεις ανθεκτικότητας, αςιοποιώντας μειωμένο εύρος ζώνης δικτύου και δίσκου στους διακομιστές αποθήκευσης.

Περιγραφή

Λέξεις-κλειδιά

Storage, Filesystems

Θεματική κατηγορία

Storage area Networks (Computer networks)

Παραπομπή

Σύνδεσμος

Γλώσσα

en

Εκδίδον τμήμα/τομέας

Πανεπιστήμιο Ιωαννίνων. Σχολή Θετικών Επιστημών. Τμήμα Μηχανικών Η/Υ & Πληροφορικής

Όνομα επιβλέποντος

Αναστασιάδης, Στέργιος

Εξεταστική επιτροπή

Αναστασιάδης, Στέργιος
Μανής, Γεώργιος
Πιτουρά, Ευαγγελία
Μαγκούτης, Κωνσταντίνος
Δελής, Αλέξιος
Cortes, Antonio
Varman, Peter J.

Γενική Περιγραφή / Σχόλια

Ίδρυμα και Σχολή/Τμήμα του υποβάλλοντος

Πανεπιστήμιο Ιωαννίνων. Σχολή Θετικών Επιστημών. Τμήμα Μηχανικών Η/Υ & Πληροφορικής

Πίνακας περιεχομένων

Χορηγός

Βιβλιογραφική αναφορά

Βιβλιογράφία : σ. 126-148

Ονόματα συντελεστών

Αριθμός σελίδων

148 σ.

Λεπτομέρειες μαθήματος

item.page.endorsement

item.page.review

item.page.supplemented

item.page.referenced