“ЖУРНАЛ РАДИОЭЛЕКТРОНИКИ” N 1, 2013 |
PACS: 84.30.-r
Интерферометр Маха-Цандера как средство выполнения быстрых распределенных вычислений
Г. Г. Стецюра
Институт проблем управления им. В. А. Трапезникова РАН
Получена 23 декабря 2012 г.
Аннотация. На основе интерферометра Маха-Цандера предложено вычислительное устройство, выполняющее распределенные вычисления над передаваемыми по оптическому каналу связи данными без их задержки на проведение вычисления.
Ключевые слова: интерферометр Маха-Цандера, обмен данными, оптический канал связи, распределенные вычисления.
Abstract. The way of use of interferometers of the Mach–Zehnder for creation of the device which is carrying out distributed calculations over data transferred on the communication channel without their delay on carrying out calculation is offered.
Keywords: data exchange, optical communication channel, Mach–Zehnder interferometer, distributed calculations.
1. Введение
В [1] приведен способ выполнения распределенных вычислений над данными, размещенными в сообщениях, передаваемых по оптическому каналу связи. Для проведения вычисления способ не требует задержки передаваемого сообщения. При этом отмечалось, что хотя в литературе отсутствует описание устройств, подходящих для реализации этого способа, следует ожидать их создания, прежде всего средствами оптики.
В этой статье предлагается такое вычислительное устройство, использующее интерферометр Маха-Цандера для выполнения без задержки логических и арифметических операций.
Имеется ряд публикаций, демонстрирующих применение интерферометра Маха-Цандера в вычислительной технике (например, разработки IBM [2, 3]), но в них интерферометры используются только для модуляции и коммутации сигналов.
2. Интерферометр Маха-Цандера – переключатель
Переключатель на интерферометре Маха-Цандера показан на рис. 1.
Рис. 1. Оптический переключатель
Сигнал поступает только на один из входов 1 или 2 переключателя и далее поступает в 3 dB разветвитель, где разделяется поровну и поступает в оба плеча интерферометра. На электроды 4 плеча подается напряжение, изменяющее состояние физической среды плеча, что приводит к сдвигу фазы проходящего через него сигнала. Этот сигнал и сигнал из второго плеча далее поступают в разветвитель 6, который в зависимости от сдвига фазы сигналов направляет их на выход 7 или 8. Подробное описание дано в [2,3]. Будем считать, что при отсутствии управляющего электрического сигнала оптический сигнал, поступивший на вход 1 (2) поступит соответственно на выход 7 (8). Следует отметить, что при отсутствии управляющего сигнала этот переключатель действует как пассивный участок линии канала, что повышает отказоустойчивость системы.
Далее рассмотренный переключатель обозначается, как показано на рис. 2. Здесь М – переключатель, стрелкой показан электрический управляющий сигнал.
Рис. 2. Функционирование переключателя
Отсутствие сигнала на рис. 2 и далее в таблице обозначено как 0, наличие – как 1.
3. Структура предлагаемого устройства
Устройство представлено на рис. 3. Оно действует как вычислительное устройство и коммутатор (BK).
Здесь квадраты – переключатели по рис. 1 и 2. Использовано четыре таких переключателя М1 – М4. На каждый переключатель поступает управляющий сигнал, обозначенный также как и переключатель. Оптические сигналы поступают по линиям a и b на два входа BK. Перед входами расположены оптические ответвители 1, направляющие по линиям c и b сигналы приемнику подключенного к линиям устройства.
Рис. 3. Вычислитель/коммутатор (BK)
Если сигнал поступает по линии а, то будем это состояние обозначать как а+, соответственно для линии b как b+. Отсутствие сигнала обозначим как а– и b–. Четыре возможные комбинации распределения сигналов обозначим: а+ и b– как 1, а– и b+ как 0, а– и b– как Z, а+ и b+ как С (в данной статье С не используется).
4. Изменение пути распространения сигналов и преобразование их значения
В таблице в столбцах 2 – 5 приведены значения управляющих сигналов Mi подаваемых на переключатели Mi. В столбцах 6 и 7 показано, на какие выходы BK перейдут сигналы с входов при подаче заданного набора управляющих сигналов.
Действия в соответствии со строкой 1 таблицы приводят к соединению входов a и b с одноименными выходами, вторая строка дает перестановку линий на выходе. Из третьей строки таблицы видно, что при подаче М1 и М3 = 0, М2 = 1 и любом значении сигнала М4 сигнал, приходящий из линии a или линии b, будет далее передан в канал по линии a. Четвертая строка сигнал из линии a или линии b далее передаст по линии b. Использование строк 5 – 8 таблицы дает аналогичные результаты для выходных линий a' и b' вместо выходных линий a и b.
Таблица
№
M1
M2
M3
M4
вход
выход
1
0
0
0
0
a (b)
a (b)
2
1
1
0
0
a (b)
b (a)
3
0
1
0
1/0
a (b)
a (a)
4
1
0
1/0
0
a (b)
b (b)
5
0
0
1
1
a (b)
a' (b')
6
1
1
1
1
a (b)
b' (a')
7
0
1
1
1/0
a (b)
a' (a')
8
1
0
1/0
1
a (b)
b' (b')
9
0
0
0
1
a (b)
a (b')
10
0
0
1
0
a (b)
a' (b)
Теперь покажем действия BK по преобразованию значений входящих двоичных сигналов. Как отмечено в разделе 3, используется парафазное кодирование: "1" представлена сигналом только на линии a, "0" представлен сигналом только на линии b. Пусть на входы BK поступает двоичный сигнал х. Тогда при выполнении первой строки таблицы на выходных линиях a и b появится х. Вторая строка таблицы дает на выходе инверсию х.
Третья строка любое значение х переводит в 1, четвертая строка – в 0. Строки 5 – 8 выполняют указанные выше операции при посылке сигналов в линии a' и b', что приводит дополнительно к коммутации двоичных сигналов. В частности, сигналы так можно удалять из канала.
На инверсию, формирование единицы и нуля следует обратить внимание. Все необходимые для этих операций значения управляющих сигналов Mi подаются в BK до поступления сигнала из канала, что обеспечивает выполнение операции без задержки пришедшего сигнала. Операции приведенных ниже вычислений также обладают этим свойством.
5. Вычисления
При описании логических и арифметических операций предполагается, что один операнд X (состоящий из разрядов х) поступает в BK на входы a и b, второй операнд Y (состоящий из разрядов y) содержится в устройстве, использующим BK для проведения вычислений.
К способу выполнения вычисления выдвигается принципиальное условие: операнд X не должен задерживаться для проведения вычисления. Если условие выполняется, то проведение вычисления не требует дополнительного времени по сравнению со временем передачи X через устройство без проведения вычисления. Как следствие, последовательность распределенных вычислений не потребует дополнительного времени по сравнению со временем передачи сообщения по каналу, связывающему цепочку BK.
Удовлетворить выдвинутому условию можно только, если для проведения операции над разрядами x и y устройство посылает в ВК управляющие сигналы Mi до прихода x на вход ВК. Иными словами, устройство выполняет настройку ВК, не зная значения х. Рассмотрим такое выполнение операций.
Для инвертирования значения х устройству необходимо перед приходом х в BK послать в BK набор управляющих сигналов в соответствии со строкой 2 таблицы.
Для выполнения логического умножения устройство анализирует значение y. При y = 1 результат операции будет совпадать со значением х, поэтому достаточно до прихода х послать сигналы Mi в соответствии с первой строкой таблицы, чтобы, не имея значения х, получить правильный результат операции. При y = 0 следует выбрать строку 4 таблицы.
Для логического сложения при y = 1 следует выбрать строку 3 таблицы, а при y = 0 следует выбрать строку 1 таблицы.
Для операции "Исключающее ИЛИ" (XOR) при y = 1 следует выбрать строку 2 таблицы, а при y = 0 следует выбрать строку 1 таблицы.
Пусть X и Y – целые положительные m-разрядные двоичные числа и требуется вычислить их сумму S. Пусть X поступает в BK, начиная с младших разрядов, хi – разряд i числа X, pi – перенос в разряд si из разряда si-1. Перед приходом разряда хi устройство должно вычислить qi = yi XOR pi и при qi = 0 выбрать строку 1 таблицы, а при qi = 1 выбрать строку 2. В результате без задержки хi будет превращен в si. При приходе хi требуется также вычислить которое будет использовано позднее при формировании si+1. Таким образом, и эта операция выполняется без задержки операнда.
Рассмотрим вычисление max для приведенных выше операндов X и Y. Пусть теперь X поступает в BK устройства, начиная со старших разрядов. Если yi = 0, то это устройство прекращает участие в вычислении max при получении хi =1. Если yi = 1, то устройство выполняет строку 3 таблицы, передавая этим в канал хi =1 независимо от приходящего значения хi. После этого устройство продолжает участвовать в вычислении max. В результате, после таких действий в канале будет передано максимальное из значений Y.
Заменив в операции max значения хi и yi на противоположные и используя строку 4 таблицы вместо строки 3, получим операцию min.
В публикациях [1,4] и в библиографии к этим статьям приведены более подробные сведения о выполняемых без задержки операциях.
6. Групповые программы, структура связей, управление доступом в канал
Операции раздела 5 представлены так, что устройства заранее знают, какую операцию следует выполнить. Более гибкое решение – посылка сообщения – групповой программы, содержащей перемежающиеся данные и команды, диктующие устройствам действия по обработке данных, находящихся в сообщении. Так как команды групповой программы выполняются без задержки, то последовательность данных в сообщении при перемещении между BK без задержки превращается в требуемый результат. При этом результат вычисления одной команды немедленно используется другими командами сообщения для обработки остальных данных в том же сообщении. "На лету" устройства могут вставлять в сообщение новые команды и изменять имеющиеся, что влияет на действия ВК, расположенных далее в цепочке ВК.
Команды групповой программы имеют сходство с активными сообщениями широко известных активных сетей, но групповая программа выполняется очень быстро без задержки сообщения.
Для проведения вычислений желательно специальным образом организовать связи между устройствами. Рассмотрим две такие структуры связей.
На рис. 4 показан U-канал связи, состоящий из двух ветвей В1, В2. Канал объединяет устройства (Y), BK этих устройств, ответвители сигнала (O) и генератор оптических сигналов (G). Каждая ветвь состоит из двух линий a и b. Одна линия, а, как указано выше, объединяет входы и выходы а каждого BK. Вторая соответственно объединяет входы и выходы b.
Рис. 4. U-канал
Внешний генератор оптических сигналов G посылает сигналы в ветвь B1. Для определенности будем считать, что посылаются двоичные единицы (сигнал в линии а), разделенные отсутствием сигнала (сигнал Z). Поступающие в ВК сигналы устройство считывает с помощью ответвителей (рис. 3). Переключая сигналы между линиями ветви 1 с применением BK, устройства выполнят передачу сообщений и распределенные вычисления. Далее сигналы переходят в ветвь 2, из которой устройства, используя ответвители (О) считывают полученный в ветви 1 результат.
Для ряда применений U-канал недостаточен. Пусть, например, требуется вычислить сумму чисел Y, хранящихся в BK, причем инициатор этой операции – не ближайшее к генератору G устройство. Тогда часть устройств не сможет участвовать в операции. Для таких ситуаций нужен S-канал, показанный на рис. 5.
Рис. 5. S-канал
S-канал имеет три ветви, состоящие из линий a и b, как и на рис. 4 (для упрощения рис. линии в ветвях не выделены). Первая и вторая ветви используются подобно первой ветви U-канала, третья ветвь используется как вторая ветвь U-канала. Теперь, используя для записи ветви 1 и 2, все устройства смогут внести свой вклад в распределенную операцию, а из ветви 3 все устройства получат общий результат.
Существует довольно много способов управления доступом к каналу устройства, которому требуется передача сообщения. Здесь приведем один из таких способов. Пусть в канале временному интервалу, выделяемому под сообщение, предшествует признак его начала. В этом признаке выделим бит Т, показывающий, занят интервал сообщением или свободен. Пусть Т равен 1, если интервал занят, и равен 0, если он свободен.
Устройство, желающее передать сообщение, перед приходом Т выбирает строку 3 таблицы, переводящую любое значение Т в 1. Если затем из канала поступит Т = 0, то устройство может передавать сообщение, а другим устройствам записью Т = 1 устройство указало, что интервал занят. Если из канала поступит Т =1, то передача сообщения запрещена, а дополнительная запись 1 не повлияет на передаваемое "чужое" сообщение.
7. Заключение
Полученные в статье решения имеют следующие особенности.
– Вычисления над данными, передаваемыми в сообщении, выполняются без задержки сообщения под управлением команд, также размещенных в сообщении. Состав команд может изменяться без задержки сообщения.
– В канал включаются только пассивные оптические переключатели, что повышает отказоустойчивость системы.
– Устройства для передачи сообщения не генерируют сигналы в канал, они только изменяют путь прохождения сигналов, генерируемых внешним источником, по линиям канала, что снижает энергопотребление устройств.
Литература
1. Подлазов В.С., Стецюра Г.Г. О потребности в новых логических элементах// Журнал радиоэлектроники: электронный журнал. 2009, № 6. URL: http://jre.cplire.ru/jre/jun09/2/text.pdf
2. Green W.M.J., Rooks M.J., Sekaric L., Vlasov Y.A. Ultra-compact, low RF power, 10 Gb/s silicon Mach-Zehnder modulator// OPTICS EXPRESS. Vol. 15, No. 25. 2007. р. 17106 – 17113.
3. Van Campenhout J., Green W.M.J., Assefa S., Vlasov Y.A. Low-power, 2×2 silicon electro-optic switch with 110-nm bandwidth for broadband reconfigurable optical networks//OPTICS EXPRESS. Vol. 17. No. 26. 2009. p. 24020 – 24029.
4. Стецюра Г.Г. Совмещение вычислений и передачи данных в системах с коммутаторами // АиТ. 2008. № 5. C. 170 – 179.