WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!


Pages:     || 2 | 3 | 4 | 5 |   ...   | 6 |
1 Конспект лекций по курсу “Кластерные вычисления” Сердюк Ю. П. ( Yury@serdyuk.botik.ru ) Институт программных систем РАН, г. Переславль-Залесский Переславль-Залесский 2007 2 Содержание.

I. Введение: кластерные вычислительные системы 1. Архитектура высокопроизводительных процессоров и кластерных систем 2. Принципы построения быстрых сетей передачи данных для кластеров.

3. Примеры архитектур кластерных вычислительных систем: Blue Gene/L, семейство SGI Altix.

4. Операционные системы для кластерных систем: Windows Compute Cluster Server 2003.

5. Исполнение множеств последовательных задач на кластерных системах.

II. Основы программирования на MPI 1. Общая характеристика интерфейсов MPI-1 и MPI-2 и их конкретных реализаций.

2. Функции управления вычислительным окружением.

3. Методы передачи данных в MPI: “точка-точка” и радиовещательные (broadcast) сообщения.

4. Коллективные операции и их исполнение.

5. Управление процессами в MPI.

6. Организация логических топологий процессов.

7. Отладка MPI-программ с использованием Visual Studio 2005.

III. Высокоуровневый язык параллельного программирования MC#.

1. Модель программирования языка MC#: async- и movable-методы, каналы, обработчики, связки.

2. Async-и movable-методы:

- Правила определения - Особенности использования 3. Каналы и обработчики канальных сообщений:

- Правила определения каналов и обработчиков - Правила работы Runtime-системы с каналами и обработчиками 4. Синхронизация в языке MC#:

- Определение и использование связок (chords) 5. Примеры программирования на языке MC# - Нахождение простых чисел методом решета Эратосфена - Вычисление частичных сумм массива чисел 6. Сведения о практической реализации языка MC# 3 I. Введение: кластерные вычислительные системы В данном разделе, будут кратко рассмотрены архитектура современных высокопроизводительных процессоров и кластерных систем. На примере сети Infiniband будут продемонстрированы принципы построения быстрых сетей передачи данных, используемых в кластерных установках. Более детально будет представлена архитектура наиболее производительных кластерных вычислительных систем: Blue Gene/L и семейства SGI Altix.

В качестве базового программного обеспечения для организации вычислений на кластерных системах рассматривается Windows Compute Cluster Server (CCS) 2003. Дается его общая характеристика и состав сервисов, работающих на узлах кластеров.

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

1. Архитектура высокопроизводительных процессоров и кластерных систем В истории развития архитектуры компьютерных процессоров можно выделить два крупных этапа:

1-й этап – увеличение тактовой частоты работы процессоров (до 2000 г.), 2-й этап – появление многоядерных процессоров ( после 2000) г.

Таким образом, подход на основе SMP (Symmetrical MultiProcessing), который развивался при построении высокопроизводительных серверов, в которых несколько процессоров разделяют ресурс системы, и, в первую очередь, оперативную память (см. Рис. 1), сместился “вниз” на уровень ядер внутри процессора.

Рис.1. Классическая SMP-система На пути к многоядерным процессорам, первой появилась технология HyperThreading, впервые примененная в 2002 г. в процессорах Intel Pentium 4:

Рис. 2. Процессор Intel Pentium 4, использующий технологию HyperThreading В этой технологии два виртуальных процессора разделяют между собой все ресурсы одного физического процессора, а именно, кэши, конвейер исполнения и отдельные исполнительные устройства. При этом, если один виртуальный процессор занял общий ресурс, то второй будет ожидать его освобождения. Тем самым, процессор с Hyper-Threading можно сравнить с многозадачной операционной системой, обеспечивающей каждому работающему в ней процессу свой виртуальный компьютер с полным набором средств и занимающейся планированием порядка и времени работы этих процессов на физическом оборудовании. Только в случае с Hyper-Threading, все это происходит на значительно более низком аппаратном уровне. Тем не менее, два потока команд позволяют более эффективно загрузить исполнительные устройства процессора.

Реальный прирост производительности процессора от применения технологии Hyper-Threading оценивается от 10 до 20 процентов.

Полноценный двухъядерный процессор (см. Рис. 3), на отдельных задачах демонстрирует прирост производительности от 80 до 100 процентов.

Рис. 3. Система на базе двухъядерного процессора.

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

Более того, каждое ядро может (как, например, в процессоре Intel Pentium Extreme Edition 840) поддерживать технологию Hyper-Threading, а потому такого рода двухъядерный процессор может выполнять четыре программных потока одновременно.

В начале 2007 г., корпорация Intel представила 80-ядерный однокристальный процессор, получивший название Teraflops Research Chip (http://www.intel.com/research/platform/terascale/teraflops.htm). Этот процессор может достигать производительности 1,01 терафлопс при минимальной тактовой частоте ядра 3,16 ГГц и напряжении 0,95 В. При этом общее энергопотребление чипа составляет всего 62 Вт.



По прогнозам Intel, коммерческие варианты процессоров с большим числом ядер появятся в ближайшие 5 лет, а к 2010 г. четверть объема всех поставляемых серверов будут иметь терафлопную производительность.

Кластерные вычислительные системы и их архитектура Кластер – это локальная (расположенная территориально в одном месте) вычислительная система, состоящая из множества независимых компьютеров и сети, связывающей их. Кроме того, кластер является локальной системой потому, что он управляется в рамках отдельного административного домена как единая компьютерная система.

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

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

Программное обеспечение кластеров состоит из двух компонент:

• средств разработки/программирования и • средств управления ресурсами.

К средствам разработки относятся компиляторы для языков, библиотеки различного назначения, средства измерения производительности, а также отладчики, что, всё вместе, позволяет строить параллельные приложения.

К программному обеспечению управления ресурсами относятся средства инсталляции, администрирования и планирования потоков работ.

Хотя для параллельной обработки существует очень много моделей программирования, но, на настоящий момент, доминирующим подходом является модель на основе “передачи сообщений” (message passing), реализованная в виде стандарта MPI (Message Passing Interface). MPI – это библиотека функций, с помощью которых в программах на языках C или Фортран можно передавать сообщения между параллельными процессами, а также управлять этими процессами.

Альтернативами такому подходу являются языки на основе так называемого “глобального распределенного адресного пространства” (GPAS – global partitioned address space), типичными представителями которых являются языки HPF (High Performance Fortran) и UPC (Unified Parallel C).

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

Технические характеристики сети, непосредственно связанные с передачей данных, выражаются в терминах задержки (latency) и широты полосы пропускания (bandwidth).

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

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

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

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

В кластерах используются как традиционные сетевые протоколы, предназначенные для Internet, так и протоколы, специально ориентированные на использование в кластерах.

Типичными IP (Internet Protocol)-протоколами являются TCP (Transmission Control Protocol) и UDP (User Datagram Protocol). Эти протоколы совместно с прикладным интерфейсом программиста (Application Programming Interface) на основе BSD-сокетов, были первой библиотекой для передачи сообщений для использования в кластерах.

Исследования по протоколам с малой задержкой привели к созданию стандарта VIA (Virtual Interface Architecture). В частности, существует реализация версии MPICH стандарта MPI, которая называется MVICH, работающая с использованием VIA.

Большой консорциум промышленных партнеров, включая Compaq, Dell, Hewlett-Packard, IBM и др., разработали и поддерживают стандарт Infiniband для передачи данных с малой задержкой. В Infiniband –архитектуре (см. Рис. 4) компьютеры связываются между собой на основе высокоскоростной, последовательной, расширяемой, переключаемой фабрики, работающей на основе передачи сообщений.

Special Subsystem TCA IB Link Computer HCA Switch IB Link Host Channel Adapter Router Network Рис. 4. Архитектура сети Infiniband.

Все системы и устройства подсоединяются к фабрике либо через HCAадаптеры (host channel adapters), либо через TCA-адаптеры (target channel adapters).

Скорость передачи данных по отдельной Infiniband-линии – свыше 2,5 Гб/сек.

Кроме того, в Infiniband поддерживается режим RDMA (Remote Direct Memory Access), который позволяет одному процессору обращаться к содержимому памяти другого процессора непосредственно, а также протокол IPv6 передачи сообщений для Internet.

3. Примеры архитектур кластерных вычислительных систем: Blue Gene/L, семейство SGI Altix.





Суперкомпьютер Blue Gene/L Кластерная вычислительная система Blue Gene/L – это первый шаг на пути реализации программы по созданию компьютера с производительностью петафлопс, осуществляемой фирмой IBM.

За последние годы, разработчики суперкомпьютеров пришли к выводу, что единственным способом конструирования систем с производительностью более терафлопса является наращивание количества одновременно работающих процессоров (машин). Однако, применение кластеров с десятками тысяч мощных процессоров ограничивается большим их энергопотреблением и высокими требованиями к охлаждению.

Принципиальный подход, принятый при построении семейства машин Blue Gene состоит в том, что система, по-прежнему, собирается из огромного числа узлов, однако, каждый из них работает на сравнительно небольшой тактовой частоте. Тем самым, достигается как снижение стоимости системы, так и значительное уменьшение энергопотребления. Другая главная особенность Blue Gene/L заключается в применении так называемой технологии “система на чипе” – применении интегральных микросхем со сверхвысокой степенью интеграции, когда в рамках одной интегральной схемы объединяются:

- вычислительный процессор, - коммуникационный процессор, - три уровня кэш-памяти и - несколько высокоскоростных сетевых интерфейсов.

Система Blue Gene/L является масштабируемым (расширяемым) суперкомпьютером, который может состоять из более, чем 65536 вычислительных процессоров.

Архитектура суперкомпьютера Blue Gene/L показана на Рис. 5.

Рис.5. Архитектура суперкомпьютера Blue Gene/L.

Базовым компонентом суперкомпьютера Blue Gene/L является так называемая “вычислительная карта” (compute card), которая состоит из двух вычислительных узлов, где каждый узел содержит 2 процессора PowerPC 440. 16 вычислительных карт группируются в модульную (или узловую) карту, которая, таким образом, содержит уже 64 процессора. В свою очередь, 16 модульных карт устанавливаются на объединительной панели (midplane), и две таких панели монтируются в серверную стойку (cabinet), которая содержит в итоге 1024 узла с общим количеством процессоров 2048.

Процессор PowerPC 440 способен выполнять за такт 4 операции с плавающей запятой, что для заданной частоты соответствует пиковой производительности в 1,4 терафлопса на одну объединительную панель (midplane), если считать, что на каждом узле установлено по одному процессору. Второй процессор на узле, идентичный первому, призван выполнять телекоммуникационные функции, то есть, он предназначен, преимущественно, для осуществления связи с другими процессорами суперкомпьютера. Кроме того, конструкцией суперкомпьютера, предусмотрена установка некоторого количества двухпроцессорных узлов, которые занимаются исключительно операциями ввода/вывода.

Узлы суперкомпьютера связаны между собой пятью сетями:

1) трехмерной тороидальной сетью для обмена данными непосредственно между блоками-узлами, 2) сетью с топологией “дерева” для выполнения общих (глобальных) для всех блоков операций, 3) сетью барьеров и прерываний, 4) сетью Gigabit Ethernet-JTAG (Ethernet со специальным интерфейсом JTAG), 5) еще одной сетью Gigabit Ethernet для подключения к главному (хост-) компьютеру, файловым серверам и другим системам.

Энергопотребление суперкомпьютера Blue Gene/L относительно невелико: оно составляет порядка 1,6 мегаватт. Для сравнения, суперкомпьютер ASC Purple – предыдущая машина, разработанная IBM для Ливерморской лаборатории, потребляет 4,8 мегаватт при производительности 100 терафлопс. Разница объясняется тем, что Blue Gene/L состоит из специально разработанных компактных блоков, размещенных в 64 серверных стойках (см. Рис. 6), тогда Рис. 6. Внешний вид суперкомпьютера Blue Gene/L как ASC Purple построена на основе обычных серверов – аналогов серверов IBM eServe p655.

С точки зрения программного обеспечения, суперкомпьютер Blue Gene/L работает под управлением специальной версии операционной системы Linux, разработанной в IBM.

Этот суперкомпьютер использовался для моделирования взаимодействия миллионов атомов в образце тантала, застывающего под давлением. Кроме того, Blue Gene/L применялся в Национальной лаборатории Лос-Аламоса для изучения появления раковин в металле, при этом моделировалось в динамике взаимодействие более 2,1 миллиарда атомов.

Кластерные вычислительные системы семейства SGI Altix Компания Silicon Graphics Incorporated (SGI) является традиционным производителем многопроцессорных систем с архитектурой SMP и ccNUMA.

Спецификой архитектуры ccNUMA является объединение памяти отдельных процессоров в единую глобальную память, где каждый процессор имеет доступ в каждую ячейку этой памяти. SGI выпустила два поколения многопроцессорных серверов с ccNUMA-архитектурой, а именно Origin 2000 и Origin 3000. Однако, данные серверы обладали сравнительно малой производительностью из-за использованных в них собственных процессоров R1x000 компании SGI.

Поэтому в новом семействе серверов с ccNUMA-архитектурой SGI Altix 3000 были применены процессоры Itanium 2/ Madison с тактовой частотой 1,ГГц и КЭШем третьего уровня емкостью 6 Гбайт. Следует отметить, что ccNUMA-системы на базе Itanium 2 выпускают также компания HewlettPackard, а именно системы HP Superdome.

Системы SGI Altix строятся из так называемых “кирпичей” (bricks) – модулей разных габаритов, однако, помещаемых в стандартную стойку и соединяемых кабелями. На Рис. 7 приведены основные типы “кирпичей” семейства SGI Altix 3000.

Pages:     || 2 | 3 | 4 | 5 |   ...   | 6 |










© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.