Suivez-nous

Événement

Objectif autonomie pour OS X 10.9

L’autonomie par tous les moyens, c’est l’objectif que semble s’être fixé Apple pour ses ordinateurs portables : nouvelles puces Intel, capacité de la batterie en hausse, mais pas seulement…

neilime

Publié le

 

Par

autonomie_mavericks_memoire.png

Lors de l’ouverture de sa conférence des développeurs, Apple a jeté une nouvelle pierre dans la mare des assembleurs d’ultraportables à la mode Windows. Avec une autonomie annoncée de 12 heures sur son modèle 13 pouces en cas d’utilisation web et jusqu’à 9 heures de lecture vidéo, la firme de Cupertino marque une nouvelle référence pour les adeptes du travail en mobilité. Si cette performance est obtenue en augmentant légèrement la capacité de la batterie et surtout en utilisant de nouveaux processeurs Intel spécialement sous-cadencés pour les besoins d’Apple, le fait d’avoir franchi la ligne de la demi-journée d’autonomie donne aux services marketing de la Pomme un bel argument face à la concurrence.

Même si ce sont des progrès matériels, essentiellement développés hors de Cupertino, qui permettent d’atteindre aujourd’hui cette demi-journée d’autonomie sur ordinateur (voire plus selon Les Numériques), Apple semble s’être décidée à donner un coup de fouet aux économies d’énergies réalisées de manière logicielle.

Craig Federighi (vice-président senior de l’ingénierie logicielle chez Apple), qu’on a retrouvé à l’aise sur scène comme à l’époque de NeXT, est en train de concrétiser, dans OS X 10.9 Mavericks, trois pistes intéressantes pour augmenter l’autonomie des portables Apple. La première est la compression de la mémoire vive, la deuxième est l’App Nap et la troisième est la coalescence des minuteries pour regrouper les accès au processeur.

Compression de la mémoire

Le principe de la compression de mémoire répond à un problème simple : pourquoi donner le droit à des applications dont l’utilisateur ne se sert pas, de prendre autant de place en mémoire ? Depuis de nombreuses années, une technique commune est de décharger la mémoire vive vers la mémoire de stockage. Problème : d’une part c’est lent, et, d’autre part, utiliser un disque dur ou un support SSD consomme de l’énergie.

La solution choisie par Apple dans 10.9 Mavericks, c’est de compresser les données stockées en mémoire. Pas toutes évidemment, uniquement les données qui sont le moins utilisées. Selon Apple, la compression permet de diviser par plus de deux, en moyenne, l’espace précédemment occupé par les données inutilisées en mémoire.

Cette compression, qui coûte de l’énergie puisque le processeur est sollicité par un algorithme de compression optimisé multicœur, permet aussi d’en économiser à deux titres. D’abord parce que si de l’espace mémoire est libéré, cela permet d’éviter de décharger cette mémoire vers un support de stockage type SSD ou disque à plateaux. Si le support de stockage est en veille, pas de raison de l’activer : temps et énergie sont économisés. Et ensuite, parce que si, malgré la compression, l’espace en mémoire est saturé et qu’il faut tout de même en décharger une partie vers le support de stockage, la compression des données fera qu’il y en aura en moyenne deux fois moins à écrire, donc moins d’énergie consommée.

App Nap

Littéralement la sieste d’application, App Nap est le nom marketing donné par Apple à plusieurs techniques qui permettent de réduire ou de mettre en pause l’activité d’applications qui ne sont plus visibles par l’utilisateur afin d’économiser de l’énergie consommée par le processeur, l’échange de données sur le réseau et la lecture/écriture de données sur le support de stockage.

Ce mode sieste est construit en interaction avec des interfaces de programmation (IOKit IOPMAssertion) déjà utilisées par les développeurs d’application ce qui rendra compatible ce mode sieste avec de nombreuses applications déjà disponibles.

Parmi les techniques mises en œuvre, Apple en détaille trois qui imposent aux applications en sieste de consommer moins de ressources.
– Réduction de la fréquence à laquelle certaines actions sont lancées automatiquement par l’application. En effet, de nombreuses applications embarquent des minuteries qui permettent de lancer certaines actions à intervalles réguliers. En mode sieste, Apple limite le nombre de ces actions consommatrices d’énergie.
– Réduction de la priorité des accès disque et réseaux alloués aux applications en sieste. En effet, les ressources auxquelles les applications peuvent accéder sont gérées par un système de priorités qui permet à OS X d’arbitrer les demandes de ressources plus ou moins urgentes. En mode sieste, une application verra donc sa priorité d’accès largement diminuée.
– Même principe pour l’accès au processeur. Le temps d’utilisation accordé à chaque application sera diminué si l’application se trouve en mode sieste.

À noter que les applications cachées, mais qui réalisent tout de même des tâches pour l’utilisateur comme lire une chanson, vérifier l’arrivée de nouveaux courriels ou télécharger un fichier, ne seront pas impactées.

Safari intègre par exemple ce système qui plonge tous les onglets en mode sieste sauf l’onglet en cours d’utilisation. Apple indique que l’économie peut atteindre 23 % de l’énergie processeur sur un MacBook Air 13 pouces avec un processeur 1,8 GHz Intel Core i5 utilisant OS X 10.9 Mavericks comparé à la même machine avec 10.8.4. Difficile de dire quel effet réel aura cette technique sur la batterie d’un portable.

Coalescence des minuteries

Enfin, troisième de dernière piste d’économie d’énergie intégrée à OS X 10.9 Mavericks, la coalescence des minuteries pour regrouper les accès processeur, uniquement quand l’ordinateur n’est pas branché à une source de courant. L’idée de base est une nouvelle fois simple à comprendre. Pour diminuer la consommation énergétique d’un processeur, les fondeurs intègrent des modes de fonctionnement différents en fonction de la puissance d’énergie nécessaire à un moment donné. Lorsqu’il est fortement sollicité, un processeur donne le maximum de sa ressource, en revanche lorsqu’il n’est pas sollicité, il se met en veille.

L’alternance de phases d’activité et de mise en veille du processeur augmente sa consommation moyenne d’énergie. Pour limiter la consommation, Apple intègre dans OS X 10.9 une technique qui permet de regrouper au moins une partie des accès processeurs. Sont concernés les accès processeurs réalisés à partir de minuteries intégrées dans les applications pour lancer des tâches périodiques comme évoqué plus haut.

Non content de limiter le nombre de ces actions avec App Nap, Apple les coalesce pour toutes les exécuter en même temps afin de ne réveiller le processeur qu’une seule fois quand auparavant, chacune utilisait les ressources du processeur à sa guise. Selon Apple, le gain d’énergie peut atteindre 72 % sans perte de l’impression de rapidité.

Conclusion

Si Apple intègre de telles modifications en profondeur dans son système, la Pomme s’occupe aussi de ses logiciels à un plus haut niveau. On l’a vu avec les onglets de Safari mis en sieste lorsqu’ils sont masqués, mais on peut aussi évoquer la mise en pause par défaut du contenu Flash qui n’est pas placé au centre de la page chargée (une vidéo YouTube étant par exemple épargnée au contraire de la publicité sur la droite de la même page), ce dernier n’étant pas du tout optimisé pour OS X, il a tendance à fortement drainer la batterie. Également au programme, l’optimisation des algorithmes de décompression des fichiers iTunes HD.

Réduction de l’accès aux ressources pour les applications cachées, synchronisation de ces accès aux ressources ou compression de la mémoire, ces concepts ne sont pas nouveaux en informatique, mais leur implantation dans OS X 10.9 démontre la volonté d’Apple de faire progresser encore l’autonomie de ses produits, les plus récents certainement, mais aussi les plus anciens qui bénéficieront eux aussi de ces nouveautés.

Spécifications techniques MacBook Air

Test MBA Les Numériques (via MacB’)

Coalescence, Wikipedia

Core Technologies, Apple (PDF)