home   |   А-Я   |   A-Z   |   меню


Информатика

Нил Гершенфельд

Физик, директор Центра битов и атомов, Массачусетского технологического института; автор книги Fab: The Coming Revolution on Your Desktop («Фаб: грядущая революция на вашем рабочем столе»).

Информатика (computer science) обладает некоторыми любопытными свойствами – она иногда игнорирует, а иногда открыто отвергает принципы всей остальной науки.

Существует множество вычислительных моделей: императивные / декларативные / функциональные языки, SISD / SIMD / MIMD архитектуры, скалярные / векторные / многоядерные процессоры, RISC / CISC / VLIW наборы команд. А физическая реальность есть только одна – для всякой области пространства доступны некоторые состояния, она может взаимодействовать с другими областями и для перехода из одного состояния в другое ей требуется некоторое время. Все остальное – это фикция.

И сейчас мы прилагаем поистине героические усилия для поддержания этой фикции. Программирование в наши дни напоминает праздное пребывание в «садах удовольствий» из фильма «Метрополис» Фрица Ланга: вы полностью уверены, что рабочие в цехах глубоко внизу будут в точности следовать вашим указаниям. Но на самом деле «снизу» все чаще слышен ропот. Множество взаимосвязанных «бутылочных горлышек», непопаданий в кэш, совпадений по времени цепочек тока, недостаточные бюджеты дата-центров и неэффективность параллельно работающих процессоров (и программистов) – вот лишь несколько причин этого.

У программ нет физических атрибутов типа пространства и времени, однако таковые имеются у «железа», на котором работают эти программы. Код, на базе которого работает та или иная программа, исполнительный скомпилированный код, и схемы, по которым он работает, совершенно не похожи друг на друга. Если вы посмотрите на географическую карту, то увидите в ней иерархическую структуру от города к штату и стране, однако геометрия представления не меняется в зависимости от масштаба. Почему мы не делаем того же самого в отношении программ?

Я склонен винить в создавшемся положении двух человек – Алана Тьюринга и Джона фон Неймана. Оба прославились исключительно важными с исторической точки зрения и довольно нетрадиционными исследованиями. Тьюринга интересовал вопрос принципиальной вычислимости. Машина, носящая его имя, задумывалась как теоретическая модель, а не как проект реально осуществимого эксперимента. У нее имелась головка, которая читала и записывала символы на бумажной ленте. И хотя это может показаться само собой разумеющимся, различие между сохранением физического состояния и взаимодействием его с другим состоянием носит нефизический характер. Разделение функций было разработано в элементах архитектуры фон Неймана. И хотя оно присутствует почти в каждом из сделанных в наши дни компьютеров, изначально оно не должно было стать универсальной истиной. Фон Нейман писал о нем в своем известном отчете о программировании, исходя из довольно ограниченных возможностей ранних компьютеров EDVAC.

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

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

Нео, главный герой фильма «Матрица», стоит перед выбором – он может принять красную таблетку и покинуть иллюзорный мир, в котором живет, или принять синюю и сохранить существующую иллюзию. Оказавшись в реальном мире, он понимает, что этот мир намного более сложен, но при этом он гораздо интереснее. Перед таким же выбором стоит в наши дни и цифровой мир – он может либо принять, либо отвергнуть физическую реальность, в которой находится.

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



Интегральное и дифференциальное исчисление Эндрю Ли | Эта идея должна умереть. Научные теории, которые блокируют прогресс | Наука развивается благодаря похоронам Сэмюел Барондес



Loading...