Параллельная Обработка Данных, 06 лекция (от 09 октября)

Материал из eSyr's wiki.

Перейти к: навигация, поиск

Компьютеры с распределенной памятью.

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

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

Интел парагон. На и 860 Сейчас интел переориентровался на кластеры, о них мы тоже поговорим ИБМ СП (1/2)

Крей T3D/T3E/XT3/XT4 Сегодня подробней рассмотрим Крей T3E. Это массивно параллельные компьютеры(фактически другое название компов с распр памятью). Все компьютеры такого класса состоят из двух основных частей

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

конфигурации:24-16-256, 7-5-260

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

Маршрутизация. Пусть ндо передать сообщение из узла (х1,у1,з1) узлу (х2,у2,з2). Сообщени идет сначало вдоль оси х до точки, когда кординаты по оси х выровняются. То есть до (х2, у1,з1), потом до (х2, у2,з1) и потом до (х2,у2,з2). Это приводит к тому, что мы заранее знаем как сообщение пойдет по сети, что упрощает работу маршрутизаторам. Наличие обратных связей позволяет сохранить функциональность системы при разрыве одной связи. Скорость передачи данных -- 480 мб/сек. Латентность составляла менее 1 микросекунды. Почти рекордная характериситка для своего времени. Это скорость передачи по одному каналу. Процессор мог работать параллельно с передачей сообщений(это называется асинхронность). Все каналы связи двунапарвленные. Еще одно интересное св-во реализованное в этом компьютере. Когда много проц работают над одной задачей важно синхронизировать их работу. ОДин из распр способов синхр -- это барьерная синхр. Это означает точку в программе до которой должны жойти все процессоры. Если один дошел а остальные нет, то он стоит и ждет. Эта возможность была реализована аппаратно. В каждом из проц элементов выделются регистры, отвечающие за эту синхронизацию. Эти регистры интерпртитируются побитово. Каждый бит отвечает за свою схему синхронизацию. выходы регистров(например первый бит из всех) подаются на схему логического попарно. У того, который дошел до баррьера в бите 1, кто не дошел 0. Когда все дошли до баррьера на выходе схемы оказывается единичка. Для этого эта единичка подается на схему дублирования. Обратное двоичное дерево, в узлах дублирование.Изаписывается в другой бит. ПРоцессор смотрит на бит и узнает, когда все дошли до баррьера и он может идти считать дальше. Синхронизация происходит очень быстро. Другой режим использования этой схемы -- вместо и используем или. Получаем другую функциональность. Она соответствует некоторому поиску -- дошел ли хоть один процессор до баррьера. Соответствует тому когда все проесоры что то ищут. Один нашел и тут же сообщает друним. Это назыается схема "Эврика". Она уже не для синхронизаии. На этом закончим с характеристиками этого конкретного компьютера.

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

В науке слово кластер перегружено. Даже в программировании оно используется в разных смыслах. Мы будем говорить о вычислительных кластерах. В чем отличие кластеров от массивно параллельных? В первую очередь проводят различие по тому какие сетевые технологии используются. Для массивоно-параллельных компьютеров используются специально разработанные коммуникаионныые среды. Кластеры строят на основе своюбодно распростаняемых ком сред. Здесь тоже есть свои особенности, но раздел ообычно производят именно здесь. Решения с кластиерами намного более дешевые. В тоже время сов сетев техн позволяют объединять для работы над одной задачей большое число процессоров, наращивать мощность кластера можно практически бесконечно, другое дело, что сделать так, чтобы все узлы работали над одной задачей -- сложная задача. В качестве узлов кластера моогут фигурировать и обычные компьютеры и к примероу векторные. Возникают интересные задачи -- когда объединяються в кластер компы с разной архитектурой. Если посмотреть топ 50 снг, то в нем в последней редакцции все 50 систем -- кластерные. Причины конечно прежде всего в дешевизне. Ну и в мире есть такая тенденция, число кластеров постояннор астет. ИБМ перешла последнее время на кластерные системы, да и другие фирмы. Общая сзхема кластера достаточно простая.

Некоторое колво выч узлов, соединенных какой то ком средой. Обычно для кластеров создается отедльный файл сервер, хотя это и не явл обяз требованием. Обычно так же выделяется отдельный хост компьютер, нак оторый заходит пользователь, компиилирует, который раздает задачи. ИЛи к хосту пользователи могут подключаться к интернет. Сложность состоит в том чтобы заставить все узлы работать над одной задачей. ЧАще всего на кластерах используется мпи. ПРимеров класт систем очень много, мы не будем ими зантиматься. Есть две основных характеристики -выч узлы могут быть практически любыми, а вто ком среды имеют две хар -латентность -- время начальной задержки при посылке сообщения. То есть посе выполнения сенд сообщение должно пройти через все уровни протоколов. Латентность - время от встречания сенд до отсылки сообщение от процессора. НО это очень сложно о змерить, ее только иногд сообщают производители. Обычно под латентностью понимают другое -- время которое затрчивается на посылку сообщения минимальной длины туда сюда между двумя процессорами деленое пополам. -пропусканя способность. Сколько данных за единицу времении можно переслать используя эту ком технологию. М/Г/Б/сек

Время на пересылку т = т0+ (н/в) н - кол-во байт, в - пропускная способность, т0 - лтентность. Если в программе много мелких сообщений, то больше станогвится время латентности. В этом случае больше подходят ком среды с меньшей латентностью, даже если у них меньше скорость. Соответсвенно, если сообщения большие, то выгодней большая латентность и большая скорость.

Личные инструменты
Разделы