МНОГОПРОЦЕССОРНЫЕ СИСТЕМЫ. Одним из основных условий успешного экономического раз- развития современного общества является высокий уровень осна- щенности средствами вычислительной техники.Причем важна не только массовость их распространения,но и наличие средств для интеллектуализации производственной деятельности.В связи с этим во многих странах ведутся разработки ЭВМ пятого поколения,пред- назначенных для автоматизации многих сторон человеческой дея- тельности в экономике,науке,образовании и культуре. Для создания ЭВМ пятого поколения требуются вычислительные средства с быстродействием в сотни миллионов операций в секунду и выше.Такое быстродействие может быть достигнуто за счет эле- базы и параллельной организации ЭВМ.Из-за принципиальных огра- ничений все труднее становится получать быстродействие первым путем,поэтому широко распространено создание параллельных ЭВМ различных типов и назначений. Под параллельной ЭВМ будем понимать ЭВМ,состоящую из мно- жества связанных определенным образом вычислительных блоков,ко- торые способны функционировать совместно и ОДНОВРЕМЕННО выпол- нять множество арифметико-логических операций,принадлежащих од- ной задаче ( программе ). Понятие " архитектура параллельной ЭВМ " включает совокуп- ность свойств,определяющих состав и связи оборудования ( струк- туру ЭВМ ),типы используемых параллельных вычислительных алго- ритмов ( алгоритмику ) и средства программирования ( языки, трансляторы,операционные системы ). ОБЗОР НЕКОТОРЫХ АНГЛОЯЗЫЧНЫХ СТАТЕЙ. Все рассмотренные работы посвящены исследованиям в области многопроцессорных систем. В частности,одна из основных целей проводимых исследова- ний,описанных в сборнике статей - исследования нейросетей для разработки эффективных методов распознавания образов.Другая цель - найти общие обучающие процедуры,которые позволили бы нейросети формировать внутреннее представление окружающего ми- ра,требуемое для решения сложных задач.Сеть тренируют на приме- рах,в которых входной вектор представляет собой пример образа ( образца ) в заданной ( заранее зафиксированной ) позиции.Пос- ле продолжительного тренинга ( обучения ) нейросеть находит " образные инварианты ",которые позволяют ей уверенно идентифи- цировать знакомые образы ( объекты ) в различных новых,зачастую неожиданных положениях. Нейросеть - это ЭВМ,которая может обучаться.Она поступает так же,как человек,то есть многократно просматривает информа- цию,делает множество ошибок,учится на них,исправляет и,наконец, успешно справляется с задачей.Нейрокомпьютеры незаменимы там, где беспомощны обычные ЭВМ ( распознавание образов,восприятие человеческой речи,рукописного текста и др.). Нейросеть,создаваемая инженерами,слабо напоминает биологи- ческую систему,поскольку в настоящее время слишком мало извест- но о работе мозга.Однако нейровычисления уже могут дать некото- рые результаты,недостижимые при алгоритмическом программирова- нии. Нейросеть содержит множество микропроцессорных элементов, которые имеют много входов и один выход,присоединяемый к другим процессорным элементам.Каждый процессорный элемент первого слоя получает сигнал от входного массива.Обрабатывая данные в соот- ветствии с заложенной функцией,процессорный элемент первого слоя передает сигнал на следующий слой.Результатом является вы- ходной массив,который по некоторым характеристикам похож на входной.Так как адаптационные коэффициенты ( веса ) могут ме- няться во времени,сеть обучается. Каждый процессорный элемент обычно содержит свою неболь- шую память,хранящую результаты предыдущих вычислений и коэффи- циенты передаточной функции.Часто нейросеть делится на уровни, когда элементы одного уровня имеют одинаковую передаточную фун- кцию.Элементы могут работать либо непрерывно,либо периодически в зависимости то заложенной функции.Каждый вход элемента имеет соответствующий вес,который может меняться по величине и знаку в процессе вычислений.Поэтому вес входа определяет силу связи. Обучение нейросети осуществляется на ряде примеров.На вход подается заданная последовательность,а выходные данные сравни- ваются с правильными ответами.После каждого расчета вносятся поправки в коэффициенты и весовые функции.Так продолжается до тех пор,пока ошибки не достигнут приемлимых значений.После это- го веса фиксируются и сеть готова к работе.В некоторых случаях процесс обучения на этом полностью прекращается ( например,при восприятии рукописного текста ),в других - продолжается,если меняются условия,например,при расчете орбиты спутника Земли и расходе топлива. Созданная нейронная сеть использует в качестве обучения " обратное распространение " ( back propagation ),то есть об- ратную связь,или самообучение.Система состоит из блоков ввода и вывода,а также промежуточного блока.В процессе обучения сигна- лы ошибок посылаются обратно с целью координации работы всех блоков и направления системы к требуемому результату. [ 135 ]. Также в изученных работах рассматривается формализованная модель машины Больцмана,предназначенная для выполнения парал- лельных вычислений в многопроцессорных системах ; представлены два примера работы этой машины : примеры решения задач комбина- торной оптимизации и примеры проявления способностей машины Больцмана к обучению.Для демонстрации свойств и характерных особенностей машины Больцмана приводятся многочисленные примеры компьютерного моделирования. [ 137 ]. В следующей статье дается структурное описание ( специфи- кация COBWEB - 2 ) однокристального суперкомпьютера ( выполнен- ного на одном кристалле кремния ),показана важность структурно- го описания многопроцессорной вычислительной системы для даль- нейшего развития технологии производства вычислительных уст- ройств сверхвысокой производительности.Все примеры вычислений производятся на специально разработанной абстрактной машине - то есть машине,не существующей в реальности,своего рода компью- терной модели. [ 138 ]. Одна из просмотренных работ посвящена проблемам коммуника- ции в многопроцессорных системах.В ней дается описание нового коммуникационного процессора,который позволяет преодолевать ( блокировать ) тупиковые ситуации и " зависания " в работе многопроцессорной системы за счет введения нового вычислитель- ного метода,названного " восхождение по классам " и основанного на более перспективном механизме графовых преобразований.Разра- ботанный коммуникационный процессор может работать в сетях лю- бых типов,независимо от применяемой в той или иной вычислитель- ной системы топологии ( структуры ). [ 139 ]. В еще одной статье рассматривается одна из сфер применения многопроцессорных систем,включающая в себя обработку неопреде- ленной информации,- задача распознавания слитной речи.Это одна из самых сложных и многообещающих областей искусственного ин- теллекта,общего решения которой до сих пор еще не удалось полу- чить.В статье приводится описание структуры вычислительной сис- темы,структуры процессорного элемента,на базе которого данная вычислительная система построена,механизм ( метод ) работы для компьютерных систем,базирующихся на специально введенных пра- вилах,наконец,специального языка программирования - диалекта LISP ( языка,разработанного для систем искусственного интеллек- та.Этот язык называется OCCAM.Важно здесь и то,что связь между процессорными элементами осуществляется асинхронно,что позволя- ет значительно ускорить производимые вычислительной системой операции и расчеты. Крупнейшее достижение,связанное с реализацией архитектуры РИСК - это изобретение транспьютера.По замыслу его создателей ( специалистов английской фирмы " Инмос " ),транспьютер проек- тировался как компонент многопроцессорных систем.Именно эта ориентация и предопределила значение транспьютера для реализа- ции концепции ЭВМ пятого поколения.Вычислительная система,сос- тоящая из m-транспьютеров с быстродействием n операций в секун- ду каждый,практически ничего не теряет в суммарном быстродейст- вии,которое,следовательно,составляет mn операций в секунду.Та- ким образом,открываются исключительно благоприятные возможности для создания сверхвысокопроизводительных систем. Проектирование транспьютера было тесно связано с созданием языка ОККАМ.Язык ОККАМ относится к процедурным языкам высокого уровня.Он позволяет описывать систему,состоящую из набора тран- спьютеров,как ряд параллельных процессов,которые происходят в основном совмещенно и независимо друг от друга.Он может быть использован и для проектирования и для программирования ( как сети транспьютеров,так и отдельного транспьютера ). Все аспекты языка ОККАМ реализованы в аппаратуре транспью- тера,в результате чего отпадает необходимость в программных средствах для планирования процессоров и организации обмена данными.Проверку на практике язык ОККАМ прошел в ходе разработ- ки транспьютера для системы автоматизированного проектирования. Архитектура транспьютера может быть охарактеризована как РИСК-архиитектура второго поколения.Используется микропрограм- мное управление.Набор команд выбран с целью обеспечения эффек- тивной компиляции высокоуровневых языков.Особое внимание уделе- но организации сквозных обменов при взаимодействии между транс- пьютерами и обеспечению совместимости транспьютеров с различной длиной слова.В целом архитектура ориентирована на системное ис- пользование транспьютеров. [ 140 ]. Очень перспективным кажется предложенный в одной из работ аксиоматический подход к представлению спецификации ( структу- ры ) распределенной компьютерной архитектуры.Этот подход,так же как и метод,описанный в предыдущей статье позволяет использо- вать асинхронно действия вычислительной системы,что дает колос- сальный выигрыш в производительности при решении широкого спек- тра самых разнообразных задач.Для демонстрации примеров в рабо- те используется расширенная версия языка программирования AADL. [ 141 ] Еще более перспективным видится предложение программиро- вать задачи,выполняемые многопроцессорными системами на высоко- уровневым языке управления потоками данных,так как применение этого языка дает практически неограниченную возможномть распа- раллеливания работы многопроцессорной вычислительной системы без увеличения стоимости программного обеспечения.Архитектура компьютера,который программируется вышеупомянутым языком прог- раммирования,базируется на существующем в действительности и имеющемся в продаже коммерческом микропроцессоре,положенным в основу одной из моделей электронных вычислительных машин пятого поколения,- транспьютере фирмы INMOS ; внутри этого компьютера, в многопроцессорной вычислительной сети,происходит перевод сложного программного графа,основанного на используемых потоках данных,в язык OCCAM,причем здесь же демонстрируются оптимизаци- онные схемы для преобразования программы,написанной на языке OCCAM,к минимальной форме,что еще более ускоряет работу вычис- лительной системы.Авторы статьи показывают преимущества разра- ботанного подхода относительно других взглядов и реализаций языков программирования высокого уровня для сверхвысокопроизво- дительных компьютерных систем. [ 143 ]. Не обошли стороной авторы статей и абстрактные структурные преобразования.Мы можем ознакомиться с исследованиями,проведен- ными над метаморфозами абстрактной фигуры - бинарного куба.Эта фигура очень привлекательна для использования в системе связи в многопроцессорной сети,так как дает возможности простого и эффективного увеличения структуры,использует простой " маршрут- ный алгоритм ",а ее поперечное сечение с ростом числа процес- сорных элементов в сети растет логарифмически,что позволяет су- щественно увеличить число сетевых процессоров с гораздо меньши- ми потерями в эффективности,чем при стандартной архитектуре.Ав- торами статьи предложены операции преобразования бинарного ку- ба,которые уменьшают вдвое его поперечное сечение,за счет чего достигается еще более высокая " расширяемость " - число процес- сорных элементов,которые можно включить в сеть.А ведь чем боль- ше количество процессорных элементов,тем выше производитель- ность вычислительной системы в целом. [ 144 ]. Следующая статья рассказывает о вычислениях,проводимых на систолических структурах.В ней рассматривается класс " конкури- рующих " вычислений.Согласно изученной работе,систолические структуры могут быть охарактеризованы следующим образом : 1).Они состоят из эквивалентных процессорных элементов - простых ячеек. 2).Ячейки принимают на своем входе ( у каждой ячейки вход отдельный ) самые разнообразные потоки данных и форми- руют на выходе ( выход у каждой ячейки тоже отдельный ) потоки выходных значений. 3).Каждый процессорный элемент связан с фиксированным ( заданным заранее и ограниченным ) числом соседних процессорных элементов. 4).Процессорные элементы работают независимо.Кроме того,в в их работе можно увидеть несколько вычислительных ха- рактеристик,которые обычно отсутствуют ( не применяют- ся ) в стандартных систолических масивах. 5).Синхронизация работы процессорных элементов осуществля- ется только посредством прохождения сигналов ( " посла- ний " ). 6).Каждое выходное значение выдается в выходной поток сра- зу же после приема и обработки входного значения,от ко- торого это выходное значение зависит. Формализм,который используется для рассмотрения работы си- столических структур,называется теорией трассировки.В данной статье теория трассировки достаточно подробно раскрывается.В качестве иллюстративных примеров систолических вычислений про- демонстрированы полиномиальное умножение,циклическое кодирова- ние и распознавание палиндромов.Одна из особенностей предложен- ной работы - авторы статьи отказались от представления и объяс- нения систолических массивов с помощью рисунков ( основное со- держание излагается с помощью вводимых формализмов ) ; в данном случае рисунки применяются только в качестве иллюстративного материала. СИСТОЛИЧЕСКИЕ МАССИВЫ.Достижения микроэлектроники позволя- ют размещать на одном кристалле большое количество простых про- цессорных элементов.Скорости срабатывания процессорных элемен- тов высоки,поэтому возрастает сложность создания коммутационных сетей,связывающих процессорные элементы.В некоторых специализи- рованных ЭВМ можно отказаться от коммутаторов.Массивы процес- сорных элементов с непосредственными соединениями между близле- жащими процессорными элементами называются систолическими.Такие массивы исключительно эффективны,но каждый из них ориентирован на решение весьма узкого класса задач.Массив обычно работает по тактам.За каждый такт все данные перемещаются в соседние узлы. Систолический массив имеет черты как процессорных матриц ( со- вокупность связанных процессорных элементов,выполняющих единую команду ),так и явные признаки конвейерного вычислителя ( по- тактное получение результата ). [ 136 ]. Наконец,последняя из рассмотренных статей так же,как и предыдущая,описывает работу систолических структур - вычисления на систолическом экране.Исследователи продолжили изучение воз- можностей систолических экранов и продемонстрировали несколько новых эффективных решений некоторых весьма важных задач. [ 8 ]. Результаты,представленные в статьях о систолических струк- турах,свидетельствуют о том,что использование этих структур бо- лее эффективно по сравнению со стандартной и повсеместно расп- ространенной архитектурой. [ 136 ] и [ 142 ]. ПЕРСПЕКТИВЫ РАЗВИТИЯ МНОГОПРОЦЕССОРНЫХ СИСТЕМ. Таким образом,в проработанных статьях были рассмотрены различные варианты архитектуры для многопроцессорных систем, различные языки программирования,весьма своеобразные методы оп- тимизации как вычислительных процедур,так и структур нейропо- добных сетей,а также разнообразные обучающие процедуры для ней- росетей.Все эти процедуры очень медленно работают в сетях,число процессорных элементов в которых очень и очень велико,поэтому для обеспечения требуемой эффективности решения задач необходи- мо вести работу по поиску более быстрых процедур.Результатом этой работы может стать появление коммерчески реализуемого про- цессора с мощной и эффективной нейросетью,расположенной на од- ном кристалле кремния ( кремниевой подложке ),способного решать сложнейшие задачи,недоступные для многопроцессорной техники се- годняшнего дня.