Apple & le Timer Coalescing…

Qu’est que le Timer Coalescing ? Simplement, c’est la capacité d’un système informatique (le plus commun est un ordinateur personnel) à faire la saine gestion des processus qui sont envoyés aux processeurs.

Lorsqu’on indique la saine gestion, ceci implique que les requêtes effectuées par les logiciels ne sont pas « lancées » aux processeurs sans une logique appropriée ou structurée. Il est important de saisir que chacun des logiciels qui se trouvent dans votre ordinateur effectue des requêtes de traitement. Ces requêtes peuvent être la demande d’une adresse IP, une nouvelle page web, etc.

Dans le passé, les systèmes d’opération comme Windows et Unix faisaient grosso modo l’envoi à la réception. Dans le sens qu’il n’y fait pas vraiment d’ordre dynamique intelligent pour s’assurer que les ressources soient correctement utilisées. De façon simple et un peu bête, toutes les requêtes étaient envoyées aux ressources pour être traitées.

À première vue, ceci était une réponse adéquate, mais avec le temps et la venue des ordinateurs portatifs, ceci est rapidement devenu un problème. Pourquoi ? Car maintenant les équipements sont la plupart du temps porteurs de batteries et donc pas toujours « branchés » au mur. Prenons par exemple la plupart des portables…

L’enjeu actuel n’est pas tant de trouver de la performance dans les composantes, car les composantes d’aujourd’hui sont excessivement performantes. Que ceci soit les processeurs, la mémoire, les disques SSD, etc. Le vrai challenge est réellement dans la dépense d’énergie que ces composantes consomment. Eh oui, combien de temps la batterie en question pourra-t-elle tenir si toutes ses composantes l’utilisent dans le tapis ?

Nous voici donc devant un enjeu considérable. Maximiser la batterie de l’équipement ne peut qu’être effectué avec le grossissement de celle-ci. Les fabricants se trouvent donc à devoir trouver un équilibre entre la performance et la portabilité ultime d’un équipement.

Comment puis-je construire un portable qui est à la fois puissant, mais qui est d’une dimension raisonnable ? Pas évident quand l’on veut que celui-ci soit en mesure de durer quelques heures avec une utilisation marquée. Alors pour tenter de répondre à ces différents besoins et enjeux, Apple a intégré dans son dernier système d’opération nommé Mavericks une nouvelle capacité qui se nomme le Timer Coalescing.

Tel qu’indiqué ci-haut, cette technologie permet d’effectuer le groupement de processus de bas niveau dans le système d’opération, faisant la création d’espaces-temps minimes où le processeur et les composantes reliées ne travaillent absolument pas ou très peu…

Riches de cette compréhension, il est donc totalement logique de déduire que la consommation d’énergie sera donc minimisée et la batterie va durer plus longtemps. Selon l’équipe technique d’Apple, l’impact est significatif, car ceci peut réduire la dépense d’énergie du processeur jusqu’à près de 70 %… Pas bêtes quand on y pense.

Super approche d’Apple, mais où se trouve Windows dans ça ?

Et bien, c’est là où les choses se gâtent un peu pour Apple. Mavericks a été présenté il y a à peine quelques mois et à première vue ceci est génial. Toutefois où se trouvent Microsoft et son Windows dans tout ceci ? Et bien c’est là que notre conversation devient intéressante. Pour les besoins d’avoir la vérité, Microsoft a déjà présenté cette technologie. Mais il y combien de temps ? Un mois, un an ? Eh bien non.

Microsoft a présenté cette approche et son utilisation dans Windows 7 le 20 janvier 2009!

Il y a donc plus de 4 ans déjà… Eh oui, au contraire que bien des gens peuvent penser, Apple traine de la patte solide sur ce sujet et sur plusieurs autres. J’oserais même dire qu’Apple est en retard sur plusieurs sujets maintenant dans le monde des logiciels et surtout en retard même avec sa dernière version de OSX Mavericks.

Pour plus de détail sur l’approche de Microsoft sur le sujet, S.V.P. prendre le temps de visiter le : Windows Timer Coalescing. Cette documentation sur le site MSDN présente clairement l’intégration de cette technologie dans Windows 7 ainsi que dans Windows Server 2008 R2. Quand même intéressant…

Je dirais même que le document de Windows présente les mêmes termes utilisés par Craig Federighi (Vice-Président senior chez Apple, responsable de l’ingénierie des logiciels) lors de sa présentation de OSX Mavericks au WWDC 2013.

J’ai particulièrement aimé l’utilisation de technologies avancées par Craig lorsqu’il discutait du Timer Coalescing.

Sur ce, oui Apple fait la fabrication d’équipement de première qualité, mais du côté logiciel… aie. Sérieux problèmes… Et je ne cache pas que je suis moi-même utilisateur du iPhone 5S, iPad 4 et très récemment du nouveau MacBook Pro 15 pouces Retina qui est absolument, et sans contre dit, le meilleur portable sur la planète en ce moment.

Toutefois, la qualité de fabrication d’un équipement doit absolument tenir en compte des logiciels et des technologies logicielles de première classe si l’on veut vraiment en tirer profit… et c’est là ou Apple faillit de façon marquée.

« Don’t get me wrong »

Je crois qu’Apple est le leader incontesté en ce moment dans le monde des technologies pour les particuliers, mais je dois m’incliner devant Microsoft sur plusieurs points et dans l’intégration de technologie d’arrière-plan qui est très peu discuté par le public en général; encore moins par les journalistes qui possèdent une maigre connaissance et qui ne savent que parler que des couleurs offertes, des dimensions ou de la durée de vie des batteries… S.V.P. (il reste encore des sources comme ArsTechnica qui croit encore à la capacité d’un humain à étudier un sujet en profondeur avec des références et tests robustes).

Sans vouloir trop m’éloigner du sujet, il est donc important de saisir qu’Apple est un leader, mais que cette entreprise possède aussi toutes les ressources nécessaires pour faire un marketing hors pair. Surtout quand vient le temps de prendre les devants sur un sujet qui a déjà été présenté il y a des années par sa compétition… et oui ceci n’est pas la première fois; loin de là… penser au iPod ; )

Mais outre le fait qu’Apple manipule continuellement ses clients, est-ce que le Timer Coalescing est réellement une avancée ? Eh bien oui.

Avec un peu de recul, la gestion de l’énergie dans le monde des portables (ordinateur ou mobile) est certainement un des points les plus complexes. Pourquoi ? car une saine gestion de l’énergie n’est pas marquée par une composante ou un processus, mais une série de bonne décision incluant, le choix des matériaux, l’intégration des composantes, les logiciels présents et j’en passe. Simplement, la gestion de l’énergie est très similaire à la saine gestion d’un portefeuille financier. Il est donc capital de saisir que sur une période de temps significative, une multitude de petites et moyennes décisions monétaires individuelles (avec une vue d’ensemble) vont ultimement permettre la réduction de vos dépenses.

Donc, pour vraiment diminuer la consommation d’énergie d’un équipement, il est critique de faire l’intégration de plusieurs solutions pour réellement faire une différence. C’est pourquoi une fois que les fabricants ont amélioré les batteries, les matériaux et plusieurs aspects de la fabrication, il est totalement naturel que ceux-ci se tournent vers l’utilisation de ces nouvelles composantes; comme des logiciels plus intelligents, des architectures plus performantes, etc. Le Timer Coalescing est donc une évolution attendue pour mieux gérer les processus et applications reliées.

Voici un graphique qui permet de visualiser ce que cette approche permet.

www.microsoft.com

Dans l’image ci-dessus, il est simple de voir l’avantage d’un processeur qui utilise cette technologie par rapport à un autre qui est « vanille ». Dans la partie inférieure, les processus sont envoyés selon des règles intelligentes ce qui permet de faire dormir le processeur autant que possible. Plus un processeur est en mesure de dormir à des moments propices, moins d’énergie et de temps sont dépensés… ce qui diminue la dépense de l’énergie.

En terme énergétique, un processeur est très similaire au moteur d’une voiture, moins l’on pèse sur l’accélérateur, moins d’énergie l’on dépense. Comme dans les voitures récentes, il est possible d’arrêter le moteur quand il n’est pas nécessaire, ce qui permet de réduire la facture… et bien avec la technologie « start&stop » de certains modèle est maintenant disponibles sur plusieurs modèles de voiture. Avec cette technologie, l’ordinateur de bord est en mesure de couper le moteur quand il n’est pas nécessaire (ex. : à une lumière rouge). Ceci ne handicape nullement les performances du moteur, car quand vous allez de nouveau peser sur l’accélérateur, le moteur sera redémarré et tout revient à la normale jusqu’à la prochaine fois; et bien c’est exactement la même chose pour le processeur de votre ordinateur, portable ou votre mobile.

Sur ce et ne finale, je voudrais vous laisser avec quelques idées :

1. Apple est continuellement en mode distorsion avec sa clientèle.
2. Apple est un leader, mais pas sur tous les sujets.
3. À quand la venue de vrais nouveaux produits venant de chez Apple.
4. Windows est plus avancé que l’on ne peut l’imaginer.
5. Microsoft sera supérieure une fois que la séparation de l’entreprise sera effectuée.
6. Soyez très vigilant quand une organisation indique nouveau.
7. Soyez encore plus vigilant des keynotes en général ; ).