Le parcours de F2FS et pourquoi les systèmes de fichiers sont importants: entretien avec Stan Dmitriev de Tuxera

XDA interviewe Stan Dmitriev de Tuxera, une société finlandaise spécialisée dans les systèmes de fichiers. Stan discute des systèmes de fichiers et de l'avenir de F2FS.

Les systèmes de fichiers ne sont pas trop souvent discutés sur XDA ou sur tout autre forum. Le sujet implique beaucoup de développement de bas niveau, les développeurs préfèrent donc se concentrer sur les applications, les ROM ou les noyaux. Néanmoins, le système de fichiers constitue un élément essentiel de tout stockage. Il s'agit de la technologie qui décrit la manière dont les données stockées sur votre appareil sont stockées et récupérées. Il existe de nombreux types de systèmes de fichiers, chacun avec ses propres avantages et inconvénients, et en choisir un plutôt qu'un autre peut faire une énorme différence en termes de stabilité et de performances. Alors, comment les équipementiers font-ils ce choix? J'ai eu le plaisir de discuter avec Stan Dimitriev, responsable des relations publiques et de la communication chez

Tuxedora, une société finlandaise qui fournit des solutions de systèmes de fichiers à de nombreux grands constructeurs OEM.

Q: Pouvez-vous vous présenter ainsi que Tuxera ?

R: Je m'appelle Stan Dmitriev. Depuis que j'ai acheté mon premier téléphone Android (HTC EVO 3D), je suis devenu un fan actif de la communauté XDA. Disons simplement que j'ai installé une ROM personnalisée et que j'ai annulé ma garantie dès le premier jour (Stan. Dmitriev est membre du forum sur XDA). Il y a quelques années, j'ai co-fondé un projet de startup appelé Corgi pour Feedly, à cette époque la communauté XDA nous a beaucoup aidé dans la définition et le développement de l'application.

Actuellement, je suis responsable des relations publiques et des communications chez Tuxera, qui est la principale entreprise de logiciels de stockage embarqués, de systèmes de fichiers pour être précis, sur le marché. Notre logiciel alimente plus d'un milliard d'appareils et se retrouve dans les derniers téléphones, voitures, routeurs, drones et caméras phares. L'histoire de l'entreprise a commencé avec NTFS-3G, lorsque notre président et directeur technique, Szabolcs « Szaka » Szakactics, a fait en sorte que NTFS fonctionne avec les appareils Linux. Actuellement, nous développons nos propres systèmes de fichiers et implémentations pour le stockage externe et intégré et travaillons avec la plupart des constructeurs automobiles ainsi qu'avec de nombreux fabricants de smartphones.

Chez Tuxera, nous visitons assez souvent les forums XDA, en particulier lors du dépannage d'un appareil en brique ou pour trouver une ROM/noyau personnalisé avec lequel jouer. Beaucoup de mes collègues visitent fréquemment XDA pour en savoir plus sur les dernières nouvelles technologiques concernant les écosystèmes Android et Linux.

Q: Les systèmes de fichiers font partie intégrante de nos appareils, mais très peu de gens connaissent leur rôle, leurs améliorations, leurs forces et leurs faiblesses. Quel est l'avantage de cela et pourquoi davantage de personnes devraient-elles s'intéresser aux systèmes de fichiers qui regroupent leurs données ?

R: Les systèmes de fichiers sont un élément essentiel du noyau Linux, responsable de toutes les interactions entre le périphérique et son stockage. Chaque fois que vous prenez une photo, ouvrez une application ou regardez une vidéo, le système de fichiers joue un rôle essentiel pour que le système d'exploitation accède et stocke tous les fichiers. Les systèmes de fichiers n’étaient plus aussi intéressants depuis un certain temps, la raison principale étant que le goulot d’étranglement des performances provenait du stockage.

Mais comme les vitesses de flash deviennent extrêmement rapides, notamment avec l'introduction de l'UFS, c'est désormais le logiciel qui doit être modernisé pour suivre les performances du flash. Non seulement le système de fichiers peut affecter les vitesses de stockage, mais il joue également un rôle important dans le maintien des performances du téléphone à long terme. Si cela est mal fait, le stockage deviendra fragmenté, un phénomène dans lequel une utilisation inefficace du stockage peut réduire les performances de l'appareil. Réduire au minimum cette possibilité est une caractéristique importante d’un système de fichiers.

Q: Qu'est-ce que F2FS (primer) et pourquoi a-t-il commencé à faire son chemin vers Android? Quels équipementiers menaient la charge ?

R: F2FS est un système de fichiers open source, dont l’argument principal est qu’il est conçu pour l’architecture de stockage flash. Le stockage NAND (flash) est utilisé dans tous les téléphones Android actuels, généralement sous forme de solutions eMMC ou UFS. Le projet a été initialement développé par Samsung et a suscité un vif intérêt de la part de certains équipementiers mobiles. Nous ne disposons pas de données sur les constructeurs OEM qui ont entamé ce changement. Mais d’après ce que je sais personnellement, Motorola a été le premier, suivi par de nombreux autres équipementiers comme OnePlus et Huawei.

Q: Quels ont été les avantages apportés? Les OEM citent des opérations de stockage plus rapides et des performances de l’interface utilisateur, mais existe-t-il d’autres avantages?

R: Le pas C'était assez simple, F2FS apporte des performances supérieures au stockage flash. Votre système démarrerait plus rapidement (vitesses de lecture plus rapides), les vitesses d'écriture seraient plus élevées, permettant d'enregistrer des vidéos 4K lourdes, des ralentis à fréquence d'images plus élevée et des vidéos à 360 degrés. De plus, la latence entre le système et le stockage serait ultra faible, ce qui signifie que l'animation et l'ouverture des applications seraient beaucoup plus rapides.

Q: Les problèmes, en particulier, semblent se concentrer sur la dégradation des performances. Pourriez-vous expliquer cela plus en profondeur? Quelle est la cause ?

R: L’idée de F2FS était en effet géniale: elle consistait à obtenir les performances les plus rapides possibles pour les périphériques Flash. Mais il est également important de se concentrer sur la performance à long terme. Le matériel peut toujours être rapide dès la sortie de la boîte, mais maintenir ces vitesses en permanence est un défi beaucoup plus difficile. Pour un cas d'utilisation Android, le stockage de l'appareil est presque plein la plupart du temps, et des milliers d'opérations de lecture et d'écriture se produisent parfois même en une seconde. La plupart des applications populaires exécutent des services en arrière-plan, ce qui signifie que l'application effectue certaines opérations de lecture/écriture même lorsque vous ne l'ouvrez pas. Si elles sont mal effectuées, les opérations d’écriture peuvent considérablement augmenter la fragmentation du stockage, rendant chaque opération de lecture/écriture suivante encore plus lente.

Nous considérons la fragmentation du stockage comme l’une des causes de la dégradation des performances des appareils Android. Il reste maintenant à déterminer si les problèmes sont causés par la compatibilité matérielle et comment le système de fichiers fonctionne avec stockage de divers OEM, ou si l'architecture F2FS se concentre sur les vitesses initiales, et cela affecte le long terme performance. Les problèmes peuvent également être causés par des bugs, car le système de fichiers est encore en développement.

Q: Existe-t-il d'autres problèmes de performances ou de fiabilité moins connus?

R: Une chose intéressante que nous avons constatée est que F2FS a une surcharge inattendue, au moins quelques centaines de Mo de votre stockage pour la mise en cache et la maintenance du stockage. Cela est tout à fait logique si vous disposez de 64 Go de stockage ou plus, mais sur un téléphone économique doté de 8 Go ou 16 Go de ROM, cela pourrait poser un problème.

La principale conclusion est que l’implémentation actuelle de F2FS est idéale pour les environnements en lecture seule lorsque vous souhaitez atteindre des vitesses plus élevées. F2FS doit se concentrer sur l'amélioration de ses performances de stockage à long terme dans une interaction élevée avec de petits fichiers, comme c'est ce qui se passe dans l'environnement Android.

Il s’agit en quelque sorte d’une bataille de théories. Vous pouvez soit imaginer que les performances matérielles sont si rapides que la dégradation ne sera pas un problème. Ou vous regardez les choses dans le sens inverse, où le matériel est si rapide qu'il faudrait obtenir des performances un peu plus lentes qui peuvent être maintenues à long terme. F2FS a choisi la première approche, et il n’y a pas de mauvaises options ici, c’est une expérience importante à réaliser et une courbe d’apprentissage pour l’ensemble du secteur. Cela étant dit, ce que nous constatons actuellement, c’est que la performance à long terme devrait être la principale priorité à l’heure actuelle.

Q: Certains constructeurs OEM ont renoncé à utiliser F2FS, tandis que d'autres, comme Huawei, prennent toujours en charge F2FS sur les appareils récents. Pensez-vous qu’il y ait une tendance dans un sens ou dans l’autre? (Adoption lente, ou abandon complet)

R: Il existe plusieurs scénarios dans lesquels les OEM continueraient à utiliser F2FS.

  • Un OEM pourrait avoir sa propre implémentation de F2FS, qui apporterait quelques correctifs aux problèmes connus.

  • Un OEM pourrait avoir de très bonnes relations avec le fabricant de stockage flash, puisqu'il a accès à la couche FTL de NAND et au réglage. le fait que le système de fichiers fonctionne bien avec le matériel peut apporter des améliorations significatives, notamment en matière de fragmentation du flash stockage.

  • Un OEM pourrait préférer se concentrer sur les performances initiales du téléphone, car le cycle de vie moyen d'un smartphone est d'environ 2 ans et, à mesure que le téléphone ralentit, il en achètera déjà un nouveau.

  • Un OEM peut également faire fonctionner un service de défragmentation, ce qui peut résoudre partiellement les problèmes de F2FS.

Ce sont quelques-uns des scénarios possibles, en même temps, nous constatons que certains équipementiers sont déjà revenir à l'utilisation d'Ext4, par exemple OnePlus 3T utilisait F2FS, mais tous les nouveaux modèles OnePlus utilisent Poste4.

Q: F2FS a actuellement besoin d'une solution de défragmentation en déplacement, qui pourrait résoudre le problème qui apparaît actuellement avec F2FS.

R: Les outils de défragmentation existent depuis un certain temps, le principal avantage est qu'ils peuvent réaffecter/réécrire les blocs de mémoire pour réduire la fragmentation du stockage. Mais le problème avec cette approche est que vous réécrivez les cellules de la mémoire flash, ce qui réduit la durée de vie du stockage. Le meilleur scénario serait d’abord d’écrire les données de manière intelligente. Limiter les dégâts n’est pas la solution idéale.

Pensez-y comme si vous mettiez le désordre dans une pièce en jetant beaucoup de choses partout, puis en commençant à les ranger dans les tiroirs. Pourquoi ne pas le faire tout de suite ?

Q: Les constructeurs OEM ont-ils réussi à contrecarrer ou à résoudre certains des problèmes qui freinent F2FS? Par exemple, Huawei rejette les performances dégradantes et annonce une UX plus rapide dans le temps, en partie grâce à son « IA ».

R: Eh bien, si une IA peut analyser le comportement du stockage et réécrire le système de fichiers pour qu'il fonctionne pour un périphérique Flash spécifique, cela peut probablement résoudre les problèmes de fragmentation. L'IA peut également analyser les applications ou fonctionnalités que la personne utilise principalement, et les précharger/stocker. en conséquence – rendre les fonctionnalités du téléphone plus vives, cela ne résoudrait pas le problème de la fragmentation cependant. Mon hypothèse principale est que la plupart des optimisations sont liées à l'espace utilisateur, et non à certaines optimisations approfondies du système de fichiers.

Q: Quels sont les autres développements intéressants du système de fichiers dont nous devrions être conscients? Quel impact auraient-ils sur l’expérience utilisateur, même à un niveau subtil ou faible ?

R: F2FS et Ext4 sont toujours essentiels et constituent les systèmes de fichiers incontournables pour l'open source. Ext4 est plus mature et fiable mais peut limiter les performances du flash; F2FS est plus vif mais aussi plus expérimental. C'est toute la situation dans laquelle le logiciel devient le goulot d'étranglement qui rend les systèmes de fichiers à nouveau passionnants. Nous passons de chaque seconde à chaque milliseconde. Les environnements et les systèmes de fichiers joueront un rôle important dans cette amélioration des performances. Le développement le plus intéressant pour les systèmes de fichiers serait de créer une solution véritablement optimisée pour le flash, capable de maintenir les performances du flash.

Chez Tuxera, nous développons Tuxera Flash File System, dans lequel nous réalisons des tâches telles que des logiciels spécifiques au matériel. optimisations garantissant que le système de fichiers est optimisé pour un périphérique, un cas d'utilisation et un flash spécifiques mémoire. Présents dans le secteur automobile, nous nous concentrons principalement sur les performances à long terme et la dégradation de la mémoire flash. Il s’agit plutôt d’une optimisation de type matériel x logiciel, dont Steve Jobs parlait. Appliquer l’apprentissage automatique pour créer de tels « pilotes » est quelque chose qui, à notre avis, pourrait être vraiment passionnant pour l’ensemble du secteur du stockage.

Q: Notre stockage flash physique ne cesse également de s'accélérer. Comment voyez-vous cet impact sur l'expérience de l'utilisateur final et sur l'avenir des systèmes de fichiers ?

R: À mesure que le matériel devient plus rapide, les logiciels doivent s'assurer qu'ils peuvent suivre ces architectures matérielles avancées. C'est le principal défi que les systèmes de fichiers doivent actuellement résoudre. Vous pouvez avoir des caractéristiques de vitesse de lecture et d'écriture incroyables sur l'appareil, mais si la pile logicielle apporte une latence supplémentaire, l'expérience utilisateur ne sera pas aussi rapide. Il s’agit d’une période passionnante pour le développement de systèmes de fichiers, car il existe un besoin évident d’une technologie mobile plus rapide, plus rapide et pourtant plus fiable.

Mais à mesure que le flash devient plus rapide, la question principale se pose: à quelle vitesse les performances perdent-elles leur importance? Pensez-y comme à la résolution de l’écran Retina, où une densité de pixels plus élevée ne rend pas vraiment l’image plus nette pour l’œil humain.

Q: Merci pour votre temps.

R: Merci !