Cómo el almacenamiento de datos paraliza las aplicaciones móviles

Los últimos teléfonos inteligentes y tabletas en el Consumer Electronics Show en Las Vegas el mes pasado vinieron con un énfasis en procesadores más rápidos y compatibilidad con redes inalámbricas más rápidas. Pero una nueva investigación muestra que el mayor cuello de botella de rendimiento con las aplicaciones populares de teléfonos inteligentes como Facebook y Google Maps es, de hecho, la rapidez con la que pueden leer y escribir el almacenamiento de datos de un dispositivo. Los resultados sugieren que sin cambiar la forma en que los dispositivos móviles almacenan datos, los beneficios de las nuevas redes y procesadores serán limitados.





Pasamos mucho tiempo de nuestras vidas usando estas aplicaciones, pero una gran parte de ese tiempo lo pasamos esperando: que se cargue una página web o que se actualice una [interfaz de usuario], dijo Nitin Agrawal, investigador de la laboratorios del fabricante de electrónica NEC, presentando en el Conferencia de tecnología de archivo y almacenamiento de Usenix en San José, California, la semana pasada. Descubrimos que el almacenamiento es el cuello de botella clave para los dispositivos móviles, dijo Agrawal. Los sistemas de almacenamiento en dispositivos móviles requieren una apariencia renovada.

Agrawal y sus colegas Hyojun Kim y Cristian Ungureanu llegaron a esa conclusión después de probar cómo el rendimiento de una serie de aplicaciones populares para el sistema operativo móvil Android de Google se veía afectado por la tarjeta de memoria dentro de un dispositivo. Las aplicaciones incluían Facebook, Google Maps, Angry Birds y el navegador web de Android.

Las aplicaciones se pusieron a prueba una y otra vez, mientras que ocho tarjetas de memoria diferentes de varios fabricantes se intercambiaron para ver si hacían que las aplicaciones tuvieran una mayor o menor capacidad de respuesta. Los dispositivos Android normalmente dependen de chips de memoria interna cuando ejecutan aplicaciones, pero para facilitar la experimentación, los investigadores ajustaron el sistema operativo para que se basara casi exclusivamente en la tarjeta de memoria extraíble de un dispositivo, que generalmente se usa para almacenar fotos y música. Pero Agrawal dice que los hallazgos también deberían aplicarse al almacenamiento interno, que tiene propiedades similares.



Algunos de los resultados fueron sorprendentes. Desde un comienzo en frío, la aplicación Gmail se lanzó más de tres veces más rápido con la tarjeta de memoria de mejor rendimiento que con la peor; la aplicación de Twitter se lanzó más del doble de rápido con un almacenamiento más rápido. El navegador web de Android se probó pidiéndole que navegara y cargara 50 páginas web principales una tras otra; fue alrededor de tres veces más rápido en el mejor de los casos que en el peor. Las pruebas se llevaron a cabo en un teléfono Nexus One con la versión Gingerbread de Android, que fue reemplazada recientemente por la última versión de Android, Ice Cream Sandwich.

Agrawal dice que el hecho de que el almacenamiento de datos limite el rendimiento sugiere velocidades de red y procesadores más rápidos, las áreas que reciben la mayor atención de los investigadores, ingenieros y especialistas en marketing, podrían hacer poca diferencia en el rendimiento de las aplicaciones para los usuarios.

Cuando se realizaron las pruebas con un cable para simular una conexión 10 veces más rápida que con Wi-Fi, las aplicaciones apenas se volvieron más receptivas. Esperábamos que el rendimiento mejorara bastante con la conexión más rápida, pero eso no sucedió, dijo Agrawal.



El problema, dicen los investigadores, es en parte la forma en que funciona la memoria no volátil que se usa dentro de los teléfonos y las tarjetas de memoria. Las especificaciones del producto sugieren que estos chips deberían poder leer y escribir datos más rápido que los procesadores o los enlaces de datos inalámbricos, pero en la práctica, no pueden. Esto se debe a que los puntos de referencia que se utilizan para categorizar la memoria son para leer o escribir bits de datos en un disco en secuencia, pero muchas de las aplicaciones populares en realidad acceden a los bits de una manera menos ordenada. Se demostró que esa deficiencia se magnifica por la forma en que muchas de las aplicaciones estudiadas usaban código de gestión de datos que se basa en gran medida en el acceso aleatorio a los datos.

El rendimiento de escritura aleatoria es mucho peor para el almacenamiento de dispositivos móviles y más lento que una red 3G típica, dijo Agrawal. El rendimiento del almacenamiento claramente no ha seguido el ritmo de las mejoras en la red.

Los investigadores de NEC probaron un puñado de estrategias que podrían limitar el control del almacenamiento de datos sobre el rendimiento de la aplicación. Facebook se volvió cuatro veces más rápido cuando lo obligaron a usar un sistema diferente de almacenamiento en caché de datos, por ejemplo. Eso muestra que las elecciones de diseño que hacen los desarrolladores de aplicaciones pueden mitigar el cuello de botella del almacenamiento de datos, aunque eliminar ese cuello de botella requeriría cambios en los sistemas operativos y hardware móviles.



Agrawal dijo Revisión de tecnología que no sabía cómo podría funcionar el iPhone de Apple en pruebas similares. Los dispositivos Apple usan solo almacenamiento interno y su tecnología es similar a la que usan los dispositivos Android. Sin embargo, el sistema operativo iOS de Apple y las aplicaciones creadas para él almacenan datos de diferentes formas.

Después de la presentación de Agrawal, Eno Thereska de Microsoft Research sugirió que los resultados deben validarse con pruebas que involucren a usuarios reales, para ver si notan los límites de rendimiento descubiertos. Se preguntó si estos límites realmente importaban. Solo puedo leer una página web tan rápido, dijo, y debo admitir que estoy bastante satisfecho con las aplicaciones móviles. ¿Cuál es la percepción de los usuarios de estas experiencias?

Agrawal dice que su grupo aún no ha probado si los usuarios notan cuellos de botella en la memoria, pero señala que la mayoría de sus pruebas replicaron cómo las personas usan sus aplicaciones. Por ejemplo, para Google Maps, cronometraron cuánto tiempo se tardaba en obtener resultados después de tocar la opción Buscar direcciones. Agrawal dice que confía en que las personas puedan notar la diferencia y encontrar frustrantes las limitaciones impuestas por la memoria. ¿Por qué alguien querría ver una espera de 20 segundos si puede salirse con la suya con cinco segundos?



esconder