1 bit = 12 atomes contre 1 million avant

IBM vient de mettre au point un nouveau système d’enregistrement des données qui devrait nous permettre de démultiplier encore la capacité de nos unités de stockage :

lemondeinformatique.fr/actua … 47393.html

On touche la fin là !
1 bit par atome ou par 12 atomes, c’est du même ordre de grandeur. Qu’est-ce qu’on fait pour progresser après ? Stocker des bits sur les électrons ou les nucléons, je crois que c’est un peu difficile ^^

[quote=“Dunatotatos”]On touche la fin là !
1 bit par atome ou par 12 atomes, c’est du même ordre de grandeur. Qu’est-ce qu’on fait pour progresser après ? Stocker des bits sur les électrons ou les nucléons, je crois que c’est un peu difficile ^^[/quote]

Je comprends 12 atomes au lieu d’un million dans l’article.

Cela dit, c’est une manip de labo avec un STM…

Oui, oui, c’est bien le cas. Je parlais de 1 atome parce-que ce me semble la dernière évolution possible.
(et ça reste une panip’, certes, mais si la manip’ fonctionne, la production industrielle viendra, elle aussi.)

[quote=“Dunatotatos”]On touche la fin là !
1 bit par atome ou par 12 atomes, c’est du même ordre de grandeur. Qu’est-ce qu’on fait pour progresser après ? Stocker des bits sur les électrons ou les nucléons, je crois que c’est un peu difficile ^^[/quote]
Après on travaille sur l’intrication et la superposition des états quantiques des particules. Autrement dit, l’ordinateur quantique.

Mais il sera probablement plus simple dans un premier temps d’utiliser les photons je crois.

Imaginez un monde où on est bloqué, on n’arrive plus à augmenter la puissance des puces… Il se passe quoi là ?? L’optimisation va devenir plus importante que jamais. Et là Linux a une sacrée longueur d’avance sur son principal concurrent :smiley:

Ça fait déjà un moment que la puissance d’un cœur n’évolue plus beaucoup même si la puissance globale d’un CPU continue d’évoluer grâce à l’adjonction de cœurs.
cf. le fameux article de Herb Sutter « The Free Lunch Is Over » (2005) qui reste toujours d’actualité : gotw.ca/publications/concurrency-ddj.htm

Le problème c’est que la programmation parallèle reste dans l’ensemble assez peu mise en œuvre (malgré des solutions relativement simples comme OpenMP), tout au moins pour les applications desktop (les serveurs c’est une autre histoire, la plupart étant parallélisés depuis longtemps).
Autrement dit, le grand public ne bénéficie pas tant que ça du multi-cœurs, et beaucoup d’applications “naïves” (dans leur implémentation) n’ont eu quasiment aucun gain de performance depuis 2005-2006. Perso j’ai en permanence un moniteur CPU visible dans ma barre des tâches, aussi bien sous Linux qu’au taf sous Windows, et tant que je n’utilise qu’un seul programme à la fois il est bien rare que plus d’un cœur soit utilisé (ou alors c’est juste un deuxième cœur qui prend en charge l’OS – sur un quad-core ça laisse tout de même deux cœurs inutilisés).

Bref, de mon point de vue on est déjà presque* dans la situation que tu décris, et ça restera comme ça jusqu’à ce que la programmation parallèle devienne plus répandue.

(*) je n’ai parlé que des cas qui étaient CPU-bound, mais bien entendu l’amélioration d’autres composants que le CPU influe aussi sur les performances globales.

Et si on veut voir encore plus performant, y’a aussi l’ordinateur quantique qui a un bon potentiel

http://www.futura-sciences.com/fr/doc/t/physique/d/lordinateur-quantique_552/c3/221/p1/

Mais pour le coup faut voir bien plus loin pour esperer en avoir un à la maison (tellement loin qu’on mangera peut etre tous d’ici là les pissenlits par la racine :whistle: )

[quote=“Cluxter”]
Imaginez un monde où on est bloqué, on n’arrive plus à augmenter la puissance des puces… Il se passe quoi là ?? L’optimisation va devenir plus importante que jamais. Et là Linux a une sacrée longueur d’avance sur son principal concurrent :smiley:[/quote]
Imagine une époque où pour un calcul de 1 an avec les machines du 1er Janvier, tu essayais de calculer à quel moment acheter une machine et lancer le calcul avant qu’il soit fini au plus vite et tu finissais par acheter une machine et lancer le calcul en Mai pour avoir le résultat en Septembre.

Ça fait déjà un moment que la puissance d’un cœur n’évolue plus beaucoup même si la puissance globale d’un CPU continue d’évoluer grâce à l’adjonction de cœurs.
cf. le fameux article de Herb Sutter « The Free Lunch Is Over » (2005) qui reste toujours d’actualité : gotw.ca/publications/concurrency-ddj.htm[/quote]
Pour être précis c’est la fréquence d’un cœur qui n’augmente plus. La puissance c’est encore autre chose. Les CPU (c’est féminin au fait) ont une puissance qui augmente tout de même. Par exemple leur jeux d’instructions évolue pour faire plus de choses (par exemple certains processeurs ont une implémentation du SHA1). Ils améliorent leur prédiction pour éviter les instructions inutiles (je parle bien de la CPU en elle même et pas des codes que l’on leur donne). L’une des chose qui montre ça c’est le retrait d’instructions de prefetch du noyau pour justement améliorer cela. Intel dans leur dernières puces ont un mécanisme pour générer de l’entropie de manière bien plus efficace.

Il est vrai que leur puissance n’augmente probablement pas de manière aussi spectaculaire que dans les 90 et au début des années 2 000, mais leur puissance augmente tout de même.

[quote=“syam”]Le problème c’est que la programmation parallèle reste dans l’ensemble assez peu mise en œuvre (malgré des solutions relativement simples comme OpenMP), tout au moins pour les applications desktop (les serveurs c’est une autre histoire, la plupart étant parallélisés depuis longtemps).
Autrement dit, le grand public ne bénéficie pas tant que ça du multi-cœurs, et beaucoup d’applications “naïves” (dans leur implémentation) n’ont eu quasiment aucun gain de performance depuis 2005-2006. Perso j’ai en permanence un moniteur CPU visible dans ma barre des tâches, aussi bien sous Linux qu’au taf sous Windows, et tant que je n’utilise qu’un seul programme à la fois il est bien rare que plus d’un cœur soit utilisé (ou alors c’est juste un deuxième cœur qui prend en charge l’OS – sur un quad-core ça laisse tout de même deux cœurs inutilisés).[/quote]
C’est quoi l’OS si ce n’est un ensemble de processus ? Qui peut donc déjà bénéficier de multiple cœur. Une application graphique possède déjà par nature au moins deux threads. Un grand nombre d’applications ne sont de toute manière pas parallélisable.

Juste pour ne pas trop que vous rêviez. Le CEA en 1999 à conçu un transistor de 18 nm. Les prochains processeurs intel sont en 22 nm (13 ans après).

Donc le temps entre la découverte en laboratoire et l’exploitation grand publique peut être immense.

Si j’ai bien compris comment fonctionnait un microprocesseur, pour augmenter sa fréquence, il faut diminuer la taille des transistors et autres composants électroniques, car plus ils sont petits et moins ils chauffent, donc pour le même dégagement thermique on peut augmenter la fréquence mais aussi augmenter le nombre de composants par unité de surface et ainsi rajouter des instructions en assembleur. Et donc il sera plus rapide d’obtenir un résultat s’il est possible de demander au microprocesseur de le traiter avec un circuit spécialisé que de devoir exécuter des centaines de lignes en assembleur pour faire la même chose mais indirectement puisque ce n’est pas conçu en dur dans le microprocesseur.
De plus la miniaturisation des composants permet aux électrons de passer d’un composant à l’autre plus rapidement et donc ça permet d’augmenter également la fréquence.

Car en définitive il me semble qu’on est capable de concevoir des transistors qui supportent des fréquences très élevées (plusieurs dizaines de gigahertzs) mais qu’il faut les refroidir suffisamment. En effet faire passer du courant, l’arrêter, et recommencer ça plusieurs milliards de fois par seconde, ça entraîne des chocs électroniques qui dégagent de l’énergie.

Si je me plante quelque part merci de corriger, je ne suis pas complètement sûr de ce que j’avance.

Tu as bien entendu raison, mais en pratique l’impact reste assez marginal. D’où “la puissance d’un cœur n’évolue plus beaucoup”. Bref, on est encore une fois d’accord. :wink:

Ce n’est pas vraiment une question de chocs, mais en effet la consommation moyenne en courant des circuits logiques de technologie CMOS est à peu près proportionnelle à la fréquence de commutation.

Le C de CMOS signifie “complémentaire”. Une sortie d’étage de circuit logique CMOS se compose de deux transistors dits complémentaires : un de type “P” entre l’alimentation et la sortie, et un de type “N” entre la masse et la sortie. A l’état 1 ou “haut”, le transistor P est conducteur et le transistor N est bloqué. A l’état 0 ou “bas”, le transistor N est conducteur et le transistor P est bloqué. Lors d’une transition d’un état à un autre, pendant un court intervalle de temps les deux transistors sont partiellement conducteurs simultanément, ce qui entraîne le passage d’un pic de courant entre l’alimentation et la masse. Plus la fréquence augmente, plus le nombre de transitions et de pics de courant par unité de temps augmente, ce qui augmente la consommation moyenne.

Mais la durée de ces pics n’est pas moindre? Finalement ce qui compte c’est la moyenne, pourquoi celle ci est plus grande?

Non, la durée des pics est liée à la durée de la transition, aux temps de montée et descente qui ne sont pas liés à la fréquence.