Смагин М.С. Вычислительные машины, системы и сети (1088253), страница 26
Текст из файла (страница 26)
Вторая – необходимость в использовании лазеров большой мощности,что, помимо их высокой стоимости, ставит вопрос о безопасности их использования в массово выпускаемых бытовых приборах.175Лекция №12ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫВ данном разделе курса речь пойдёт о вычислительных системах. Подвычислительной системой понимается совокупность связанных между собойвычислительных устройств или машин, функционирующих под единымуправлением, в целях решения общей задачи или совокупности задач.Причины их возникновения очевидны, – как бы высок ни был уровеньразвития вычислительных устройств и машин, всегда найдётся задача, с которой не справится самая мощная вычислительная машина.
Соответственнопоявилась идея объединить несколько вычислительных устройств или машини создать, таким образом, суперкомпьютер.Основными достоинствами вычислительных систем по сравнению свычислительными машинами являются:1. Высокая производительность.Достигается за счёт распараллеливания выполняемых программ по нескольким исполнительным устройствам.2. Надёжность.Поскольку вычислительные системы состоят из функционально замкнутых вычислительных машин или устройств, выход из строя любой из них,в общем случае, не выводит из строя систему в целом.3. Масштабируемость.Способность увеличивать производительность при добавлении дополнительных ресурсов. Даёт возможность построения стандартных систем различной вычислительной производительности и стоимости.
Английским переводом термина «масштабируемость» является слово “scalability”. Оно широко используется в англоязычной литературе по вычислительной технике.Согласно наиболее широко распространённой системе классификациивычислительных систем, они делятся на два основных класса:1761. Вычислительные системы с общей памятью (многопроцессорные системы).2. Вычислительные системы с распределённой памятью (многомашинныесистемы).3. Вычислительные системы смешанного типа.Многопроцессорная система представляет собой набор процессоров,подключённых к одной общей памяти, которая предназначена не только дляхранения данных и результатов работы, но и для передачи данных междупроцессорами. По-английски многопроцессорные вычислительные системыназывают SMP-системами.
SMP расшифровывается как Symmetric MultyProcessors, т.е. симметричная многопроцессорная система. Слово «симметричность», в данном случае, означает, что любой из процессоров системыможет быть использован для решения любых из поставленных вычислительных задач.Другое название многопроцессорных систем – UMA-системы. UMAрасшифровывается, как Uniform Memory Access или единый доступ к памяти.Под единым доступом к памяти понимается, что все процессоры имеют одинаковые характеристики доступа к общей памяти, такие как время доступа искорость передачи данных.Многомашинная система представляет собой набор вычислительныхмашин, каждая из которых обладает своим процессором и памятью, а передача данных между компьютерами осуществляется через специальную коммутационную среду.Смешанные вычислительные системы сочетают в себе признаки двухпредыдущих. Чаще всего, они физически устроены как многомашинные, нофункционируют по принципам многопроцессорных систем.Многопроцессорные системы начали разрабатываться раньше, чеммногомашинные.
Поэтому отработанные на них технические решения раньше стали использоваться в массово производимой вычислительной технике,177чем технические решения, полученные при разработке многомашинных систем. Так, первыми процессорами, выходившими на массовый коммерческийрынок, и допускавшими их использование в многопроцессорных системах,были процессоры Pentium, выпускавшиеся с середины 90-х годов.
Соответственно, рассмотрение вычислительных систем мы начнём именно с многопроцессорных систем.Многопроцессорные системыОтличительными особенностями многопроцессорных систем являются:1. Наличие двух или более одинаковых или близких по характеристикампроцессоров, каждый из которых может быть использован для выполнения любой из функций, поддерживаемых системой в целом.2. Наличие общей памяти.
Причем время доступа к её ресурсам одинаково для всех процессоров, подключённых к системе.3. Наличие общего доступа всех процессоров к средствам ввода-вывода.4. Функционирование под управлением единой операционной системы,обеспечивающей взаимодействие между процессорами и исполняемыми программами.Если нарисовать обобщённую структурную схему многопроцессорнойсистемы, то в ней можно выделить следующие основные группы узлов:• Процессоры;• Модули ввода-вывода;• Коммуникационная система;• Общая память.178Рис.79 Обобщённая структурная схема многопроцессорной системыПроцессоры являются основными исполнительными устройствами,взаимодействующими с памятью и модулями ввода-вывода через коммуникационную систему. Память используется не только для хранения данных, нои для обмена данными между процессорами, для чего в ней выделяется специальная отдельная область связи.В этой структуре коммуникационная система является наиболее важным узлом, поскольку она увязывает работу других узлов системы и выходеё из строя полностью парализует работу всей системы.В зависимости от особенностей построения данной системы выделяютследующие классы SMP-систем:1.
Системы с общей шиной.2. Системы с многопортовой памятью.3. Коммутируемые системы.Общая шина – самый простой способ организации коммуникационнойсистемы. Именно он чаще всего используется в массово производящихсямногопроцессорных ЭВМ. В материнских платах, поддерживающих подклю179чение нескольких процессоров, процессоры подключаются к шине FSB. Помимо простоты, достоинством систем с общей шиной является надёжность,поскольку сама магистраль является пассивным объектам, а отказ любого изподключённых к магистрали процессоров не приводит к выходу из строясистемы в целом.Рис.80 Система с общей шиной.Недостатком подобных систем является их ограниченная масштабируемость.
Подключение к общей шине каждого дополнительного процессораприводит к резкому увеличению объёма данных, передаваемых по шине. Соответственно, так называемым «узким местом», т.е. фактором, ограничивающим производительность системы, будет являться пропускная способность шины. Более того, если процессоры, подключённые к шине, порождают поток данных, мощность которого значительно превышает пропускнуюспособность шины, то подключение каждого нового процессора будет приводить к снижению эффективности работы системы, поскольку усложнившийся арбитраж будет требовать дополнительных ресурсов.
На практике, как180правило, к одной шине передачи данных подключают не более 4 процессоров.Особенностью систем с многопортовой памятью является то, что любой процессор может обращаться к общему массиву данных в любой моментнезависимо от других процессоров. Как правило, интерфейсы портов в многопортовой памяти идентичны для всех процессоров, и каждый процессорвоспринимает память как однопортовый, монопольно используемый им ресурс.Рис.81 Система с многопортовой памятьюДостоинством подобных систем является более высокая производительность, чем у систем с общей шиной. Она достигается за счёт того, чтопроцессорам не приходится явным образом соперничать за ресурсы коммутационной среды.
Кроме того, независимый характер доступа к памяти позволяет выделить области памяти, предназначенные для исключительногоиспользования определённым процессором или группой процессоров. Например, для защиты особо важных данных от несанкционированного доступаили изменения.181Недостатком подобных систем также является их низкая масштабируемость, поскольку подключение каждого нового процессора требует наличия свободного порта в многопортовой памяти.
Если же свободных портовнет, то подключение нового процессора потребует замены и системы памяти.Кроме того, появление каждого нового порта доступа к данным приводит кзначительному усложнению памяти, и, следовательно, к её удорожанию иснижению надёжности.Сейчас, как правило, массово выпускаются модули памяти, поддерживающие до 4 портов. Соответственно, подключить к ним можно, максимум,4 процессора. Но, заметим ещё раз, такая система будет работать гораздо быстрее 4-процессорной системы с общей шиной.Как мы видели в обоих описанных случаях, число процессоров в многопроцессорной системе не превышает четырёх.
Как же быть, если необходимо объединить в рамках единой системы большее число процессоров? Одним из подходов к решению данной задачи является разделения памяти нанезависимые модули с обеспечением возможности доступа разных процессоров к различным модулям одновременно. Как правило, одновременный доступ нескольких процессоров к нескольким модулям осуществляется с помощью коммутаторов, а вычислительные системы, построенные по данномупринципу, называются коммутируемыми.
Использование коммутаторов различного типа позволяет резко повышать аппаратную сложность многопроцессорных систем и объединять в них десятки процессоров.Наиболее простым типом коммутатора является так называемый матричный коммутатор. В таком коммутаторе каждый из соединяемых элементов имеет свою линию передачи данных. В точках пересечения линий установлены программируемые переключатели, которые могут соединять линиимежду собой. Таким образом, может быть установлено соединение междудвумя любыми узлами.182Рис.82 Матричный коммутаторДостоинством систем с матричными коммутаторами является высокоебыстродействие и короткие периоды простоя оборудования, позволяющиеполнее использовать вычислительную мощность процессоров.
Недостаткомматричных коммутаторов является чрезмерно высокая аппаратная сложностьи проистекающая из этого высокая цена. Так для соединения n процессоров сN модулей памяти понадобится N2 элементарных переключателей. Соответственно, изыскиваются различные подходы к сокращению аппаратной сложности коммутационных устройств.
Однако общее снижение стоимости устройств вычислительной техники приводит к расширению сферы примененияматричных коммутаторов.Одним из подходов к снижению аппаратной сложности коммутационных блоков является использование так называемых каскадных или, как ещёназывают, многоуровневых сетевых коммутаторов. Такой коммутационный183блок представляет собой набор элементарных коммутаторов «2-в-2» и связеймежду ними. Общий вид элементарного коммутатора представлен на рисунке. Пунктирными линиями показаны возможные пути передачи данных.Рис.83 Элементарный коммутатор.В зависимости от состояния управляющего сигнала, такой коммутаторпринимает прямое или перекрёстное состояние, направляя данные с одногоиз своих входов либо на выход 0 или на выход 1.
Примечательно, что номерполучателя, представленный в двоичном виде, является одновременно набором управляющих сигналов для коммутаторов, т.е. каждый разряд номерасоответствует номеру выхода на коммутаторе в каскаде, соответствующемномеру разряда.Рис.84 Каскадный коммутаторПример передачи данных на выход 101184Такие коммутаторы называются ещё баньяновидными, поскольку переплетения связей между элементарными коммутаторами «2-в-1» напоминаютпереплетениекорнейбаньяновогодерева. В этомсоединения N процессоров с N модулей памяти понадобитсяслучаедляN ⋅ log 2 Nком2мутаторов.