Типовые структуры вычислительных систем

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

Универсальной структуры вычислительной системы, одинаково хорошо обрабатывающей задачи любого типа, не существует. В результаты исследований по этим вопросам были приведены сопоставления различных видов программ­ного параллелизма и соответствующих им структур вычислительных систем.

Классификация уровней программного параллелизма включает шесть позиций:

· независимые задания,

· отдельные части заданий,

· про­граммы и подпрограммы,

· циклы и итерации,

· операторы и команды,

· фазы отдельных команд.

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

Для каждого вида параллельных работ имеются структуры вы­числительных средств, используемые в различных вычислительных системах. Верхние три уровня, включающие независимые задания, шаги или части заданий и отдельные программы, имеют единое сред­ство параллельной обработки — мультипроцессирование, т.е. много­процессорные вычислительные системы, относящиеся к архитектуре МКМД. Программные циклы и итерации требуют использования век­торной обработки (архитектура ОКМД). Операторы и команды, вы­полняемые ЭВМ, ориентированы на многофункциональную обработ­ку. Параллельная обработка фаз последовательно выполняемых ко­манд приводит к организации конвейера команд.

Рассмотрим возможные структуры вычислительных систем, кото­рые обеспечивают перечисленные виды программного параллелизма.

ОКОД-структуры. Два нижних вида параллелизма реализуются в любых современных ЭВМ, включая и персональные ЭВМ. Данный тип архитектуры объединяет любые системы в однопроцессорном (одномашинном) варианте.

За 50 лет развития электронной вычислительной техники класси­ческая структура ЭВМ претерпела значительные усовершенствования, однако основной принцип программного управления не был нарушен. Данная структура оказалась сосредоточенной вокруг оперативной памяти, так как именно цепь «процессор — оперативная память» во многом определяет эффективную работу компьютера. При выполне­нии каждой команды необходимо неоднократное обращение к опера­тивной памяти: выбор команды, операндов, отсылка результатов и т.д.

В процессе развития произошли улучшения клас­сической структуры ЭВМ, ставшие в настоящее время определенны­ми стандартами при построении новых ЭВМ: иерархическое построение памяти ЭВМ, появление сверхоперативной памяти и кэш-памяти, относительная и косвенная адресация памяти, разделение процессо­ров ввода-вывода и обработки задач, появление систем прерывания и приоритетов и т.д.

А так же организация конвейера пос­ледовательно выполняемых команд: формирование адреса команды, выбор команды, формирование адресов и выбор операндов, выполне­ние команды, запись результата. B состав ЭВМ могут включать­ся и другие специализированные средства обработки: умножители, делители, сопроцессоры или блоки десятичной арифметики, сопроцес­соры обработки графической информации и др. Все они совместно с центральным процессором ЭВМ позволяют создавать своеобразные микроконвейеры, целью которых является повышение скорости вы­числений.

В последние годы широко используются еще несколько модифика­ций классической структуры. В связи с успехами микроэлектроники появилась возможность построения RISC-компьютеров (Reduced Instruction Set Computing), т.е. ЭВМ с сокращенным набором команд.

В RISC-ЭВМ основу системы команд составляют наибо­лее употребительные, «короткие» операции типа алгебраического сложения. Сложные операции выполняются как подпрограммы, состо­ящие из простых операций. Это позволяет значительно упростить внутреннюю структуру процессора, уменьшить фазы дробления кон­вейерной обработки и увеличить частоту работы конвейера. Но здесь необходимо отметить, что за эффект приходится расплачиваться ус­ложнением процедур обмена данными между регистрами сверхопера­тивной памяти и кэш-памяти с оперативной памятью.

Другой модификацией классической структуры ЭВМ является VLIW (Very Large Instuction Word) - ЭВМ с «очень длинным коман­дным словом». ЭВМ этого типа выбирает из памяти суперкоманду, включающую несколько команд. Здесь возможны варианты.

В самом простом случае это приводит к появлению буфера ко­манд (кэш-команд) с целью ускорения конвейера операций. В более сложных случаях в состав суперкоманд стараются включать парал­лельные команды, не связанные общими данными. Если процессор ЭВМ при этом построен из функционально независимых устройств (устройства алгебраического сложения, умножения, сопроцессоры), то в этом случае обеспечивается максимальный эффект работы ЭВМ. Но это направление связано с кардинальной перестройкой процессов трансляции и исполнения программ. Здесь значительно усложняются средства автоматизации программирования.

VLIW-компьютеры могут выполнять суперскалярную обработку, т.е. одновременно выполнять две или более команды. В целом ряде структур суперЭВМ использовалась эта идея. Отметим, что и в ПЭВМ последних выпусков имеется возможность выполнения двух команд одновременно. Эта реализация имеет две цели:

• уменьшение отрицательного влияния команд ветвления вычисли­ тельного процесса путем выполнения независимых команд двух различных ветвей программы. При этом в какой-то степени ис­ключаются срывы конвейера в обработке команд программы;

• одновременное выполнение двух команд (независимых по данным и регистрам их хранения), например команды пересылки и ариф­метические операции.

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

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

Так же как фрагмент такой структуры, можно рассматривать ло­кальную сеть персональных компьютеров, работающих с единой ба­зой данных.

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

Важную роль здесь играют способы взаимодействия ЭВМ или процессоров в системе.

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

Однако при построении таких систем возникает много проблем с использованием общей оперативной памяти. Число комплексируемых процессоров не должно превышать 16. Для уменьшения числа обращений к памяти и конфликтных ситуаций может использовать­ся многоблочное построение ОП, функциональное закрепление от­дельных блоков за процессорами, снабжение комплексируемых про­цессоров собственной памятью типа КЭШ. Но все эти методы не решают проблемы повышения производительности ВС в целом. Аппа­ратные затраты при этом существенно возрастают, а производитель­ность систем увеличивается незначительно.

Появление мощных микропроцессоров типа Pentium привело к эк­спериментам по созданию многопроцессорных систем на их основе. Так, для включения мощных серверов в локальные сети персональ­ных компьютеров была предложена несколько измененная структу­ра использования ООП — мультипроцессирование с разделением памяти (Shared Memory multiprocessing, SMP). На общей шине опе­ративной памяти можно комплексировать до четырех микропроцессоров.



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

Невысокая оперативность взаимодействия заранее предопределя­ет ситуации, в которых число межпроцессорных конфликтов при об­ращении к общим данным и друг к другу было бы минимальным. Для этого необходимо, чтобы ЭВМ комплекса обменивались друг с дру­гом с небольшой частотой, обеспечивая автономность процессов (про­граммы и данные к ним) и параллелизм их выполнения. Только в этом случае обеспечивается надлежащий эффект. Эти проблемы решают­ся в сетях ЭВМ.

Успехи микроинтегральной технологии и появление БИС и СБИС позволяют расширить границы и этого направления. Возможно построение систем с десятками, сотнями и даже тысячами процессорных элементов, с размещением их в непосредственной близости друг от друга. Если каждый процессор системы имеет собственную память, то он также будет сохранять известную автономию в вычислениях. Считается, что именно такие системы займут доминирующее поло­жение в мире компьютеров в ближайшие десять — пятнадцать лет. Подобные ВС получили название систем с массовым параллелизмом (Mass-Parallel Processing, MPP).

Все процессорные элементы в таких системах должны быть связаны единой коммутационной средой. Нетрудно видеть, что здесь воз­никают проблемы, аналогичные ОКМД-системам, но на Новой технологической основе.

Передача данных в МРР-системах предполагает обмен не отдельными данными под централизованным управлением, а подготовленными процессами (программами вместе с данными). Подобный подход позволяет строить системы с громадной производительностью и реализовывать проекты с любыми видами параллелизма.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  




Подборка статей по вашей теме: