Выпуск #7/2017
С.А.Степаненко
Фотонный компьютер: структура и алгоритмы, оценки параметров
Фотонный компьютер: структура и алгоритмы, оценки параметров
Просмотры: 8244
В статье предложены структура и принципы реализации фотонного компьютера. В основе его функционирования – эффекты взаимодействия когерентных систем световых волн, порождаемых лазерным источником. Получены оценки значений производительности, потребляемой энергии, физических размеров; эти оценки показывают возможные преимущества фотонного компьютера по сравнению с электронным компьютером.
DOI: 10.22184/1993-7296.2017.67.7.72.83
DOI: 10.22184/1993-7296.2017.67.7.72.83
Теги: computer technology optical logic elements photon computer photon processor вычислительная техника оптические логические элементы фотонный компьютер фотонный процессор
ВВЕДЕНИЕ
Для решения постоянно возникающих актуальных задач требуются вычислительные машины с максимальной производительностью. Она измеряется количеством операций, выполняемых в единицу времени.
Современные вычислительные машины содержат квадриллионы электронных транзисторов размером не более 14 нм, выполняют ~1017 оп/с, потребляют десятки МВт, занимают тысячи м2.
Дальнейшее уменьшение размеров транзисторов для наращивания производительности приводит к тому, что взаимодействие между ними будет сопровождаться квантовыми эффектами. Вычислительные машины на основе таких эффектов называются квантовыми компьютерами. Они исследуются последние 30 лет, перспективы их реализации пока неопределенны [1].
Поэтому актуальна предлагаемая ниже вычислительная машина, в основе функционирования которой – эффекты взаимодействия когерентных систем световых волн, порождаемых лазерным излучением [2]. Носителями излучения являются фотоны, отсюда название – фотонный компьютер.
Фотонный компьютер, в отличие от аналогов [3, 4], оперирует только световым представлением информации. Это позволяет получить, как будет показано, значения производительности и энергоэффективности лучше достигаемых применением электронных технологий. Предложенная статья является расширенным вариантом публикации [5].
АЛГОРИТМ ФУНКЦИОНИРОВАНИЯ И СТРУКТУРА ФОТОННОГО КОМПЬЮТЕРА
Записанная на языке высокого уровня программа транслируется электронной вычислительной машиной (ЭВМ) в электронную форму программы фотонного компьютера, которая затем преобразуется в световую форму и выполняется фотонным процессором. По окончании вычислений результат преобразуется устройством сопряжения в электронную форму и поступает в ЭВМ.
Структура фотонного компьютера представлена на рис.1. Выполнение вычислительного процесса начинается пусковым воздействием устройства 1, передаваемым по каналу 2 в источник 3 лазерного излучения. Генерируемое источником 3 излучение по оптическому каналу 4 поступает в устройство 5 ввода/вывода, где делится на световые лучи, количество которых равно количеству бит (разрядов), одновременно вводимых по оптическим каналам 6 в процессорные элементы (ПЭ) 7, объединенные каналами 8 в фотонный процессор 9. Далее в результате взаимодействия этих лучей в устройстве 5 с электронным представлением исходной информации, вводимым по электронному каналу 10 из устройства 1 (в качестве которого можно применять ЭВМ), получается световая форма программы, поступающая по каналам 6 на выполнение в ПЭ 7. Они содержат арифметико-логические устройства (АЛУ), коммутаторы (КМ) и устройства управления (УУ), объединенные оптическими каналами 11. Вычислительный процесс является последовательностью взаимодействий световых лучей в пассивных оптических логических элементах (ОЛЭ) [6, 7, 8], из которых реализованы ПЭ 7. Функции ОЛЭ идентичны функциям электронных логических элементов [9]. Это позволяет задействовать в фотонном компьютере архитектурные реализации АЛУ, КМ и УУ, известные из электронной вычислительной техники; для синхронизации возможно использование оптических линий задержки.
Процессорные элементы в фотонном процессоре соединены каналами 8 в мультипроцессорную среду, имеющую любую известную топологию, например 3D-тор, Гn-гиперкуб и др. [10].
Общее количество выполняемых операций определяется либо бюджетом мощности [11], либо длиной когерентности [12].
После исчерпания бюджета мощности осуществляется регенерация информации. После достижения длины когерентности информация возвращается по каналам 6 в устройство 5, где преобразуется в электронную форму и затем вновь в световую когерентную форму, передаваемую в ПЭ.
ПРИНЦИПЫ ВЫПОЛНЕНИЯ ВЫЧИСЛЕНИЙ
Информация в световой форме постоянно перемещается в пространстве. Чтобы исключить ее задержки и потери мощности, необходимо:
• выполнять операции по готовности операндов без обращения в память согласно дисциплине управления от потока данных (data flow) [9];
• обрабатывать информацию по бесконфликтным маршрутам [10], задействуя в определенный, заранее известный интервал времени только свободные процессорные элементы и каналы.
Вычисляемое выражение представляется польской инверсной записью [9], на основе которой строится ярусно-параллельная форма (ЯПФ) алгоритма [13]; вершины одного яруса ЯПФ соответствуют командам, выполняемым независимо (параллельно) в течение одного и того же интервала t.
Из ЯПФ алгоритма получается процессорный граф. Его вершины соответствуют ПЭ, выполняющим операции в интервалы времени t. Они соединены ребрами, принадлежащими бесконфликтным маршрутам из каналов 8. По этим каналам ПЭ обмениваются идентификаторами – кодами операций, операндами и синхронизирующими символами, которые обозначаются Ш. Для выполнения операций назначаются ПЭ, свободные в интервал t от других заданий; эти ПЭ определяются при подготовке программы в устройстве 1 на основе количества ПЭ, топологии их соединения, принадлежности к бесконфликтным маршрутам.
Программа получается из процессорного графа заменой вершин командами фотонного компьютера.
В процессе вычислений каждый идентификатор сопровождается текущим значением t = 0, 1, …, m, где m – глубина ЯПФ алгоритма [13]. Значение t увеличивается на единицу при каждом "прохождении" ПЭ.
Процессорные элементы, не задействованные в выполнении команд программы, в каждом интервале принимают и передают символ Ш и значения t (увеличивая t на единицу).
Процессорный элемент выполняет операцию лишь тогда, когда по всем его каналам 8 получена информация с одинаковым, очередным значением t.
ПРИМЕР ВЫЧИСЛИТЕЛЬНОГО ПРОЦЕССА
Построим процессорный граф для вычисления значения выражения A = a + ( b + c ) · d фотонным компьютером, ПЭ которого объединены в Г3 – трехмерный гиперкуб [10], показанный на рис.2. Номера обозначений на рис.1 и на рис.2 совпадают.
Каждая вершина Г3 означает процессорный элемент, которому соответствует вектор , где , i = 1, 2, 3.
Ребра, соединяющие вершины Г3, соответствуют каналам 8, они помечены 81, 82, 83.
Кроме того, ПЭ соединены с устройством 5 каналами 61, 62, 63, внешними для Г3. На рис.2 каналы 61, 62, 63 показаны только для ПЭ в вершине (0,0,1).
Для Г3 и длины маршрута три имеем [10] четыре бесконфликтных множества ((000),(111)), ((001),(110)), ((010),(101)) и ((100),(011)). Их вершины и соединяющие эти вершины бесконфликтные маршруты помечены на рис.2 цветами – черным, зеленым, красным и синим соответственно. Направления передачи показаны стрелками.
В табл.1 и 2 для элементов (0, 0, 0) и (0, 0, 1) приведены векторы , соответствующие процессорным элементам, от которых по каналам 81, 82, 83 в интервалы t = 0, 1, …, 6 по бесконфликтным маршрутам поступает информация.
ЯПФ алгоритма для выражения A = a + ( b + c ) · d в записи A a b c + d Ч + := представлена на рис.3, процессорный граф – на рис.4. Он состоит из вершин, соответствующих процессорным элементам (σ3, σ2, σ1) в интервалы времени t и обозначаемых (σ3, σ2, σ1)t. Вершины соединены ребрами из каналов 8, принадлежащими бесконфликтным маршрутам.
Идентификаторы загружаются соответственно в вершины (0, 0, 1)0– идентификатор операции {Ч} и значения "b" и "d", в (0, 1, 0)0 – значения "A", "a" и "c", в (1, 0, 0)0 – идентификаторы операции {+}, {+} и {:=}. Перечисленные символы поступают из устройства 5 по каналам 6, как показано на рис.4. В остальные элементы поступают символы Ш.
Показанный, в частности, на рис.4 маршрут идентификатора A в интервалы t = 0, 1, 2, 3, 4 состоит из вершин (0, 1, 0)0, (1, 1, 0)1, (0, 1, 0)2, (0, 1, 1)3, (0, 0, 1)4. Маршруты символов Ш показаны частично пунктирными линиями.
Заменяя вершины графа командами, получаем программу для фотонного компьютера. Программа состоит из команд, предписывающих действия, выполняемые в каждый интервал t каждым ПЭ по каждому каналу.
Различаем три фазы выполнения команды:
• фаза ϕ = 1; прием информации из каналов в ПЭ;
• фаза ϕ =2; выполнение ПЭ действий, предписываемых кодом операции;
• фаза ϕ =3; передачи информации из ПЭ приемникам в других ПЭ.
В таблице 3 приведена программа фотонного процессора с топологией Г3, полученная из процессорного графа, представленного на рис.4. В каждом столбце (σ3, σ2, σ1) при ϕ = 1 запись означает, что в интервал t = z идентификатор х принимается по каналу 8i ПЭ (σ3, σ2, σ1); ϕ = 2 указывает на выполнение операции данным ПЭ в течение интервала t = z (прочерк означает отсутствие операции); при ϕ = 3 запись означает, что в интервал z идентификатор х передается по каналу 8i ПЭ (σ3, σ2, σ1); цвет черты в записи совпадает с цветом маршрута, по которому принимается или передается информация.
Подробности трансляции программ, записанных на языках высокого уровня, и особенности получения "машинного" представления этих программ здесь несущественны. Могут быть использованы все известные средства, позволяющие оптимизировать трансляцию и порождаемый в результате ее выполнения машинный код.
ОСОБЕННОСТИ РЕАЛИЗАЦИИ ФОТОННОГО ПРОЦЕССОРА
Топологии связей фотонного процессора
Фотонный процессор представляет собой мультипроцессорную среду, состоящую из ПЭ, соединенных каналами связи.
Можно задействовать любую известную [10] топологию связей – 1D тор, 2D тор, 3D тор, Hm, Гn-гиперкуб, N-полный матричный коммутатор, S-звезда, F-полносвязное дерево, реализованное из q-портовых коммутаторов. Критериями выбора являются указанные в табл.4 значения величины Dk – количество маршрутов между двумя ПЭ, находящимися на расстоянии k (измеряемым минимальным количеством ребер между ними), а также указанные в табл. 5 значения C и G – мощности и количества бесконфликтных множеств, которые оцениваются относительно диаметра среды – минимального значения k, достаточного для соединения любых двух элементов среды, содержащей ω ПЭ. Значения Dk, C и G получены в [10]. Они определяют коммуникационные возможности среды и, следовательно, параметры процессорных графов и программ.
Самой "примитивной" является среда 1D тор. Наилучшие значения C и G имеют наиболее сложные в аппаратной реализации среды N и S. Приемлемые на практике значения аппаратной сложности имеют среды с топологией F и Гn. Эти среды характеризуются близкими значениями Dk, C и G.
Среда Гn имеет удобный аппарат построения бесконфликтных маршрутов и формальное описание булевыми функциями, для нее предложены средства топологического резервирования, позволяющие автоматически замещать отказавшие ПЭ с полным сохранением топологии среды и вычислительного процесса [10].
Взаимодействие с внешней средой
Обмен фотонного процессора с внешней средой должен занимать как можно меньше времени. Это достигается, если каждому ПЭ фотонного процессора предоставить доступ к внешней среде, например, назначить электронный процессор, который реализует функции хранения и обмена информацией.
Электронные процессоры, соответствующие элементам фотонного процессора, можно объединить каналами связи в мультипроцессорную среду, в частности имеющую ту же топологию, что и фотонный процессор. Это позволяет задействовать одинаковое описание электронной и фотонной компонент фотонного компьютера.
Элементная база фотонного процессора
Элементная база – функционально полный набор ОЛЭ, позволяющий выполнять любые арифметические и логические операции. Таким набором (неединственным) являются элементы, реализующие три логические функции "И", "ИЛИ", "НЕ" [9].
Эти элементы могут быть реализованы применением различных эффектов, например интерференционных [6], нелинейных [7] и др. [8]. Они пассивны, не требуют дополнительной энергии накачки. Все операции осуществляются лишь со световой формой представления информации. Длительность выполнения операции определяется длительностью распространения света в ОЛЭ.
ОЦЕНКИ ПАРАМЕТРОВ
Полагаем, что в фотонном компьютере на рис.2 задействован источник лазерного излучения мощностью PΣ = 100 Вт и длиной волны λ = 1 530 нм; мощность излучения, поступающего во входные волноводы ПЭ, составляет P1 = 1 мВт, минимальная оптическая мощность на входе ОЛЭ, основанном на эффекте интерференции [6], составляет 100 нВт [11].
Бюджет оптической мощности ПЭ составит b · 40 дБ, где b = PΣ / 8 · P1 ≈ 104 шт. – количество входных ОЛЭ в каждом ПЭ.
Эффективность ввода излучения в волновод принимаем 90% [14]. Полагаем, что потери в ОЛЭ и в волноводах совпадают и равны Δ = 0,1–1,0 дБ/см [14]. Суммарная длина волноводов ОЛЭ одного ПЭ не превышает L = b · (0,35–3,5) м.
Полагая длину волновода ОЛЭ D = 50 λ = 75 · 10–6 м, диаметр входного волновода ОЛЭ из [6] h = 7,5 · 10–6 м, находим [12] расстояние между входами ОЛЭ l = 7,5 · 10–6 м.
В одном ПЭ можно разместить ρ = L / D = 4,7 · 107–4,7 · 108 шт. ОЛЭ.
Необходимое количество ОЛЭ в n = 64 разрядном умножителе согласно [9] не превышает (23 n2 + 5 n – 58) ≈ 105 шт.
Аппаратно УУ не сложнее АЛУ [9], следовательно, ρ = L / D = 4,7 · 107 – 4,7 · 108 штук ОЛЭ достаточно для реализации ПЭ, содержащего 230–2 300 АЛУ. Известно [9], длительность выполнения операции умножения n-разрядных чисел составляет t* ≈ 41,5 · n · τ, где τ – длительность срабатывания элемента, здесь τ = D / υ – длительность задержки в одном ОЛЭ, υ = 2 · 108 м/с – скорость света в волноводе. Для n = 64 производительность АЛУ составит π = 109оп/с, производительность ПЭ π* = 2,3 · 1011–2,3·1012 оп/с, производительность всего фотонного компьютера πΣ = 8 · π* ≈ 2 · 1012–2 · 1013 оп/с.
Применяя архитектурные средства для оптимизации структуры АЛУ и ПЭ [9], можно получать результат операции каждый интервал τ и достигнуть пиковой производительности фотонного компьютера . Для λ = 1 530 нм и D = 50 λ имеем ≈ 5 · 1015 – 5 · 1016 оп/с.
Значения πΣ и для различных λ при PΣ = 100 Вт сведены в табл. 6.
Для ОЛЭ из [6] уменьшение значения D в z раз (например в результате уменьшения λ) увеличивает производительность процессора в z2 раз (при неизменном бюджете мощности и равных потерях).
Оценки производительности и энергоэффективности / PΣ рассмотренного фотонного компьютера в 103–104 раз при λ = 1 530 нм, D = 50 λ и Δ = 0,1–1,0 дБ/см превосходят достигаемые современными ЭВМ [15].
Для размещения ПЭ потребуется кремниевая подложка длиной не более D ·4,7 · 108 = 352 · 102 м и шириной s ≈ 100 мкм (очевидно, s > h и s > 2 l). Площадь ПЭ составляет 35 · 10–1 м2. При толщине подложки 100 мкм, объем восьми ПЭ составит V = 0,28 · 10–3м3.
Это приемлемый размер конструктивного элемента, позволяющий отвести 100 Вт тепла посредством обычного воздушного охлаждения.
ЗАКЛЮЧЕНИЕ
Эффективность обработки информации в световой форме достигается совместным применением в фотонном компьютере:
• пассивных оптических логических элементов;
• дисциплины вычислений по готовности операндов;
• бесконфликтных алгоритмов обработки информации процессорными элементами, соединенными в мультипроцессорную среду.
Классы задач, решаемых фотонными и электронными вычислительными машинами, совпадают.
Выполненный анализ и полученные оценки демонстрируют возможность достижения фотонным компьютером, задействующим излучение с длиной волны 1530 нм, пиковой производительности в 103–104 раз превышающей достигаемую современными электронными вычислительными устройствами при равных энергетических затратах.
Применение технологий, обеспечивающих задействование в фотонном компьютере ультрафиолетового излучения с длиной волны 100 нм позволяет фотонному компьютеру достигнуть экзафлопсной производительности (1018 оп/с) на 100 Вт потребляемой мощности.
Излучения с различными длинами волн не взаимодействуют между собой. При надлежащей реализации ОЛЭ в одном фотонном компьютере могут одновременно выполняться несколько вычислительных процессов, представленных световыми волнами различной длины.
ЛИТЕРАТУРА
1. Binkley S. Quantum Computing. ASCAC DOE US. April 5, 2016 [Электронный ресурс]. Режим доступа: https://science.energy.gov/~/media/ascr/ascac/pdf/meetings/201604/2016–0405-ascac-quantum‑02.pdf.
2. Тарасов Л.В. Физика лазера. Изд. 2-е, испр. и доп. – М.: Книжный дом "ЛИБРОКОМ", 2010.
3. Белов П.А., Беспалов В.Г., Васильев В.Н., и др. Оптические процессоры: достижения и новые идеи [Электронный ресурс]. Режим доступа: http://pandia.ru/77/192/21190.php.
4. Russel John. Hight-enabled Microprocessor Holds Promise for Faster Computers. February 23, 2016 [Электронный ресурс]. Режим доступа: http://www/hpcwire.com/2016/02/23/25120/.
5. Степаненко С.А. Фотонная вычислительная машина. Принципы реализации. Оценки параметров. – Доклады Академии наук, 2017, т. 476, № 4, с. 389–394.
6. Патент РФ 20751061 от 10.03.1997. Оптический логический элемент/ Полуэктов А. О.
7. Kumar A. Implementation of all-optical NAND logic gate and halfadder using the micro-ring resonator structures. – Optical and Quantum Electronics, October 2016.
8. Кузнецова О.В., Сперанский В.С. Решение задач обработки оптических сигналов без оптоэлектронного преобразования. –Т-Comm, 8–2012, c.35–39.
9. Цилькер Б.Я., Орлов С.А. Организация ЭВМ и систем. – С-Пб.: Изд-во "ПИТЕР", 2015.
10. Степаненко С.А. Мультипроцессорные среды супер ЭВМ. Масштабирование эффективности. – М.: Физматлит, 2016.
11. Вербовецкий А.А. Основы проектирования оптоэлектронных систем связи. – М.: Радио и связь, 2000.
12. Яворский Б.М., Детлаф А.А., Лебедев А.К. Справочник по физике для инженеров и студентов вузов. – М.: ООО "Издательство Оникс": ООО "Издательство "Мир и Образование" 2008.
13. Воеводин В.В. Математические модели и методы в параллельных процессах. – М.: Наука. Гл.ред. физ.-мат.лит., 1986.
14. Никаноров Н.В., Шандаров С.М. Волноводная фотоника. – С-Пб.: Изд-во ИТМО, 2008.
15. T.P. Morgan. Nvidia Rounds Out Pascal Tesla Accelerator Lineup. June 20, 2016 [Электронный ресурс]. Режим доступа: http://www.nextplatform.com/2016/06/20/nvidia-rounds-pascal-tesla-accelerator-lineup.
Для решения постоянно возникающих актуальных задач требуются вычислительные машины с максимальной производительностью. Она измеряется количеством операций, выполняемых в единицу времени.
Современные вычислительные машины содержат квадриллионы электронных транзисторов размером не более 14 нм, выполняют ~1017 оп/с, потребляют десятки МВт, занимают тысячи м2.
Дальнейшее уменьшение размеров транзисторов для наращивания производительности приводит к тому, что взаимодействие между ними будет сопровождаться квантовыми эффектами. Вычислительные машины на основе таких эффектов называются квантовыми компьютерами. Они исследуются последние 30 лет, перспективы их реализации пока неопределенны [1].
Поэтому актуальна предлагаемая ниже вычислительная машина, в основе функционирования которой – эффекты взаимодействия когерентных систем световых волн, порождаемых лазерным излучением [2]. Носителями излучения являются фотоны, отсюда название – фотонный компьютер.
Фотонный компьютер, в отличие от аналогов [3, 4], оперирует только световым представлением информации. Это позволяет получить, как будет показано, значения производительности и энергоэффективности лучше достигаемых применением электронных технологий. Предложенная статья является расширенным вариантом публикации [5].
АЛГОРИТМ ФУНКЦИОНИРОВАНИЯ И СТРУКТУРА ФОТОННОГО КОМПЬЮТЕРА
Записанная на языке высокого уровня программа транслируется электронной вычислительной машиной (ЭВМ) в электронную форму программы фотонного компьютера, которая затем преобразуется в световую форму и выполняется фотонным процессором. По окончании вычислений результат преобразуется устройством сопряжения в электронную форму и поступает в ЭВМ.
Структура фотонного компьютера представлена на рис.1. Выполнение вычислительного процесса начинается пусковым воздействием устройства 1, передаваемым по каналу 2 в источник 3 лазерного излучения. Генерируемое источником 3 излучение по оптическому каналу 4 поступает в устройство 5 ввода/вывода, где делится на световые лучи, количество которых равно количеству бит (разрядов), одновременно вводимых по оптическим каналам 6 в процессорные элементы (ПЭ) 7, объединенные каналами 8 в фотонный процессор 9. Далее в результате взаимодействия этих лучей в устройстве 5 с электронным представлением исходной информации, вводимым по электронному каналу 10 из устройства 1 (в качестве которого можно применять ЭВМ), получается световая форма программы, поступающая по каналам 6 на выполнение в ПЭ 7. Они содержат арифметико-логические устройства (АЛУ), коммутаторы (КМ) и устройства управления (УУ), объединенные оптическими каналами 11. Вычислительный процесс является последовательностью взаимодействий световых лучей в пассивных оптических логических элементах (ОЛЭ) [6, 7, 8], из которых реализованы ПЭ 7. Функции ОЛЭ идентичны функциям электронных логических элементов [9]. Это позволяет задействовать в фотонном компьютере архитектурные реализации АЛУ, КМ и УУ, известные из электронной вычислительной техники; для синхронизации возможно использование оптических линий задержки.
Процессорные элементы в фотонном процессоре соединены каналами 8 в мультипроцессорную среду, имеющую любую известную топологию, например 3D-тор, Гn-гиперкуб и др. [10].
Общее количество выполняемых операций определяется либо бюджетом мощности [11], либо длиной когерентности [12].
После исчерпания бюджета мощности осуществляется регенерация информации. После достижения длины когерентности информация возвращается по каналам 6 в устройство 5, где преобразуется в электронную форму и затем вновь в световую когерентную форму, передаваемую в ПЭ.
ПРИНЦИПЫ ВЫПОЛНЕНИЯ ВЫЧИСЛЕНИЙ
Информация в световой форме постоянно перемещается в пространстве. Чтобы исключить ее задержки и потери мощности, необходимо:
• выполнять операции по готовности операндов без обращения в память согласно дисциплине управления от потока данных (data flow) [9];
• обрабатывать информацию по бесконфликтным маршрутам [10], задействуя в определенный, заранее известный интервал времени только свободные процессорные элементы и каналы.
Вычисляемое выражение представляется польской инверсной записью [9], на основе которой строится ярусно-параллельная форма (ЯПФ) алгоритма [13]; вершины одного яруса ЯПФ соответствуют командам, выполняемым независимо (параллельно) в течение одного и того же интервала t.
Из ЯПФ алгоритма получается процессорный граф. Его вершины соответствуют ПЭ, выполняющим операции в интервалы времени t. Они соединены ребрами, принадлежащими бесконфликтным маршрутам из каналов 8. По этим каналам ПЭ обмениваются идентификаторами – кодами операций, операндами и синхронизирующими символами, которые обозначаются Ш. Для выполнения операций назначаются ПЭ, свободные в интервал t от других заданий; эти ПЭ определяются при подготовке программы в устройстве 1 на основе количества ПЭ, топологии их соединения, принадлежности к бесконфликтным маршрутам.
Программа получается из процессорного графа заменой вершин командами фотонного компьютера.
В процессе вычислений каждый идентификатор сопровождается текущим значением t = 0, 1, …, m, где m – глубина ЯПФ алгоритма [13]. Значение t увеличивается на единицу при каждом "прохождении" ПЭ.
Процессорные элементы, не задействованные в выполнении команд программы, в каждом интервале принимают и передают символ Ш и значения t (увеличивая t на единицу).
Процессорный элемент выполняет операцию лишь тогда, когда по всем его каналам 8 получена информация с одинаковым, очередным значением t.
ПРИМЕР ВЫЧИСЛИТЕЛЬНОГО ПРОЦЕССА
Построим процессорный граф для вычисления значения выражения A = a + ( b + c ) · d фотонным компьютером, ПЭ которого объединены в Г3 – трехмерный гиперкуб [10], показанный на рис.2. Номера обозначений на рис.1 и на рис.2 совпадают.
Каждая вершина Г3 означает процессорный элемент, которому соответствует вектор , где , i = 1, 2, 3.
Ребра, соединяющие вершины Г3, соответствуют каналам 8, они помечены 81, 82, 83.
Кроме того, ПЭ соединены с устройством 5 каналами 61, 62, 63, внешними для Г3. На рис.2 каналы 61, 62, 63 показаны только для ПЭ в вершине (0,0,1).
Для Г3 и длины маршрута три имеем [10] четыре бесконфликтных множества ((000),(111)), ((001),(110)), ((010),(101)) и ((100),(011)). Их вершины и соединяющие эти вершины бесконфликтные маршруты помечены на рис.2 цветами – черным, зеленым, красным и синим соответственно. Направления передачи показаны стрелками.
В табл.1 и 2 для элементов (0, 0, 0) и (0, 0, 1) приведены векторы , соответствующие процессорным элементам, от которых по каналам 81, 82, 83 в интервалы t = 0, 1, …, 6 по бесконфликтным маршрутам поступает информация.
ЯПФ алгоритма для выражения A = a + ( b + c ) · d в записи A a b c + d Ч + := представлена на рис.3, процессорный граф – на рис.4. Он состоит из вершин, соответствующих процессорным элементам (σ3, σ2, σ1) в интервалы времени t и обозначаемых (σ3, σ2, σ1)t. Вершины соединены ребрами из каналов 8, принадлежащими бесконфликтным маршрутам.
Идентификаторы загружаются соответственно в вершины (0, 0, 1)0– идентификатор операции {Ч} и значения "b" и "d", в (0, 1, 0)0 – значения "A", "a" и "c", в (1, 0, 0)0 – идентификаторы операции {+}, {+} и {:=}. Перечисленные символы поступают из устройства 5 по каналам 6, как показано на рис.4. В остальные элементы поступают символы Ш.
Показанный, в частности, на рис.4 маршрут идентификатора A в интервалы t = 0, 1, 2, 3, 4 состоит из вершин (0, 1, 0)0, (1, 1, 0)1, (0, 1, 0)2, (0, 1, 1)3, (0, 0, 1)4. Маршруты символов Ш показаны частично пунктирными линиями.
Заменяя вершины графа командами, получаем программу для фотонного компьютера. Программа состоит из команд, предписывающих действия, выполняемые в каждый интервал t каждым ПЭ по каждому каналу.
Различаем три фазы выполнения команды:
• фаза ϕ = 1; прием информации из каналов в ПЭ;
• фаза ϕ =2; выполнение ПЭ действий, предписываемых кодом операции;
• фаза ϕ =3; передачи информации из ПЭ приемникам в других ПЭ.
В таблице 3 приведена программа фотонного процессора с топологией Г3, полученная из процессорного графа, представленного на рис.4. В каждом столбце (σ3, σ2, σ1) при ϕ = 1 запись означает, что в интервал t = z идентификатор х принимается по каналу 8i ПЭ (σ3, σ2, σ1); ϕ = 2 указывает на выполнение операции данным ПЭ в течение интервала t = z (прочерк означает отсутствие операции); при ϕ = 3 запись означает, что в интервал z идентификатор х передается по каналу 8i ПЭ (σ3, σ2, σ1); цвет черты в записи совпадает с цветом маршрута, по которому принимается или передается информация.
Подробности трансляции программ, записанных на языках высокого уровня, и особенности получения "машинного" представления этих программ здесь несущественны. Могут быть использованы все известные средства, позволяющие оптимизировать трансляцию и порождаемый в результате ее выполнения машинный код.
ОСОБЕННОСТИ РЕАЛИЗАЦИИ ФОТОННОГО ПРОЦЕССОРА
Топологии связей фотонного процессора
Фотонный процессор представляет собой мультипроцессорную среду, состоящую из ПЭ, соединенных каналами связи.
Можно задействовать любую известную [10] топологию связей – 1D тор, 2D тор, 3D тор, Hm, Гn-гиперкуб, N-полный матричный коммутатор, S-звезда, F-полносвязное дерево, реализованное из q-портовых коммутаторов. Критериями выбора являются указанные в табл.4 значения величины Dk – количество маршрутов между двумя ПЭ, находящимися на расстоянии k (измеряемым минимальным количеством ребер между ними), а также указанные в табл. 5 значения C и G – мощности и количества бесконфликтных множеств, которые оцениваются относительно диаметра среды – минимального значения k, достаточного для соединения любых двух элементов среды, содержащей ω ПЭ. Значения Dk, C и G получены в [10]. Они определяют коммуникационные возможности среды и, следовательно, параметры процессорных графов и программ.
Самой "примитивной" является среда 1D тор. Наилучшие значения C и G имеют наиболее сложные в аппаратной реализации среды N и S. Приемлемые на практике значения аппаратной сложности имеют среды с топологией F и Гn. Эти среды характеризуются близкими значениями Dk, C и G.
Среда Гn имеет удобный аппарат построения бесконфликтных маршрутов и формальное описание булевыми функциями, для нее предложены средства топологического резервирования, позволяющие автоматически замещать отказавшие ПЭ с полным сохранением топологии среды и вычислительного процесса [10].
Взаимодействие с внешней средой
Обмен фотонного процессора с внешней средой должен занимать как можно меньше времени. Это достигается, если каждому ПЭ фотонного процессора предоставить доступ к внешней среде, например, назначить электронный процессор, который реализует функции хранения и обмена информацией.
Электронные процессоры, соответствующие элементам фотонного процессора, можно объединить каналами связи в мультипроцессорную среду, в частности имеющую ту же топологию, что и фотонный процессор. Это позволяет задействовать одинаковое описание электронной и фотонной компонент фотонного компьютера.
Элементная база фотонного процессора
Элементная база – функционально полный набор ОЛЭ, позволяющий выполнять любые арифметические и логические операции. Таким набором (неединственным) являются элементы, реализующие три логические функции "И", "ИЛИ", "НЕ" [9].
Эти элементы могут быть реализованы применением различных эффектов, например интерференционных [6], нелинейных [7] и др. [8]. Они пассивны, не требуют дополнительной энергии накачки. Все операции осуществляются лишь со световой формой представления информации. Длительность выполнения операции определяется длительностью распространения света в ОЛЭ.
ОЦЕНКИ ПАРАМЕТРОВ
Полагаем, что в фотонном компьютере на рис.2 задействован источник лазерного излучения мощностью PΣ = 100 Вт и длиной волны λ = 1 530 нм; мощность излучения, поступающего во входные волноводы ПЭ, составляет P1 = 1 мВт, минимальная оптическая мощность на входе ОЛЭ, основанном на эффекте интерференции [6], составляет 100 нВт [11].
Бюджет оптической мощности ПЭ составит b · 40 дБ, где b = PΣ / 8 · P1 ≈ 104 шт. – количество входных ОЛЭ в каждом ПЭ.
Эффективность ввода излучения в волновод принимаем 90% [14]. Полагаем, что потери в ОЛЭ и в волноводах совпадают и равны Δ = 0,1–1,0 дБ/см [14]. Суммарная длина волноводов ОЛЭ одного ПЭ не превышает L = b · (0,35–3,5) м.
Полагая длину волновода ОЛЭ D = 50 λ = 75 · 10–6 м, диаметр входного волновода ОЛЭ из [6] h = 7,5 · 10–6 м, находим [12] расстояние между входами ОЛЭ l = 7,5 · 10–6 м.
В одном ПЭ можно разместить ρ = L / D = 4,7 · 107–4,7 · 108 шт. ОЛЭ.
Необходимое количество ОЛЭ в n = 64 разрядном умножителе согласно [9] не превышает (23 n2 + 5 n – 58) ≈ 105 шт.
Аппаратно УУ не сложнее АЛУ [9], следовательно, ρ = L / D = 4,7 · 107 – 4,7 · 108 штук ОЛЭ достаточно для реализации ПЭ, содержащего 230–2 300 АЛУ. Известно [9], длительность выполнения операции умножения n-разрядных чисел составляет t* ≈ 41,5 · n · τ, где τ – длительность срабатывания элемента, здесь τ = D / υ – длительность задержки в одном ОЛЭ, υ = 2 · 108 м/с – скорость света в волноводе. Для n = 64 производительность АЛУ составит π = 109оп/с, производительность ПЭ π* = 2,3 · 1011–2,3·1012 оп/с, производительность всего фотонного компьютера πΣ = 8 · π* ≈ 2 · 1012–2 · 1013 оп/с.
Применяя архитектурные средства для оптимизации структуры АЛУ и ПЭ [9], можно получать результат операции каждый интервал τ и достигнуть пиковой производительности фотонного компьютера . Для λ = 1 530 нм и D = 50 λ имеем ≈ 5 · 1015 – 5 · 1016 оп/с.
Значения πΣ и для различных λ при PΣ = 100 Вт сведены в табл. 6.
Для ОЛЭ из [6] уменьшение значения D в z раз (например в результате уменьшения λ) увеличивает производительность процессора в z2 раз (при неизменном бюджете мощности и равных потерях).
Оценки производительности и энергоэффективности / PΣ рассмотренного фотонного компьютера в 103–104 раз при λ = 1 530 нм, D = 50 λ и Δ = 0,1–1,0 дБ/см превосходят достигаемые современными ЭВМ [15].
Для размещения ПЭ потребуется кремниевая подложка длиной не более D ·4,7 · 108 = 352 · 102 м и шириной s ≈ 100 мкм (очевидно, s > h и s > 2 l). Площадь ПЭ составляет 35 · 10–1 м2. При толщине подложки 100 мкм, объем восьми ПЭ составит V = 0,28 · 10–3м3.
Это приемлемый размер конструктивного элемента, позволяющий отвести 100 Вт тепла посредством обычного воздушного охлаждения.
ЗАКЛЮЧЕНИЕ
Эффективность обработки информации в световой форме достигается совместным применением в фотонном компьютере:
• пассивных оптических логических элементов;
• дисциплины вычислений по готовности операндов;
• бесконфликтных алгоритмов обработки информации процессорными элементами, соединенными в мультипроцессорную среду.
Классы задач, решаемых фотонными и электронными вычислительными машинами, совпадают.
Выполненный анализ и полученные оценки демонстрируют возможность достижения фотонным компьютером, задействующим излучение с длиной волны 1530 нм, пиковой производительности в 103–104 раз превышающей достигаемую современными электронными вычислительными устройствами при равных энергетических затратах.
Применение технологий, обеспечивающих задействование в фотонном компьютере ультрафиолетового излучения с длиной волны 100 нм позволяет фотонному компьютеру достигнуть экзафлопсной производительности (1018 оп/с) на 100 Вт потребляемой мощности.
Излучения с различными длинами волн не взаимодействуют между собой. При надлежащей реализации ОЛЭ в одном фотонном компьютере могут одновременно выполняться несколько вычислительных процессов, представленных световыми волнами различной длины.
ЛИТЕРАТУРА
1. Binkley S. Quantum Computing. ASCAC DOE US. April 5, 2016 [Электронный ресурс]. Режим доступа: https://science.energy.gov/~/media/ascr/ascac/pdf/meetings/201604/2016–0405-ascac-quantum‑02.pdf.
2. Тарасов Л.В. Физика лазера. Изд. 2-е, испр. и доп. – М.: Книжный дом "ЛИБРОКОМ", 2010.
3. Белов П.А., Беспалов В.Г., Васильев В.Н., и др. Оптические процессоры: достижения и новые идеи [Электронный ресурс]. Режим доступа: http://pandia.ru/77/192/21190.php.
4. Russel John. Hight-enabled Microprocessor Holds Promise for Faster Computers. February 23, 2016 [Электронный ресурс]. Режим доступа: http://www/hpcwire.com/2016/02/23/25120/.
5. Степаненко С.А. Фотонная вычислительная машина. Принципы реализации. Оценки параметров. – Доклады Академии наук, 2017, т. 476, № 4, с. 389–394.
6. Патент РФ 20751061 от 10.03.1997. Оптический логический элемент/ Полуэктов А. О.
7. Kumar A. Implementation of all-optical NAND logic gate and halfadder using the micro-ring resonator structures. – Optical and Quantum Electronics, October 2016.
8. Кузнецова О.В., Сперанский В.С. Решение задач обработки оптических сигналов без оптоэлектронного преобразования. –Т-Comm, 8–2012, c.35–39.
9. Цилькер Б.Я., Орлов С.А. Организация ЭВМ и систем. – С-Пб.: Изд-во "ПИТЕР", 2015.
10. Степаненко С.А. Мультипроцессорные среды супер ЭВМ. Масштабирование эффективности. – М.: Физматлит, 2016.
11. Вербовецкий А.А. Основы проектирования оптоэлектронных систем связи. – М.: Радио и связь, 2000.
12. Яворский Б.М., Детлаф А.А., Лебедев А.К. Справочник по физике для инженеров и студентов вузов. – М.: ООО "Издательство Оникс": ООО "Издательство "Мир и Образование" 2008.
13. Воеводин В.В. Математические модели и методы в параллельных процессах. – М.: Наука. Гл.ред. физ.-мат.лит., 1986.
14. Никаноров Н.В., Шандаров С.М. Волноводная фотоника. – С-Пб.: Изд-во ИТМО, 2008.
15. T.P. Morgan. Nvidia Rounds Out Pascal Tesla Accelerator Lineup. June 20, 2016 [Электронный ресурс]. Режим доступа: http://www.nextplatform.com/2016/06/20/nvidia-rounds-pascal-tesla-accelerator-lineup.
Отзывы читателей