МНОГОПРОЦЕССОРНЫЕ ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ
В наше время сфера применения многопроцессорных вычислительных систем непрерывно увеличивается, покрывая все новые области в различных отраслях науки, производства и т.п. Стремительное развитие кластерных систем создает условия для использования многопроцессорной вычислительной техники в реальном секторе экономики и науке.
Потребность решения сложных прикладных задач с большим объемом вычислений и принципиальная ограниченность максимального быстродействия "классических" – по схеме фон Неймана - ЭВМ привели к появлению многопроцессорных вычислительных систем. Использование подобных средств вычислительной техники позволяет существенно увеличивать производительность ЭВМ при любом существующем уровне развития компьютерного оборудования.
Вычислительная техника в своем развитии по пути повышения быстродействия ЭВМ приблизилась к физическим пределам. Время переключения электронных схем достигло долей наносекунды, а скорость распространения сигналов в линиях, связывающих элементы и узлы машины, ограничена значением 30 см/нс (скоростью света). Поэтому дальнейшее уменьшение времени переключения электронных схем не позволит существенно повысить производительность ЭВМ. В этих условиях требования практики (сложные физико-технические расчеты, многомерные экономико-математические модели и другие задачи) по дальнейшему повышению быстродействия ЭВМ могут быть удовлетворены только путем распространения принципа параллелизма на сами устройства обработки информации и создания многомашинных и многопроцессорных (мультипроцессорных) вычислительных систем. Такие системы позволяют производить распараллеливание во времени выполнения программы или параллельное выполнение нескольких программ.
В настоящее время исключительно важное значение приобрела проблема обеспечения высокой надежности и готовности вычислительных систем, работающих в составе различных АСУ (автоматизированные системы управления) и АСУ ТП, особенно при работе, в режиме реального времени. Эта проблема решается на основе использования принципа избыточности, который ориентирует также на построение многомашинных или многопроцессорных систем (комплексов). Появление дешевых и небольших по размерам микропроцессоров и микро-ЭВМ облегчило построение и расширило область применения многопроцессорных и многомашинных ВС разного назначения
Многопроцессорные вычислительные системы сегодня используются повсеместно и имеют высокие теоретические показатели. Однако при решении большинства практических задач их реальная производительность резко падает и не превышает 5 - 10% отпиковой. Подобное снижение производительности характерно, в частности, для кластерных МВС при решении сложных задач математической физики, при выполнении ряда процедур цифровой обработки сигналов и многих других. Это реальная проблема, которая актуальна для большинства многопроцессорных вычислительных систем, существующих в настоящее время.
Создание и применение многопроцессорных вычислительных систем, предназначенных для решения актуальных фундаментальных и прикладных задач, открывает новые возможности для проведения комплексного вычислительного моделирования в ведущих направлениях механики.
Использование многопроцессорных вычислительных систем терафлопной производительности позволяет реализовать новые, более точные (следовательно, и более трудоемкие) физико-математические модели описания поведения плазмы в широких диапазонах современных приложений, в том числе в задачах управляемого термоядерного синтеза. Изучение свойств высокотемпературной неравновесной плазмы, уточнение моделей взаимодействия с видами излучений и электромагнитными полями составляют важный раздел современных вычислительных приложений. Одним из таких приложений являются течения плазмы в каналах при наличии магнитных полей.
Многопроцессорные вычислительные системы станут основной технической базой вычислительных центров всех уровней на ближайшие годы. В области периферийных устройств в это время намечается значительно расширить их номенклатуру и повысить их качественные показатели.
Следует подчеркнуть, что применение многопроцессорных вычислительных систем требует учета и освоения специфики параллельной обработки, в том числе и в самих вычислительных алгоритмах и в прикладном программировании. Хотя на сегодня уже имеется значительный положительный опыт в решении сложных задач на этих системах, однако существуют и объективные трудности в переосмыслении традиционных вычислительных подходов при построении параллельных алгоритмов.
Важнейшей составной частью создания и внедрения высокопроизводительных технологий является существенное расширение компьютерного образования и подготовка квалифицированных специалистов в этой области.
Универсальные приборы, эквивалентные по значению транзистору, которые создаются на тонких кремниевых пластинках СБИС, в настоящее время так миниатюрны и дешевы, что чрезвычайно большое число процессоров может быть объединено в единую сеть. В 1978г. 100. 000 элементов было успешно интегрировано в ЗУ объемом 64Кбит. В 1981г. фирма Hewlett-Packard объявила о создании микропроцессорного кристалла, содержащего 450. 000 элементов. Следовательно, многопроцессорные компьютеры "среднего класса" с числом кристаллов от нескольких тысяч и до нескольких миллионов скоро станут реальностью. Т. е. отдельный компьютер может содержать 10 х 10 =10 элементов .
Такие микропроцессорные системы могут быть очень успешно использованы для решения проблем, примером которых является моделирование в трех измерениях атмосферных масс для прогноза погоды, моделирование трехмерных зон земной коры, моделирование обширных сетей нейронов, составляющих мозг человека, и очень большой набор преобразований, необходимых для восприятия сложного поведения пространственных объектов.
Действительно, как показывают исследования, основные вычислительные процедуры при решении большинства задач обработки сигналов в реальном масштабе времени могут быть сведены к набору операций над матрицами. Широкие исследования в области вычислительных методов линейной алгебры привели к созданию устойчивых пакетов программ для выполнения этих операций с помощью однопроцессорных компьютеров последовательного действия. Для обеспечения выполнения большинства алгоритмов в реальном масштабе времени требуется на порядок увеличить скорость вычислений. Несмотря на достижения в технологии цифровых интегральных схем, нельзя просто рассчитывать на дальнейшие успехи в производстве быстродействующих элементов вычислительных устройств, и увеличение на несколько порядков производительности процессора для обработки в реальном масштабе времени должно осуществляться эффективным использованием параллелизма при вычислениях.
Самым непосредственным способом реализации параллельной обработки сигналов является простое присоединение ряда процессоров к общей шине.
Обычная "последовательная универсальная ЭВМ" строится, как правило, посредством подключения быстродействующей памяти к единственному центральному процессору, который выбирает команды из памяти, декодирует каждую из них, выбирает данные (в соответствии с предписанием в команде), хранящиеся в указанных ячейках памяти, выполняет указанные операции и запоминает результаты в предписанных ячейках. Кроме того, к системе должны быть подключены устройства ввода и вывода.
Каждый процессор в такой системе многократно выполняет одну и ту же команду над последовательностью данных, проходящих через систему.
В этих системах каждый из тысяч процессоров выполняет одну и ту же команду над различными потоками данных. Данные, которые необходимо обработать, и объем которых в идеале соответствует размерам матрицы процессоров, вводятся в систему таким образом, что каждый из процессоров имеет в собственной памяти одно подмножество таких данных, например, один элемент растра.
Отдельные многопроцессорные системы называются системами с присоединенными процессорами, поскольку в них периферийные устройства доступны не для всех процессоров. За исключением особо оговоренных случаев, в настоящей главе не проводится никаких различий между системами с присоединенными процессорами и остальными классами многопроцессорных систем.