Logo GenDocs.ru

Поиск по сайту:  


Загрузка...

Лекции по ВМСС - файл Глава 11 ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ.doc


Загрузка...
Лекции по ВМСС
скачать (35218.7 kb.)

Доступные файлы (18):

Глава 10.doc8030kb.25.01.2005 11:05скачать
Глава 11 ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ.doc2232kb.28.01.2005 20:28скачать
Глава 12.doc4356kb.29.01.2005 18:29скачать
Глава 13.doc745kb.09.03.2005 15:11скачать
Глава 14.doc605kb.11.03.2005 15:19скачать
Глава 15.doc243kb.11.03.2005 15:35скачать
Глава 16.doc498kb.11.03.2005 15:43скачать
Глава 2.doc2062kb.24.02.2005 19:16скачать
Глава 3 ЭЛЕМЕНТНАЯ БАЗА ЭВМ.doc2589kb.24.02.2005 20:00скачать
Глава 4.doc1726kb.02.03.2005 20:36скачать
Глава 5 ЦЕНТРАЛЬНЫЕ УСТРОЙСТВА ЭВМ.doc1113kb.04.03.2005 13:56скачать
Глава 6.doc1177kb.04.03.2005 18:09скачать
Глава 7 ВНЕШНИЕ УСТРОЙСТВА ЭВМ.doc918kb.09.03.2005 14:44скачать
Глава 8.doc6796kb.25.01.2005 19:33скачать
Глава 9.doc4463kb.25.01.2005 18:23скачать
ОГЛАВЛЕНИЕ.doc45kb.11.03.2005 19:02скачать
УСЛОВНЫЕ ОБОЗНАЧЕНИЯ.doc41kb.04.03.2005 14:10скачать
учебник_введение.doc53kb.25.01.2005 11:37скачать

Глава 11 ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ.doc

Реклама MarketGid:
Загрузка...
Глава 11 ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ

11.1. Классификация вычислительных систем

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

• весь период развития средств электронной вычислительной тех­ники отмечен доминирующей ролью классической структуры ЭВМ (структуры фон Неймана), основанной на методах последователь­ных вычислений;

• основным направлением совершенствования ЭВМ является неук­лонный рост производительности (быстродействия) и интеллекту­альности вычислительных средств;

• совершенствование ЭВМ осуществлялось в комплексе (элемент­но-конструкторская база, структурно-аппаратные решения, сис­темно-программный и пользовательский, алгоритмический уров­ни);

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

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

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

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

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

Параллелизм в вычислениях в значительной степени усложняет уп­равление вычислительным процессом, использование технических и про­граммных ресурсов. Эти функции выполняет операционная система ВС.

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



Построение же вычислительных систем позволяет значительно со­кратить затраты, так как для них существует линейная формула:

где:

Сзм, Свс — соответственно стоимость ЭВМ и ВС;

К 1 и К2коэффициенты пропорциональности, зависящие от техническо­го уровня развития вычислительной техники;

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

248



Рис. 11.1. Зависимость стоимости Ск и Сэвм от производительности

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

Основные принципы построения, закладываемые при создании ВС:

• возможность работы в разных режимах;

• модульность структуры технических и программных средств, что позволяет совершенствовать и модернизировать вычислительные системы без коренных их переделок;

• унификация и стандартизация технических и программных решений;

• иерархия в организации управления процессами;

• способность систем к адаптации, самонастройке и самоорганизации;

• обеспечение необходимым сервисом пользователей при выполне­нии вычислений.

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

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

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

По назначению вычислительные системы делят на универсальные и специализированные. Универсальные ВС предназначаются для ре­шения самых различных задач. Специализированные системы ориен­тированы на решение узкого класса задач. Специализация ВС может устанавливаться различными средствами:

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

• во-вторых, специализация ВС может закладываться включением в их состав специального оборудования и специальных пакетов обслуживания техники.

По типу вычислительные системы можно разделить на многома­шинные и многопроцессорные ВС. Исторически многомашинные вы­числительные системы (ММС) появились первыми. Уже при использо­вании ЭВМ первых поколений возникали задачи повышения произво­дительности, надежности и достоверности вычислений. Для этих целей использовали комплекс машин, схематически показанный на рис. 11.2,a



.

Рис. 11.2. Типы ВС: а — многомашинные комплексы; б — многопроцессорные системы

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

а) обе машины решают одну и ту же задачу и периодически сверя­ют результаты решения. Тем самым обеспечивался режим повышен­ной достоверности, уменьшалась вероятность появления ошибок в результатах вычислений. Примерно по такой же схеме построены управляющие бортовые вычислительные комплексы космических аппаратов, ракет, кораблей. Например, американская космическая система «Шатл» содержала пять вычислительных машин, работаю­щих по такой схеме;

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

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

Многопроцессорные системы (МПС) строятся при комплексировании нескольких процессоров (рис. 11.2, б). В качестве общего ресур­са они имеют общую оперативную память (ООП). Параллельная ра­бота процессоров и использование ООП обеспечивается под управ­лением единой операционной системы. По сравнению с ММС здесь достигается наивысшая оперативность взаимодействия вычислителей-процессоров. Многие исследователи [27] считают, что использование МПС является основным магистральным путем развития вычисли­тельной техники новых поколений.

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

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

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

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

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

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

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

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

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

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

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

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

Согласно этой классификации существует четыре основных ар­хитектуры ВС, представленных на рис. 11.3:

• одиночный поток команд — одиночный поток данных (ОКОД), в английском варианте — Single Instruction Single Data (SISD) — оди­ночный поток инструкций — одиночный поток данных;

• одиночный поток команд — множественный поток данных (ОКМД), или Single Instruction Multiple Data (SIMD) — одиночный поток инструкций — одиночный поток данных;

• множественный поток команд — одиночный поток данных (МКОД), или Multiple Instruction Single Data (MISD) — множественный по­ток инструкций — одиночный поток данных;

• множественный поток команд — множественный поток данных (МКМД), или Multiple Instruction Multiple Data (MIMD) — множе­ственный поток инструкций — множественный поток данных (MIMD).



Рис. 11.3. Архитектура ВС: а — ОКОД (SISD)-архитектура;

б— ОКМД (SIМD)-архитектура; в — МКОД (МISD)-архитектура;

г — МКМД (МIMD)-архитектура

Коротко рассмотрим отличительные особенности каждой из архи­тектур.

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

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

По этой схеме строились системы: первая суперЭВМ — ILLIAC-IV, отечественные параллельные системы — ПС-2000, ПС-3000. Идея векторной обработки широко использовалась в таких известных су­перЭВМ, как Cyber-205 и Gray-I, II, III. Узким местом подобных сис­тем является необходимость изменения коммутации между процессо­рами, когда связь между ними отличается от матричной. Кроме того, задачи, допускающие широкий матричный параллелизм, составляют достаточно узкий класс задач. Структуры ВС этого типа, по суще­ству, являются структурами специализированных суперЭВМ.

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

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

Архитектура МКМД предполагает, что все процессоры систе­мы работают по своим программам с собственным потоком команд. В простейшем случае они могут быть автономны и независимы. Такая схема использования ВС часто применяется на многих круп­ных вычислительных центрах для увеличения пропускной способно­сти центра. Больший интерес представляет возможность согласован­ной работы ЭВМ (процессоров), когда каждый элемент делает часть общей задачи. Общая теоретическая база такого вида работ прак­тически отсутствует. Но можно привести примеры большой эффективности этой модели вычислений. Подобные системы могут быть многомашинными и многопроцессорными. Например, отече­ственный проект машины динамической архитектуры (МДА) — ЕС-2704, ЕС-2127позволял одновременно использовать сотни про­цессоров.
^ 11.3. Комплексирование в вычислительных системах
Для построения вычислительных систем необходимо, чтобы эле­менты или модули, комплексируемые в систему, были совместимы. Понятие совместимости имеет три аспекта: аппаратный, или техни­ческий, программный и информационный. Техническая (HardWare) совместимость предполагает, что еще в процессе разработки аппара­туры обеспечиваются следующие условия:

• подключаемая друг к другу аппаратура должна иметь единые стандартные, унифицированные средства соединения: кабели, чис­ло проводов в них, единое назначение проводов, разъемы, заглуш­ки, адаптеры, платы и т.д.;

• параметры электрических сигналов, которыми обмениваются тех­нические устройства, тоже должны соответствовать друг другу: амплитуды импульсов, полярность, длительность и т.д.;

• алгоритмы взаимодействия (последовательности сигналов по от­дельным проводам) не должны вступать в противоречие друг с другом.

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

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

Информационная совместимость комплексируемых средств пред­полагает, что передаваемые информационные массивы будут одина­ково интерпретироваться стыкуемыми модулями ВС. Должны быть стандартизированы алфавиты, разрядность, форматы, структура и разметка файлов, томов и т.д.

В

создаваемых ВС стараются обеспечить несколько путей переда­чи данных, что позволяет достичь необходимой надежности функцио­нирования, гибкости и адаптируемости к конкретным условиям рабо­ты. Эффективность обмена информацией определяется скоростью пе­редачи и возможными объемами данных, передаваемыми по каналу взаимодействия. Эти характеристики зависят от средств, обеспечива­ющих взаимодействие модулей и уровня управления процессами, на котором это взаимодействие осуществляется. Сочетание различных уровней и методов обмена данными между модулями ВС в наиболее полной форме нашло свое выражение в универсальных суперЭВМ и больших ЭВМ, в которых сбалансированно использовались все мето­ды достижения высокой производительности. В этих машинах предус­матривались следующие уровни комплексирования (рис. 11.4):
Рис. 11.4. Уровни и средства комплексирования
1) прямого управления (процессор — процессор);

2) общей оперативной памяти;

3) комплексируемых каналов ввода-вывода;

4) устройств управления внешними устройствами (УВУ);

5) общих внешних устройств.

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

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

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

Уровень комплексируемых каналов ввода-вывода предназначается для передачи больших объектов информации между блоками оперативной памяти, сопрягаемых ЭВМ. Обмен данными между ЭВМ осуществляется с помощью адаптера «канал-канал» (АКК) и команд «Чтение» и «Запись». Адаптер — это устройство, согласующее скорости работы сопрягаемых каналов. Обычно сопрягаются селекторные каналы (СК) машин как наи­более быстродействующие, но можно сопрягать мультиплексные каналы (МК), а также селекторный и мультиплексный. Скорость обмена данны­ми определяется скоростью самого медленного канала. Скорость переда­чи данных по этому уровню составляет несколько Мбайтов/с. В ПЭВМ данному уровню взаимодействия соответствует подключение периферий­ной аппаратуры через контроллеры и адаптеры.

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

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

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

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

Уровни 1, 3, 4, 5 обеспечивают построение разнообразных машин­ных комплексов. Особенно часто используется третий в комбинации с четвертым. Целесообразно их дополнять и первым уровнем.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

В сетях первых поколений серверы строились на основе больших и очень дорогих ЭВМ (mainframe), выпускаемых целым рядом компа­ний: Digital Equipment, Tandem, влившихся в корпорацию Compaq, IBM, Hewlett-Packard. Все они работали под управлением ОС Unix и способны были объединяться для совместной работы.

Как и во всякой развивающейся технологии, сложные универсаль­ные серверы различных фирм-изготовителей должны были уступить место стандартным массовым решениям. Успехи микроэлектроники, повсеместное применение ПЭВМ, широкое распространение Internet/ Intranet-технологий позволили перейти к более простым и дешевым системам, например, на основе платформы Wintel. Опыт создания сер­веров на основе SMP- и МРР-структур показал, что они не обеспечи­вают хорошей адаптации к конкретным условиям функционирова­ния, остаются дорогими и сложными в эксплуатации.

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

Целями построения кластеров могут служить:

• улучшение масштабируемости (способность к наращиванию мощ­ности);

• повышение надежности и готовности системы в целом;

• увеличение суммарной производительности;

• эффективное перераспределение нагрузок между компьютерами кластера;

• эффективное управление и контроль работы системы и т.п.

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

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

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

Коэффициент готовности систем рассчитывается по формуле

Кг=Тр/(Тро),

где: Тpполезное время работы системы;

Товремя отказа и восстановления системы, в течение которого она не могла выполнять свои функции.

Большинство современных серверов имеет 99%-ную готовность. Это означает, что около четырех дней в году они не работают. Под­черкнем, что готовность 99,9%, достигаемая обычно спаркой серве­ров — основного и резервного, означает годовой простой около 500 мин., 99,999% — 5 мин., а 99,9999% — 30 с.

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

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

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

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

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

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

Какие же средства имеются для построения кластеров?

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

Кластеры объединяют несколько серверов под единым управле­нием. Все новые серверы, как Правило, являются многопроцессорны­ми и относятся к SMP-структурам, что обеспечивает многоступенча­тую возможность переключения нагрузки отказавшего элемента как внутри кластера, так и внутри сервера. Существуют серверы с раз­личным количеством процессоров (от 2 до 16). Правда, фирма Sun работает над созданием 64-процессорной SMP-модели сервера. IBM предполагает с появлением микропроцессора 1А-64 Merced (новое название его — Itanium) выпустить SMP-систему, рассчитанную на 16 процессоров. Напротив, фирма Dell считает, что применение более восьми процессоров в SMP-структуре нецелесообразно из-за трудно­стей преодоления конфликтов при обращении их к общей оператив­ной памяти.

Большой интерес к построению кластеров стала проявлять фирма Microsoft. В связи с широкой популярностью операционной системы Windows NT, предназначенной для управления сетями крупных пред­приятий, появились различные варианты кластерного обеспечения. Сама фирма Microsoft предлагает бесплатную версию своего клас­терного ПО, встроенного в Windows NT и поддерживающего Microsoft Cluster Server (MSCS). Этот кластерный продукт, известный под на­званием Wolfpack («волчья стая»), еще достаточно слаб, но уверенно прогрессирует. В настоящее время он обеспечивает разделение нагруз­ки между двумя узлами-серверами и то только путем замены одного сервера другим, а не путем ее перераспределения.

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

Унификация инженерно-технических решений предполагает соот­ветственно и стандартизацию аппаратных и программных процедур обмена данными между серверами. Для передачи управляющей ин­формации в кластере используются специальные магистрали, имею­щие более высокие скорости обмена данными. В качестве такого стан­дарта предлагается интеллектуальный ввод-вывод (Intellident Input/ Output — I2O). Спецификация I2O определяет унифицированный ин­терфейс между операционной системой и устройствами ввода-выво­да, освобождая процессоры и их системные шины от обслуживания периферии.

Как и у любой новой технологии, у кластеризации имеются свои недостатки:

• задержки разработки и принятия общих стандартов;

• большая доля нестандартных и закрытых разработок различных фирм, затрудняющих их совместное использование;

• трудности управления одновременным доступом к файлам;

• сложности с управлением конфигурацией, настройкой, разверты­ванием, оповещениями серверов о сбоях и т.п.
^ 11.6.Организация функционирования вычислительных систем

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

В зависимости от структурной организации ВС можно выявить некоторые особенности построения их операционных систем.

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

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

В многомашинных ВС диспетчерские функции могут решаться на централизованной или децентрализованной основе. Связь машин обыч­но устанавливается в порядке подчиненности: «главная ЭВМ — вспо­могательная ЭВМ». Например, в пакете Norton Commander имеется возможность установить подобную связь: Master — Slave.

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

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

• «ведущий — ведомый»;

• симметричная или однородная обработка во всех процессорах;

• раздельная независимая работа процессоров по обработке зада­ний.

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

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

Системы типа «ведущий — ведомый» отличаются довольно про­стым аппаратным и программным обеспечением. Они должны полу­чить распространение в МРР-структурах, но следует иметь в виду, что длительное время планирования может быть причиной простоев ведомых вычислителей.

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

В связи с успехами микроэлектроники появилась возможность реализовывать эти структуры в виде сверхбольших интегральных схем (СБИС), что позволяет получить дополнительные преимуще­ства:

• короткие соединительные линии между процессорными элемента­ми. Это приводит к расширению полосы пропускания и уменьше­нию задержек;

• регулярность структуры, позволяющая увеличивать плотность упаковки СБИС и упрощать ее разработку;

• высокая степень распараллеливания вычислений, что позволяет

обеспечить высокую производительность.

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

Раздельная или независимая работа вычислителей в многопроцес­сорных ВС осуществляется при параллельной обработке независимых заданий. Это позволяет получить максимальную производительность системы. Процедуры управления ею достаточно просты и уже опро­бованы на практике.
Контрольные вопросы

1. Каковы основные предпосылки появления и развития ВС?

2. По каким признакам классифицируются вычислительные систе­мы?

3. Каковы принципиальные различия между многомашинными и мно­гопроцессорными ВС?

4. Какие принципы положены в основу классификации архитектур ВС?

5. Раскройте содержание понятия совместимости в ВС.

6. С какой целью используется несколько уровней комплексирова-ния в ВС?

7. Какие преимущества обеспечивают системы массового паралле­лизма МРР перед другими типами ВС?

8. Назначение и возможности кластеров.

9. Как рассчитать значение коэффициента готовности кластера?

10. Какие типы ВС могут создаваться на базе ПЭВМ?

11. Каковы принципы организации вычислительного процесса в ВС?






Скачать файл (35218.7 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации
Рейтинг@Mail.ru