Du PC à la Voie Lactée : les performances de nos ordinateurs

par Akwa
mardi 20 décembre 2011

L’augmentation vertigineuse des performances de nos ordinateurs est difficile à concevoir, à visualiser.
Pourtant, elle est réelle, et bien au-delà de ce qu’on pourrait imaginer.
En effet, la lenteur et la lourdeur des logiciels d’aujourd’hui, s’aggravant constamment, fait qu’il est souvent difficile de s’en apercevoir…

La Galaxie dans un PC

La Voie Lactée
Cliquer pour agrandir

Prenons un exemple concret : notre galaxie, la Voie Lactée.
La Voie Lactée fait 80.000 Années-lumière de diamètre, soit environ 800.000.000.000.000.000 km, ou 800 millions de milliards de kilomètres, et elle comporte environ 300 milliards d’étoiles.
Ce sont des valeurs… astronomiques.

Supposons que l’on veuille stocker la position de toutes les étoiles de la Voie Lactée (par rapport au centre), ainsi que le type spectral (la couleur) et la classe de luminosité (la taille, de hypergéante à naine blanche), quel volume cela prendra-t-il ?

En informatique, on utilise habituellement le type "Double" pour les nombres réels (non entiers). Le "Double", occupant 64 bits (8 octets) de mémoire, offre 16 chiffres significatifs.
Avec cette précision (de -9.000.000.000.000.000 à +9.000.000.000.000.000), on peut mémoriser des distances à 100 km près dans toute la galaxie.
Sachant qu'une étoile comme le Soleil fait 1.4 millions de km de diamètre, la précision de 100 km est largement suffisante.
Les types spectral et classe de luminosité tiennent sur un octet chacun (255 valeurs possibles par octet).

Chaque étoile aura donc 3 coordonnées (x, y, z) de type Double de 8 octets, et 2 valeurs (type et luminosité) de 1 octet, soit au total 3 * 8 + 2 * 1 = 26 octets par étoile.
A raison de 300.000.000.000 d'étoiles, le volume de données sera de
26 * 300.000.000.000
= 7.800.000.000.000 octets
= 7.617.187.500 Ko
= 7.438.660 Mo
= 7.265 Go
= 7 To.

Avec 4 disques Western Digital de 2 To à 130€, vous pouvez donc stocker la position, la couleur et la taille de toutes les étoiles de la galaxie.
Et votre PC gérera sans mal ces 4 disques.

Tout votre ADN dans votre PC



Prenons un autre exemple amusant.
En 1990 sortait le livre "Jurassic Park". Il y est question de recréer les dinosaures à partir de leur ADN, en utilisant massivement des ordinateurs pour aider à la reconstitution des brins d'ADN abimés par le temps.

La chaîne d'ADN, présente dans les cellules vivantes, est un programme permettant de recréer à l'identique la créature qui les possède, et est composée d'une suite de 4 bases : A (adénine), T (thymine), C (cytosine) et G (guanine).
C'est comparable, en informatique, à l'encodage sur 2 bases (0 et 1).

Selon les êtres vivants cette chaîne est de longueur variable, mais, pour les grands vertébrés, elle tourne autour de 3.000.000.000 de bases (pour l'homme, comme, sûrement, pour les dinosaures).


En 1989, époque de Jurassic Park, c'était un volume incroyablement grand à gérer : il faut plusieurs superordinateur Cray X-MP (dans le livre) pour traiter une telle masse de données.

Cray X-MP
Cliquer pour agrandir

Le Cray X-MP/416, sorti en 1984, est le summum de la série, et le plus rapide et plus puissant ordinateur du monde à l'époque.
Il possède 4 processeurs à 117 Mhz, et une mémoire centrale de 128 Mo. On peut lui adjoindre des SSD, sorte de grandes armoires de mémoire additionnelle de 1 Go chacune, et il offre une puissance de calcul de 800 Mflops (millions d'opérations par seconde).
Ce jouet coûte, à l'époque, 15 millions de dollars.

Brochure technique sur le Cray X-MP.
Jurassic Park possède donc 3 superordinateur Cray X-MP/416 dotés chacun d'un SSD de 1 Go, soit 45 millions de dollars.

En enregistrant de façon un peu simpliste la chaîne d'ADN dans un fichier, en réservant un octet par base (c'est bien plus qu'il ne faut, mais ça facilite la lecture du fichier), la chaîne complète d'ADN pèsera 3 Go.

C'est-à-dire que la totalité de la chaîne d'ADN d'une de nos, de vos cellules, tient directement dans la mémoire vive du PC qui vous sert à lire cet article.
C'est-à-dire qu'on peut mettre deux programmes génétiques complets sur un DVD.
Et sur votre disque dur, vous pourrez stocker entre 10 et 100 fois votre génome. Rien que ça.

En 2011, vous avez entre les mains la puissance de 3 superordinateurs Cray de 1989 à 15 millions de dollars.

La lenteur croissante des applications.

Malgré les performances inimaginables de nos PC, on remarquera sans mal la lenteur extrême de nombreux programmes, particulièrement les suites bureautique.
Il est intéressant à ce sujet de faire le parallèle avec Word 5.1 sur Macintosh Plus.

Soyons clairs : 90% des fonctionnalités de Word 2003 existaient déjà dans Word 5.1, y compris l'éditeur de graphiques, l'éditeur d'images, l'éditeur de tableaux, les correcteurs grammaticaux et orthographiques, le catalogue des synonymes, les styles, la possibilité de mise en page, etc.

Macintosh Plus
Cliquer pour agrandir

Le Macintosh Plus est sorti en 1986, avec un processeur Motorola MC68000 à 8Mhz et 1 Mo de mémoire vive, extensible à 4 Mo.
Word 5.1, sorti en 1992, n'est pas très véloce sur Mac Plus, mais il est parfaitement utilisable, et l'on profite de toute la puissance de ses outils sans problèmes.

20 ans plus tard, sur des machines au moins 400 fois plus rapides que le Mac Plus, Word 2010 n'est pas plus rapide ou réactif, en n'offrant que très peu de fonctions supplémentaires (et essentiellement des fonctions inutiles).

Tout le monde connait la "loi de Moore", inventée par Gordon Moore, cofondateur d'Intel, en 1975  :
« Le nombre de transistors des microprocesseurs sur une puce de silicium double tous les deux ans. »
Il ne s'agit pas d'une étude sérieuse, statistique, mais d'une prédiction empirique, qui s'est révélé jusqu'à présent exacte.

La Loi de Wirth

Et bien, la loi de Moore a son corollaire, concernant la lenteur permanente des programmes !
Cette autre loi à été formalisée par Niklaus Wirth en 1995, et nommée donc "Loi de Wirth" :
 « Le logiciel ralentit plus vite que le matériel accélère. »

Le matériel a beau doubler en performance tous les 24 mois, les programmes n'accélèrent pas pour autant : au contraire, ils deviennent plus gros et plus lent, les développeurs justifiant cette lenteur excessive comme compensée par la loi de Moore !

Il faut dire qu'un grand nombre de choix très malheureux a été fait ces 20 dernières années dans le domaine de la programmation, allié à une situation de manque de développeurs.

D'un côté, l'informatique a envahi le quotidien, nécessitant une armée inexistante de développeurs : actuellement, en France, par exemple, en pleine crise, l'informatique est le seul domaine où il y a plus de postes disponibles que de candidats (offrant alors des situations particulièrement favorables pour les développeurs).
La conséquence de cette situation, c'est que pour pallier le manque de développeur, on est envahi de développeurs médiocres ou franchement mauvais, incapable de coder correctement quelques lignes (et l'on est entouré de développeurs capables de noircir 50 lignes de code pour faire une action réalisable en 5 lignes).

D'un autre côté, dans l'idée de vouloir toujours tout révolutionner, de faire différent des "vieux", et à un rythme effréné, on a cédé à de nombreuses technologies spécialement mauvaises, comme les langages interprétés (Java tout particulièrement, .net, Javascript, Python, etc), les langages massivement objets, menant à des pertes de performances souvent sensibles, et à une augmentation de la mémoire utilisée sans rapport avec la mémoire vraiment nécessaire.

Si l'on codait aujourd'hui les applications, en C ou en Pascal, comme on le faisait dans les années 80, nos ordinateurs donneraient une impression de vitesse et de fluidité dont on n'a pas idée.


Lire l'article complet, et les commentaires