Por qué el sistema de ficheros de tu teléfono Android es más importante de lo que crees

Por qué el sistema de ficheros de tu teléfono Android es más importante de lo que crees
1 comentario Facebook Twitter Flipboard E-mail

Imaginad que nos pusiésemos a comparar el Google Pixel con el Lenovo Moto Z: son dos telefonazos, de eso no hay duda, y cada uno tiene sus claras ventajas: Google Assistant y la cámara son fortalezas del Pixel, mientras que el Moto Z tiene esa interesante capacidad de expandir sus opciones con los Moto Mods. Uy, se nos olvidaba algo: el Moto Z le da patadas al Pixel en su sistema de ficheros.

¿Sistema de ficheros? ¿Qué es eso del sistema de ficheros? Pues es ese componente software que es especialmente responsable de que el almacenamiento interno de nuestros smartphones se comporte mejor o peor, sobre todo alargo plazo. Los responsables de Lenovo han hecho un gran trabajo aquí, como demuestra un análisis técnico que debería servir como ejemplo de que este apartado es más relevante de lo que parece.

El almacenamiento como talón de Aquiles

Es lo que hizo un usuario en su blog sobre el rendimiento de dispositivos móviles. Según sus análisis, uno de los apartados que más condicionan el uso de un smartphone —sobre todo a largo plazo— es el sistema de ficheros utilizado en las distintas particiones de dispositivos Android, y en concreto la velocidad con la que se comportan las llamadas escrituras 4k aleatorias.

Androbench

Este tipo de operación permite evaluar el comportamiento de un sistema de almacenamiento, y medios como AnandTech revelaban cómo el iPhone 7 apenas lograba 2,33 MB/s en este tipo de escrituras mientras que el Google Pixel XL rondaba los 3,35 MB/s en este apartado.

En esos análisis ya quedaban las diferencias entre distintos dispositivos: de repente detectábamos como un dispositivo como el Huawei Honor 8 superaba de largo a los Pixel XL o los Galaxy S7 Edge en este apartado, y lograba 32,05 MB/s en la prueba AndroBench 5.0 para escrituras aleatorias 4K.

La importancia de las escrituras 4K aleatorias

¿Por qué son importantes estas pruebas? Pues porque aunque cuando uno empieza a usar estos dispositivos todo va como una seda y la fluidez es fantástica, la memoria NAND en la que se basan los sistemas de almacenamiento se va degradando.

Moto Z Pixel Latency

Contar con un comportamiento mejor en estas escrituras garantiza que a largo plazo nuestro teléfono "no se volverá lentorro" (o al menos no tanto) por ese uso continuado y esa degradación. ¿Cómo es posible, cuando teóricamente el hardware del Honor 8 es más modesto? La respuesta no está en el hardware, sino en el software.

El análisis de este usuario reveló las causas del buen comportamiento de un dispositivo como el Moto Z frente al Google Pixel. En las gráficas de rendimiento se podía comprobar la latencia en relación al porcentaje de operaciones de entrada/salida completadas (p50 sería que el 50% de las operaciones de E/S se completan en un tiempo X), y dejan claro rápidamente cómo están las cosas en este ámbito.

En esa gráfica se muestran los valores p50, p90 y p99, y como indica el autor del análisis, el valor de mediana del Moto Z es de 0,5 ms, mientras que el del Pixel es de 3,3 ms, o lo que es lo mismo, casi siete veces superior. Especialmente preocupante es la latencia en la medición p99, que fue especialmente alta. Garantizar que se completaban esas operaciones llevaba más tiempo del deseable. Y el problema, asegura el autor, se agravará con el tiempo.

Aprendiendo a formatear las particiones Android

El secreto del Moto Z no está como decíamos en sus componentes hardware, sino en los sistemas de ficheros utilizados en las distintas particiones de sistema del dispositivo.

Motoz1

Las comparaciones entre ambos dispositivos dejaban claro que en Lenovo habían trabajado mucho este apartado y habían elegido opciones muy interesantes para formatear esas particiones.

El primer ejemplo lo tenemos en el punto de montaje /storage/emulated/0, que es la base del sistema del almacenamiento. En los nuevos dispositivos las diferencias entre el almacenamiento flash interno (la capacidad que nos vende le fabricante) y el externo (una tarjeta microSD) se han difuminado. De hecho cuando el fabricante no ofrece ranura microSD se sigue proporcionando la emulación de un sistema de almacenamiento externo para que se pueda habilitar la compatiblidad con viejas aplicaciones que "buscan" ese sistema de almacenamiento.

En el Pixel ese punto de montaje se monta con el sistema de ficheros fuse, una "mala opción" porque consume más CPU y retrasa las operaciones de E/S en un 30%. En el Moto Z encontramos el sistema de ficheros esdfs, que se comporta mejor tanto en eficiencia como en velocidad y que es un sistema de ficheros derivado de Wrapfs, un SF "apilable".

Más interesante aún es el sistema de ficheros utilizado en la partición /data, que en los Google Pixel está formateada con el tradicional ext4, muy popular en particiones de distribuciones Linux. En lugar de eso en el Moto Z se utiliza f2fs, un nuevo sistema de ficheros desarrollado por Samsung que simplifica las operaciones de escritura, y que de hecho necesita un 50% menos de ellas que ext4. Según el autor, f2fs permite que los Moto Z tengan un rendimiento 2 veces superior y el doble de vida útil de la memoria NAND respecto a los Pixel. O dicho de otro modo: tu Moto Z envejecerá mucho mejor que el Google Pixel.

La utilización de ese sistema de ficheros se hace además con parámetros especiales como nobarrier, una opción ya disponible en el sistema de ficheros XFS creado por Silicon Graphics para sus estaciones de trabajo en los años 90. La idea es la implementar una solución de caché en la RAM para acelerar todas esas escrituras, y este parámetro ayuda a que esta partición se comporte aún mejor, sobre todo a largo plazo.

Phoronix
El rendimiento de sistemas de ficheros en Linux es muy distinto en otros escenarios fuera de los smartphones. En OpenBenchmarking.org las pruebas realizadas con la ya famosa (para los linuxeros, desde luego lo es) Phoronix Test Suite lo demuestran.

Ojo, porque estas ventajas no se dan en todos los escenarios (de hecho, si nos salimos del mundo de los móviles ext4 sigue siendo fantástico para formatear nuestros SSDs), pero parece evidente que al menos en el ámbito de las memorias NAND utilizadas en smartphones estas pruebas demuestran que este tipo de opción da muchas ventajas interesantes.

Así pues, será mejor que vayamos prestando atención a los sistemas de ficheros elegidos por los fabricantes para sus dispositivos: de ellos depende que estos smartphones comiencen a comportarse peor, con tiempos de respuesta y fluidez sensiblemente peores que cuando los compramos y empezamos a utilizarlos.

En Xataka | UFS 2.0 y DDR4, así es como los cambios en memoria van a mejorar el rendimiento de tu próximo smartphone

Comentarios cerrados
Inicio