Электроника приближается к своему физическому пределу. Транзисторы стали тоньше, чем длина волны света, которым их печатают, и дальнейшее сжатие упирается в квантовые барьеры — туннелирование, перегрев, утечки. Оптические вычислительные системы предлагают иной путь. Вместо того чтобы гнать электроны по проводникам, они пересылают фотоны по волноводам. Фотон не имеет заряда, не создаёт тепла резистивными потерями и движется с максимальной скоростью во Вселенной. Теоретически оптический компьютер способен работать на порядки быстрее и экономичнее любого электронного аналога.
История попыток создать оптический процессор насчитывает полвека. Первые проекты копировали архитектуру электронных схем — логические вентили на нелинейных кристаллах, оптические триггеры, интерферометры Маха-Цендера в роли транзисторов. Всё это работало в лаборатории, но не выходило за её пределы. Оптические элементы были громоздкими, требовали юстировки с точностью до долей длины волны и потребляли энергию на поддержание когерентности. Практического выигрыша не получалось: на каждый фотонный вентиль приходилось ставить лазер, и суммарное тепловыделение превышало электронный аналог.
Перелом наступил с развитием кремниевой фотоники. Оказалось, что волноводы из нитрида кремния или окисла кремния можно вытравливать на тех же фабриках, где делают микросхемы. Фотонные интегральные схемы перестали быть лабораторной экзотикой и превратились в коммерческий продукт. Сейчас оптические передатчики и приёмники монтируются прямо на кристалл рядом с логикой, решая проблему узкого горла в межсоединениях. Но процессор, целиком работающий на свету, пока остаётся вызовом.
Принципиальное различие между электронным и оптическим вычислением — в логике. Электроны легко удерживаются в транзисторе, накапливаются, считываются по принципу «да-нет». Фотоны не взаимодействуют друг с другом в линейной среде. Чтобы реализовать на свету логический элемент — конъюнкцию, дизъюнкцию, отрицание, — приходится использовать нелинейные материалы, в которых свойства меняются под действием интенсивного излучения. Например, в керровской ячейке показатель преломления среды зависит от мощности проходящего света. Два слабых луча проходят независимо, но вместе вызывают интерференционную картину, которую можно считывать как результат AND или OR. Практическая сложность в том, что нелинейность в стандартном волокне слаба, а сильные нелинейные среды — например, арсенид галлия — трудно интегрировать с кремниевой технологией.
Альтернативный подход — аналоговые оптические вычисления. Здесь не требуется потактовой синхронизации и бинарной логики. Вместо этого оптическая система моделирует физический процесс, результат которого и есть ответ задачи. Система микрозеркал, дифракционных решёток и линз производит преобразование Фурье от входного массива данных за время, пока луч проходит через прибор. Это прямое аппаратное ускорение, не имеющее аналогов в электронике. Такие устройства применяются для обработки изображений и радиолокационных сигналов, где требуется спектральный анализ с гигагерцовым быстродействием.
Полноценный оптический компьютер общего назначения, способный выполнять произвольные алгоритмы, требует однородного массива перестраиваемых элементов — по сути, решётки из ячеек, каждая из которых может менять фазу, амплитуду или направление проходящего света. Перспективная технология — жидкокристаллические пространственные модуляторы света. Матрица из миллионов пикселей перепрограммируется со скоростью видеокадра, и каждый пиксель действует как вентиль, модулируя луч. Если превратить эту модуляцию в вычислительный процесс, можно получить массив, аналогичный нейронной сети, где веса связей закодированы оптическими коэффициентами пропускания.
Компания Lightmatter показала работающий прототип ускорителя, в котором веса нейросети записаны в интерферометрических ячейках на кремниевом чипе. Свет, проходя через решётку из тысяч ячеек Маха-Цендера, выполняет умножение матриц — центральную операцию нейросетей. Каждое умножение занимает одну наносекунду, и данные подаются одновременно тысячами каналов. Энергоэффективность такого перемножителя на порядок выше, чем у дискретной графики. Проблема — в квантовых ошибках и шумах. Фотонная схема даёт не абсолютную точность цифровых схем, а некоторую аппроксимацию с погрешностью. Для задач классификации, семантического анализа, преобразования изображений этого достаточно. Для банковских расчётов — нет.
Другое направление — оптические запоминающие устройства. Фотон не может храниться в покое, как электрон в конденсаторе. Для памяти нужны рециркуляционные контуры — оптические кольцевые резонаторы, в которых луч бегает по кругу, сохраняя состояние, пока не рассеется. Кольцо из волновода диаметром в десять микрон держит импульс в течение нескольких наносекунд. Сегодня этого хватает для конвейерной обработки в фотонных чипах, но не для долговременного хранения. Разработчики экспериментируют с замедлением света на холодных атомах, где групповая скорость падает до метров в секунду, удерживая сигнал в когерентном состоянии на миллисекунды. Промышленного применения пока нет.
Оптический компьютер не заменит электронный полностью в обозримом будущем. Но он станет его неотъемлемой частью. Уже сейчас оптические межсоединения связывают ядра процессора с памятью. В суперкомпьютерах фотонные переключатели управляют потоками данных между тысячами узлов. Следующий шаг — гетерогенные чипы, где электронная логика соседствует с фотонными модуляторами и детекторами на одном кристалле. Процессор решает логические задачи электронами, а для параллельных операций с массивами данных обращается к оптическому ядру.
В перспективе — полностью оптический процессор, в котором синхронизация и тактирование обеспечиваются самими фотонами, а не электрическими часами. Идея когерентного компьютера основана на синхронизации фаз лазеров: массив из сотен связанных осцилляторов решает задачу коммивояжёра или факторизации, перебирая варианты за время, ограниченное только числом мод. Это пока не универсальная машина, но для узких классов задач фотонные когерентные системы уже превосходят суперкомпьютеры.
Оптическое вычисление — это не замена транзистора чем-то лучшим, а полная перестройка парадигмы того, как мы понимаем вычисление. Здесь нет регистров и АЛУ, нет фоннеймановской архитектуры. Есть волновое поле, которое эволюционирует по законам дифракции, и задача решается всей структурой сразу, а не по шагам. Это возвращает науку к идеям аналогового компьютера, но с производительностью, недостижимой для механических или электронных аналогов. И когда мы научимся программировать такие системы, а не симулировать на них лишь простейшие преобразования, информационная технология перешагнёт в следующую эпоху.