Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PODs 2.0 release Marina_Lesha version beta3 vir...doc
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
3.02 Mб
Скачать

14 Вопрос. Общая структура компьютера cray t3e: аппаратная поддержка синхронизации параллельных процессов.

Д ля поддержки синхронизации процессорных элементов предусмотрена аппаратная

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

процессор должен ждать до тех пор, пока остальные также не дойдут до барьера, и лишь

после этого момента все процессы могут продолжать работу дальше.

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

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

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

15 Вопрос. Вычислительные кластеры: узлы, коммуникационная сеть (латентность, пропускная способность), способы построения.

Помимо традиционных суперкомпьютеров типа Cray ТЗЕ или IBM SP, класс компьютеров с распределенной памятью в последнее время активно расши­ряется за счет вычислительных кластеров. Если говорить кратко, то вычислительный кластер есть совокупность ком­пьютеров, объединенных в рамках некоторой сети для решения одной зада­чи. Каждый узел работает под управлением своей копии операционной системы, в качестве которой чаще всего используются стандартные ОС: Linux, Windows NT, Solaris и т. п. Состав и мощность узлов могут меняться даже в рамках одного кластера, что дает возможность созда­вать неоднородные системы. Узлы могут не содержать локальных дисков, коммуникационная среда мо­жет одновременно использовать различные сетевые технологии, узлы не обязаны быть одинаковыми и т. д.

Р

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

Рис. 3.19. Латентность и пропускная способность коммуникационной среды

Какими же числовыми характеристиками выражается производительность коммуникационных сетей в кластерных системах? Необходимых пользователю характеристик две: латентность и пропускная способность сети. Латентность — это время начальной задержки при посылке сообщений. Пропускная способность сети определяется скоростью передачи информации по каналам связи (рис. 3.19). Если в программе много маленьких сообщений, то сильно скажется латентность. Если сообщения передаются большими порциями, то важна высокая пропускная способность каналов связи. Из-за латентности максимальная скорость передачи по сети не может быть достигнута на сообщениях с небольшой длиной.

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