Главная страница
Навигация по странице:

  • В сильносвязанных системах

  • — мультипроцессирование с разделением памяти

  • Слабосвязанные МКМД-системы

  • Улучшение масштабируемости

  • Повышение суммарной производительности

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

  • 11.6.Организация функционирования вычислительных систем

  • Операционные системы многомашинных ВС

  • Программное обеспечение многопроцессорных ВС

  • Вычислительные системы


    Скачать 1.02 Mb.
    НазваниеВычислительные системы
    Дата24.12.2022
    Размер1.02 Mb.
    Формат файлаpdf
    Имя файлаL11.pdf
    ТипГлава
    #862298
    страница3 из 3
    1   2   3
    ОКМД-структуры.
    Для реализации программного параллелизма, включающего циклы и итерации, используются матричные или векторные структуры. В них эффективно решаются задачи матричного исчисления, задачи решения систем алгебраических и дифференциальных уравнений, задачи теории поля, геодезические задачи, задачи аэродинамики. Теоретические проработки подобных структур относятся к концу 50-х — 60-м гг. Данные структуры очень хорошо зарекомендовали себя при решении перечисленных задач, но они получились очень дорогими по стоимости и эксплуатации. Кроме того, в тех случаях, когда структура параллелизма отличалась от матричной, возникает необходимость передачи данных между процессорами через коммутаторы. При этом эффективность вычислений резко снижается. Подобные структуры могут ис- пользоваться как сопроцессоры в системах будущих поколений.
    МКОД-структуры большой практической реализации не получили. Задачи, в которых несколько процессоров могли бы эффективно обрабатывать один поток данных, в науке и технике неизвестны. С некоторой натяжкой к этому классу можно отнести фрагменты многофункциональной обработки, например обработку на разных процессорах команд с фиксированной и плавающей точкой.
    Так же как фрагмент такой структуры, можно рассматривать локальную сеть персональных компьютеров, работающих с единой базой данных, но скорее всего это — частный случай использования МКМД-структуры.
    МКМД-структуры являются наиболее интересным классом структур вычислительных систем. После разочарований в структурах суперЭВМ, основанных на различном сочетании векторной и конвейерной обработки, усилия теоретиков и практиков сосредоточены в этом направлении.
    Уже из названия МКМД-структур видно, что в данных системах можно найти все перечисленные виды параллелизма. Этот класс дает большое разнообразие структур, сильно отличающихся друг от друга своими характеристиками (рис. 11.5).
    Важную роль здесь играют способы взаимодействия ЭВМ или процессоров в системе. В сильносвязанных системах достигается высокая оперативность взаимодействия процессоров посредством общей оперативной памяти. При этом пользователь имеет дело с многопроцессорными вычислительными системами.
    Наиболее простыми по строению и организации функционирования являются одно-
    родные, симметричные структуры. Они обеспечивают простоту подключения процессоров и не требуют очень сложных централизованных операционных систем, размещаемых на одном из процессоров.

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

    17 получили название систем с массовым параллелизмом (Mass-Parallel Processing,
    MPP).
    Все процессорные элементы в таких системах должны быть связаны единой коммутационной средой. Нетрудно видеть, что здесь возникают проблемы, аналогичные ОКМД-системам, но на новой технологической основе.
    Передача данных в МРР-системах предполагает обмен не отдельными данными под централизованным управлением, а подготовленными процессами
    (программами вместе с данными). Этот принцип построения вычислений уже не соответствует принципам программного управления классической ЭВМ. Передача данных процесса по его готовности больше соответствует принципам построения
    «потоковых машин» (машин, управляемых потоками данных). Подобный подход позволяет строить системы с громадной производительностью и реализовывать проекты с любыми видами параллелизма, например перейти к «систолическим вычислениям» с произвольным параллелизмом. Однако для этого необходимо решить целый ряд проблем, связанных с описанием и программированием коммутаций процессов и управления ими. Математическая база этой науки в настоящее время практически отсутствует.
    11.5. Кластеры
    Вычислительные системы как мощные средства обработки заданий пользователей широко используются не только автономно, но и в сетях ЭВМ в качестве серверов (см. рис. 11.5).
    С увеличением размеров сетей и их развитием возрастают плотность информационных потоков, нагрузка на средства доступа к сетевым ресурсам и на средства обработки заданий. Круг задач, решаемых серверами, постоянно расширяется, становится многообразным и сложным. Чем выше ранг сети, тем более специализированными они становятся. Администраторы сетей должны постоянно наращивать их мощь и количество, оптимизируя характеристики сети под возрас- тающие запросы пользователей.
    В сетях первых поколений серверы строились на основе больших и очень дорогих ЭВМ (mainframe), выпускаемых целым рядом компаний: Digital Equipment,
    Tandem, влившихся в корпорацию Compaq, IBM, Hewlett-Packard. Все они работали под управлением ОС Unix и способны были объединяться для совместной работы.
    Как и во всякой развивающейся технологии, сложные универсальные серверы различных фирм-изготовителей должны были уступить место стандартным массовым решениям. Успехи микроэлектроники, повсеместное применение ПЭВМ, широкое распространение Internet/ Intranet-технологий позволили перейти к более простым и дешевым системам, например, на основе платформы Wintel. Опыт создания серверов на основе SMP- и МРР-структур показал, что они не обеспечи- вают хорошей адаптации к конкретным условиям функционирования, остаются дорогими и сложными в эксплуатации.
    Одним из перспективных направлений здесь является кластеризация, т.е. технология, с помощью которой несколько серверов, сами являющиеся вычислительными системами, объединяются в единую систему более высокого ранга для повышения эффективности функционирования системы в целом.
    Целями построения кластеров могут служить:

    18
    • улучшение масштабируемости (способность к наращиванию мощности);
    • повышение надежности и готовности системы в целом;
    • увеличение суммарной производительности;
    • эффективное перераспределение нагрузок между компьютерами кластера;
    • эффективное управление и контроль работы системы и т.п.
    Улучшение масштабируемости или способность к наращиванию мощности предусматривает, что все элементы кластера имеют аппаратную, программную и информационную совместимость. В сочетании с простым и эффективным управлением изменение оборудования в идеальном кластере должно обеспечивать соответствующее изменение значений основных характеристик, т.е. добавление новых процессоров, дисковых систем должно сопровождаться пропорциональным ростом производительности, надежности и т.п. В реальных системах эта зависимость имеет нелинейный характер.
    Масштабируемость SMP- и МРР-структур достаточно ограничена. При большом числе процессоров в SMP-структурах возрастает число конфликтов при обращении к общей памяти, а в МРР-структурах плохо решаются задачи преобразования и разбиения приложений на отдельные задания процессорам. В кластерах же администраторы сетей получают возможность увеличивать пропускную способность сети за счет включения в них дополнительных серверов, даже уже из числа работающих, с учетом того, что балансировка и оптимизация нагрузки будут выполняться автоматически.
    Следующей важной целью создания кластера является повышение
    надежности и готовности системы в целом. Именно эти качества способствуют популярности и развитию кластерных структур. Избыточность, изначально заложенная в кластеры, способна их обеспечить. Основой этого служит возможность каждого сервера кластера работать автономно, но в любой момент он может переключиться на выполнение работ другого сервера в случае его отказа.
    Коэффициент готовности систем рассчитывается по формуле
    Кг=Т
    р
    /(Т
    р

    о
    ), где: Т
    p
    полезное время работы системы;
    Т
    о
    время отказа и восстановления системы, в течение которого она не могла выполнять свои функции.
    Большинство современных серверов имеет 99%-ную готовность. Это означает, что около четырех дней в году они не работают. Подчеркнем, что готовность 99,9%, достигаемая обычно спаркой серверов — основного и резервного, означает годовой простой около 500 мин., 99,999% — 5 мин., а 99,9999% — 30 с.
    Появление критически важных приложений в областях бизнеса, финансов, телекоммуникаций, здравоохранения и др. требует обеспечения коэффициента готовности не менее чем «заветные пять девяток» и даже выше.
    Повышение суммарной производительности кластера, объединяющего несколько серверов, обычно не является самоцелью, а обеспечивается автоматически. Ведь каждый сервер кластера сам является достаточно мощной вычислительной системой, рассчитанной на выполнение им всех необходимых функций в части управления соответствующими сетевыми ресурсами. С развитием сетей все большее значение приобретают и распределенные вычисления. При этом многие компьютеры, в том числе и серверы, могут иметь не очень большую

    19 нагрузку. Свободные ресурсы домашних компьютеров, рабочих станций локальных вычислительных сетей, да и самих серверов можно использовать для выполнения каких-либо трудоемких вычислений. При этом стоимость создания подобных вычислительных кластеров очень мала, так как все их составные части работают в сети и только при необходимости образуют виртуальный (временный) вычислитель- ный комплекс.
    Совокупные вычислительные мощности кластеров могут быть сравнимы с мощностями суперЭВМ и даже превышать их при неизмеримо меньшей стоимости.
    Такие технологии применительно к отдельным классам задач хорошо отработаны.
    Например, существует задача анализа сигналов, принимаемых радиотелескопами, с целью поиска внеземных цивилизаций; имеется проект distributed.net, реализующий алгоритм дешифрирования, и др. Круг подобных задач не очень широк, но число одновременно привлекаемых компьютеров для этих целей может быть громадным
    — десятки, сотни и даже тысячи.
    Работа кластера под управлением единой операционной системы позволяет оперативно контролировать процесс вычислений и эффективно перераспределять
    нагрузки между компьютерами кластера.
    Управление такими проектами требует создания специального клиентского и серверного программного обеспечения, работающего в фоновом режиме.
    Компьютеры при этом периодически получают задания от сервера, включаются в работу и возвращают результаты обработки. Последние версии браузеров (browser) еще более упрощают процесс взаимодействия, так как на клиентской машине можно активизировать выполнение различных программ-сценариев (скриптов).
    Эффективное управление и контроль работы системы подразумевает возможность работы отдельно с каждым узлом, вручную или программно отключать его для модернизации либо ремонта с последующим возвращением его в работающий кластер. Эти операции скрыты от пользователей, они просто не замечают их. Кластерное ПО, интегрированное в операционные системы серверов, позволяет работать с узлами как с единым пулом ресурсов (Single System Image,
    SSI), внося необходимые общие изменения с помощью одной операции для всех узлов.
    Какие же средства имеются для построения кластеров?
    Существуют различные методы и средства построения надежных систем с резервированием. Они рассматриваются как по отношению к средствам обработки, так и по отношению к средствам хранения данных. Например, есть источники бесперебойного питания и резервные блоки питания, способные устранять влияние сбоев и отказов в электроснабжении. Имеются также дисковые массивы RAID, обеспечивающие непрерывную обработку запросов к информации, хранящейся на дисках, даже в случае выхода из строя одного или нескольких из них. Но нам более интересны средства обработки.
    Кластеры объединяют несколько серверов под единым управлением. Все новые серверы, как Правило, являются многопроцессорными и относятся к SMP- структурам, что обеспечивает многоступенчатую возможность переключения нагрузки отказавшего элемента как внутри кластера, так и внутри сервера.
    Существуют серверы с различным количеством процессоров (от 2 до 16). Правда, фирма Sun работает над созданием 64-процессорной SMP-модели сервера. IBM

    20 предполагает с появлением микропроцессора 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.Организация функционирования вычислительных систем
    Управление вычислительными процессами в ВС осуществляют операционные системы, которые являются частью общего программного обеспечения. В состав ОС включают как программы централизованного управления ресурсами системы, так и программы автономного использования вычислительных модулей. Последнее условие необходимо, поскольку в ВС обычно предусматривается более высокая надежность функционирования, например требование сохранения работоспособности при наличии в ней хотя бы одного исправного модуля.
    Требование увеличения производительности также предполагает возможность параллельной и даже автономной работы модулей при обработке отдельных заданий или пакетов заданий.

    21
    В зависимости от структурной организации ВС можно выявить некоторые особенности построения их операционных систем.
    Операционные системы многомашинных ВС являются более простыми.
    Обычно они создаются как надстройка автономных ОС отдельных ЭВМ, поскольку здесь каждая ЭВМ имеет большую автономию в использовании ресурсов (своя оперативная и внешняя память, свой обособленный состав внешних устройств и т.д.). В них широко используются программные методы локального (в пределах вычислительного центра) и дистанционного (сетевая обработка) комплексирования.
    Общим для построения ОС многомашинных комплексов служит тот факт, что для каждой машины ВС другие машины играют роль некоторых внешних устройств, и их взаимодействие осуществляется по интерфейсам, имеющим унифицированное программное обеспечение. Все обмены данными между ЭВМ должны предусматриваться пользователями путем включения в программы специальных операторов распараллеливания вычислений. По этим обращениям ОС ВС включает особые программы управления обменом. При этом ОС должна обеспечивать распределение и последующую пересылку заданий или их частей, оформляя их в виде самостоятельных заданий. Такие ОС, организуя обмен, должны формировать и устанавливать связи, контролировать процессы обмена, строить очереди запросов, решать конфликтные ситуации.
    В многомашинных ВС диспетчерские функции могут решаться на централизованной или децентрализованной основе. Связь машин обычно устанавливается в порядке подчиненности: «главная ЭВМ — вспомогательная
    ЭВМ». Например, в пакете Norton Commander имеется возможность установить подобную связь: Master — Slave.
    Программное обеспечение многопроцессорных ВС отличается большей сложностью. Это объясняется глубинной сложностью всестороннего анализа процессов, формируемых в ВС, а также сложностью принятия решения в каждой конкретной ситуации. Здесь все операции планирования и диспетчеризации связаны с динамическим распределением ресурсов (оперативной и внешней памяти, процес- соров, данных системных таблиц, программ, периферийного оборудования и т.п.).
    Центральное место в этом отводится степени использования и методам управления общей оперативной памятью. Здесь очень часто могут формироваться множественные конфликты, требующие сложных процедур решения, что приводит к задержкам в вычислениях. Как таковые автономные ОС отдельных процессоров отсутствуют.
    Для обеспечения эффективной работы многопроцессорных систем их операционные системы специализируют на следующие типовые методы взаимодействия процессоров: '
    «ведущий — ведомый»;
    • симметричная или однородная обработка во всех процессорах;
    • раздельная независимая работа процессоров по обработке заданий.
    Выбор метода «ведущий — ведомый» в наибольшей степени соответствует ВС с централизованным управлением. Здесь имеется определенная аналогия с многомашинными системами, организованными по принципу «главная ЭВМ — вспомогательная ЭВМ». Диспетчерские функции выполняются только одним

    22 процессором системы. Закрепление этих функций может быть фиксированным и плавающим.
    Для этого выделяется специализированный процессор или обычный процессор универсального типа, переключающийся и на выполнение вычислений.
    Системы типа «ведущий — ведомый» отличаются довольно простым аппаратным и программным обеспечением. Они должны получить распространение в МРР- структурах, но следует иметь в виду, что длительное время планирования может быть причиной простоев ведомых вычислителей.
    Симметричная или однородная обработка в матрице процессоров возможна при использовании однотипных процессорных элементов, каждый из которых имеет непосредственные связи по передаче данных с другими элементами. В отличие от
    ОКМД-структур ранних выпусков, в которых синхронизировалось выполнение отдельных команд, в МРР-структурах симметричная обработка должна обеспечивать синхронизацию выполнения целых процессов. К сожалению, ни один из существующих языков программирования не содержит эффективных средств управления параллельными вычислениями. Такая система имеет большие преимущества.
    Она обладает повышенной живучестью и сохраняет работоспособность при выходе из строя даже нескольких процессоров матрицы, так как здесь имеется более высокий уровень резервирования. В ней обеспечивается более полная загрузка процессоров с лучшим использованием их процессорного времени. Расход других общесистемных ресурсов также выше.
    В связи с успехами микроэлектроники появилась возможность реализовывать эти структуры в виде сверхбольших интегральных схем (СБИС), что позволяет получить дополнительные преимущества:
    • короткие соединительные линии между процессорными элементами. Это приводит к расширению полосы пропускания и уменьшению задержек;
    • регулярность структуры, позволяющая увеличивать плотность упаковки
    СБИС и упрощать ее разработку;
    • высокая степень распараллеливания вычислений, что позволяет обеспечить высокую производительность.
    Для управления процессом вычислений из однородной среды процессорных элементов выделяется один, играющий роль ведущего. Эти функции при необходимости могут передаваться от одного процессора к другому.
    Раздельная или независимая работа вычислителей в многопроцессорных ВС осуществляется при параллельной обработке независимых заданий. Это позволяет получить максимальную производительность системы. Процедуры управления ею достаточно просты и уже опробованы на практике.
    1   2   3


    написать администратору сайта