Les écosystèmes et l’infrastructure, introduction

par Jean-Luc Dormoy

Le schéma de base du calcul universel, avec une machine matérielle capable d’exécuter un logiciel pour en adopter le « comportement », était sans doute vu aux débuts de l’informatique comme à la fois théorique et pratique : on a un ordinateur, sur lequel on fait tourner un logiciel pour conduire un calcul et en interpréter les résultats.

Mais on allait rapidement s’apercevoir qu’il fallait compléter ce schéma de départ pour permettre le développement d’utilisations plus complexes et variées.

On a tout d’abord créé des langages et des systèmes d’exploitation, qui se sont interposés entre l’être humain et la machine physique, pour recréer « virtuellement » une machine plus complexe, mais plus souple et simple d’utilisation. Les choses se sont amplifiées lorsque qu’on a en outre mis plusieurs ordinateurs en réseau : il a fallu standardiser les protocoles de communication, et étendre les systèmes d’exploitation mono machine en des middlewares permettant d’avoir une vision unifiée et s’émancipant des détails physiques de l’ensemble des machines + réseau.

La notion de machine s’est donc complexifiée pour devenir celle d’infrastructure d’exécution.

Dans une autre dimension, la loi de Moore a permis par la baisse des coûts d’ouvrir des marchés applicatifs entièrement nouveaux. Ceux-ci ont exigé de définir des versions nouvelles de l’infrastructure, constituées petit à petit, pour se consolider au fur et à mesure de la maturation de ces marchés. Chacun sait qu’aujourd’hui un PC est le plus souvent basé sur un couple Intel+Windows, alors que pour un téléphone portable c’est (encore) plus complexe, avec des solutions proposées par Apple (iPhone), Google (Android) et divers constructeurs, Nokia et Symbian, Windows Mobile et divers constructeurs, RIM, etc.

Chacune de ces infrastructures, aussi appelées plates-formes d’exécution, définit autour d’elle un écosystème de fournisseurs de briques de cette infrastructure et de services s’exécutant sur la plateforme.

L’histoire du développement des technologies de l’information est séquencée par celle de la création et de la croissance[1] de chacun de ces écosystèmes. Chaque écosystème est structuré par la plate-forme d’exécution qui in fine « gagne ». Nous examinerons comment chaque écosystème en formation propose différentes plates-formes à une sélection d’un type darwinien, et comment ces plates-formes passent par des stades de maturation au fur et à mesure du développement de la technologie et du marché.

En outre, chaque écosystème « trouve » en fin de compte un modèle d’affaires adapté; s’il est susceptible de variation, il doit cependant obéir à la loi d’airain que les flux financiers qui le parcourent doivent perpétuer la poursuite de la loi de Moore.

Deux points pour compléter cette introduction des infrastructures et des écosystèmes. Tout d’abord, la machine physique doit avoir un type adapté à chaque écosystème. Par exemple, un processeur pour PC n’est pas adapté a priori à un téléphone[2] : la consommation du premier peut être de l’ordre de 100W, quand celle du second est limitée à 1 à 3 W. D’autres critères comme le coût ou le type de langage machine rentrent en ligne de compte.

L’adaptation est dans l’organisation du circuit du processeur; s’il obéit au schéma de base d’exécution d’un programme en mémoire, de multiples variations sont possibles à des fins d’optimisation des performances et d’adaptation aux contraintes de coût, d’énergie, de sûreté, physiques, etc. Il faut bien voir que ce circuit, c’est de la logique. D’ailleurs il est aujourd’hui créé en utilisant des logiciels complexes dits d’EDA – Electronic Design Automation – par « compilation » de langages de description de haut niveau vers un circuit gravé sur silicium.

Autrement dit, un circuit, c’est moralement du logiciel. La différence est dans le type de langage utilisé, la culture des communautés de concepteurs et de développeurs, une adhérence aux contraintes physiques d’implantation dans le silicium, et le fait qu’en quelque sorte la conception d’un processeur consiste en la conception éternellement répétée et graduellement améliorée d’une machine universelle.

Pour toutes ces raisons, on doit considérer que la définition du circuit fait partie de l’infrastructure / plate-forme d’exécution.

Le second point concerne les réseaux, dont on a encore peu parlé. Tout d’abord les réseaux sont eux-mêmes mis en œuvre en agrégeant des calculateurs universels exécutant un logiciel … de réseau. C’est le cas des routeurs de l’Internet ou de celui que vous avez peut-être chez vous, qui est en réalité un ordinateur général[3] équipé d’un logiciel assurant la fonction de routage dirigeant les paquets d’information circulant sur l’Internet vers leur destination. Ensuite, chaque écosystème s’attache en quelque sorte son type de réseau, même si le fait que tous ces réseaux soient in fine connectés tend à uniformiser les solutions. Enfin, le réseau n’est qu’une composante de ce que l’on appelle un système distribué, qui est constitué de machines connectées : le middleware, par exemple, étend les systèmes d’exploitation de chaque machine à l’ensemble du système distribué pour permettre de définir plus facilement des applications s’exécutant sur l’ensemble de ce système. La gestion du contenu fait aussi partie de ce middleware (bases de données, ontologies, web sémantique aujourd’hui). Dans ce cas, la plate-forme est le système distribué – et inclut en particulier le réseau.

Pour résumer, l’industrie et les domaines d’application des technologies de l’information se constituent en écosystèmes, chaque écosystème étant structuré par une plate-forme d’exécution. Cette plate-forme définit comment on peut programmer des services applicatifs destinés à s’y exécuter, en en abstrayant les détails de mise en œuvre. Elle repose sur une infrastructure, qui comprend des types de processeurs (définition logique des circuits), de mémoires diverses, de réseaux, des logiciels de base (systèmes d’exploitation, middleware et gestion du contenu).

C’est pourquoi le second versant de la loi de Moore doit être traité en deux parties : d’un côté les infrastructures et plates-formes d’exécution, de l’autre les services.

Nous traitons des infrastructures dans les articles qui suivent. Nous aurions pu l’appeler le « premier versant et demi », puisqu’il s’agit de reproduire une machine programmable, à un niveau supérieur et adapté à un écosystème de services.


[1] Et de la mort

[2] On dit a priori car Intel a aujourd’hui une stratégie pour porter ses processeurs pour PC (architecture IA32 ou x86) vers les plates-formes mobiles.

[3] Qui peut comprendre également des circuits spécifiques.

Licence Creative Commons
Moore’s Law and the Future of [Technology] Economy de Jean-Luc Dormoy est mis à disposition selon les termes de la licence Creative Commons Attribution – Pas d’Utilisation Commerciale – Partage à l’Identique 3.0 non transposé.
Basé(e) sur une oeuvre à mooreslawblog.com.