Научная статья на тему 'Потоковые вычислительные системы в сетевых технологиях обработки информации'

Потоковые вычислительные системы в сетевых технологиях обработки информации Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
544
84
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Потоковые вычислительные системы в сетевых технологиях обработки информации»

Секция вычислительной техники

УДК 681.325

В.Ф. Гузик, В.Е. Золотовский ПОТОКОВЫЕ ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ В СЕТЕВЫХ ТЕХНОЛОГИЯХ ОБРАБОТКИ ИНФОРМАЦИИ

Создание сложных динамических объектов и систем управления ими в таких областях как энергетика, космическая техника, проектирование летательных аппаратов, гидроакустическая техника требует проведения большого числа физических экспериментов, что значительно увеличивает как время, так и стоимость проектирования. Сокращение времени и средств при проектировании достигается заменой физического эксперимента вычислительным, при котором поведение объекта в зависимости от тех или иных условий исследуется на математической модели.

Сложность математических моделей, невысокая скорость обработки данных универсальными ЭВМ приводит к тому, что вычислительный эксперимент по длительности и стоимости в некоторых случаях даже превосходит физический эксперимент. По данным советских и зарубежных исследований эквивалентное быстродействие ЭВМ, ориентированных на вычислительный эксперимент, должно быть не меньше чем 108109 оп/с. Однако такие системы имеют достаточно высокую стоимость и их эксплуатация экономически эффективна при непрерывной загрузке, которую можно обеспечить только при работе в сети в режиме максимального доступа. Развитие средств коммуникации позволяет организовать такие режимы работы. В рамках работ по построению многопроцессорных вычислительных систем развиваются и системы передачи информации для них. Основное внимание уделяется трехуровневым пла-зиосинхронным системам, которые обеспечивают скорость обмена информацией до 140 Мбит/с на канал.

В работе рассматриваются методы, алгоритмы и параллельные системы цифровой обработки сигналов, используемые для супербыстрых вычислений. Одной из основных проблем, возникающей при построении параллельных систем, является распределение частей команды, команд или ветвей программы по процессорам. При ограниченных связях между процессорами проблема решается за счет увеличения времени обмена информацией. При большом количестве процессоров в системе это приводит в некоторых случаях даже к снижению производительности. Полнодоступная коммутация между процессорами, в случае если обмен ведется полноразрядными числами, существенно увеличивает объем оборудования из-за сложности коммутатора. Компромисс состоит в том, что обмен информации ведется по полному графу, но последовательными кодами, а для сохранения общей производительности выполнение операций осуществляется в конвейерном режиме начиная со старших разрядов. Среди известных систем счисления хорошие результаты дают эври-

стические системы, позволяющие обойти многие проблемы. Предлагается использовать систему с опережающим переносом, рассмотренную в [1] и [2]. В настоящей работе представлены алгоритмы выполнения базовых операций в данной системе и варианты их аппаратной реализации.

Организация вычислений в предлагаемой системе базируется на идее параллельно-последовательных вычислений [1]. Все число (поле) разбивается на части фиксированной длины (группы), обрабатываемые параллельно. Группы нумеруются слева направо и обозначаются соответственно У(1), У(2), ... , У0-1), У(1), У(1+1), ..., У(п), где У(1) - знаковая группа. Во все группы, кроме знаковой, вводится дополнительный старший разряд для работы с переносом из группы. Его вес соответствует младшему разряду следующей группы, но с отрицательным знаком. При сложении к младшему разряду всех групп, кроме У(п), заранее прибавляем "1" (перенос из младшей группы которого может и не быть), а в дополнительные разряды всех групп, кроме У( 1), записывается "-1" для компенсации. В случае, если в ьй группе действительно возникает перенос, то он в сумме с дополнительным разрядом даст "О" и в (1-1 )-й группе - готовый результат. В случае, если переноса нет, то в дополнительном разряде остается "-1" поправки к следующей группе. В результате сложения (с учетом дополнительных разрядов обоих чисел и "-1" компенсации переноса) в дополнительных разрядах результата может максимально получиться поправка ”-3". Для обеспечения цепочечных вычислений в группе должно быть два дополнительных разряда и требуется специальный такт коррекции ([2]), уменьшающий поправку до "-1" или "О". Предложенный подход позволяет выполнять обработку всех групп одновременно и независимо, причем алгоритм никак не связан с длиной числа и требует всего двух тактов.

Рассмотрим аппаратную реализацию базовых операций (сложение, вычитание, сдвиг) над группами в системе с опережающим переносом. Считаем, что числа поступают после такта коррекции, знак представляется двумя разрядами (модифицированный код). При сложении двух чисел выполняем попарное сложение всех групп, а затем производим коррекцию в группах результата. Коррекция получается как дополнение от значения дополнительных разрядов (1+1)-й группы, взятых со знаком "минус". Для реализации операции сложения в (1)-й группе требуется обычный накапливающий двоичный сумматор, схема формирования корректирующей поправки, мультиплексор для подачи на вход сумматора значения либо группы, либо коррекции и схема формирования дополнительных разрядов, представляющая собой простейший шифратор на два выхода. Можно заметить, что структура группы полностью совпадает со структурой дополнительного кода, если принять дополнительный разряд за знаковый [2]. Это дает возможность сформировать дополнительный код числа в рассматриваемом коде, формируя двоичные дополнения всех его групп, что обеспечивает возможность сложения с отрицательными числами, т.е. выполнение вычитания. При этом не требуется нестандартного оборудования и можно все группы обрабатывать параллельно. Так как вход переноса в младший разряд сумматора в нашем случае занят единицей опережающего переноса, то при аппаратной реализации для формирования дополнительного кода требуется специальная схема для взятия дополнений в группах. Однако она практически не увеличивает объем оборудования, т.к. может быть совмещена со схе-

мой формирования корректирующей поправки и мультиплексором в одно устройство.

Как видно из сказанного выше, в предложенной системе легко реализуется базовый набор операций, т.е. возможно выполнение любых вычислений. Скорость выполнения операций над группой соизмерима с двоичной арифметикой. Эффективность обработки всего числа в системе с опережающим переносом возрастает с увеличением разрядности и выше, чем в двоичной за счет независимости времени обработки от разрядности числа. Для сложных операций возможно дополнительное ускорение при замене поразрядной обработки работой над группами. Так, например, операции умножения и деления могут быть реализованы поразрядно по алгоритмам двоичной арифметики через сложение и сдвиг, однако работа над группами позволяет сократить время вычислений.

При умножении принятое нами разбиение числа на группы позволяет перейти в /г-ичную систему счисления (к = 2т, где т - разрядность группы) и рассматривать как один разряд числа целую группу. Операция умножения является аддитивной, поэтому можно независимо работать с отдельными группами, умножая их и складывая с соответствующими весами.

Как уже упоминалось выше, структура группы соответствует структуре дополнительного кода, поэтому возможно умножение групп с дополнительными разрядами как двух чисел в дополнительном коде на обычном умножителе. Результат умножения получается двойной длины и содержит две группы, дополнительные разряды первой из них равны знаку результата, второй - нулю. Частичные произведения получаются перемножением всех групп первого сомножителя на очередную группу второго и суммированием результатов с соответствующими весами. Общее произведение формируется как сумма сдвинутых соответствующим образом частичных произведений. Возможность независимой обработки групп позволяет легко адаптировать алгоритмы вычислений под требования конкретной задачи.

Для операции деления переход в к - ичную систему счисления позволяет для алгоритмов без восстановления остатков за один шаг деления определять сразу группу результата, причем, для ее получения достаточно разделить первую группу делимого на первую группу делителя без учета всех остальных [3]. Это обстоятельство позволяет обрабатывать поля различной длины при использовании одних и тех же алгоритмов и оборудования.

Схема процессорного элемента изображена на рис. 1. Она содержит 3 сумматора, работающих в системе с опережением переноса начиная со старших разрядов. Максимальная разрядность группы — 2 разряда. Кроме того, в него входят 2 умножителя, которые могут работать как раздельно, так и вместе (в случае удвоенной разрядной сетки). Коммутатор входа обеспечивает необходимую перестановку входных данных, коммутатор выхода - выходных. Числа поступают старшими разрядами вперед, и на выходе результат появляется сразу же после определения старшего разряда. Процессорный элемент может быть настроен как на выполнение обычных команд арифметики и логики (не более 3-х), так и на крупные операции, такие как «полубабочка» БПФ, перемножение матриц размерностью 2x2 и т.д.. Допускается объединение нескольких процессорных элементов для повышения уровня выполняемой операции

(например, «бабочка» БПФ). Общая задержка результата в процессоре не превышает 2 тактов.

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

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

ЛИТЕРАТУРА

1. Залотовский В.Е. Организация вычислений с произвольной разрядностью в многопроцессорных системах с изменяемой архитектурой //Электронное моделирование. 1989. 11. N2. С.12-16.

2. Золотовский В.Е., Павленко В.Г. Аспекты построения однородной потоковой вычислительной системы, оперирующей данными произвольной разрядности //Тезисы докладов XV Семинара по однородным вычислительным средам и систологическим структурам. Львов, 1992. С.20-35.

3. Карцев М.А. Арифметика цифровых машин. М.: Наука, 1969. 575с.

УДК 007.52

Ю.В. Чернухин ВОЗМОЖНОСТИ МОДЕЛИРОВАНИЯ БИОЛОГИЧЕСКИХ СИСТЕМ НА НЕЙРОПРОЦЕССОРНЫХ СЕТЯХ

Нервная система человека и животных обладает рядом уникальных свойств, которые уже сейчас необходимы сложным робототехническим, вычислительным и управляющим системам. Однако тонкие нейрофизиологические механизмы, лежащие в основе поведенческих феноменов мозга, до сих пор не ясны, и их исследование наталкивается на существенные трудности. Для преодоления этих трудностей изучение свойств высокоразвитого мозга ведется на менее сложных нервных системах простых организмов, например, на абдоминальном ганглии моллюска ап-лизии [1]. Однако модельное подтверждение получаемых при этом выводов затруднено из-за отсутствия пригодной для биоэлектронного моделирования элементной базы. В данной работе показано, что такой базой могут служить нейропроцессорные сети, состоящие из цифровых нейропроцессоров (ЦНП) [2]. С их помощью могут быть организованы биоэлек-тронные эксперименты по замене естественных нейронов и простейших нейронных цепей их цифровыми электронными моделями. Такая замена, осуществляемая путем вживления электродов и отсечения моделируемой нервной ткани, позволяет ставить задачу опытной проверки правильности теоретических представлений о нейронных механизмах поведенческих реакций. С другой стороны, биоэлектронные эксперименты могут быть использованы для совершенствования самих нейропроцессоров и нейропроцессорных сетей. Цель биоэлектронных экспериментов в данном случае сводится к следующему:

i Надоели баннеры? Вы всегда можете отключить рекламу.