Опубликован: 28.10.2009 | Доступ: свободный | Студентов: 515 / 40 | Оценка: 4.67 / 4.39 | Длительность: 20:33:00
Лекция 1:

Обзор архитектуры персональных мини-кластеров

Лекция 1: 123 || Лекция 2 >

1.3. Ускорители

Технологический мир сегодня пронизан конвергенцией – взаимным влиянием и даже взаимопроникновением технологий, стиранием границ между ними, возникновением многих интересных результатов на стыке областей в рамках междисциплинарных работ. Одно из проявлений этого явления – "игра" основных производителей аппаратных составляющих компьютеров на "чужих полях". Так компании NVIDIA и ATI (последняя теперь в составе компании AMD), накопив опыт и поняв, что пиковая мощность их продуктов уже стала сравнима с кластерами "средней руки", от выпуска графических ускорителей начали движение на рынок высокопроизводительных решений, представив соответствующие продукты (семейства NVIDIA \to Tesla™ и ATI FireStream™). Напротив, компании, традиционно выпускавшие процессоры и серверные решения, взялись осваивать область мультимедиа: компания Intel разрабатывает многопоточное векторное графическое устройство Larrabee [6], компания IBM в составе альянса STI создала, как мы уже обсуждали, процессор Cell, изначально ориентированный именно на быструю обработку мультимедиа информации. Никуда не делись и типичные ускорители вычислений, способные существенно добавить мощности даже обычным "персоналкам" – на этом направлении работает, например, компания ClearSpeed Technology [7].

Как следствие, перед обычными пользователями, желающими попробовать "с чем едят" суперкомпьютерные технологии возникает большой и не всегда просто осуществляемый выбор. Попытаемся немного прокомментировать возможности двух из представленных выше систем: ClearSpeed™ Advance™ X620 и NVIDIA \to Tesla™ D870.

1.3.1. Ускоритель вычислений ClearSpeed™ Advance™ X620

ClearSpeed™ Advance™ X620 – это ускоритель операций над данными с плавающей запятой, представленных в формате с двойной точностью. Ускоритель является сопроцессором, разработанным специально для серверов и рабочих станций, которые основаны на 32-х или 64-х битной х86 архитектуре, и построен на базе двух процессоров CSX600 со 194 вычислительными ядрами. X260 подключается к PCI-X разъему на материнской плате. Среда разработки под X260 основана на языке C и включает SDK, а также набор инструментов для написания и отладки программ.

Технические характеристики X260:

  • 2 процессора CSX600, работающих на частоте 210 МГц.
  • Каждый CSX600 содержит 97 ядер (из них 96 в poly-исполнительном блоке и 1 в mono-исполнительном блоке).
  • Пиковая производительность X260 – 66 гигафлопс.
  • Память 1 Гб DDR2 DRAM 64-bit (по 0,5 Гб на каждый процессор).
  • Пиковая пропускная способность шины памяти 3,2 Гб/с.
  • Подключается к ПК через PCI-X разъем материнской платы.
  • Максимальная потребляемая мощность: 43 Вт.
  • Рабочий диапазон температур: 10..50?C.

Ускоритель X260 поддерживает операционные системы семейств Linux (Red Hat, SUSE) и Windows (XP, 2003 Server). Для работы с X260 необходимо установить специальный драйвер.

 Ускоритель ClearSpeed Advance X260

Рис. 1.7. Ускоритель ClearSpeed Advance X260

При работе с ускорителем программист может использовать несколько уровней памяти:

  • каждый mono-процессор обладает локальной памятью (mono local memory) размером 128 Кб;
  • каждый poly-процессор обладает локальной памятью (poly local memory) размером 6 Кб;
  • все процессоры во всех блоках имеют доступ к общей памяти устройства (global memory = device memory) размером 1024 Мб.

Главное (хост) приложение, использующее возможности X620 состоит из двух частей:

  • программа, выполняющаяся на главном процессоре;
  • программа, которая выполняется на ускорителе.

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

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

1.3.2. Настольный суперкомпьютер NVIDIA Tesla D870

В 2007 году компания NVIDIA представила продукты семейства Tesla™ для построения высокопроизводительных вычислительных систем. Семейство включает вычислительный процессор NVIDIA \to Tesla™ C870, приставной суперкомпьютер NVIDIA \to Tesla™ D870 и вычислительный сервер NVIDIA \to Tesla™ S870. Два последних решения построены на двух и четырех процессорах C870 соответственно. Сервер S870 выпускается в 1U форм-факторе и предназначен для построения на его основе кластерных решений. Его обсуждение выходит за рамки данного материала.

Внешний вид NVIDIA Tesla D870

Рис. 1.8. Внешний вид NVIDIA Tesla D870

Настольный (в терминологии компании NVIDIA приставной) суперкомпьютер NVIDIA \to Tesla™ D870 конструктивно представляет собой два процессора C870, объединенных в небольшом корпусе. Необходимым условием для подключения D870 к компьютеру является наличие не менее двух PCI Express разъемов, в первом должна быть установлена видеокарта NVIDIA не менее чем 8ххх серии, а во второй ставится специальная плата-переходник, к которой и подключается D870.

Технические характеристики D870:

  • 2 платы NVIDIA \to Tesla™ C870.
  • Каждый процессор C870 содержит 128 скалярных процессора с частотой 1,35 ГГц.
  • Пиковая производительность D870 – 1 терафлопс.
  • Память 3 Гб GDDR3 384-bit (по 1,5 Гб на каждый процессор).
  • Пиковая пропускная способность шины памяти 76,8 Гб/с.
  • Подключается кабелем к специальной плате-переходнику, установленной в разъем PCI Express x8 или x16.
  • Максимальный уровень шума 40 дБ.
  • Максимальная потребляемая мощность 520 Вт.

Суперкомпьютер D870 поддерживает операционные системы семейств Windows, Linux, Mac OS. В комплект поставки входят следующие компоненты (необходимо устанавливать в указанном порядке): CUDA Driver, CUDA Toolkit, CUDA SDK.

CUDA (Compute Unified Device Architecture) – программно аппаратное решение, позволяющее использовать видеопроцессоры для вычислений общего назначения. Возможность программирования видеопроцессоров компании NVIDIA на CUDA существует, начиная с семейства видеокарт 8ххх. Разработка программ для выполнения на D870 происходит таким же способом.

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

CUDA позволяет создавать специальные функции (ядра, kernels), которые выполняются параллельно различными блоками и потоками, в отличие от обычных C-функций. При запуске ядра блоки распределяются по доступным мультипроцессорам. Мультипроцессор занимается распределением, параллельным выполнением потоков внутри блока и их синхронизацией. Каждый поток независимо исполняется на одном скалярном процессоре с собственным стеком инструкций и памятью.

CUDA предоставляет программисту доступ к нескольким уровням памяти:

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

Всем потокам также доступны два вида общей памяти для чтения: константная и текстурная, они кэшируются. Так же как и в общей памяти устройства, данные сохраняются на протяжении работы приложения.

 Мини-кластер Orion Multisystems

Рис. 1.9. Мини-кластер Orion Multisystems

1.4. Мини-кластеры

Были времена, когда кластеры собирали на основе обычных рабочих станций. Таков, например, был первый известный кластер Beowulf, собранный летом 1994 года в научно-космическом центре NASA из 16 компьютеров на базе процессоров 486DX4 с тактовой частотой 100 MHz. Связь узлов в этом кластере осуществлялась посредством 10 Мбит/с сети, невероятно медленно по сегодняшним меркам. Однако довольно быстро стало понятно, что каждый отдельный узел кластера не нуждается во всем многообразии комплектующих, из которых состоит обычный "отдельно стоящий" компьютер. В действительности все, что должно быть в каждом узле, – процессор, память, жесткий диск с размером достаточным, чтобы установить на него операционную систему, и сетевой интерфейс. Это понимание привело к тому, что характерным форм-фактором для стоечных серверов, из которых собирают современные кластеры, стал 1U с высотой порядка 4,5 см. Идея "упаковать" некоторое количество узлов в небольших размеров корпус так, чтобы кластер не требовал отдельного помещения, что называется, лежала на поверхности. Мы уже упоминали про мини-кластер RenderCube. Еще одним примером подобного подхода является мини-кластер, представленный в 2005 году стартап-компанией Orion Multisystems, включающий до 96 процессоров и до 192 Гб памяти [8].

В 2006 году свои решения в этой нише начала поставлять российская компания "Т-Платформы", сначала на основе процессоров компании AMD, а позднее и компании Intel.

1.4.1. Персональный суперкомпьютер T-Forge Mini

T-Forge Mini – компактный суперкомпьютер, габаритные размеры (360?321?680 мм) и небольшая масса которого позволяют установить его непосредственно на рабочем месте сотрудника. Уровень шума T-Forge Mini не превышает 45 децибел, что позволяет использовать мини-кластер в том числе и в офисных условиях.

Мини-кластер T-Forge Mini

Рис. 1.10. Мини-кластер T-Forge Mini

Технические характеристики мини-кластера T-Forge Mini:

  • До 4-х двухпроцессорных узлов на базе двухъядерных процессоров AMD Opteron™ или AMD Opteron™ HE с низким энергопотреблением, объединенных сетью Gigabit Ethernet.
  • Память до 64 Гб.
  • До 4-х устройств HDD SATA общим объемом до 2 Тб.
  • 4 блока питания мощностью 350 Вт.
  • До 9-ти портов Gigabit Ethernet.
  • Контроль частоты вращения вентиляторов.
  • Видео-карта ATI Rage XL 8Mb.
  • Плата удаленного управления сервером с поддержкой стандарта IPMI (опционально).
  • Операционная система: ОС SUSE Linux Enterprise Server 9, RedHat Enterprise Linux 4 или Microsoft Windows Compute Cluster Server 2003.

Один из первых мини-кластеров T-Forge Mini в максимальной конфигурации (не считая объема памяти) с пиковой производительностью в 70 гигафлопс был приобретен ННГУ в рамках нацпроекта "Образование" в 2006 году [9] и используется при выполнении многих образовательных и научных проектов.

1.4.2. Мини-кластер T-Edge Mini

Мини-кластер T-Edge Mini несколько крупнее, чем T-Forge Mini (габаритные размеры T-Edge Mini 530?360?700 мм), да и масса под 100 кг уже не позволяет назвать его "настольным", но под столом он вполне способен разместиться. Дополнительный объем был потрачен компанией-разработчиком с толком. Во-первых, размещен дополнительный вычислительный узел, во-вторых, поддерживаются четырехъядерные процессоры, в-третьих, в качестве интерконнекта может быть использован не только Gigabit Ethernet, но и Infiniband.

Технические характеристики мини-кластера T-Edge Mini:

  • До 5-ти двухпроцессорных узлов на базе четырехъядерных процессоров Intel \to Xeon \to, объединенных сетью Gigabit Ethernet или Infiniband.
  • Память до 64 Гб.
  • 3 блока питания мощностью 600 Вт.
  • Адаптер сервисной сети, осуществляющий мониторинг и администрирование управляющего узла по протоколу RS 485 ServNET v.2.0.
  • Порты ввода/вывода на передней панели: VGA port, USB ports, Keyboard and Mouse.
  • Порты ввода/вывода на задней панели: 2 RJ-45 GbE ports, 1 RJ-45 FE port, 4 порта для мониторинга узлов по протоколу RS 485.
  • Встроенный DVD привод.
  • Встроенный KVM and GbE коммутатор.
  • Операционная система: ОС SUSE Linux Enterprise Server 9, RedHat Enterprise Linux 4 или Microsoft Windows Compute Cluster Server 2003.
 Мини-кластер T-Forge Mini

увеличить изображение
Рис. 1.11. Мини-кластер T-Forge Mini

В 2007 году ННГУ в рамках нацпроекта "Образование" приобрел два мини-кластера T-Edge Mini, построенных на процессорах Intel \to Xeon \to 5320 (1,86 ГГц) с 20 Гб оперативной памяти и дисковой подсистемой на 1,25 Тб. В качестве интерконнекта в одном из мини-кластеров использован Gigabit Ethernet, во втором Infiniband. Пиковая производительность каждого – 297 гигафлопс.

1.5. Источники рисунков

  1. Рис. 1.1.http://www.rendercube.com/gallery.htm.
  2. Рис. 1.2.http://www.overclockers.ru/lab/22660.shtm.
  3. Рис. 1.3.http://www.amd.com/us-en/Processors/ProductInformation/0,,30_118_15331_15332%5E15334,00.html.
  4. Рис. 1.4.http://www-01.ibm.com/support/docview.wss?uid=tss1prs3036&aid=1.
  5. Рис. 1.6.http://ru.wikipedia.org/wiki/UltraSPARC_T1.
  6. Рис. 1.7. – "ClearSpeed™ Advance™ X620 Product Datasheet".
  7. Рис. 1.8. – System Specification. NVIDIA Tesla D870 Deskside GPU Computing System – [http://www.nvidia.com/docs/IO/43395/D870-SystemSpec-SP-03718-001_v01.pdf].
  8. Рис. 1.9. – "Мини-кластер в одном корпусе: 96 процессоров и 192 Гб RAM" – [http://www.ixbt.com/staticnews/04/12/67.html].
  9. Рис. 1.10. – "Готовые решения компании "Т-Платформы" для прикладных задач" – [http://www.t-platforms.ru/pdf/T-Platforms_Turn-key_Solutions.pdf].
Лекция 1: 123 || Лекция 2 >