Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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

Поиск

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

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

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

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

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

ОКОД-структуры. Данный тип архитектуры объединяет любые систе­мы в однопроцессорном (одномашинном) варианте.

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

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

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

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

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

. Большие ЭВМ предыдущих поколений не имели большой сверхопера­тивной памяти, поэтому они имели достаточно сложную систему команд CISC (Complete Instruction Set Computing - вычисления с полной системой команд). В этих машинах большую долю команд составляли команды типа «память-память», в которых операнды и результаты операций нахо­дились в оперативной памяти. Время обращения к памяти и время вычис­лений соотносились примерно 5:1. В RISC-машинах с большой сверхопе­ративной памятью большой удельный вес составляют операции «регистр-регистр» и отношение времени обращения к памяти по времени вычисле­ний составляет 2:1.

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

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

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

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

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

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

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

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

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

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

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

Рис. 15.5. Типовые структуры ВС в МКМД (MIMD)-классе

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

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

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

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

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

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

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



Поделиться:


Последнее изменение этой страницы: 2016-04-07; просмотров: 586; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.118.140.43 (0.009 с.)