El viaje de F2FS y por qué son importantes los sistemas de archivos: entrevista con Stan Dmitriev de Tuxera

click fraud protection

XDA entrevista a Stan Dmitriev de Tuxera, una empresa finlandesa especializada en sistemas de archivos. Stan analiza los sistemas de archivos y el futuro de F2FS.

Los sistemas de archivos no se discuten con demasiada frecuencia en XDA ni en ningún otro foro. El tema implica mucho desarrollo de bajo nivel, por lo que los desarrolladores prefieren centrarse en aplicaciones, ROM o kernels. Sin embargo, el sistema de archivos es una parte vital de todo almacenamiento. Es la tecnología que describe cómo se almacenan y recuperan los datos en el almacenamiento de su dispositivo. Hay muchos tipos diferentes de sistemas de archivos, cada uno con sus pros y sus contras, y elegir uno u otro puede marcar una gran diferencia en la estabilidad y el rendimiento. Entonces, ¿cómo toman esa decisión los OEM? Tuve el placer de hablar con Stan Dimítriev, Gerente de Relaciones Públicas y Comunicaciones de Tuxera, una empresa finlandesa que ofrece soluciones de sistemas de archivos a muchos grandes fabricantes de equipos originales.

P: ¿Puedes presentarte a ti y a Tuxera?

R: Soy Stan Dmitriev. Desde que compré mi primer teléfono Android (HTC EVO 3D), me he convertido en un fan activo de la comunidad XDA. Digamos que instalé una ROM personalizada y anulé mi garantía el primer día (Estan. Dmitriev es miembro del foro en XDA). Hace un par de años cofundé un proyecto de startup llamado Corgi para Feedly, en ese momento la comunidad XDA nos ayudó mucho a definir y desarrollar la aplicación.

Actualmente soy el Gerente de Relaciones Públicas y Comunicaciones de Tuxera, que es la empresa líder en software de almacenamiento integrado, sistemas de archivos para ser precisos, del mercado. Nuestro software funciona con más de mil millones de dispositivos y se puede encontrar en los teléfonos, automóviles, enrutadores, drones y cámaras más recientes. La historia de la empresa comenzó con NTFS-3G, cuando nuestro presidente y director de tecnología, Szabolcs “Szaka” Szakactics, hizo que NTFS funcionara con dispositivos Linux. Actualmente, desarrollamos nuestros propios sistemas de archivos e implementaciones tanto para almacenamiento externo como integrado y trabajamos con la mayoría de las empresas automotrices, así como con muchas empresas de teléfonos inteligentes.

Aquí en Tuxera visitamos con bastante frecuencia los foros de XDA, especialmente cuando solucionamos problemas de un dispositivo bloqueado o buscamos una ROM/kernel personalizado para jugar. Muchos de mis colegas visitan con frecuencia XDA para leer sobre las últimas noticias de tecnología profunda sobre los ecosistemas de Android y Linux.

P: Los sistemas de archivos son una parte integral de nuestros dispositivos, pero muy pocas personas conocen su función, sus mejoras, sus fortalezas y debilidades. ¿Cuál es el regalo que ofrece y por qué debería interesarse más gente en los sistemas de archivos que mantienen unidos sus datos?

R: Los sistemas de archivos son un elemento vital del kernel de Linux que es responsable de todas las interacciones entre el dispositivo y su almacenamiento. Cada vez que toma una fotografía, abre una aplicación o mira un video, el sistema de archivos desempeña un papel fundamental para que el sistema operativo acceda y almacene todos los archivos. Los sistemas de archivos no fueron tan interesantes durante algún tiempo, la razón principal es que el cuello de botella en el rendimiento provenía del almacenamiento.

Pero como las velocidades del flash se están volviendo extremadamente rápidas, especialmente con la introducción de UFS, ahora es el software el que necesita modernizarse para mantenerse al día con el rendimiento del flash. El sistema de archivos no sólo puede afectar las velocidades de almacenamiento, sino que también juega un papel importante en el mantenimiento del rendimiento del teléfono a largo plazo. Si se hace mal, el almacenamiento se fragmentará, fenómeno en el que un uso ineficiente del almacenamiento puede reducir el rendimiento del dispositivo. Reducir esta posibilidad al mínimo es una característica importante de un sistema de archivos.

P: ¿Qué es F2FS (cartilla) y por qué empezó a llegar a Android? ¿Qué fabricantes de equipos originales lideraban la carga?

R: F2FS es un sistema de archivos de código abierto, con el argumento principal de que está diseñado para una arquitectura de almacenamiento flash. El almacenamiento NAND (flash) se utiliza en todos los teléfonos Android actuales, normalmente como soluciones eMMC o UFS. El proyecto fue desarrollado inicialmente por Samsung y ha despertado un gran interés por parte de algunos de los fabricantes de equipos originales de dispositivos móviles. No tenemos datos sobre qué fabricantes de equipos originales iniciaron este cambio. Pero por lo que sé, personalmente, Motorola fue el primero, y muchos otros fabricantes de equipos originales como OnePlus y Huawei siguieron este cambio en breve.

P: ¿Cuáles fueron las ventajas que proporcionó? Los OEM mencionan operaciones de almacenamiento y rendimiento de la interfaz de usuario más rápidos, pero ¿existen otras ventajas?

R: El paso Era bastante simple, F2FS aporta un mayor rendimiento al almacenamiento basado en flash. Su sistema arrancaría más rápido (velocidades de lectura más rápidas), las velocidades de escritura serían mayores, lo que permitiría grabar videos pesados ​​en 4K, mayor velocidad de fotogramas en cámara lenta y videos de 360 ​​grados. Además, la latencia entre el sistema y el almacenamiento sería ultrabaja, lo que significa que la animación y la apertura de aplicaciones se sentirían mucho más ágiles.

P: Los problemas, específicamente, parecen centrarse en la degradación del rendimiento. ¿Podrías explicar eso con mayor profundidad? ¿Cuál es la causa?

R: La idea de F2FS fue realmente genial: lograr el rendimiento más rápido posible para dispositivos flash. Pero también es importante centrarse en el desempeño a largo plazo. El hardware siempre puede ser rápido desde el primer momento, pero mantener estas velocidades continuamente es un desafío mucho más difícil. Para un caso de uso de Android, el almacenamiento del dispositivo está casi lleno la mayor parte del tiempo y hay miles de operaciones de lectura y escritura que ocurren a veces incluso en un segundo. Muchas de las aplicaciones populares ejecutan servicios en segundo plano, esto significa que la aplicación realiza algunas operaciones de lectura/escritura incluso cuando no la abre. Si se hacen mal, las operaciones de escritura pueden aumentar drásticamente la fragmentación del almacenamiento, haciendo que cada siguiente operación de lectura/escritura sea aún más lenta.

Consideramos la fragmentación del almacenamiento como una de las causas de la degradación del rendimiento en los dispositivos Android. Ahora lo que hay que determinar es si los problemas son causados ​​por la compatibilidad del hardware y cómo funciona el sistema de archivos con almacenamiento de varios OEM, o si la arquitectura F2FS se centra en las velocidades iniciales, y esto afecta el largo plazo actuación. Los problemas también pueden deberse a errores, ya que el sistema de archivos aún está en desarrollo.

P: ¿Existen otros problemas de rendimiento o confiabilidad que sean menos conocidos?

R: Una cosa interesante que encontramos es que F2FS tiene una sobrecarga inesperada, al menos un par de cientos de MB de almacenamiento para almacenamiento en caché y mantenimiento. Esto definitivamente tiene sentido si tiene 64 GB de almacenamiento o más, pero en teléfonos económicos con tamaños de ROM de 8 GB y 16 GB, esto podría ser un problema.

El principal hallazgo es que la implementación actual de F2FS es excelente para entornos de solo lectura cuando se desea alcanzar velocidades más altas. F2FS necesita centrarse en mejorar su rendimiento de almacenamiento a largo plazo en una alta interacción con archivos pequeños, ya que esto es lo que sucede en el entorno Android.

En cierto sentido, se trata de una batalla de teorías. Puede imaginar que el rendimiento del hardware es tan rápido que la degradación no será un problema. O se ve al revés, donde el hardware es tan rápido que lo que se debe lograr es tener un rendimiento un poco más lento que pueda mantenerse a largo plazo. F2FS eligió el primer enfoque y no hay opciones incorrectas aquí; es un experimento importante y una curva de aprendizaje para toda la industria. Dicho esto, lo que estamos viendo actualmente es que el rendimiento a largo plazo debería ser el foco principal en este momento.

P: Algunos fabricantes de equipos originales han retrocedido en el uso de F2FS, mientras que otros, como Huawei, todavía admiten F2FS en dispositivos recientes. ¿Crees que hay una tendencia en cualquier sentido? (Adopción lenta o abandono total)

R: Existen múltiples escenarios por los cuales los OEM continuarían usando F2FS.

  • Un OEM podría tener su propia implementación de F2FS, que aporta algunas soluciones a los problemas conocidos.

  • Un OEM podría tener muy buenos vínculos con el fabricante de almacenamiento flash, ya que tener acceso a la capa FTL de NAND y tuning Que el sistema de archivos funcione bien con el hardware puede aportar mejoras significativas, incluida la fragmentación del flash. almacenamiento.

  • Un OEM podría preferir centrarse en el rendimiento inicial del teléfono, ya que el ciclo de vida promedio de un teléfono inteligente es de alrededor de 2 años y, a medida que el teléfono se vuelve lento, ya comprarán uno nuevo.

  • Un OEM también podría tener algún servicio de desfragmentación en ejecución, lo que puede resolver parcialmente los problemas de F2FS.

Estos son algunos de los posibles escenarios, al mismo tiempo, estamos viendo que algunos OEM ya están volviendo a usar Ext4, por ejemplo, OnePlus 3T usaba F2FS, pero todos los modelos OnePlus más nuevos usan Ext4.

P: F2FS actualmente necesita alguna solución de desfragmentación sobre la marcha, que podría resolver el problema que aparece actualmente con F2FS.

R: Las herramientas de desfragmentación existen desde hace algún tiempo, la principal ventaja es que pueden reasignar/reescribir los bloques de memoria para reducir la fragmentación del almacenamiento. Pero el problema con este enfoque es que se reescriben las celdas de la memoria flash, lo que reduce la vida útil del almacenamiento. El mejor escenario sería, en primer lugar, escribir datos de forma inteligente. Controlar los daños no es la solución ideal.

Piense en ello como hacer un desastre en una habitación tirando muchas cosas por todos lados y luego comenzando a ordenarlas en los cajones. ¿Por qué no hacerlo de inmediato?

P: ¿Han logrado los OEM contrarrestar o abordar algunos de los problemas que frenan a F2FS? Por ejemplo, Huawei descarta la degradación del rendimiento y anuncia una experiencia de usuario más rápida con el tiempo, en parte gracias a su "IA".

R: Bueno, si una IA puede analizar el comportamiento del almacenamiento y reescribir el sistema de archivos para que funcione en un dispositivo flash específico, esto probablemente pueda resolver los problemas de fragmentación. La IA también puede analizar qué aplicaciones o funciones utiliza más la persona y precargarlas/almacenarlas. en consecuencia, hacer que las funciones del teléfono se sientan más ágiles, eso no resolvería el problema de la fragmentación aunque. Mi suposición principal es que la mayoría de las optimizaciones están relacionadas con el espacio del usuario y no con algunas optimizaciones del sistema de archivos de tecnología profunda.

P: ¿Cuáles son algunos otros desarrollos interesantes en el sistema de archivos que deberíamos tener en cuenta? ¿Cómo afectarían la experiencia del usuario, incluso si fuera en un nivel sutil o bajo?

R: F2FS y Ext4 siguen siendo muy importantes y son los sistemas de archivos de código abierto. Ext4 es más maduro y confiable pero podría limitar el rendimiento del flash; F2FS es más ágil pero también más experimental. Toda la situación en la que el software se convierte en el cuello de botella es lo que hace que los sistemas de archivos vuelvan a ser interesantes. Estamos pasando de cada segundo a cada milisegundo. Los entornos y los sistemas de archivos desempeñarán un papel importante en este aumento del rendimiento. El desarrollo más interesante para los sistemas de archivos sería crear una solución verdaderamente optimizada para flash que pueda mantener el rendimiento de flash.

En Tuxera, estamos desarrollando Tuxera Flash File System, donde hacemos cosas como software específico para hardware. optimizaciones que garantizan que el sistema de archivos esté optimizado para un dispositivo, caso de uso y flash específicos memoria. Al tener presencia en el sector automotriz, nos enfocamos principalmente en el rendimiento a largo plazo y la degradación de la memoria flash. Esto es más del tipo de optimización hardware x software, del que Steve Jobs solía hablar. Aplicar el aprendizaje automático para crear estos "controladores" es algo que creemos que podría resultar realmente interesante para toda la industria del almacenamiento.

P: Nuestro almacenamiento flash físico también se vuelve más rápido. ¿Cómo cree que este hecho afectará la experiencia del usuario final y el futuro de los sistemas de archivos?

R: A medida que el hardware se vuelve más rápido, el software debe garantizar que pueda mantenerse al día con estas arquitecturas de hardware avanzadas; este es el principal desafío que deben resolver los sistemas de archivos actualmente. Puede tener características de velocidad de lectura y escritura increíbles en el dispositivo, pero si la pila de software agrega latencia, la experiencia del usuario no será tan ágil. Este es un momento emocionante para el desarrollo de sistemas de archivos, ya que existe una clara necesidad de una tecnología móvil más rápida, ágil y aún más confiable.

Pero a medida que el flash se vuelve más rápido, la pregunta principal es: ¿cuál es la velocidad a la que el rendimiento se vuelve irrelevante? Piense en ello como la resolución de la pantalla Retina, donde una densidad de píxeles más alta en realidad no hace que la imagen sea más nítida para el ojo humano.

P: Gracias por su tiempo.

R: ¡Gracias!