211service.com
Comment le stockage de données paralyse les applications mobiles
Les derniers téléphones intelligents et tablettes présentés au Consumer Electronics Show de Las Vegas le mois dernier ont mis l'accent sur des processeurs plus rapides et la compatibilité avec des réseaux sans fil plus rapides. Mais de nouvelles recherches montrent que le plus gros goulot d'étranglement des performances avec les applications pour smartphones populaires telles que Facebook et Google Maps est, en fait, la vitesse à laquelle ils peuvent lire et écrire le stockage de données d'un appareil. Les résultats suggèrent que sans changer la façon dont les gadgets mobiles stockent les données, les avantages des nouveaux réseaux et processeurs seront limités.
Nous passons une grande partie de notre vie à utiliser ces applications, mais une grande partie de cela est passée à attendre le chargement d'une page Web ou l'actualisation d'une [interface utilisateur], a déclaré Nitin Agrawal, chercheur au laboratoires du fabricant d'électronique NEC, présentant au Conférence Usenix sur la technologie des fichiers et du stockage à San Jose, en Californie, la semaine dernière. Nous avons constaté que le stockage est le principal goulot d'étranglement pour les appareils mobiles, a déclaré Agrawal. Les systèmes de stockage sur les appareils mobiles nécessitent un nouveau look.
Agrawal et ses collègues Hyojun Kim et Cristian Ungureanu sont arrivés à cette conclusion après avoir testé comment les performances d'une série d'applications populaires pour le système d'exploitation mobile Android de Google étaient affectées par la carte mémoire à l'intérieur d'un appareil. Les applications comprenaient Facebook, Google Maps, Angry Birds et le navigateur Web d'Android.
Les applications ont été mises à l'épreuve encore et encore tandis que huit cartes mémoire différentes de plusieurs fabricants ont été échangées pour voir si elles rendaient les applications plus ou moins réactives. Les appareils Android reposent normalement sur des puces de mémoire interne lors de l'exécution d'applications, mais pour faciliter l'expérimentation, les chercheurs ont modifié le système d'exploitation pour qu'il repose presque exclusivement sur la carte mémoire amovible d'un appareil, qui est généralement utilisée pour stocker des photos et de la musique. Mais Agrawal dit que les résultats devraient également s'appliquer au stockage interne, qui a des propriétés similaires.
Certains des résultats ont été frappants. Depuis un démarrage à froid, l'application Gmail s'est lancée plus de trois fois plus rapidement sur la carte mémoire la plus performante que sur la pire ; l'application Twitter a été lancée plus de deux fois plus rapidement avec un stockage plus rapide. Le navigateur Web Android a été testé en lui demandant de naviguer et de charger les 50 premières pages Web l'une après l'autre ; il était environ trois fois plus rapide dans le meilleur des cas que dans le pire des cas. Les tests ont été effectués sur un téléphone Nexus One exécutant la version Gingerbread d'Android, qui n'a été remplacée que récemment par la dernière version d'Android, Ice Cream Sandwich.
Agrawal dit que le fait que le stockage de données limite les performances suggère que des vitesses de réseau et des processeurs plus rapides, les domaines qui retiennent le plus l'attention des chercheurs, des ingénieurs et des spécialistes du marketing, pourraient faire peu de différence sur la façon dont les applications fonctionnent pour les utilisateurs.
Lorsque des tests ont été effectués à l'aide d'un câble pour simuler une connexion 10 fois plus rapide que le Wi-Fi, les applications ne sont guère devenues plus réactives. Nous nous attendions à ce que les performances s'améliorent un peu avec la connexion plus rapide, mais cela ne s'est pas produit, a déclaré Agrawal.
Le problème, selon les chercheurs, est en partie le fonctionnement de la mémoire non volatile utilisée dans les téléphones et les cartes mémoire. Les spécifications du produit suggèrent que ces puces devraient être capables de lire et d'écrire des données plus rapidement que les processeurs ou les liaisons de données sans fil ne peuvent les fournir, mais en pratique, ils ne le peuvent pas. En effet, les repères utilisés pour catégoriser la mémoire servent à lire ou à écrire des bits de données sur un disque en séquence, mais de nombreuses applications populaires accèdent en réalité aux bits de manière moins ordonnée. Cette lacune s'est avérée amplifiée par la façon dont de nombreuses applications étudiées utilisaient un code de gestion des données qui repose fortement sur l'accès aléatoire aux données.
Les performances d'écriture aléatoire sont de plusieurs ordres de grandeur pires pour le stockage d'appareils mobiles et plus lentes qu'un réseau 3G typique, a déclaré Agrawal. Les performances de stockage n'ont clairement pas suivi le rythme des améliorations du réseau.
Les chercheurs de NEC ont testé une poignée de stratégies qui pourraient limiter l'étouffement du stockage de données sur les performances des applications. Facebook est devenu quatre fois plus rapide lorsqu'ils l'ont forcé à utiliser un autre système de mise en cache des données, par exemple. Cela montre que les choix de conception que font les développeurs d'applications peuvent atténuer le goulot d'étranglement du stockage de données, bien que la suppression de ce goulot d'étranglement nécessiterait des modifications des systèmes d'exploitation et du matériel mobiles.
Agrawal a dit Examen de la technologie qu'il ne savait pas comment l'iPhone d'Apple pourrait se comporter dans des tests similaires. Les appareils Apple n'utilisent que le stockage interne et leur technologie est similaire à celle utilisée par les appareils Android. Cependant, le système d'exploitation iOS d'Apple et les applications conçues pour lui stockent les données de différentes manières.
Après la présentation d'Agrawal, Eno Thereska de Microsoft Research a suggéré que les résultats doivent être validés avec des tests impliquant de vrais utilisateurs, pour voir s'ils remarquent les limites de performances découvertes. Il s'est demandé si ces limites avaient vraiment de l'importance. Je ne peux lire une page Web que si rapidement, a-t-il déclaré, et je dois admettre que je suis assez satisfait des applications mobiles. Quelle est la perception des utilisateurs de ces expériences ?
Agrawal dit que son groupe n'a pas encore testé si les utilisateurs remarquent des goulots d'étranglement de mémoire, mais note que la plupart de leurs tests ont reproduit la façon dont les gens utilisent leurs applications. Par exemple, pour Google Maps, ils ont chronométré le temps qu'il a fallu pour obtenir des résultats après avoir appuyé sur la recherche d'itinéraires. Agrawal dit qu'il est convaincu que les gens peuvent faire la différence et trouvent les limitations imposées par la mémoire frustrantes. Pourquoi quelqu'un voudrait-il voir une attente de 20 secondes s'il peut s'en tirer avec cinq secondes ?