Основные направления развития многопроцессорных систем
 
ВВЕДЕНИЕ
Универсальные приборы, эквивалентные по значению транзистору, которые создаются на тонких кремниевых пластинках СБИС, в настоящее время так миниатюрны и дешевы, что чрезвычайно большое число процессоров может быть объединено в единую сеть. В 1978г. 100.000 элементов было успешно интегрировано в ЗУ объемом 64Кбит. В 1981г. фирма Hewlett-Packard объявила о создании микропроцессорного кристалла, содержащего 450.000 элементов. Следовательно, многопроцессорные компьютеры "среднего класса" с числом кристаллов от нескольких тысяч и до нескольких миллионов скоро станут реальностью. Т. е. отдельный компьютер может содержать 10 х 10 =10 элементов.
Такие микропроцессорные системы могут быть очень успешно использованы для решения проблем, примером которых является моделирование в трех измерениях атмосферных масс для прогноза погоды, моделирование трехмерных зон земной коры, моделирование обширных сетей нейронов, составляющих мозг человека, и очень большой набор преобразований, необходимых для восприятия сложного поведения пространственных объектов.
Для таких компьютеров обработка изображений и восприятие образов станут основными областями применения, т.к. они выдвигают проблемы обработки информации, решение которых требует очень больших и быстродействующих компьютеров с высоким параллелизмом.
Действительно, как показывают исследования, основные вычислительные процедуры при решении большинства задач обработки сигналов в реальном масштабе времени могут быть сведены к набору операций над матрицами. Широкие исследования в области вычислительных методов линейной алгебры привели к созданию устойчивых пакетов программ для выполнения этих операций с помощью однопроцессорных компьютеров последовательного действия. Для обеспечения выполнения большинства алгоритмов в реальном масштабе времени требуется на порядок увеличить скорость вычислений. Несмотря на достижения в технологии цифровых интегральных схем (ИС) , нельзя просто рассчитывать на дальнейшие успехи в производстве быстродействующих элементов вычислительных устройств, и увеличение на несколько порядков производительности процессора для обработки в реальном масштабе времени должно осуществляться эффективным использованием параллелизма при вычислениях.
Самым непосредственным способом реализации параллельной обработки сигналов является простое присоединение ряда процессоров к общей шине.
Действительно, большинство современных серийных микропроцессорных комплектов отличается такой мультипроцессорностью. К этой мысли пришли не сразу. На идею о целесообразности использования структуры из повторяющихся модулей навела высокая стоимость разработки проекта высокопараллельного СБИС-процессора.
В духе этих тенденций развитие архитектуры микропроцессорных систем сводится к построению многопроцессорных систем различных типов и разрешению попутно появляющихся задач.
Мы остановимся на основных направлениях развития многопроцессорных систем и на проблеме взаимодействия процессоров с магистралями (затронем историю развития модульных систем из магистрально-модульных) .
Традиционные однопроцессорные последовательные ЭВМ и многопроцессорные сети.
Обычная "последовательная универсальная ЭВМ" строится, как правило, посредством подключения быстродействующей памяти к единственному центральному процессору(ЦП) , который выбирает команды из памяти, декодирует каждую из них, выбирает данные(в соответствии с предписанием в команде) , хранящиеся в указанных ячейках памяти, выполняет указанные операции и запоминает результаты в предписанных ячейках. Кроме того, к системе должны быть подключены устройства ввода и вывода.
Конвейерные системы компьютеров (или процессоров) .
Каждый процессор в такой системе многократно выполняет одну и ту же команду над последовательностью данных, проходящих через систему. Это значит, что если одна и та же последовательность команд должна выполняться над большим числом различных блоков данных, может быть построена конвейерная система длиной во всю последовательность команд и данные могут быть пропущены через процессоры системы П1-ПN
Если в конвейере имеется N процессоров, программа будет выполняться приблизительно в d*N раз быстрее, чем в однопроцессорной ЭВМ(d-коэффициент, учитывающий, что нет необходимости в выборке и декодировании следующей команды, поскольку каждый процессор осуществляет выборку один раз, а затем многократно повторяет выполнение одной и той же команды) .
Наиболее высокопроизводительные из современных "супер-ЭВМ", например, Cray-1 и CDC-255 фирмы Seymour Cray содержат подобные конвейеры из примерно десятка очень мощных и дорогостоящих процессоров для выполнения векторных операций над массивами данных.
Наиболее мощный из построенных к концу 90х г. г. конвейеров-конвейер многопроцессорной системы CytoComputer, специализированный на выполнение операций обработки изображений. Каждый из процессоров машины CytoComputer гораздо проще и меньше, чем в ЭВМ Cray-1, но их общее число-113.
Используя новые кристаллы СБИС(один процессор в кристалле) , проектируемые на будущее системы планируется построить из еще большего числа процессоров, которые могут быть объединены в конвейеры(теоретически произвольной длины) .
Матричные структуры из очень большого числа простых процессоров.
В 80е г. г. были построены 3 очень большие двумерные системы. В их число входят:
-распределенный матричный процессор DAP(distributed array processor) размером 64Х64, спроектированный фирмой ICL.
-сотовый логический процессор изображений CLIP-4(cellular logic image processor) размером96Х96, разработанный в лондонском университетском колледже,
-большой параллельный процессор MPP(massively parallel processor) размером 128Х128, спроектированный фирмами GoodYear-Aerospace и NASA Goddard.
В этих системах каждый из тысяч процессоров выполняет одну и ту же команду над различными потоками данных. Данные, которые необходимо обработать, и объем которых в идеале соответствует размерам матрицы процессоров, вводятся в систему таким образом, что каждый из процессоров имеет в собственной памяти одно подмножество таких данных, например, один элемент растра.
Затем каждый из процессоров обрабатывает данные, хранящиеся в собственной памяти, а также данные его ближайших соседей.
Матричные структуры ЭВМ.
а) Двумерная матрица из 8Х8 процессоров.
Каждый процессор соединен с 4-мя соседними по горизонтали и вертикали (в других структурах процессоры могут быть соединены в четверки по диагоналям или каждый процессор может быть соединен с 6ю соседними) . Каждый процессор непосредственно связан с общей памятью, а также по изображенным линиям связи с памятью 4х соседних.
б) Матрица из 1Х8 процессоров, каждый из Ввод->Вывод которых соединен с собственной памятью М, а также(через регистры R) с вводом и выводом (иначе это можно рассматривать как вид на приведенную выше структуру 8Х8 с одной стороны, показывающий, что каждый из процессоров (П) одномерной матрицы 1Х8 двумерной структуры размером 8Х8 соединяется с собственной памятью М и вводом-выводом через регистры) .
Такие большие матричные системы возможны только благодаря тому, что каждый процессор выполнен настолько простым, насколько это возможно, и все они выполняют одну и ту же команду(т.е. необходим только один контроллер) . При использовании СБИС-технологий будущего такие параллельные матричные системы будут становиться все более привлекательными из-за простоты и высокой повторяемости их модульной структуры.
Вариации более общих структур сетей.
Из-за ограниченных возможностей матриц, вызванных в основном соображениями стоимости(одноразрядные процессоры, единый контроллер и связи только с соседними процессорами) предпочтительно иметь дело с сетями(процессоров) других видов. Было разработано много типов сетей, включая кольцевые, n-кубические, решетчатые, звездные, "снежинка", чечевицеобразные, древовидные, х-древовидные, пирамидальные и множество структур, описываемых другими графами. В нашем случае граф-просто отображение набора подсистем, объединенных в единый мультипроцессор; инода узлами графа являются отдельные процессоры или память, а не полные ЭВМ.
Однако таких систем в действительности было построено очень мало и только 2 из них с числом процессоров больше 50: Cm и Genoa machine. Число вариантов построения практически бесконечно, поскольку они включают все мыслимые способы соединения все возрастающего по мере совершенствования и удешевления технологии числа процессорных элементов.
Среди наиболее привлекательных сетей выделяются те, структура которых отражает выполняемый алгоритм. Наиболее интересными примерами таких структур являются древовидные и матрицы изменяемой конфигурации из обычных ЭВМ.
Деревья имеют хорошую структуру для большого числа задач, в которых информация сортируется, сравнивается или каким-либо образом уплотняется и реорганизуется, а также где она запоминается, извлекается или передается. Матрицы имеют хорошую структуру для локальной передачи информации.
Наилучшими счита