Nous approchons de la limite de la puissance de calcul - nous avons besoin de nouveaux programmeurs

Des processeurs de plus en plus accélérés ont conduit à l'apparition de logiciels gonflés, mais des limitations physiques peuvent nous obliger à revenir à une version plus modeste du code que nous utilisions dans le passé




Dans les années 1960, Gordon Moore , l'un des fondateurs d'Intel, a remarqué que le nombre de transistors pouvant s'adapter sur une puce de silicium doublait tous les deux ans environ. Étant donné que le nombre de transistors est lié à la puissance de traitement, cela signifie qu'en fait, la puissance de traitement double tous les deux ans. Ainsi naquit la loi de Moore , qui prévoyait pour les personnes travaillant dans l’industrie informatique - du moins pour celles qui n’avaient pas encore quarante ans - le même fondement fiable que les lois du mouvement de Newton fournissaient aux ingénieurs mécaniciens.

Mais il a cependant une différence. La loi de Moore n'est encore qu'une corrélation empirique, qui a été observée dans un certain laps de temps, et nous arrivons enfin à la limite de son applicabilité. En 2010, Moore lui-même a prédit que les lois de la physique arrêteraient cette augmentation exponentielle. "En ce qui concerne la taille des transistors", a-t-il déclaré, "il est clair que nous approchons déjà de la taille des atomes, qui sont une barrière fondamentale, mais jusqu'à présent, deux ou trois générations changeront encore - cependant, nous ne sommes pas en mesure de prédire de nouveaux développements. Nous avons encore 10 à 20 ans avant d’atteindre la limite fondamentale. "

Et maintenant, nous avons atteint 2020, et l'idée que nous aurons toujours un équipement informatique suffisamment puissant et adapté à des besoins en constante expansion commence à sembler trop sûre d'elle. Et comme cela est évident pour ceux qui sont impliqués dans cette activité depuis plusieurs décennies, de nombreuses recherches ont été effectuées concernant les moyens ingénieux d'intégrer une puissance de calcul toujours plus grande dans les machines, par exemple, les architectures multicœurs dans lesquelles le processeur a deux modules de calcul distincts ou plus. ou "noyaux". Tout cela a été fait dans l'espoir de reporter ce jour terrible où les puces de silicium manquent de marge de manœuvre (par exemple, le nouveau Apple Mac Pro fonctionne sur un processeur Intel Xeon à 28 cœurs). Et, bien sûr, les études sur les ordinateurs quantiques se développent à un rythme effréné, ce qui, en principe, pourrait être une percée historique.

Mais l'informatique nécessite une combinaison de matériel et de logiciels, et l'une des conséquences prévisibles de la loi de Moore a été de rendre les programmeurs paresseux. L'écriture de logiciels est un métier complexe, et certains le font mieux que d'autres. Ils écrivent du code plus élégant et, plus important encore, plus agile qui s'exécute plus rapidement. Au début, lorsque le matériel était relativement primitif, les compétences du programmeur étaient d'une grande importance. Par exemple, lorsque Bill Gates était enfant, il a écrit un interprète BASIC pour l'un des tout premiers micro-ordinateurs TRS-80. Étant donné que la machine avait une toute petite ROM, Gates a dû mettre l'ensemble du programme en 16 Ko. Il l'a écrit en assembleur pour augmenter l'efficacité et économiser de l'espace; il y a même une légende selon laquelle de nombreuses années plus tard, il pourrait citer le programme entier de mémoire.

Et dans les premières années de l'informatique, vous pouvez trouver des milliers d'histoires similaires. Mais avec l'avènement de la loi de Moore, la nécessité d'un code économique et économe a progressivement disparu et la motivation a changé. La programmation est devenue une discipline de l'industrie pour les ingénieurs logiciels. La création d'écosystèmes logiciels populaires, tels que les systèmes d'exploitation et les programmes commerciaux, a nécessité la participation de grandes équipes de développement; sur cette base, la bureaucratie est passée de chefs de projet et directeurs exécutifs. De grands projets logiciels se sont transformés en marches de la mort, que Fred Brooks a décrites le plus clairement dans son célèbre livre Mythical Man-Month , publié en 1975, et depuis lors, ont été réimprimés pour une très bonne raison - c'est toujours d'actualité. Et au cours de tout cela, le logiciel a gonflé et est devenu inefficace.

Mais cela n'avait pas d'importance, car le fer à repasser donnait toujours une nouvelle puissance de calcul, cachant le problème des logiciels gonflés ou des bloatwares. Cela exaspérait souvent les programmeurs consciencieux. «La seule conséquence de l'apparition d'un fer puissant que j'observe», écrit l'un d'eux, «est que les programmeurs écrivent des programmes qui sont de plus en plus ballonnements. Ils deviennent plus paresseux, et comme le matériel est assez rapide, ils n'essaient pas d'apprendre des algorithmes ou d'optimiser le code. C'est fou ! "

Il en est ainsi. Dans une conférence de 1997, Nathan Mirwold, autrefois ingénieur senior chez Bill Gates, a dérivé ses quatre lois logicielles:

  1. Le PO est comme du gaz, il se dilate pour remplir tout le réservoir.
  2. Le logiciel se développe jusqu'à atteindre les limites fixées par la loi de Moore.
  3. La croissance des logiciels rend possible la loi de Moore - les gens achètent du nouveau matériel parce que les logiciels l'exigent.
  4. Le logiciel n'est limité que par les ambitions et les attentes humaines.

Au moment où la règle de la loi de Moore arrive à son terme, il découle des lois de Mirwold que nous n'avons que deux options. Soit nous resserrerons nos ambitions, soit nous recommencerons à écrire du code plus économique et plus efficace. En d'autres termes, revenons à l'avenir.

Source: https://habr.com/ru/post/fr484688/


All Articles