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

  • 2.4.4 Стандартные программные пакеты организации вычислительных кластеров

  • 2.5 Нетрадиционные архитектуры многопроцессорных вычислительных систем

  • Параллельные вычисления


    Скачать 1.75 Mb.
    НазваниеПараллельные вычисления
    Дата06.05.2019
    Размер1.75 Mb.
    Формат файлаpdf
    Имя файла[Bakanov_V.M.]_Parallelnuee_vuechisleniya__Uchebno(z-lib.org).pdf
    ТипУчебное пособие
    #76301
    страница8 из 16
    1   ...   4   5   6   7   8   9   10   11   ...   16
    ылок, при этом важное зна- чение начинает играть время ‘разгона’ канала связи.
    Время T (сек) передачи сообщения длиной X (Мбайт) от узла A узлу B при пропускной способности сети S (Мбайт/сек) при условии, что никаких иных обменов в сети не происходит, с хорошей точностью описывается формулой:
    Рисунок 14 — Качественный график за- висимости производительности сети от размера передаваемых сообще- ний

    - 54 -
    L
    S
    X
    T
    +
    =
    , (5) где L – время ‘запуска’ обмена (латентность); причем L не зависит от длины сообщения X, при X
    →0 или S

    → имеем TL (именно влиянием латентности определяется вид кривой рис.14).
    Цена обмена P оценивает число байт, ‘потерянных’ каналом вследствие наличия латентности (естественно стремиться к всемерному снижению ла- тентности):
    S
    L
    P
    ×
    =
    Лишь для SMP-машин можно принять S
    → ∞ и L→0); оценочные данные для некоторых известных технологий межпроцессорного обмена представле- ны в табл.3 [5,6].
    Таблица 3 — Характеристики некоторых распространенных коммуни- кационных сетей для типичных представителей MPP- комплексов – вычислительных кластеров.
    Сетевая
    технология
    Fast
    Ethernet
    SCI (Scalable Coherent
    Interface,
    http://www.dolphinics.com
    )
    Myrinet (Myricom,
    Inc.,
    http://www.myri.com
    )
    Латентность, мксек
    40
    ÷70 3 ÷10 17
    Пропускн
    а
    я способ- ность аппаратная
    (Мбайт/сек)
    12 150
    ÷170 170
    Пропускн
    а
    я способ- ность программная
    (Мбайт/сек)
    10 80 40
    Технология Gigabit Ethernet позволяет довести пропускную способность сети до 60
    ÷80 Мбайт/сек, однако латентность зачастую в полтора-два раза выше, чем у FastEthernet [5]. Если для повышения быстродействия
    Fast Ethernet-сети возможно применить технологию Channel Bonding (связы-
    вание каналов, фактически – их дублирование путем совместного использо- вания сетевых плат; в Linux начиная с ядер версии 2.4.x эта возможность яв- ляется стандартно включаемой, см. http://linux-cluster.org.ru/bonding.php.htm
    ), то снизить латентность реально лишь с помощью применения более дорого- стоящего сетевого оборудования.
    Одной из наиболее перспективных технологий считается InfiniBand
    (
    http://www.infinibandta.org/home
    ), позволяющая достичь латентности 4
    ÷5 мксек
    (в перспективе до 1 мксек) и пропускной способности от 800
    ÷1000

    - 55 -
    Мбайт/сек (однонаправленный обмен) до 2000
    ÷2700 Мбайт/сек (двунаправ- ленные обмены).
    Величина латентности определяет класс задач, которые можно эффективно решать на данном многопроцессорном комплексе или необходимый уровень мастерства распараллеливания. Например, при латентности 100 мксек вели- чина зерна распараллеливания должна быть такой, чтобы соответствующая ему последовательность команд выполнялась в среднем за время не менее
    1
    ÷10 мсек (т.е. хотя бы на порядок больше времени латентности); это доста- точно крупнозернистый параллелизм, иначе время обмена сообщениями
    ‘съест’ все повышение производительности от распараллеливания.
    2.4.4 Стандартные программные пакеты
    организации вычислительных кластеров
    В последние годы появилось программные комплексы, позволяющие ор- ганизовать вычислительные кластеры буквально в течение минут. Это, на- пример, дистрибутивы Parallel Knoppix (
    http://pareto.uab.es/mcreel/
    ParallelKnoppix),
    CLIC (
    http://clic.mandrakesoft.com/index-en.htm
    ) компании Man- drake (
    http://mandrake.com
    ), BCCD (
    http://bccd.cs.uni.edu
    ) разработки Универси- тета Северной Айовы США (
    http://cs.uni.edu
    ), Rocks Cluster Distribution
    (http://www.rocksclusters.org)
    и др.
    Особый интерес представляет первая из перечисленных разработок, осно- ванная на технологии openMosix и включающая технологию миграции зада-
    ний. Кластер openMosix (фактически Linux c 3% изменением исходного кода ядра ОС) представляет собой однообразную систему (Single System Image -
    SSI), при этом ресурсы входящих в кластер ЭВМ могут использоваться более эффективно вследствие возможности миграции (перемещения от одной ма- шины к другой) заданий. Особенностью openMosix является то, что пользо- ватель только запускает программу, а ОС кластера решает, где (на каких именно узлах) ее выполнить (если не предусмотрено противоположное); раз- работчики openMosix называют это свойство ‘разветвись-и-забудь’ (fork-and-
    forget). Подобные системы обладают высокой масштабируемостью и могут быть скомпонованы из машин с различными ресурсами (производительность процессора, размер памяти и др.).
    Несмотря на лежащие на поверхности явные достоинства подобных про- граммных пакетов, их применение при создании масштабных кластерных систем ограничено (обычная область их применения – демонстрационные и макетные системы и простейшие кластеры). Основная причина этого – серь- езные затруднения при оптимизации построенного с их использованием кла- стерного ПО (каждый масштабный кластер настраивается и оптимизируется строго индивидуально).

    - 56 -
    Интересной разработкой ПО кластерных систем является проект МВС-900, разработанный в испытательной лаборатория проекта МВС ИПМ им. М.В.Келдыша РАН [5], см. http://pilger.mgapi.edu/metods/1441/lacis.zip
    Технология МВС-900 использует (относительную) малозагруженность обо- рудования учебных Windows-классов, техническая реализация МВС-900 ос- нована на применении диспетчера виртуальных машин VMware (фирма
    VMware, Inc., http://www.vmware.com
    ), под которым работает Linux (рекомен- дуются дистрибутивы Dragon или Slackware, http://sourceforge.net/projects/ dragonlinux, http://www.slackware.com
    ); базовая операционная система – не ниже
    Windows’2000. При этом Windows и VMware-Linux на физической машине взаимодействуют минимально (переразмечать диски не требуется, исполь- зуются непересекающиеся адресные пространства, IP-адреса обслуживаю- щих сетей различны); в случае серьезной аварии восстановить работоспособ- ность МВС-900 ‘с нуля’ реально за полчаса-час.
    Т.о. виртуальный кластер работает совместно с Windows-машинами ком- пьютерного класса, разделяя их ресурсы. Отсутствие значимых накладных расходов при работе Linux под VMware обусловлено ее функционированием не в режиме полной программной эмуляции двоичного кода, а стандартного выполнения на правах обычного Windows-процесса; при этом непривилеги- рованные команды (арифметические, переходов и подобные) выполняются физическим процессором напрямую и только запрещенные к исполнению вне пределов базовой операционной системы привилегированные команды мо- делируются (эмулируя наличие соответствующего внешнего устройства). В конечном итоге центральным процессором выполняется поток команд (есте- ственно, перемежаемый предписаниями базовой ОС при сохранении и вос- становлении контекста), полностью идентичный таковому в настоящих ‘же- лезных’ Linux-кластерах; при этом потери быстродействия процессора на накладные расходы составляют около 7% (по данным разработчиков). Одна- ко формально такой кластер будет гетерогенным (производительность каж- дого узла зависит от загруженности Windows-программами и далеко непо- стоянна).
    Таким образом с помощью технологии МВС-900 реализуется классическая
    MPP-система коллективного пользования, практически полностью идентич- ная (по правилам администрирования, программирования и отладки) распо- ложенному в Межведомственном Суперкомпьютерном Центре (МСЦ) супер- кластеру МВС-1000М (
    http://www.jscc.ru
    ).
    2.5 Нетрадиционные архитектуры
    многопроцессорных вычислительных систем
    Поиски путей повышения производительности компьютеров вызвали раз- витие новых нетрадиционных архитектур вычислительных систем; наиболее

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

    деньги

    товар’): входные данные

    преобразование дан- ных (операторы)

    выходные данные
    Какой объект (из перечисленных) должен управлять преобразованием? Из общих соображений именно тот, ради которого и ‘затеяна вся игра’ – данные
    (в этом смысле операторы суть всего лишь конкретизация технологии обра- ботки информации, малоинтересная конечному потребителю оной).
    Метод вычислений, при котором выполнение каждой операции произво- дится при готовности всех ее операндов, называется data flow (вычисления,
    управляемые потоком данных), при таком методе последовательность вы-
    полнения команд заранее не задается; используется также понятие Data
    Driven Computing (вычисления, управляемые данными). Впервые графиче- скую модель вычислений, управляемых потоком данных, предложил Дуайн
    Эдэмс (Стэнфордский университет, 1968). В системе data flow вместо импе- ративного указания выполнить некоторую команду используется разрешение
    ее выполнить; схема data flow противопоставляется традиционной схеме с управлением потоком (control flow).
    Сама природа метода управления потоком данных подразумевает глубокий параллелизм (в отличие от метода управления потоком команд, заданных че- ловеком). Метод управления потоком данных открывает широкие возможно- сти для организации параллельных вычислительных процессов, причем с ап-
    паратным распараллеливанием.
    Работы по созданию по созданию программно-аппаратных средств реали- зации принципа data flow велись в государственных и частных исследова- тельских центрах всего мира: напр., в Массачусетсом технологическом ин- ституте (процессор Tagget Token), лабораториях фирмы Texas Instruments
    (США), в Манчестерском университете (Англия), однако дальше экспери- ментальных машин дело не пошло. Наиболее известны data flow - системы
    Monsoon, Epsilon (США) и CSRO-2 (Австралия).
    В системах data flow последовательность выполнения операций зависит от готовности операндов (как только в памяти оказываются необходимые опе- ранды, необходимые и достаточные для выполнения того или иного опера- тора, исполнение последнего инициируется на одном из нескольких испол- нительных устройств - если есть свободные). При этом последовательность выполнения операций программы может отличаться от порядка их записи -

    - 58 - например, различные итерации цикла могут выполняться одновременно (бо- лее того, i+1-я итерация может выполняться ранее i-той – если для нее гото- вы данные). Data flow - системы включают много исполнительных устройств, работающих параллельно, на каждом из них возможно выполнение любого оператора системы команд машины.
    Таким образом удается преодолеть традиционно-узкое место современных скалярных процессоров, существенную часть времени тратящих не на об- работку данных, а на процедуры управления данными и спекулятивные вы-
    числения. В отличие от многомашинных комплексов с традиционной архи- тектурой распараллеливание вычислительных процессов в системах data flow осуществляется аппаратно. При этом работа по организации вычислитель- ного процесса возлагается на особое запоминающее устройство, в котором происходит накопление операндов и поиск готовых к выполнению операто- ров (аналог устройства управления в традиционных последовательных
    ЭВМ). Д
    ля описания потоковых программ используется язык акторных се-
    тей.
    Наиболее эффективная реализация этого механизма – использование ассо- циативной памяти, которая представляет собой сложное устройство, предна- значенное не только для хранения данных с определенными признаками – тэгами (tag, причем тэг указывает, в каком контексте используются данные и для выполнения какой команды они предназначены), но и для сравнения тэгов (п ри их совпадении происходит выборка данных и инициация выпол- нения соответствующей команды). Заметим, что этот механизм частично ис- пользуется в некоторых современных высокопроизводительных микропро- цессорах (напр., в 64-разрядном Itanium фирмы Intel).
    В терминологии data flow данные вместе с набором признаков (тэгами) именуются токенам (token – признак, метка, готовый для употребления). При data flow механизм управления данными сильно развит, соответственно име- ется большее число управляющих признаков у данных (выполняемая и сле- дующая за ней команды – та, кому необходим результат операции, номер итерации, тип операции - векторная/скалярная, одно/двухоперандная, число токенов результата операции, при этом совокупность признаков токена без кода операции именуется его ‘окраской’).
    На рис.15 приведена схема data flow – вычислителя согласно работы (
    *
    ), исследования и создание новых архитектур ЭВМ проводились в рамках
    ‘Программы Основных направлений фундаментальных исследований и раз- работок по созданию оптической сверхвысокопроизводительной вычисли- тельной машины Академии наук’ (ОСВМ), позднее от реализации ассоциа-
    *
    Бурцев В.С. Выбор новой системы организации выполнения высокопараллельных вы- числительных процессов, примеры возможных архитектурных решений построения су- перЭВМ. // В кн.: Параллелизм вычислительных процессов и развитие архитектуры су- перЭВМ. – М.: ИВВС РАН, 1997.

    - 59 - тивной памяти на основе оптики от- казались в пользу появившихся на рынке высокопроизводительных полупроводниковых модулей тро- ичной ассоциативной памяти
    (Ternary Content Addressable
    Memory, TCAM)
    компаний Motorola,
    Music Semiconductors, Inc., M
    icron
    Tech., Inc.
    По этой схеме вычислительное устройство представляет собой кольцевую структуру.
    Токены фор- мируются на основе анализа струк- туры алгоритма, хранятся в ассо- циативной памяти (АП) и при усло- вии набора их комплекта, достаточ- ного для выполнения одного из опе- раторов, направляются в буфер ас- социативной памяти (БАП). В
    БАП’е накапливаются готовые па- кеты для передачи в исполнитель- ной устройство (ИУ); коммутатор
    K
    in распределяет пакеты готовых токенов между свободными ИУ.
    В ассоциативной памяти поиск нужной информации производится не по адресу ячейки, а по ее содержанию (ассоциативному признаку), при этом по- иск по ассоциативному признаку (или последовательно по отдельным его разрядам) происходит параллельно во времени для всех ячеек запоминающе- го массива.
    Данные в ассоциативной памяти интенсивно обрабатываются, поэтому для увеличения быстродействия она разбита на отдельные модули.
    Набор признаков токенов, полученных в результате обработки ИУ, аппаратно анализируется и коммутатором K
    out распределяется по модулям АП.
    Именно в таком направлении работают сотрудники отдела Института про- блем информатики РАН, ряд лет возглавляемые В.С.Бурцевым (при финан- совой поддержке американской корпорации Nodal Systems).
    Другой путь развития вычислительных систем связывают с отказом от коммутаторов (коммутационных сетей), ограниченное быстродействие кото- рых тормозит рост производительности МВС. Современные технологии по- зволяют создавать кристаллы с огромным количеством простых процессор-
    ных элементов (ПЭ), массивы ПЭ с непосредственными соединениями между близлежащими ПЭ называются систолическими. Такие массивы обладают
    Рисунок 15 — Архитектура вычислительного устройства, реализующего подход data flow.

    - 60 - очень высоким быстродействием, но каждый из них ориентирован на реше- ние очень узкого класса задач.
    В работе [7] описано использование систолических массивов (СМ) для ре- шения специальной задачи умножения и сложения матриц [D]=[C]+[A]
    ×
    [B]
    (частный случай афинного преобразования), причем все матрицы — ленточ- ные порядка N; матрица [A] имеет одну диагональ выше и две диагонали ни- же главной; матрица [B] — одну диагональ ниже и две диагонали выше глав- ной; матрица [C] по три диагонали выше и ниже главной. Каждый входящий в систолический массив ПЭ выполняет скалярную операцию c+ab и одно- временно осуществляет передачу данных (имеет три входа a,b,c и три выхо- да a,b,c, причем (in) и выходные (out) данные связаны соотношениями
    a
    out
    =a
    in
    , b
    out
    =b
    in
    , c
    out
    =c
    in
    +a
    in
    ×
    b
    in
    , точка в обозначении систолической ячей- ки определяет ее ориентация на плоскости, рис.16).
    Рисунок 16
    — Систолический массив для реализации матричной операции
    [D]=[C]+[A]
    ×
    [B] (слева – принятое обозначение систолической ячейки для выпол- нения скалярной операции c+a
    ×
    b и передачи данных).
    Ячейки расположены в узлах регулярной косоугольной решетки, исходные данные поступают слева сверху, справа сверху и снизу (элементы матрицы
    [A], [B] и [C] соответственно), за каждый такт все данные перемещаются в соседние узлы по указанным стрелками направлениям. Рис.16 иллюстрирует состояние СМ в некоторый момент времени, при следующем такте все дан- ные переместятся на один узел и элементы a
    11
    , b
    11
    и c
    11
    окажутся в одном

    - 61 -
    ПЭ (помечен номером 1), находящемся на пересечении штриховых линий
    (т.е. будет вычислено выражение с
    11
    +
    a
    11
    ×
    c
    11
    . В этот же такт данные a
    12
    и
    b
    21
    вплотную приблизятся в ПЭ, находящемся в вершине систолического массива (помечен символом 2), в следующий такт все данные снова перемес- тятся на один узел по направлению стрелок и в верхнем ПЭ окажутся a
    12
    и b
    21
    плюс результат предыдущего срабатывания ПЭ, находящегося снизу, т.е.
    с
    11
    +a
    11
    ×
    b
    11
    Следовательно, будет вычислено выражение
    c
    11
    +a
    11
    ×
    b
    11
    +a
    12
    ×
    b
    21
    , а это и есть иск
    1   ...   4   5   6   7   8   9   10   11   ...   16


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