Новая архитектура компьютера — время пришло

Существующая архитектура и основанные на ней подходы к развитию аппаратного и программного обеспечения, очевидно, устарели. Это приводит к очень низкому КПД используемых ресурсов и неоправданно большим затратам на единицу полезного действия. Большую часть времени современные компьютеры решают искусственно созданные проблемы, порожденные, в частности, привязкой к принципам построения вычислительных машин времен середины прошлого века.

Новая архитектура компьютера — время пришло

«Искусственная» сложность ПО

Из-за огромной сложности прикладного программирования большинство пользователей находятся в зависимости от разработчиков программного обеспечения (ПО). При этом разрыв в требуемой квалификации программиста и пользователя компьютера постоянно увеличивается. Изначально компьютер предназначен для решения задач, поставленных напрямую пользователем, и необходимо дать пользователю возможность делать это самостоятельно.

Технологические ограничения

Развитие вычислительной техники, уже много лет ведущееся экстенсивным путем, уперлось в технологические ограничения: невозможно бесконечно уменьшать и ускорять компоненты компьютера. В то же время вычислительная мощность даже самых дешевых бытовых компьютеров, если пересчитать ее в миллиарды операций за единицу времени, многократно превосходит любые потенциальные нужды их пользователей. Просто используется эта мощность крайне неэффективно.

Сама собой напрашивается разработка абсолютно новой архитектуры и операционной системы вычислительных машин для массового использования.

Идея

Объединить данные, процессоры и программы в единое масштабируемое поле, моделируя в нем реальные объекты с их свойствами и поведением. То есть, вместо последовательной обработки цепочки команд одним процессором следует создавать модели, самостоятельно работающие в рамках поставленной задачи. Операционная система при этом только координирует процессы, а прикладное программирование сводится к описанию задач простейшим наглядным способом.

Закон Мура

Согласно Закону Мура, количество транзисторов в процессорах удваивается каждые полтора-два года, при этом заметного роста производительности его ядер мы больше не наблюдаем.

Частота процессора достигла предела, производительность растет слабо
Частота процессора достигла предела, производительность растет слабо

Рост производительности при кратном увеличении сложности устройств составляет единицы процентов и продолжает снижаться с годами.

Прирост 3,5% в год был в 2015-17 годах, а сейчас динамики почти нет
Прирост 3,5% в год был в 2015-17 годах, а сейчас динамики почти нет

Пришло время в корне пересмотреть архитектуру компьютеров и построить принципиально иное решение, способное кратно масштабироваться с сохранением линейной зависимости сложность/производительность.

Промежуточный (переходный) вариант

Идеологию программирования под новую платформу возможно применять и совершенствовать в уже существующих средах разработки. Главная её задача успешно решается уже сейчас — сделать возможным прикладное программирование силами пользователя, а не профессионального программиста, используя существующее системное ПО и средства разработки.

Современные технологии позволяют создавать достаточно недорогие и мощные устройства, как в виде прототипов, так и серийно. В силу этого бюджет первой фазы проекта (подтверждение концепции, создание прототипа) сравнительно невелик.

Что мы имеем сейчас

Современный процессор содержит миллиарды транзисторов, причем полезную работу в каждый момент времени делает лишь микроскопическая часть из них: за каждый такт процессора выполняется всего несколько команд, обрабатывая десятки байтов информации.

А теперь представьте, что вся эта полупроводниковая «рабочая сила» трудится одновременно в полном составе над всем множеством задач: вместо 2-8 ядер процессора вся вычислительная мощность поделена на участки, автономно делающие свою маленькую работу.

Первый процессор больше полувека назад содержал 2300 транзисторов. Микропроцессоры 80-х годов уже были способны решать сегодняшние задачи (вычисления в таблицах Excel и любая бизнес-логика) и состояли из 20-30 тысяч транзисторов.

Устаревший процессор Intel Core i7 из 2008 года содержит 1.3 млрд транзисторов, а Intel Core i9 из 2022 года – уже 12 млрд транзисторов. Узким местом в них являются ядра – несколько независимых вычислителей, выполняющих всего несколько операций за 1 такт процессора.

Получается несколько миллиардов операций с плавающей запятой в секунду. Это не много, с учетом десятков тысяч потоков выполнения и миллионов байт, которые обрабатываются процессором. При этом самая простая операция, требующая, например, увеличения двузначного числа на единицу, ждет своей очереди и занимает полноценный такт мощнейшего процессора.

Подробнее об архитектуре

Транзисторы, из которых состоит современный процессор, позволяют коммутировать миллионы вычислительных участков, делающих полезную работу одновременно, занимая ресурсы пропорционально сложности задачи – вычисления одно-, двух-, четырех- или восьмибайтовых значений.

Даже при стократных накладных расходах на коммутацию примитивных вычислителей и уменьшении частоты их работы, такая архитектура позволит делать в десятки тысяч раз больше операций в секунду. Что особенно важно, этот подход вернет возможность масштабирования вычислительной мощности.

Общая производительность системы из миллионов простых и быстрых устройств должна вырасти на несколько порядков, даже несмотря на значительные накладные расходы на динамическое выделение вычислительных участков, доставку задачи к ним и прием результатов вычислений.

Новая архитектура компьютера — время пришло

Это сравнение сильно упрощенное, но оно отражает суть: один мощный универсальный вычислитель менее эффективен, чем комплекс из десятков тысяч простейших устройств.

Отдаленно похожим образом работают видеокарты, которые параллельно обрабатывают узкоспециализированные задачи, собирая затем все свои расчеты в общий результат. Видеокарты, повторюсь, решают ограниченный круг задач, а предлагаемая здесь архитектура предназначена для задач общего назначения: операционная система и прикладное ПО.

Главная задача, которую надо будет решить при разработке новой архитектуры – это многомерная структура вычислительного поля с динамическим выделением вычислительных участков и передачей задач и результатов.

Например, компоновка вычислителей и транспортной части может быть как псевдо-многомерная, выполненная в виде плоской схемы, так и трехмерная – как делаются многослойные платы. Второй вариант пока выглядит спорно и требует принципиально нового решения.

Разрабатываемая архитектура, возможно, получится похожей на устройство мозга человека, в котором несколько управляющих структур содержат многие миллиарды взаимодействующих между собой элементов, работающих одновременно и независимо.

Разумеется, нашу задачу невозможно выполнить, просто перекоммутировав существующую сейчас элементную базу, а необходимо полностью переработать подход к построению вычислительных машин и создать совершенно новые составляющие будущего компьютера. Разработку придется вести с нуля – коммутируя транзисторы.

О прикладном программировании

Подход к программированию приложений, уже реализованный и работающий, описан в статье Квинтет как базовая сущность для описания предметной области.

Этот подход универсален и продумывался с прицелом на использование аппаратной части обсуждаемой здесь архитектуры.

Квинтетная модель подвергалась критике из-за своей похожести на EAV и вначале была признана невозможной для реализации. Тем не менее, разработчикам удалось преодолеть все ограничения EAV и создать самодостаточную и полную платформу разработки на основании этого подхода.

Перспективы

Все научные и производственные задачи лучше решать таким инструментом, который наиболее полно может охватить суть их объектов. Предлагаемый подход подразумевает стопроцентную точность моделирования предметной области.

Если когда-нибудь человечество изобретет способ запрограммировать настоящий искусственный интеллект, то полученная программа сможет функционировать в такой среде, о которой рассказывается здесь.

В мозге есть участки, отвечающие за разное, они поделены на участки, которые выполняют функции, те в свою очередь поделены на группы исполнителей, которые состоят из чего-то ещё и в конце концов всё сделано из синапсов – элементарных блоков хранения и реагирования.

В нашей стране много талантливых и работоспособных людей. Необходимо найти их, разъяснить идею и вовлечь в проект, позволив им внести посильный вклад и получая дополнительные идеи по конкретным реализациям стратегии. И всё опять получится!

1010
23 комментария

Звучит как дорогой проект. Какой бюджет для реализации этой задумки?

Ответить

Бюджет небольшой из-за краудфандинговой схемы и особенностей набора в команду. Участники проекта получают только необходимый минимум финансовой мотивации, значительная часть труда — бесплатна, что гарантирует искреннюю заинтересованность в успехе со стороны исполнителей и ограничивает бюджет проекта, устраняя распил и прочие деструктивные элементы.

3
Ответить

мде... с нейросетями сейчас все меняться будет, и не только связанное с компьютерами

1
Ответить

Нейросети в другом измерении находятся, напрямую они в эту область разработки не дотянутся никак

Ответить

когда вы приводите аргументы про не эффективность задач решаемых процессоров,
доводы про изменение подходов к программированию
(много простых агентов)

Так вот этих много простых агентов и их распаралеливание нельзя виртуализировать и потестить на имеющейся раскладке транзисторов?

Даже виртуализированное оно вроде как должно дать значительный прирост и показать прототип работает это или нет и какой даёт прирост

Ответить

Сейчас уже нет никаких простых агентов, а те, что есть из прошлого, слишком громоздки. Тот же Intel 4004 на картинке в статье — здоровая дура на низкой частоте. А маленьких таких давно не делают. В то же время, спроектировать сейчас свою копию 4004 на современной элементной базе для студента соответствующей специальности не составит особых проблем. Вот их мы и будем коммутировать.
Основной негатив у оппонентов этого подхода будет заключаться в сомнениях, что можно скоммутировать такое поле, не создав тяжелейшего и тормозного монстра.

1
Ответить

С какой-то неимоверной легкостью автор покушается на глобальнейшую проблему, в которую как-будто не слишком погружен. Интересно будет увидеть какой-от первый отчет об успехах, если это не первоапрельская шутка.

Ответить