Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KS_LK_AllInOne.docx
Скачиваний:
175
Добавлен:
23.11.2019
Размер:
28.78 Mб
Скачать

4 Вероятность того, что в момент поступления очередной заявки все n процессоров заняты обслуживанием

, ( 4)

  • МПВС с 2-х уровневой памятью

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

Функционирование МПС в режиме разделения нагрузки с двухуровневой памятью можно представить разомкнутой сетевой моделью (рисунок 3).

Рисунок 9.3 - Сетевая модель МВС с общей памятью двух уровней

Обслуживание заявки, поступившей на вход системы, состоит из этапов счета, выполняемых процессорами, которые моделируются системой S1, и этапов обращения к памяти, моделируемой системой S2. Этап обращения к памяти следует за этапом счета с вероятностью p и с вероятностью (1-p) заявка покидает систему. Внешняя память представлена С-канальной системой массового обслуживания S2, т.е. предполагается, что любое обращение к внешней памяти может быть обслужено любым из каналов ввода-вывода. На основе использования аппарата линейных стохастических сетей могут быть найдены следующие характеристики МВС с общей памятью двух уровней:

1.Средняя длина очереди заявок, ожидающих обслуживания в системе: ( 5)

 

где l 1- средняя длина очереди заявок в S1; l 2 - средняя длина очереди заявок в S2; b 1 = l 1J 1 - среднее число занятых процессоров в S1; b 2 = l 2J 2 - среднее число занятых каналов в S2;

;

- интенсивности потоков, входящих в системы S1 и S2 соответственно;

- среднее время обслуживания заявки в процессоре;

J 2 - среднее время обслуживания заявки одним из каналов ввода-вывода, т.е. среднее время обмена информацией между ОП и ВП. N - число каналов в системе S1; C- число каналов в системе S2;

 

- вероятность того, что система S1 свободна от обслуживания заявок ;

- вероятность того, что система S2 свободна от обслуживания заявок;

2. Среднее время ожидания заявок в очереди :

 

. ( 6)

3. Среднее время пребывания заявок в системе :

( 7)

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

Характеристики мультипроцессорных и многомашинных систем с индивидуальной памятью

 

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

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

Рис. 1 Структура МВС с индивидуальной памятью

 

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

Рис.2 Модель МВС с индивидуальной памятью одного уровня

 

Каждая из систем массового обслуживания состоит из потока заявок с интенсивностью l i, очереди Oi и процессора Прi. Предполагая, что входные потоки пуассоновские, длительности обслуживания распределены по экспоненциальному закону и принята дисциплина обслуживания заявок FIFO, могут быть получены следующие зависимости для основных характеристик каждой из систем:

1.Среднее время ожидания заявок

,

где

i- загрузка i-ой системы, i = 1,N;

- длительность обслуживания заявки в i-ой системе; i - трудоемкость программы, решаемой в i-процессоре; B - быстродействие процессора.

2.Среднее время пребывания заявок

3.Среднее число заявок в очереди

МВС как целый объект обслуживает суммарный поток заявок, поступающий на вход системы с интенсивностью:

Заявка из суммарного потока с вероятностью l 1/l будет ожидать обслуживания в среднем w1 единиц времени, с вероятностью l 2/l - w2 - единиц времени. С учетом этого характеристики системы определяются следующими выражениями:

1.Среднее время ожидания заявок

2.Среднее время пребывания заявок

3.Средняя длина очереди заявок

Функционирование МВС с двухуровневой памятью в режиме разделения функций можно представить сетевой моделью (рис.4.3).

Рис.4.3. Сетевая модель МВС с индивидуальной памятью двух уровней

 

На вход сети поступают потоки заявок с интенсивностями

1, 2, …,  N. Одноканальные системы массового обслуживания S1, S2, …, SN моделируют работу процессоров Пр1, Пр2, …, ПрN в режиме разделения функций. C-канальная система массового обслуживания моделирует работу памяти второго уровня. Обслуживание заявки, поступившей на вход системы состоит из этапов счета, выполняемых процессорами Прi за среднее время i, и этапов обращения к внешней памяти, выполняемых C-каналами ввода/вывода за среднее время N+1. Этап обращения к памяти следует за этапом счета с вероятностью P, и с вероятностью (1-P) заявка по окончанию этапа счета покидает систему. По окончании этапа обращения к внешней памяти с вероятностью Pi, i=1,N возвращается в одну из систем Si, i=1,N.

Определение характеристик рассматриваемой МВС производится с использованием аппарата экспоненциальных стохастических сетей.

Суммарная интенсивность потока на входе системы Si, i=1,N.

Интенсивность потока на входе системы SN+1

О с н о в н ы е х а р а к т е р и с т и к и д л я с и с т е м ы Si, i=1,N:

1.Среднее время ожидания заявок

2.Среднее время пребывания заявок

3.Среднее число заявок в очереди

 

О с н о в н ы е х а р а к т е р и с т и к и д л я с и с т е м ы SN+1:

1.Средняя длина очереди заявок

где

вероятность того, что многоканальная система SN+1 свободна от обслуживания заявок.

2.Среднее время ожидания заявок

3.Среднее время пребывания заявок

 

О с н о в н ы е х а р а к т е р и с т и к и в ц е л о м:

1.Среднее число заявок, ожидающих обслуживания в сети:

2.Среднее время ожидания заявок в сети:

3.Среднее время пребывания заявок в сети:

При расчетах по вышеприведенным формулам принято, что вероятности Pi = 1/i, где i=1,N.

Выбор аппаратного обеспечения кластера.

Критериями эффективности сети кластера являются:

  • пропускная способность канала «точка-точка»,

  • латентность.

  • экспериментальный коэффициент полноты.

  • потребность сети в вычислительной мощности

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

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

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

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

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

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

Puс 1. Общая структура кластера

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

  • Рабочая станция узла

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

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

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

  • Коммуникационная среда - баланс стоимости и

производительности

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

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

Базовое понятие нашей модели - обмен «точка-точка» между двумя произ­вольными углами: например, узел 7 посылает узлу 9 сообщение длиной 100 байт, а узел 9 его принимает. Прежде всего, примем гипотезу симметрии обменов «точ­ка-точка»: будем считать, что с точки зрения производительности обмены между любыми двумя узлами равноценны. В отношении современных технологий локальных сетей, применяемых при построении кластеров, наше допущение довольно реалистично, поскольку все они строятся либо на основе центрального коммутатора. либо (реже) на основе общей шины. Неоднородностью внутренней структуры коммутатора или каскада из небольшого числа коммутаторов можно с некоторой степенью точности пренебречь.

Производительность обмена «точка-точка» зависит от того, является ли этот обмен единственным в сети или одновременно с ним выполняются другие обмены. Не только обмены с одними и теми же участниками (например, две од­новременных посылки из узлов 3 н 5 в узел 11). но и обмены между разными па­рами узлов (3-й посылает 5-му, а в это же время 9-й посылает 8-му) могут «ме­шать» друг другу.

Наконец- при выполнении обмена (приема или передачи сообщения) узлом процесс разделяется на два элементарных акта; запуск обмена и проверка завер­шения.

В то время, когда обмен запущен, но еще не завершился, будет вправе вы­полнять некоторые расчеты.

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

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

  • Критерии эффективности коммуникационной среды. Производительность, латентность и цена обмена

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

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

Пусть узел А передает yзлу В сообщение длиной X байт, и при этом никаких других обменов в сети не происходит .

Время T, затрачиваемое на такую передачу, довольно точно оценивается формулой:

T=S*X+ L , где L не зависит от X

В этой формуле, очевидно. Т есть пропускная способность канала «точка-точка» на пустой сети или мгновенная скорость передачи данных. S измеряет­ся в (мегабайтах а секунду)

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

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

P=L*S.

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

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

Если X много больше Р, то есть длина сообще­нии много больше цены обмена, производительность близка к пропускной способ­ности. Напротив,

Если X много меньше Р. производительность практически полно­стью определяется латентностью, а не пропускной способностью.

Наконец, при X равном Р производительность ровна в точности половине пропускной способности канала. Тем самым, иена обмена - это такая длина сообщения, при использо­вании которой производительность канала равна половине его пропускной способности.

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

Так. в SMP-системе (машине с общей, симметрично адресуемой памятью) пропускная способность бесконечна, а латентность теоретически равна нулю.

  • Полнота сети

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

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

Или. что то же самое, при любом разделении сети пополам (бисскиии) пропускная способность потока данных из одной половины в другую есть сумма пропускных способностей независимых каналов. ведущих из одной половины сети в другую |. Типичный пример бисекционно неполной сети - сеть на базе двух однородныч коммутаторов. объеди­ненных между собой единственной линией.

Рис 2.2. Бисекционно неполная сеть

Следует отмстить, что при практической оценке пропускной способности реальной сети в режиме интенсивных перекрестных обменов модель бисекционной полноты недостаточна.

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

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

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

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

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

Все обмены на одном узле должны запускаться одновременно, чтобы ис­ключить их зависимость друг от друга по порядку выполнения. Если среднее вре­мя выполнения витка такого теста равно Т, то легко подсчитать суммарный объем переданных за это время одним узлом данных D:

D=X(N-1)

где N - число узлов кластера. Если бы сеть была идеальна, то есть никакой обмен не мешал бы никакому другому, этот объем данных мог бы быть передан из узла за врем Ti

Ti=D/S=(X(N-1))/S

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

Fi=T/Ti

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

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

  • Потребность сети в вычислительной мощности

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

С=Tm /Tc

Отмстим, что для «более или менее разумной» сети С должно мало отли­чаться от единицы, то есть не должна заметно потреблять вычислительную мощность узла.

В итоге мы сформулировали четыре независимых критерия эффективности сети, важных с точки зрения ее практического использования. Таковыми являются:

  • пропускная способность канала «точка-точка»,

  • латентность.

  • экспериментальный коэффициент полноты.

  • потребность сети в вычислительной мощности,

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]