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



ЗНАЕТЕ ЛИ ВЫ?

Многопроцессорные структуры ВС

Поиск

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Кластеры

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

КГр/(Тр0)

 

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

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

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

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

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

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

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

Управление такими проектами требует создания специального клиентского и серверного программного обеспечения, работающего в фоновом режиме. Компьютеры при этом периодически получают задания от сервера, включаются в работу и возвращают результаты обработки. Последние версии браузеров (browser) еще более упрощают процесс взаимодействия, так как на клиентской машине могут активизировать выполнение различных программ-сценариев (скриптов). Эффективное управление и контроль работы системы подразумевает возможность работы отдельно с каждым узлом, вручную или программно отключать узел для модернизации или ремонта с после­дующим возвращением его в работающий кластер. Эти операции скрыты от пользователей. Кластерное ПО, интегрированное в операционные системы серверов, позволяет работать с узлами как с единым пулом ресурсов (Single System Image - SSI), внося необходимые общие изменения с помощью одной операции для всех узлов. Какие же средства имеются для построения кластеров? Существуют различные методы и средства построения надежных систем с резервированием. Они рассматриваются как по отношению к средствам обработки, так и по отношению к средствам хранения Данных. Например, есть источники бесперебойного питания и резервные блоки питания, способные устранять влияние сбоев и отказов в электроснабжении. Имеются также дисковые массивы RAID, обеспечивающие непрерывную обработку запросов к информации, хранящейся на дисках, даже в случае выхода из строя одного или нескольких из них. Но более интересны средства обработки.

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

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

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

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

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


Поделиться:


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

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