Παρουσιάζεται μια ασύγχρονη υλοποίηση του DISCARD για Btrfs

Για το σύστημα αρχείων btrfs παρουσιάζονται ασύγχρονη υλοποίηση της λειτουργίας DISCARD (επισήμανση αποκλεισμένων μπλοκ που δεν χρειάζεται πλέον να αποθηκεύονται φυσικά), που υλοποιείται από μηχανικούς του Facebook.

Η ουσία του προβλήματος: στην αρχική υλοποίηση, το DISCARD εκτελείται ταυτόχρονα με άλλες λειτουργίες, κάτι που σε ορισμένες περιπτώσεις οδηγεί σε προβλήματα απόδοσης, αφού οι μονάδες δίσκου πρέπει να περιμένουν να ολοκληρωθούν οι αντίστοιχες εντολές, κάτι που απαιτεί επιπλέον χρόνο. Αυτό μπορεί να είναι πρόβλημα εάν η εφαρμογή DISCARD της μονάδας δίσκου είναι αργή.

Με μια ασύγχρονη υλοποίηση, δεν χρειάζεται να περιμένετε να ολοκληρωθεί η μονάδα DISCARD κατά τη διάρκεια της κανονικής λειτουργίας FS, η οποία εξαλείφει το πρόβλημα μεταφέροντας αυτήν τη λειτουργία στο παρασκήνιο. Η εφαρμογή που παρουσιάζεται εκτελεί επίσης ορισμένες βελτιστοποιήσεις. Για παράδειγμα, περιμένει κάποιο χρόνο από την ανησυχία ότι το μπλοκ μπορεί σύντομα να χρησιμοποιηθεί με τέτοιο τρόπο ώστε να μην έχει νόημα να εκτελεστεί καθόλου η διαδικασία ΑΠΟΡΡΙΨΗΣ και επίσης προσπαθεί να συγχωνεύσει περιοχές πριν εκτελέσει πραγματικά το DISCARD για να μειώσει ο συνολικός αριθμός των πράξεων.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο