Вычисления со скоростью света
Фотонные процессоры по производительности намного обгоняют привычную электронику.
Можно ли улучшить современные компьютеры? Вопрос на самом деле намного серьезнее, чем может показаться на первый взгляд. В середине прошлого века, когда электронные вычислительные машины только появились, их конструировали на основе электронных ламп, затем перешли на транзисторы, еще позже – на интегральные схемы, которые объединяли на одном кристалле полупроводника сотни транзисторов. Наконец в 1970-х появились микропроцессоры – сверхкомпактные интегральные схемы, включавшие в себя огромное число элементов, гораздо больше, чем раньше (миллионы и даже миллиарды, если говорить о современных микропроцессорах).
Компьютеры каждого нового поколения работали быстрее и эффективнее прежних: транзисторные работали лучше ламповых, микропроцессорные лучше транзисторных. Однако с того момента, когда изобрели микропроцессоры, в компьютерной электронике появлялось все меньше принципиальных инноваций, и прогресс шел просто по пути улучшения того, что уже придумано. И сейчас уже не за горами тот момент, когда в компьютерах улучшат абсолютно все, что можно.
Чтобы эволюция умных машин, ставших для нас такими незаменимыми, не остановилась, нам нужны кардинальные изменения в их устройстве. Самое популярное на сегодня направление разработок здесь – квантовые компьютеры. Но чем быстрее работает такой компьютер, тем сильнее у него проявляются различные физические эффекты, которые мешают вычислениям, и исследователи пока что не знают способа их преодолеть.
Кроме того, квантовые компьютеры – достаточно специфические устройства, которые не для всех задач хороши. Они идеальны там, где нужно перебрать огромное количество вариантов решения, где нужно моделировать квантовые системы (что вытекает из их природы). Но вычислить какой-нибудь квадратный корень будет быстрее и проще на обычном компьютере, а на квантовом мы затратим на это совершенно неадекватные ресурсы.
Есть ли альтернатива квантовым вычислениям? Да, и по мнению Сергея Степаненко, лауреата Государственной премии Российской Федерации и доктора физико-математических наук из Российского федерального ядерного центра – Всероссийского научно-исследовательского института экспериментальной физики (РФЯЦ-ВНИИЭФ) в Сарове, это вычисления оптические. Нужно – ни больше, ни меньше – заменить электрические токи лучами лазеров.
Логика вычислений останется прежней, что позволит использовать в фотонных вычислительных машинах все изобретения, все архитектурные решения, которые сейчас используют для машин электронных. Задачи, которые удобно решать на ФВМ (фотонные вычислительные машины) и ЭВМ – одни и те же, только на ФВМ привычные квадратные корни можно вычислять намного быстрее.
Подробное описание фотонного процессора опубликовано в журнале «Фотоника». В конце прошлого года Степаненко представил свой проект на Национальном Суперкомпьютерном Форуме в Переславле-Залесском, на котором ежегодно обсуждают самые современные отечественные разработки и самые передовые идеи, порой граничащие с фантастикой. Впрочем, фантастикой проект Степаненко уже не назовешь: в конце прошлого года его изобретение было запатентовано. Коллеги нашли разработку настолько интересной, что попросили Степаненко провести на Форуме двухдневную презентацию.
Как же работает ФВМ? На самом деле, он не целиком работает на свету – в нем есть электрические блоки, которые подготавливает программу для световой части. Высокоуровневый язык программирования переводится в машинный код – набор простых инструкций. Затем эти инструкции преобразуются в лазерные импульсы и отправляются в фотонную часть устройства, где и происходят сами вычисления. Фотоны бегут по волноводам (они могут быть из такого же оптоволокна, что доставляет интернет нам в квартиры) и попадают, наконец, в фотонный процессор.
Здесь лазерные лучи взаимодействуют друг с другом по законам обыкновенной булевой алгебры, то есть здесь выполняются знакомые всем логические операции «И», «ИЛИ», «НЕ» и т. д., но только сами логические вентили здесь не электрические, а оптические. Каждый луч, подошедший к оптическому вентилю, соответствует одному биту информации. Внутри вентиля лучи, пришедшие по различным каналам, встречаются и вступают в интерференцию. Если интерференция конструктивна, то на выходе из вентиля получается световой импульс – логическая «1», если же она деструктивна, световые волны подавляют друг друга, и темнота трактуется как «0».
После того, как лазерные лучи последовательно провзаимодействовали в различных оптических вентилях, вычислительный процесс заканчивается. Лучи покидают процессор и по оптоволокну «летят» обратно в электронную часть компьютера. Здесь оптическая информация вновь преобразуется в электрическую и становится доступна пользователю.
Идея фотонного процессора не нова, но сама схема его воплощения – новая. По словам Степаненко, главное – чтобы преобразования между светом и электричеством выполнялись как можно реже, потому что они требуют много времени и энергии. Создать фотонный процессор пытаются уже по меньшей мере 30 лет, и такие попытки очень часто терпели крах именно из-за того, что инженеры создавали электронно-оптические «гибриды», в которых «свето-электрических» преобразований за один цикл работы было слишком много. В результате новое устройство никак не могло обойти по характеристикам электронные аналоги.
Другая важная причина неудач заключается в том, что за основу логических вентилей в прошлом часто брали активные логические элементы. В отличие от пассивных, в которых состояния «0» и «1» получаются за счет оптических эффектов наподобие интерференции, в активных элементах сама среда меняет свои свойства и либо пропускает свет, либо нет. Но чтобы изменить свойства среды, нужны снова время с энергией – лишние затраты того и другого опять-таки делали ФВМ неконкурентоспособными.
Пиковая производительность фотонного процессора Степаненко для самой тяжелой операции умножения, какую приходится выполнять компьютерам, может составить до 50 петафлопсов (флопс – единица измерения производительности компьютеров, показывающая, сколько операций с плавающей запятой выполняет вычислительная система за одну секунду). Мощность такого процессора на пике составит всего 100 Вт.
Для сравнения: современные электронные процессоры той же мощности выполняют вычислений порядка всего лишь 5 терафлопсов (то есть в десять тысяч раз меньше). С другой стороны, самому «крутому» суперкомпьютеру в мире, чтобы продемонстрировать абсолютный рекорд в 93 петафлопса, необходимо аж 15 000 000 ватт мощности. При этом суперкомпьютеры содержат десятки тысяч мультиядерных электронных процессоров и занимают огромные помещения, а фотонного процессора достаточно всего одного, и пространства он собой займет всего 1000 см3 (или 1 литр).
Наконец, производительность ФВМ зависит от длины световой волны. Например, 50 петафлопсов мы получим с лазерной волной в 1530 нм. Однако если бы длина волны была в 10 раз меньше – а излучение такого порядка используют, например, в медицинской рентгенографии – производительность возросла бы сразу в 100 раз и составила бы 5 эксафлопсов. (Эксафлопс – квинтиллион вычислений в секунду; к этой отметке суперкомпьютеры пока только неспешно подбираются.)
Сразу возникает вопрос, насколько в принципе можно уменьшить длину волны. В случае лазера на 10 нм вычисления придется проводить разве что в вакууме: материалов, по которым могло бы передаваться излучение с такой длиной волны, в природе не известно. Излучение с длиной волны 0,1 нм возникает лишь при взрыве сверхновых. Кажется, что использование таких лучей в компьютерах – это точно что-то из области фантастики, но, как верно замечает Степаненко, не будем забывать, что 100 лет назад никто не помышлял и о мобильных телефонах.
Впрочем, излишне фантазировать пока и не требуется. Во-первых, если создать фотонный процессор мощностью такого же порядка, что и современные суперкомпьютеры, его производительность «перепрыгнет» далеко за эксафлопсы. Во-вторых, лучи с разными длинами волн не взаимодействуют, то есть если использовать несколько лазеров, то в одном фотонном процессоре можно будет параллельно выполнять несколько вычислительных процессов, и они не будут друг другу мешать.
В прошлом Степаненко много работал с мультипроцессорными системами, налаживая в них алгоритмы обмена, и даже написал про них монографию. Накопленный опыт помог продумать и новые маршруты передачи данных, которые позволяют обрабатывать информацию «на лету», делая ненужной традиционную оперативную память.
Конечно, пока это лишь проект, и чтобы построить фотонный компьютер, нужно преодолеть серьезные технические трудности. Важно, однако, что ничего физически запрещенного здесь нет.
3 апреля 2018
Статьи по теме: