Wir nähern uns der Grenze der Rechenleistung - wir brauchen neue Programmierer

Zunehmend beschleunigte Prozessoren führten zum Auftreten aufgeblähter Software, aber physische Einschränkungen können uns zwingen, zu einer bescheideneren Version des Codes zurückzukehren, den wir in der Vergangenheit verwendet haben




Gordon Moore , einer der Gründer von Intel, stellte bereits in den 1960er Jahren fest, dass sich die Anzahl der Transistoren, die auf einen Siliziumchip passen, etwa alle zwei Jahre verdoppelt. Da sich die Anzahl der Transistoren auf die Rechenleistung bezieht, bedeutet dies, dass sich die Rechenleistung alle zwei Jahre verdoppelt. So wurde Moores Gesetz geboren, das Menschen, die in der Computerindustrie arbeiten - zumindest denen, die noch nicht vierzig sind - die gleiche zuverlässige Grundlage bot, die Newtons Bewegungsgesetze für Maschinenbauingenieure vorsahen.

Er hat jedoch einen Unterschied. Moores Gesetz ist immer noch nur eine empirische Korrelation, die in einem bestimmten Zeitraum beobachtet wurde, und wir kommen schließlich an die Grenze ihrer Anwendbarkeit. Im Jahr 2010 sagte Moore selbst voraus, dass die Gesetze der Physik diesen exponentiellen Anstieg stoppen würden. "In Bezug auf die Größe von Transistoren", sagte er, "ist es klar, dass wir uns bereits der Größe von Atomen nähern, die eine grundlegende Barriere darstellen. Bis zu diesem Zeitpunkt werden sich jedoch zwei oder drei Generationen noch ändern. Wir können jedoch keine weiteren Entwicklungen vorhersagen." Wir haben noch 10 bis 20 Jahre, bevor wir die fundamentale Grenze erreichen. "

Und jetzt haben wir das Jahr 2020 erreicht, und die Vorstellung, dass wir immer über ausreichend leistungsfähige Computer verfügen, die für ständig wachsende Anforderungen geeignet sind, scheint zu selbstbewusst. Und da es für diejenigen, die seit mehreren Jahrzehnten in diesem Geschäft tätig sind, offensichtlich ist, wurde eine Menge Forschung in Bezug auf die ausgeklügelten Möglichkeiten betrieben, immer mehr Rechenleistung in Maschinen zu stecken, beispielsweise in Multi-Core-Architekturen, in denen die CPU zwei oder mehr separate Rechenmodule aufweist oder "Kerne". All dies geschah in der Hoffnung, den schrecklichen Tag zu verschieben, an dem die Siliziumchips keinen Handlungsspielraum mehr haben (zum Beispiel läuft der neue Apple Mac Pro auf einem Intel Xeon-Prozessor mit 28 Kernen). Und Studien zu Quantencomputern entwickeln sich natürlich rasant, was im Prinzip ein Meilenstein sein könnte.

Computer erfordern jedoch eine Kombination aus Hardware und Software, und eine der vorhersehbaren Konsequenzen von Moores Gesetz war, dass er Programmierer faul machte. Das Schreiben von Software ist ein komplexes Handwerk, und manche verstehen es besser als andere. Sie schreiben eleganteren und vor allem agileren Code, der schneller läuft. In den frühen Tagen, als Hardware relativ primitiv war, war die Fähigkeit des Programmierers von großer Bedeutung. Als Bill Gates ein Kind war, schrieb er beispielsweise einen BASIC-Interpreter für einen der allerersten TRS-80-Mikrocomputer. Da die Maschine ein winziges ROM hatte, musste Gates das gesamte Programm auf 16 Kb speichern. Er schrieb es in Assembler, um die Effizienz zu steigern und Platz zu sparen. Es gibt sogar die Legende, dass er viele Jahre später das gesamte Programm aus dem Gedächtnis zitieren könnte.

In den Anfangsjahren des Computerbetriebs gibt es Tausende ähnlicher Geschichten. Aber mit dem Beitritt von Moores Gesetz verschwand das Bedürfnis nach einem wirtschaftlichen, sparsamen Kodex allmählich und die Motivation änderte sich. Das Programmieren ist zu einer Branchendisziplin für Softwareentwickler geworden. Die Schaffung beliebter Software-Ökosysteme wie Betriebssysteme und kommerzielle Programme erforderte die Teilnahme großer Entwicklungsteams. Auf dieser Grundlage ist die Bürokratie von Projektmanagern und Geschäftsführern gewachsen. Aus großen Softwareprojekten wurden Todesmärsche, die Fred Brooks in seinem 1975 erschienenen berühmten Buch Mythical Man-Month am deutlichsten beschrieb und die seitdem aus einem sehr guten Grund nachgedruckt wurden - sie sind immer noch relevant. Dabei blähte sich die Software auf und wurde unwirksam.

Aber das spielte keine Rolle, denn das Eisen gab immer neue Rechenleistung ab und verbarg das Problem aufgeblähter Software oder Bloatware. Es machte gewissenhafte Programmierer oft wütend. "Die einzige Folge des Auftretens von starkem Eisen, die ich beobachte", schrieb einer von ihnen, "ist, dass Programmierer Programme darauf schreiben, die immer härter aufblähen." Sie werden fauler und da die Hardware schnell genug ist, versuchen sie nicht, Algorithmen zu erlernen oder den Code zu optimieren. Das ist verrückt ! "

So ist es. In einem Vortrag von 1997 leitete Nathan Mirwold, einst leitender Ingenieur bei Bill Gates, seine vier Softwaregesetze ab:

  1. PO ist wie Gas, es dehnt sich aus und füllt den gesamten Tank.
  2. Die Software wächst, bis sie die von Moores Gesetz festgelegten Grenzen erreicht.
  3. Software-Wachstum macht Moores Gesetz möglich - Menschen kaufen neue Hardware, weil Software dies erfordert.
  4. Software ist nur durch menschliche Ambitionen und Erwartungen begrenzt.

Zu dem Zeitpunkt, an dem die Herrschaft von Moores Gesetz zu Ende geht, ergibt sich aus den Gesetzen von Mirwold, dass wir nur zwei Möglichkeiten haben. Entweder werden wir unsere Ambitionen verschärfen oder wir werden wieder sparsamer und effizienter Code schreiben. Mit anderen Worten, zurück in die Zukunft.

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


All Articles