Sous Android, le système de fichier EXT4 est journalisé, ce qui signifie qu’un journal des opérations est tenu à jour afin de pouvoir corriger les éventuelles erreurs en cas de coupure de courant, par exemple. La base de données SQLite est utilisée sous Android pour journaliser le système de fichiers et protéger l’intégrité des données. Mais le combo EXT4 et SQLite handicape fortement les performances de la mémoire flash jouant le rôle de stockage, puisqu’à chaque manipulation de journalisation, la mémoire flash est occupée. Il est toutefois possible d’optimiser la journalisation et c’est ce qu’a réalisé une équipe de chercheurs coréens dans le but de réduire les opérations d’entrées et sorties pesant sur les performances de la mémoire flash.
L’optimisation de la journalisation
Ainsi, les chercheurs utilisent une méthode nommée WALDIO pour Write-Ahead Logging Direct IO en lieu et place de l’actuelle WAL (Write-Ahead Logging). Trois modifications majeures du système actuel ont été effectuées : une préallocation des blocs à écrire au sein de la base de données, un redesign de la base de données afin d’aligner la taille des blocs logiques (4 Ko) avec celle des blocs physiques de la mémoire flash (4 ou 8 Ko par page) et enfin l’agrégation des tâches afin de monopoliser la mémoire flash une seule fois au lieu d’y avoir accès à de multiples reprises. Ainsi, l’écriture au sein de la base de données SQLite des opérations de journalisation prend moins de temps, augmentant mécaniquement les performances. Cerise sur le gâteau, la méthode des chercheurs permet de réduire la quantité de données à écrire, augmentant alors la durée de vie des puces de mémoire flash, impactée par les nombreuses opérations d’écriture.
L’agrégation des données (via un frame buffer) permet de réduire les opérations d’écriture
Des performances en hausse
La nouvelle méthode de journalisation WALDIO permettrait, selon les chercheurs, d’augmenter les performances synthétiques dans les benchmarks avec un rapport de 5,1 par rapport au mode WAL (par défaut sous Android) et un rapport de 2,7 par rapport au mode LS-MVTB (Multi-Version B-tree with Lazy Split) qui est la méthode de journalisation SQLite la plus rapide à ce jour. Elle a d’ailleurs été créée par certains chercheurs à l’origine du mode WALDIO. Les tests ont été réalisés sur un Galaxy S5 ainsi qu’un Galaxy S4.
Les performances des différentes méthodes de journalisation
Une meilleure durée de vie pour la mémoire
Les chercheurs ajoutent que les opérations d’écriture sont six fois moins nombreuses avec WALDIO qu’en mode WAL. Une très bonne nouvelle, lorsque l’on sait que la journalisation sous Android est responsable d’environ 70 % des écritures sur la mémoire flash alors que les cellules de mémoire flash supportent mal les nombreuses écritures sur le long terme. Avec cette nouvelle journalisation, il n’y a plus d’inquiétude à avoir sur la durée de vie des puces de mémoire flash, et notamment les nouvelles puces TLC annoncées par Samsung qui devraient permettre d’augmenter largement les capacités des smartphones tout en abaissant les coûts grâce à l’utilisation de 3 bits par cellule (réduisant mécaniquement l’endurance des puces comparée à des puces de 2 voire 1 bits par cellule).
Moins de données écrites = meilleure durée de vie
Une arrivée sous AOSP ?
Il reste maintenant à savoir si Google souhaite intégrer cette nouvelle journalisation directement à AOSP ou si les chercheurs comptent proposer leurs découvertes aux constructeurs via un patch (payant ?).
Utilisez-vous Google News (Actualités en France) ? Vous pouvez suivre vos médias favoris. Suivez Frandroid sur Google News (et Numerama).
J'ai pas dit que je voulais aucune notification, mais que je voualis freezer certaines applis dans leur état actuel, sans être notifié des MAJ ultérieures.
Tu peux ignorer les notif ,: parametre, application, plays store et décocher notification. Ensuite un bloqueur de pub comme adaway , fonctionne a merveille . Cordialement
si on pouvait aussi désactiver les logs systèmes, cela ferait des tonnes d'écritures en moins. <i>-------<a href="https://play.google.com/store/apps/details?id=com.frandroid.app">Envoyé depuis l'application FrAndroid pour smartphone</a></i>
Quand je navigue sur le web sous n'importe quel browser (android ou autre) et que je vois le nombre de sautes de page que j'ai (sites qui rajoutent du contenu ... rien n'est fait pour que tu ais une seule fois la page qui s'affiche, on préfère te donner le plus vite possible un truc que tu pourras pas cliquer sans risquer de taper à coté), je m'énerve. Quand je vois les mises à jours à gogo sur le playstore que je ne peux pas ignorer, les logiciels que je ne peux pas désinstaller, les services de l'OS qui bouffent 50% de la batterie (bientôt, t'auras une rubrique globale "processeur" à la place du logiciel précis qui bouffe le jus), je m'énerve.
Je ne suis pas informaticien mais j'ai bien envie d'être d'accord avec toi. D'ailleurs 4Go de ram sur des smartphones Android en 2015, est-ce une avancée ou une preuve flagrante d'un manque d'optimisation ?
Effectivement c'est tard, c'est pour ça que je pensais à une maj genre mars /avril 2016. Après pour le côté modifications profondes ca m'étonne un peu car je pensais qu'il s'agissait seulement d'un algorithme auquel on fait appel vraiment très souvent. Mais bon je n'ai pas assez étudier la programmation pour en être sûr.
Toujours effaré de constater le genre de solution non-optimisée qui est choisie au départ. Sans dec, prendre SQLite pour journaliser les opérations de l'OS ... non mais allo quoi. Les informaticiens actuels marchent sur la tête et ont beaucoup trop de puissance et de mémoire depuis leur berceau pour faire leur boulot correctement.
Si ça se retrouve dans Android O c'est déjà bien !
avec la force de Google c'est pas si sur
Il faut des modifications profondes du système je pense donc c'est trop tard pour Android M.
J'espère que Google intégrera ça nativement et rapidement. Ca serait génial que ça soit implémenté se retrouver dans Android M (même seulement après maj).
le problème est qu'il faut laisser du temps au ingénieur pour avoir de l'innovation, alors que dans le milieu du smartphone c'est le court terme et l'instantané qui prime le public aussi à sa part de responsabilité y a qu'à voir BlackBerry qui a pris son temps pour sortir un os valable (bon pompé sur un achat) à était délaissé par les acheteurs -------Envoyé depuis l'application Humanoid pour smartphone
Enfin du travail en profondeur intelligent, bien plus que de vouloir mettre 14Go de RAM ou 18 coeurs 64 bits super méga fulguropoing...
Ce contenu est bloqué car vous n'avez pas accepté les cookies et autres traceurs. Ce contenu est fourni par Disqus.
Pour pouvoir le visualiser, vous devez accepter l'usage étant opéré par Disqus avec vos données qui pourront être utilisées pour les finalités suivantes : vous permettre de visualiser et de partager des contenus avec des médias sociaux, favoriser le développement et l'amélioration des produits d'Humanoid et de ses partenaires, vous afficher des publicités personnalisées par rapport à votre profil et activité, vous définir un profil publicitaire personnalisé, mesurer la performance des publicités et du contenu de ce site et mesurer l'audience de ce site (en savoir plus)
En cliquant sur « J’accepte tout », vous consentez aux finalités susmentionnées pour l’ensemble des cookies et autres traceurs déposés par Humanoid et ses partenaires.
Vous gardez la possibilité de retirer votre consentement à tout moment. Pour plus d’informations, nous vous invitons à prendre connaissance de notre Politique cookies.
Gérer mes choix