Το ταξίδι του F2FS και γιατί τα συστήματα αρχείων έχουν σημασία: Συνέντευξη με τον Stan Dmitriev από την Tuxera

click fraud protection

Το XDA παίρνει συνέντευξη από τον Stan Dmitriev από την Tuxera, μια φινλανδική εταιρεία που ειδικεύεται στα συστήματα αρχείων. Ο Stan συζητά τα συστήματα αρχείων και το μέλλον του F2FS.

Τα συστήματα αρχείων δεν συζητούνται στο XDA ή σε οποιοδήποτε άλλο φόρουμ πολύ συχνά. Το θέμα περιλαμβάνει πολλή ανάπτυξη χαμηλού επιπέδου, επομένως οι προγραμματιστές προτιμούν να επικεντρώνονται σε εφαρμογές, ROM ή πυρήνες. Ωστόσο, το σύστημα αρχείων είναι ένα ζωτικό μέρος κάθε αποθήκευσης. Είναι η τεχνολογία που περιγράφει πώς αποθηκεύονται και ανακτώνται τα δεδομένα στο χώρο αποθήκευσης της συσκευής σας. Υπάρχουν πολλά διαφορετικά είδη συστημάτων αρχείων - το καθένα με τα δικά του πλεονεκτήματα και μειονεκτήματα - και η επιλογή του ενός έναντι του άλλου μπορεί να κάνει τεράστια διαφορά στη σταθερότητα και την απόδοση. Πώς λοιπόν οι OEM κάνουν αυτή την επιλογή; Είχα τη χαρά να μιλήσω Σταν Ντιμίτριεφ, ο Διευθυντής Δημοσίων Σχέσεων & Επικοινωνιών στο Tuxera, μια φινλανδική εταιρεία που παρέχει λύσεις συστημάτων αρχείων σε πολλούς μεγάλους OEM.

Ε: Μπορείτε να συστήσετε τον εαυτό σας και την Tuxera;

Α: Είμαι ο Stan Dmitriev. Από τότε που απέκτησα το πρώτο μου τηλέφωνο Android (HTC EVO 3D), έχω γίνει ενεργός θαυμαστής της κοινότητας XDA. Ας πούμε απλώς ότι έχω εγκαταστήσει μια προσαρμοσμένη ROM και έχω ακυρώσει την εγγύησή μου την πρώτη μέρα (Σταν. Ντμίτριεφ είναι μέλος του φόρουμ στο XDA). Πριν από μερικά χρόνια, συνίδρυσα ένα πρόγραμμα εκκίνησης που ονομάζεται Corgi for Feedly, εκείνη την εποχή η κοινότητα XDA μας βοήθησε πολύ στον ορισμό και την ανάπτυξη της εφαρμογής.

Επί του παρόντος, είμαι ο Διευθυντής Δημοσίων Σχέσεων και Επικοινωνιών στην Tuxera, η οποία είναι η κορυφαία εταιρεία ενσωματωμένου λογισμικού αποθήκευσης, για την ακρίβεια, συστημάτων αρχείων στην αγορά. Το λογισμικό μας τροφοδοτεί περισσότερες από ένα δισεκατομμύριο συσκευές και μπορεί να βρεθεί στα πιο πρόσφατα ναυαρχικά τηλέφωνα, αυτοκίνητα, δρομολογητές, drones και κάμερες. Η ιστορία της εταιρείας ξεκίνησε με το NTFS-3G, όταν ο Πρόεδρός μας και CTO Szabolcs “Szaka” Szakactics έφτιαξε το NTFS για να λειτουργεί με συσκευές Linux. Επί του παρόντος, αναπτύσσουμε τα δικά μας συστήματα αρχείων και υλοποιήσεις τόσο για εξωτερική όσο και για ενσωματωμένη αποθήκευση και συνεργαζόμαστε με τις περισσότερες εταιρείες αυτοκινήτων εκεί έξω καθώς και με πολλές εταιρείες smartphone.

Εδώ στο Tuxera επισκεπτόμαστε αρκετά συχνά τα φόρουμ XDA, ειδικά κατά την αντιμετώπιση προβλημάτων μιας συσκευής με τούβλα ή την εύρεση μιας προσαρμοσμένης ROM / πυρήνα για παιχνίδι. Πολλοί από τους συναδέλφους μου επισκέπτονται συχνά το XDA για να διαβάσουν για τα τελευταία νέα βαθιάς τεχνολογίας σχετικά με τα οικοσυστήματα Android και Linux.

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

Α: Τα συστήματα αρχείων είναι ένα ζωτικό στοιχείο του πυρήνα Linux που είναι υπεύθυνο για όλες τις αλληλεπιδράσεις μεταξύ της συσκευής και της αποθήκευσής της. Κάθε φορά που τραβάτε μια φωτογραφία, ανοίγετε μια εφαρμογή ή παρακολουθείτε ένα βίντεο – το σύστημα αρχείων διαδραματίζει βασικό ρόλο για την πρόσβαση και αποθήκευση όλων των αρχείων από το λειτουργικό σύστημα. Τα συστήματα αρχείων δεν ήταν τόσο συναρπαστικά για κάποιο χρονικό διάστημα, ο κύριος λόγος είναι ότι το σημείο συμφόρησης στην απόδοση προερχόταν από την αποθήκευση.

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

Ε: Τι είναι το F2FS (primer) και γιατί άρχισε να φτάνει στο Android; Ποιοι OEM ήταν επικεφαλής της κατηγορίας;

A: Το F2FS είναι ένα σύστημα αρχείων ανοιχτού κώδικα, με κύριο βήμα ότι έχει σχεδιαστεί για αρχιτεκτονική αποθήκευσης flash. Η αποθήκευση NAND (flash) χρησιμοποιείται σε όλα τα τρέχοντα τηλέφωνα Android συνήθως ως λύσεις eMMC ή UFS. Το έργο αναπτύχθηκε αρχικά από τη Samsung και έχει κερδίσει έντονο ενδιαφέρον από ορισμένους από τους κατασκευαστές OEM για κινητά. Δεν διαθέτουμε τα δεδομένα για τα οποία οι OEM ξεκίνησαν αυτήν τη μετατόπιση. Αλλά από ό, τι ξέρω, προσωπικά, η Motorola ήταν η πρώτη, με πολλούς άλλους OEM όπως η OnePlus και η Huawei να ακολουθούν αυτή τη μετατόπιση σύντομα.

Ε: Ποια ήταν τα πλεονεκτήματα που παρείχε; Οι OEM αναφέρουν ταχύτερες λειτουργίες αποθήκευσης και απόδοση διεπαφής χρήστη, αλλά υπάρχουν άλλα πλεονεκτήματα;

Α: Το πίσσα ήταν πολύ απλό, το F2FS φέρνει υψηλότερη απόδοση σε αποθήκευση που βασίζεται σε flash. Το σύστημά σας θα εκκινούσε γρηγορότερα (μεγαλύτερες ταχύτητες ανάγνωσης), οι ταχύτητες εγγραφής θα ήταν υψηλότερες, επιτρέποντας την εγγραφή βαρέων βίντεο 4K, υψηλότερου ρυθμού καρέ αργής κίνησης και βίντεο 360 μοιρών. Επιπλέον, η καθυστέρηση μεταξύ του συστήματος και του αποθηκευτικού χώρου θα είναι εξαιρετικά χαμηλή, πράγμα που σημαίνει ότι οι εφαρμογές κινούμενων εικόνων και ανοίγματος θα αισθάνονται πολύ πιο εύκολες.

Ε: Τα ζητήματα, συγκεκριμένα, φαίνεται να επικεντρώνονται γύρω από την εξευτελιστική απόδοση. Θα μπορούσατε να το εξηγήσετε σε μεγαλύτερο βάθος; Ποια είναι η αιτία;

Α: Η ιδέα του F2FS ήταν πράγματι εξαιρετική, για να επιτύχουμε την ταχύτερη δυνατή απόδοση για συσκευές flash. Αλλά είναι επίσης σημαντικό να εστιάσουμε στην απόδοση μακροπρόθεσμα. Το υλικό μπορεί πάντα να είναι γρήγορο, αλλά η συνεχής διατήρηση αυτών των ταχυτήτων είναι πολύ πιο δύσκολη πρόκληση. Για μια περίπτωση χρήσης Android, η αποθήκευση της συσκευής είναι σχεδόν πλήρης τις περισσότερες φορές και υπάρχουν χιλιάδες λειτουργίες ανάγνωσης εγγραφής που συμβαίνουν μερικές φορές ακόμη και σε ένα δευτερόλεπτο. Πολλές από τις δημοφιλείς εφαρμογές εκτελούν υπηρεσίες στο παρασκήνιο, αυτό σημαίνει ότι η εφαρμογή εκτελεί ορισμένες λειτουργίες ανάγνωσης/εγγραφής ακόμα και όταν δεν την ανοίγετε. Εάν γίνει λάθος, οι λειτουργίες εγγραφής μπορούν να αυξήσουν δραστικά τον κατακερματισμό της αποθήκευσης, κάνοντας κάθε επόμενη λειτουργία ανάγνωσης/εγγραφής ακόμη πιο αργή.

Βλέπουμε τον κατακερματισμό του αποθηκευτικού χώρου ως μία από τις αιτίες για την υποβάθμιση της απόδοσης στις συσκευές Android. Τώρα αυτό που πρέπει να καθοριστεί είναι εάν τα ζητήματα προκαλούνται από συμβατότητα υλικού και πώς λειτουργεί το σύστημα αρχείων αποθήκευση από διάφορους OEM ή εάν η αρχιτεκτονική F2FS εστιάζει στις αρχικές ταχύτητες και αυτό επηρεάζει τη μακροπρόθεσμη εκτέλεση. Τα ζητήματα μπορεί επίσης να προκληθούν από σφάλματα, καθώς το σύστημα αρχείων βρίσκεται ακόμα σε εξέλιξη.

Ε: Υπάρχουν άλλα ζητήματα απόδοσης ή αξιοπιστίας που είναι λιγότερο γνωστά;

Α: Ένα ενδιαφέρον πράγμα που βρήκαμε είναι ότι το F2FS έχει μια απροσδόκητη επιβάρυνση, τουλάχιστον δύο εκατοντάδες MB του αποθηκευτικού σας χώρου για αποθήκευση στην κρυφή μνήμη και συντήρηση αποθήκευσης. Αυτό είναι σίγουρα λογικό εάν έχετε 64 GB ή περισσότερο χώρο αποθήκευσης, αλλά σε οικονομικά τηλέφωνα με μεγέθη ROM 8 GB, 16 GB, αυτό μπορεί να είναι πρόβλημα.

Το κύριο εύρημα είναι ότι η τρέχουσα εφαρμογή του F2FS είναι εξαιρετική για περιβάλλοντα μόνο για ανάγνωση όταν θέλετε να επιτύχετε υψηλότερες ταχύτητες. Το F2FS πρέπει να επικεντρωθεί στη βελτίωση της απόδοσης μακροπρόθεσμης αποθήκευσης σε υψηλή αλληλεπίδραση με μικρά αρχεία, καθώς αυτό συμβαίνει στο περιβάλλον Android.

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

Ε: Ορισμένοι κατασκευαστές OEM εγκατέλειψαν τη χρήση του F2FS, ενώ άλλοι όπως η Huawei εξακολουθούν να υποστηρίζουν το F2FS σε πρόσφατες συσκευές. Πιστεύετε ότι υπάρχει τάση σε κάθε περίπτωση; (Αργή υιοθεσία ή πλήρης εγκατάλειψη)

Α: Υπάρχουν πολλά σενάρια γιατί οι OEM θα συνεχίσουν να χρησιμοποιούν το F2FS.

  • Ένας OEM θα μπορούσε να έχει τη δική του εφαρμογή του F2FS, που φέρνει κάποιες επιδιορθώσεις στα γνωστά ζητήματα.

  • Ένας OEM θα μπορούσε να έχει πολύ καλούς δεσμούς με τον κατασκευαστή αποθήκευσης flash, αφού έχει πρόσβαση στο επίπεδο FTL του NAND και συντονισμό Το σύστημα αρχείων για να λειτουργεί καλά με το υλικό μπορεί να επιφέρει σημαντικές βελτιώσεις, συμπεριλαμβανομένου του κατακερματισμού του φλας αποθήκευση.

  • Ένας OEM θα μπορούσε να προτιμήσει να επικεντρωθεί στην αρχική απόδοση του τηλεφώνου, καθώς ο μέσος κύκλος ζωής ενός smartphone είναι περίπου 2 χρόνια και καθώς το τηλέφωνο αργεί, θα αγοράζει ήδη ένα νέο.

  • Ένας OEM θα μπορούσε επίσης να έχει κάποια υπηρεσία ανασυγκρότησης σε λειτουργία, αυτό μπορεί να λύσει εν μέρει τα προβλήματα του F2FS.

Αυτά είναι μερικά από τα πιθανά σενάρια, την ίδια στιγμή, βλέπουμε ότι κάποιοι OEM είναι ήδη επιστρέφοντας στη χρήση του Ext4, για παράδειγμα το OnePlus 3T χρησιμοποιούσε F2FS, αλλά όλα τα νεότερα μοντέλα OnePlus χρησιμοποιούν Ext4.

Ε: Το F2FS αυτή τη στιγμή χρειάζεται κάποια εν κινήσει λύση ανασυγκρότησης, που θα μπορούσε να λύσει το πρόβλημα που εμφανίζεται αυτήν τη στιγμή με το F2FS.

Α: Τα εργαλεία ανασυγκρότησης υπάρχουν εδώ και αρκετό καιρό, το κύριο πλεονέκτημα είναι ότι μπορούν να ανακατανείμουν/ξαναγράψουν τα μπλοκ μνήμης για να μειώσουν τον κατακερματισμό της αποθήκευσης. Αλλά το πρόβλημα με αυτήν την προσέγγιση, είναι ότι ξαναγράφετε τα κελιά της μνήμης flash, γεγονός που μειώνει τη διάρκεια ζωής της αποθήκευσης. Το καλύτερο σενάριο θα ήταν αρχικά να γράψετε δεδομένα έξυπνα. Ο έλεγχος των ζημιών δεν είναι η βασική λύση.

Σκεφτείτε το σαν να κάνετε χάος σε ένα δωμάτιο πετώντας πολλά πράγματα τριγύρω και μετά αρχίζοντας να τα τακτοποιείτε στα συρτάρια. Γιατί να μην το κάνετε αμέσως;

Ε: Κατάφεραν οι OEM να αντιμετωπίσουν ή να αντιμετωπίσουν ορισμένα από τα ζητήματα που εμποδίζουν το F2FS; Για παράδειγμα, η Huawei απορρίπτει την εξευτελιστική απόδοση και διαφημίζει ένα ταχύτερο UX με την πάροδο του χρόνου, εν μέρει χάρη στο "AI" της.

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

Ε: Ποιες είναι μερικές άλλες συναρπαστικές εξελίξεις στο σύστημα αρχείων που πρέπει να γνωρίζουμε; Πώς θα επηρέαζαν την εμπειρία του χρήστη, ακόμη και αν ήταν σε διακριτικό ή χαμηλό επίπεδο;

Α: Τα F2FS και Ext4 εξακολουθούν να είναι πολύ ζωτικής σημασίας και είναι τα πιο δημοφιλή συστήματα αρχείων για ανοιχτό κώδικα. Το Ext4 είναι πιο ώριμο και αξιόπιστο, αλλά μπορεί να περιορίσει την απόδοση του φλας. Το F2FS είναι πιο εύχρηστο αλλά και πιο πειραματικό. Η όλη κατάσταση όπου το λογισμικό γίνεται το σημείο συμφόρησης είναι αυτό που κάνει τα συστήματα αρχείων ξανά συναρπαστικά. Περνάμε από κάθε δευτερόλεπτο, σε κάθε χιλιοστό του δευτερολέπτου, τα περιβάλλοντα και τα συστήματα αρχείων θα παίξουν σημαντικό ρόλο σε αυτήν την ενίσχυση της απόδοσης. Η πιο συναρπαστική εξέλιξη για τα Συστήματα Αρχείων, θα ήταν η δημιουργία μιας πραγματικά βελτιστοποιημένης λύσης flash που μπορεί να διατηρήσει την απόδοση του φλας.

Στην Tuxera, αναπτύσσουμε το Tuxera Flash File System, όπου κάνουμε πράγματα όπως λογισμικό συγκεκριμένου υλικού βελτιστοποιήσεις που διασφαλίζουν ότι το σύστημα αρχείων είναι βελτιστοποιημένο για μια συγκεκριμένη συσκευή, περίπτωση χρήσης και φλας μνήμη. Έχοντας παρουσία στην αυτοκινητοβιομηχανία, εστιάζουμε κυρίως στη μακροπρόθεσμη απόδοση και την υποβάθμιση της μνήμης flash. Αυτό είναι περισσότερο ο τύπος βελτιστοποίησης υλικού x λογισμικού, για τον οποίο μιλούσε ο Steve Jobs. Η εφαρμογή Machine Learning για τη δημιουργία τέτοιων «οδηγών» είναι κάτι που πιστεύουμε ότι θα μπορούσε να είναι πραγματικά συναρπαστικό για ολόκληρη τη βιομηχανία αποθήκευσης.

Ε: Η φυσική μας αποθήκευση flash γίνεται επίσης γρηγορότερη. Πώς βλέπετε αυτό το γεγονός να επηρεάζει τόσο την εμπειρία του τελικού χρήστη όσο και το μέλλον των συστημάτων αρχείων;

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

Αλλά καθώς το φλας γίνεται πιο γρήγορο, το κύριο ερώτημα γίνεται, ποια είναι η ταχύτητα με την οποία η απόδοση γίνεται άσχετη; Σκεφτείτε το σαν την ανάλυση οθόνης Retina, όπου η υψηλότερη πυκνότητα pixel δεν κάνει πραγματικά την εικόνα πιο τραγανή για το ανθρώπινο μάτι.

Ε: Σας ευχαριστώ για τον χρόνο σας.

Α: Ευχαριστώ!