Περίληψη |
Τα solid state drives (SSDs) βασιζόμενα στην τεχνολογία flash παρουσιάζουν δυνατότητες
επίλυσης των σημείων συμφόρησης της Εισόδου / Έξοδου (Ε/Ε) , προσφέροντας ανώτερη απόδοση
σε σχέση με τους σκληρούς δίσκους για διάφορες εφαρμογές. Για το λόγο αυτό, τα τελευταία
χρόνια παρατηρείται σημαντική προσπάθεια για την ενσωμάτωση των SSD στην στοίβα Ε/Ε των
σύγχρονων συστημάτων αποθήκευσης, με την χρήση των SSD ως κρυφές μνήμες των HDD. Ωστόσο,
οι προτεινόμενες λύσεις στοχεύουν συνήθως συγκεκριμένες εφαρμογές.
Στην εργασία αυτή σχεδιάζουμε το σύστημα Azor, μια Ε/Ε κρυφή μνήμη βασιζόμενη σε SSD που
λειτουργεί στο μπλοκ επιπέδο του λειτουργικού και είναι διαφανής στις υπάρχουσες
εφαρμογές, όπως οι βάσεις δεδομένων. Η σχεδίαση μας παρέχει διάφορες επιλογές για τον
τρόπο συσχέτισης, τις πολιτικές εγγραφής και το πλάτος των γραμμών της κρυφής μνήμης,
ενώ παράλληλα στοχεύουμε στην διατήρηση ενός υψηλού βαθμού ταυτοχρονισμού της Ε/Ε. Η
κύρια συμβολή μας είναι ότι διευρευνούμε το πώς μπορούν να διαφοροποιηθούν τα μπλοκ του
σκληρού δίσκουσύμφωνα με την αναμενόμενη σημασία τους για την απόδοση του συστήματος.
Σχεδιάζουμε και αναλύουμε ένα σύστημα επιλογής μπλοκ σε δύο επίπεδα που διαφοροποιεί
δυναμικά HDDμπλοκ, και επιλεκτικά τα τοποθετεί
στον περιορισμένοχώρο της SSD cache.
Υλοποιούμε το σύστημα Azor στον πυρήνα του Linux και αξιολογούμε την αποτελεσματικότητά
του πειραματικά χρησιμοποιώντας ρεαλιστικές εφαρμογές και μεγάλα μεγέθη δεδομένων.
Χρησιμοποιούμε μια πλατφόρμα τύπου διακομιστή και τέσσερις εφαρμογές, έντονες σε Ε/Ε:
TPC-H, SPECsfs2008, PostMark, και Hammerora. Τα αποτελέσματά μας δείχνουν ότι καθώς
αυξάνεται το μέγεθος
της SSD cache, το σύστημα μας μπορεί να ενισχύσει την απόδοση της Ε/Ε μέχρι και κατά
14,02 Χ, 1,63 Χ, 1,72 Χ και 55%για κάθε εφαρμογή, αντίστοιχα. Επιπλέον, το σύστημα
επιλογής δύο επιπέδωνμπορεί να ενισχύσει περαιτέρω την απόδοση της Ε/Ε σε σύγκριση με μια
τυπική SSD cache έως και σε 95%, 16%, 28% και 34% για κάθε εφαρμογή, αντίστοιχα. Τα δύο
επιπέδα του συστήματος επιλογής μπλοκ δεν οφελούν όλες τις εφαρμογές. Όμως, ποτέ δεν
βλάπτουν την απόδοση όταν χρησιμοποιούνται από κοινού ή χωριστά.
|