Information, énergie et limites physiques

En 1961, Rolf Landauer énonce un principe selon lequel chaque opération irréversible portant sur un bit d'information augmente l'entropie d'au moins k·T·log(2) avec :

En 1965, Gordon Moore énonce une loi selon laquelle le nombre de transistors d'un microprocesseur double tous les 18 mois. Depuis 50 ans, la loi se vérifie chaque année.

En 2000, Seth Lloyd calcule les limites physiques d'un ordinateur qu'il publie dans la revue Nature : « Ultimate physical limits to computation ». On y trouve par exemple le résultat : « l'ordinateur ultime (tenant dans un litre et pesant un kilogramme) a une capacité limite de 5,4258 × 10^50 opérations par seconde ». Par contre, on y apprend également que cet ordinateur devrait ressembler à un trou noir...

Aujourd'hui se pose la question des limites de la photolithographie, technique utilisée actuellement pour graver les microprocesseurs dans le silicium. La technique CMOS a permis de graver des circuits toujours plus fins, mais d'ici dix à quinze ans, selon Moore, on attendra les limites physiques de cette méthode. On estime que la taille limite d'un transistor est de 20 nm (80 atomes).

Logique réversible

Pour limiter le problème de la dispersion de la chaleur, une approche différente est la notion d'ordinateur réversible : un ordinateur pouvant calculer à l'endroit ou à l'envers. Une telle machine est basée sur des opérations de logique réversible. Ces opérations doivent en principe dissiper une quantité arbitrairement petite d'énergie. L'université Gent a réussi à produire un prototype de microprocesseur réversible composé de six portes de 24 transistors. Vous trouverez plus d'informations dans le recueil de liens sur la logique réversible.

Geler un processus

Le mois dernier, je suis tombé sur la page GDB and Reversible Debugging qui indique qu'une version expérimentale du débogueur GDB permet de revenir en arrière dans l'exécution d'une programme. Un des mes rêves de programmeur ! Pour cela, des instantanés du processus sont mémorisés toutes les n secondes.

Le logiciel cryopid permet également de sauver un instantané d'un programme à instant T pour reprendre son exécution plus tard. Il ne nécessite ni modification du noyau, ni modification du programme gelé. Cryopid n'est pas une révolution, le projet checkpointing permettait cela depuis longtemps, sauf que ses ancêtres nécessitent une intervention sur le noyau ou le programme.

Le gel d'une application peut offrir des perspectives dans la gestion des pannes, la correction d'erreur logicielle, le retour en arrière et la migration de processus (d'une machine à l'autre). D'ailleurs, Xen sait migrer une machine virtuelle complète, et donc l'ensemble des processus, d'une machine à une autre.

Pour la partie réseau, le projet TCPCP (TCP Connection Passing) offre la possibilité de migrer une connexion TCP d'une machine à une autre.

Il existe d'autres logiciels, plus légers, permettant de conserver des processus après la fermeture de votre session utilisateur. Le logiciel screen conserve des programmes en ligne de commande même si vous perdez votre terminal. De même, xmove conserve des processus graphiques après la perte du serveur graphique principal.

Ordinateurs du futur

Dans le futur, on peut imaginer que les ordinateurs évoluent pour dépasser les limitations physiques actuelles (de la gravure du silicium). Diverses recherches se font à travers le monde pour trouver le remplaçant de nos ordinateurs de bureau. Consulter l'article Wikipédia ordinateur du futur pour vous en faire une idée. J'attend beaucoup des processeurs asynchrones quand à la consommation électrique. Effectivement, la simple transmission du signal d'horloge à tous les composants consomme la moitié de la puissance électrique des microprocesseurs actuels ! Les résultats les plus prometteurs sont ceux sur l'ordinateur quantique qui laisse miroiter une imposante puissance de calcul avec ses q-bits. Maintenant, c'est l'avenir qui nous dira quelle technologie va dominer dans 50 ans ;-)