Высокопроизводительные вычислительные системы реферат

Обновлено: 30.06.2024

Введение 3
1. Высокопроизводительные вычислительные системы: классификация и архитектура 4
1.1. Классификация высокопроизводительных вычислительных систем.. 4
1.2. Архитектура высокопроизводительных вычислительных систем 5
2. Характеристика отдельных видов высокопроизводительных систем 6
2.1. Суперкомпьютеры и кластерные вычислительные системы 6
2.2. Метакомпьютинг и технологии Grid 9
2.3. Многоядерные и многопроцессорные вычислительные системы 12
Заключение 17
Список использованных источников 18

Введение

В последнее время суперкомпьютерные технологии в России объявлены как один из приоритетов государственной политики и заботы. О суперкомпьютерах появилось много публикаций и не только в специализированной прессе. Публично доступная информация — например, мировой рейтинг пятисот .
Целью данной работы является рассмотрение высокопроизводительных вычислительных систем.
Задачи работы:
1) ознакомиться с понятием высокопроизводительных вычислительных систем;
2) рассмотреть классификацию и архитектуру таких систем;
3) изучить характеристику отдельных систем.

Фрагмент работы для ознакомления

Работа написана по ГОСТ, шрифт 14, интервал 1,5, выравнивание по ширине, Times new roman, сноски в квадратных скобках, источники за последние 5 лет.

Список литературы

1. Венделева М.А. Информационные технологии в управлении.: Учебное пособие для бакалавров / М.А. Венделева, Ю.В. Вертакова. - Люберцы: Юрайт, 2016. – 462 c.
2. Гусева А.И. Вычислительные системы, сети и телекоммуникации: Учебник / А.И. Гусева. - М.: Academia, 2016. – 640 c.
.
всего 10

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

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

Компьютеры, даже персональные, становятся все сложнее. Не так уж давно в гудящем на столе ящике все было просто — чем больше частота, тем больше производительность. Теперь же системы стали многоядерными, многопроцессорными, в них появились специализированные ускорители, компьютеры все чаще объединяются в кластеры.
Зачем? Как во всем этом многообразии разобраться?
Что значит SIMD, SMP, GPGPU и другие страшные слова, которые встречаются все чаще?
Каковы границы применимости существующих технологий повышения производительности?

Введение

Откуда такие сложности?
Формула производительности

Возьмем самую общую формулу производительности:


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


Включаем параллельность

Параллелизм на уровне инструкций

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

Параллелизм на уровне данных

Векторные процессоры

float a[4] = < 300.0, 4.0, 4.0, 12.0 >;
float b[4] = < 1.5, 2.5, 3.5, 4.5 >;
__asm movups xmm0, a ; // поместить 4 переменные с плавающей точкой из a в регистр xmm0
movups xmm1, b ; // поместить 4 переменные с плавающей точкой из b в регистр xmm1
mulps xmm1, xmm0 ; // перемножить пакеты плавающих точек: xmm1=xmm1*xmm0
movups a, xmm1 ; // выгрузить результаты из регистра xmm1 по адресам a
>;

Таким образом, вместо четырех последовательных скалярных умножений мы сделали только одно — векторное.
Векторные процессоры могут значительно ускорить вычисления над большими объемами данных, но сфера их применимости ограничена, далеко не везде применимы типовые операции над фиксированными массивами.
Впрочем, гонка векторизации вычислений далеко не закончена — так в последних процессорах Intel появилось новое векторное расширение AVX (Advanced Vector Extension)
Но гораздо интереснее сейчас выглядят

Графические процессоры


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

Не так давно эта мощность была приспособлена для универсальных высокопроизводительных вычислений с помощью CUDA/OpenCL.
Архитектура графических процессоров (GPGPU, General Purpose computation on GPU – универсальные расчеты средствами видеокарты), близка к уже рассмотренной SIMD.
Она называется SIMT — (single instruction, multiple threads, одна инструкция — множество потоков). Так же как в SIMD операции производятся с массивами данных, но степеней свободы гораздо больше — для каждой ячейки обрабатываемых данных работает отдельная нить команд.
В результате
1) Параллельно могут выполняться сотни операций над сотнями ячеек данных.
2) В каждом потоке выполняется произвольная последовательность команд, она может обращаться к разным ячейкам.
3) Возможны ветвления. При этом, правда, параллельно могут выполняться только нити с одной и той же последовательностью операций.

GPGPU позволяют достичь на некоторых задачах впечатляющих результатов. но существуют и принципиальные ограничения, не позволяющие этой технологии стать универсальной палочкой-выручалочкой, а именно
1) Ускорить на GPU можно только хорошо параллелящийся по данным код.
2) GPU использует собственную память. Трансфер данных между памятью GPU и памятью компьютера довольно затратен.
3) Алгоритмы с большим количеством ветвлений работают на GPU неэффективно

Мультиархитектуры-

Суров закон, но это закон

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

Ускорение кода зависит от числа процессоров и параллельности кода согласно формуле


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


Например, если выполнение последовательного кода занимает всего 25% от времени выполнения всей программы, то ускорить эту программу более чем в 4 раза не получится никак.
Давайте построим график зависимости ускорения нашей программы от количества параллельно работающих вычислителей-процессоров. Подставив в формулу 1/4 последовательного кода и 3/4 параллельного, получим

Мультипроцессор

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

Системы с общей памятью


В таких системах множество процессоров (и процессорных кэшей) имеет доступ к одной и той же физической оперативной памяти. Такая модель часто называется симметричной мультипроцессорностью (SMP). Доступ к памяти при таком построении системы называется UMA (uniform memory access, равномерный доступ) т.к. любой процессор может обратиться к любой ячейке памяти и скорость этого обращения не зависит от адреса памяти. Однако каждый микропроцессор может использовать свой собственный кэш.

Несколько подсистем кэш-памяти процессоров, как правило, подключены к общей памяти через шину

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

Когерентность кэша
Многоядерные процессоры


Мультикомпьютер

Сводим все воедино

Ну вот, вкратце пробежались почти по всем технологиям и принципам построения мощных вычислительных систем.
Теперь есть возможность представить себе строение современного суперкомпьютера.
Это мультикомпьютер-кластер, каждый узел которого — NUMA или SMP система с несколькими процессорами, каждый из процессоров с несколькими ядрами, каждое ядро с возможностью суперскалярного внутреннего параллелизма и векторными расширениями. Вдобавок ко всему этому во многих суперкомпьютерах установлены GPGPU — ускорители.
У всех этих технологий есть плюсы и ограничения, есть тонкости в применении.
А теперь попробуйте эффективно загрузить-запрограммировать всё это великолепие!
Задача нетривиальная… но очень интересная.
Что-то будет дальше?

2 План доклада. 1. Введение (почему важно оперировать статистикой отказов, недостаточность оценок производителей по ресурсу и надежности). 2. Понятие MTTF; понятие отказа и различные его трактовки, AFR&ARR. 3. Опыты Google в сборе статистики отказов. System Health & SMART - инфраструктура тестовой модели и система сбора сведений для составления статистики (краткое описание оборудования, датчиков, изучаемых сигналов и характеристик). Выявленные зависимости AFR от основных факторов (temp., scan errors, probational counts etc.). Выводы исследователей. 4. Исследования ученых Carnegie Mellon University (CMU) в области отказов винчестеров потребительского и промышленного уровней. Описание наблюдаемых систем, необходимые термины и понятия (HPC etc.). Полученные результаты. 5. Комментарии руководителя отдела Технической Стратегии компании NetApp по рассмотренным выше исследованиям специалистов Google & CMU.

3 1. Введение. Впечатляющие успехи производителей в области доступности и вместительности жестких дисков являются одним из ключевых факторов в зависимости современного общества от информационных технологий. Винчестеры потребительского класса, имеющие большой объем, снискали огромный успех и находят применение как в домашних персональных компьютерах, так и в кластерных системах промышленного масштаба. Поэтому очень важно иметь представление, насколько надежны эти устройства и какие факторы могут влиять на их продолжительность работы и возможность отказа. Эти знания очень полезны при проектировании, построении и поддержке систем хранения данных. Несмотря на важность рассматриваемого вопроса, опубликовано очень малое количество исследований по статистике отказов винчестеров. Статистическая информация, по большей части, исходит от самих производителей жестких дисков [1]. Такая статистика обычно получается методом экстраполяции данных исследований, полученных ускоренным моделированием жизненного цикла на небольших тестовых партиях устройств, или с использованием информации из БД возвращенных устройств. Ускоренные тесты хоть и дают представление, как некоторые факторы окружающей среды могут влиять на работу устройств, но, как неоднократно было замечено простыми потребителями, не дают практически никакой полезной информации об отказах устройств при их использовании в реальной жизни [1].

5 3. Опыты Google в сборе статистики отказов. На 5ой конференции по Технологиям Хранения Информации FAST`07, организованной компанией USENIX в феврале прошлого года, сотрудники компании Google представили свои исследования в области отказов жестких дисков. Их исследования основаны на сборе и анализе совокупности факторов окружающей среды (температуры и т.д.), величин нагрузки на устройства и большого количества параметров SMART (Self-Monitoring Analysis and Reporting Technology Технология самомониторинга, анализа и отчетов), которые считаются наглядными показателями состояния жестких дисков. Подчеркну, что это исследование ценно следующими факторами: Статистика по такой большой популяции подопытных винчестеров, как правило, доступна только в гарантийных БД производителей. Одновременно с тем, имеются данные об условиях работы каждого подопытного винчестера (эти данные могут быть получены только на уровне исследований работы каждого устройства пользователем) Инфраструктура тестовой модели и система сбора сведений. Система сбора сведений System Health представляет собой крупный распределенный программный комплекс, собирающий предоставляемую статистическую информацию со всех серверов Google и предоставляющий интерфейс для проведения любого анализа этих данных. Архитектура системы отображена на Рис. 1.

6 Рис. 1. Архитектура System Health. Collection layer уровень сбора информации отвечает за получение данных от каждого сервера. С разными типами данных работаю определенные коллекторы. Обычно информация забирается напрямую с серверов, на каждом из которых программа-демон локально собирает статистические данные о показателях окружающей среды, нагрузочных факторах, статистиках ошибок и конфигурационных параметрах. Следует отметить, что, помимо этого, коллекторы получают данные о ремонте/апгрейде систем. Storage layer уровень хранения данных представлен репозиторием Bigtable, широко применяемом в Google. Репозиторий размещает поступающие данные в хранилище, архивирует их и выполняет функции контроллера доступа к этим данным. Также важный чертой hfccvfnhbdftvju Analysis layer уровень обработки данных программы анализа и обработки результатов наблюдения, оперирующие огромными массивами информации с тысяч серверов. Работающие на данном уровне приложения осуществляют непосредственно процесс статистического анализа и

7 сохранения обработанных статистических данных в виде графиков и др. понятных представлений. Важно отметить, что тестируемые винчестеры представлены дисками потребительского уровня стандартов PATA & SATA, cкорости вращения шпинделя , емкости GB, большинства крупных производителей. Все наблюдаемые жесткие диски введены в тестируемую систему не раньше 2001 года, статистика по ним собиралась с декабря 2005 года по август 2006 года Выявленные зависимости AFR. Рассмотрим наиболее интересные результаты, полученные в ходе проведенных в Google исследований. Стоит отметить, что на всех диаграммах для наглядности результаты разбиты по сроку работы устройств до их отказа Коэффициент использования. В современной литературе сообщается, что повышенные нагрузки и постоянное использование негативно сказывается на сроке службы жестких дисков [1]. На рис. 2 предоставлены результаты статистики, отражающие зависимость коэффициента AFR от уровня нагрузки.

9 Рис. 3. Зависимость AFR от температуры. Исследователи отмечают, что известная ранее температурная зависимость в их результатах распространяется только на 2 самые возрастные группы. Следует также обратить внимание на удивительные результаты по количеству отказов устройств, работавших в диапазоне температур [15,30](C). Для всех возрастных групп диаграмма демонстрирует высокую корреляцию низких температур и количества отказов. Таким образом, исследователи утверждают, проектировщики и установщики серверных систем имеют большую свободу при выборе рабочих температур. Далее рассмотрим данные, собранные с помощью интерфейса SMART Ошибки при сканировании. Жесткие диски обычно сканируют свою поверхность в фоновом режиме на предмет дефектов или отказавших ячеек. Порядка 2% всех дисков Google имеют ошибки сканирования. Считается, что с ростом ошибок сканирования падает надежность диска. На рис. 4 представлены результаты зависимости AFR от ошибок сканирования. Рис. 4. Зависимость AFR от ошибок сканирования. Здесь внутри каждой возрастной группы сравниваются устройства без ошибок сканирования и с хотя бы 1 ошибкой. Результаты наглядные: 19- кратное отличие показателей AFR для винчестеров 1 возрастной группы и

11 предупреждающий отказ сектора. Зависимость AFR от количества найденных подозрительных секторов приведена на рис. 6. Рис. 6. Зависимость AFR от количества помещенных в карантин секторов. Приведенный график показывает значительную корреляцию между AFR и количеством помещенных в карантин секторов диска. Также важно отметить почти 16-кратное увеличение вероятности отказа устройства со сроком службы до 6 месяцев, если хотя бы 1 из его секторов помещен в карантин как подозрительный Выводы исследователей. Самыми важными результатами исследований Google сами авторы признают небольшую корреляцию между вероятностными характеристиками отказа жестких дисков и 2 губительными, как считалось в более ранних исследованиях, факторами работы устройств высокой температурой и повышенными нагрузками. Они не опровергают эти взаимосвязи, но предполагают, что существуют и более сильные факторы, влияющие на надежность и срок службы жестких дисков. Также нельзя не отметить проанализированные данные системы SMART, отражающие насколько сильно связаны надежность устройств и количество разнообразных ошибок, выявленных при использовании винчестеров.

12 4. Исследования ученых Carnegie Mellon University. Еще одно исследование, представленное на конференции FAST`07 учеными CMU, позволяет также получить более подробную картину в области отказов винчестеров. Ученые исследовали данные, собранные с более чем 100,000 жестких дисков, работающих в промышленных системах, кластерных системах и даже в Интернет серверах. Ученые отмечают, что популяция рассматриваемых дисков включает в себя устройства и промышленных стандартов - интерфейсы SCSI и FC, и SATA-винчестеры потребительского уровня Описание наблюдаемых систем. Так как исследуемые результаты получены с высокопроизводительных систем, для начала стоит раскрыть термин HPC или High Performance Computing термин, относящийся к использованию в вычислениях суперкомпьютеров и кластерных систем. Рассмотрим наблюдаемые в ходе исследования системы. Часть полезной информации представлена в таблице 1. Таблица 1. Здесь представлены наборы статистических данных HPC1, HPC2 и HPC3, собранные с 3х крупных кластерных систем, использующих суперкомпьютеры. Набор данных HPC4 представляет данные с десятков

14 Рис.7 Значения ARR для всех рассматриваемых систем. Здесь не представлены данные для популяции винчестеров COM3 возрастом старше 5 лет. Отмеченный на диаграмме диапазон между прерывистой и сплошной линиями заявлен производителями дисков как диапазон допустимых значений AFR. Производители устанавливают коэффициенты AFR в пределах [0.58,0.88]%, в дальнейшем будем называть эти показатели заводскими. Реальные же величины значительно отличаются, причем не в пользу производителей. Только 2 и 3 популяции набора HPC4 удовлетворяют заводскому показателю AFR, что может быть объяснено относительно небольшим возрастом популяций. Остальные популяции показывают средний результат в 3%, за исключением системы COM3. Здесь мы видим очень большой показатель ARR (на графике столбец обрезан, ему соответствует значение 13,5%), это превышение заводских норм в 4-30(!) раз. Исседователи приводят следующие выводы: Заводское значение AFR превышено в среднем в 3.4 раза. Даже если принять озвученный в примере выше допуск и признать 43% дисков забракованными напрасно, то получится почти двухкратное превышение заявленных производителями значений.

16 невысокий процент отказов; и по истечении срока [5,7] лет винчестеры изнашиваются, и начинают расти процент отказа. Ученые приводят временные данные по отказам устройств, работающих на системе HPC1 и в 1ой популяции HPC4. Диски в этих популяциях проработали достаточно времени (5 лет и 3 года сооответственно), чтобы построить на основе этих данных ясную картину зависимости. Итак, обратимся к рис. 9 и рис. 10. Рис.9. Резултаты временной зависимости ARR (по годам работы). Рис.10. Резултаты временной зависимости ARR (по месяцам работы). На основе полученных зависимостей можно сделать следующие выводы: Наперекор устоявшимся мнениям, результаты показывают постоянный рост ARR в ходе использования наблюдаемых устройств.

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

18 5. Комментарии компании NetApp по рассмотренным выше исследованиям специалистов Google & CMU. Здесь мы рассмотрим рецензию по результатам докладов 2х представленных выше групп исследователей г-на Берковичи, руководителя отдела Технической Стратегии NetApp. Для справки, компания NetApp поставщик готовых решений в области хранения данных, партнер и поставщик таких корпораций, как Oracle, Texas Instruments, Yahoo и т.д. Итак, постараюсь сохранить порядок ответа комментарии г-на Берковичи по ключевым моментам исследований Google и CMU в кавычках в моем максимально приближенном переводе. 1) Вероятностные характеристики отказа винчестеров превышают заводские данные в несколько раз. - Этот факт не является секретом для крупных производителей. Большинство из них прикладывают дополнительные усилия при тестировании своей продукции, чтобы снизить риск потребиителя. С другой стороны, каких еще можно было ожидать результатов при использовании жестких дисковв реальных условиях, а не в наиблагоприятнейших лабораторных. 2) На поверку, временные коэффициенты отказов винчестеров промышленного и потребительского классов практически не отличаются. - Тонкий момент, широко известный любому инсайдеру рынка жестких дисков. Действительно, если сравнивать диски одного объема, показатели отказов примерно совпадают в то время, как пользователи воображают себе, что промышленные винчестеры должны быть более надежны. Раскрою секрет: жесткие диски промышленного и пользовательского стандартов

20 замечательные выходные, распевая дифирамбы себе и своей компании и рождая столь острые и талантливо исполненные замечания.

21 Список используемой литературы Failure Trends in a Large Disk Drive Population. Eduardo Pinheiro,Wolf-Dietrich Weber and Luiz Andre Barroso; Google Inc Disk failures in the real world. Bianca Schroeder, Garth A. Gibson; Carnegie Mellon University 3. Response of NetApp s Director, Technical Strategy, Val Bercovic, Internet publication. Дополнительно Storage Best Practices and Resiliency Guide Chris Lueth and Haripriya, Network Appliance, Inc.

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

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

Если традиционно МВС применялись в основном в научной сфере для решения вычислительных задач, требующих мощных вычислительных ресурсов, то сейчас из-за бурного развития бизнеса резко возросло количество компаний, отводящих использованию компьютерных технологий и электронного документооборота главную роль. В связи с этим непрерывно растет потребность в построении централизованных вычислительных систем для критически важных приложений, связанных с обработкой транзакций , управлением базами данных и обслуживанием телекоммуникаций. Можно выделить две основные сферы применения описываемых систем: обработка транзакций в режиме реального времени ( OLTP , on-line transaction processing ) и создание хранилищ данных для организации систем поддержки принятия решений ( Data Mining , Data Warehousing, Decision Support System ). Система для глобальных корпоративных вычислений — это, прежде всего, централизованная система, с которой работают практически все пользователи в корпорации, и, соответственно, она должна все время находиться в рабочем состоянии. Как правило, решения подобного уровня устанавливают в компаниях и корпорациях, где даже кратковременные простои сети могут привести к громадным убыткам. Поэтому для организации такой системы не подойдет обыкновенный сервер со стандартной архитектурой, вполне пригодный там, где нет жестких требований к производительности и времени простоя. Высокопроизводительные системы для глобальных корпоративных вычислений должны отличаться такими характеристиками как повышенная производительность , масштабируемость , минимально допустимое время простоя.

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

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

Многопроцессорные вычислительные системы могут существовать в различных конфигурациях. Наиболее распространенными типами МВС являются:

  • системы высокой надежности ;
  • системы для высокопроизводительных вычислений ;
  • многопоточные системы .

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

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

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

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

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

Многопоточные системы используются для обеспечения единого интерфейса к ряду ресурсов, которые могут со временем произвольно наращиваться (или сокращаться). Типичным примером может служить группа web-серверов.

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

Существует два способа оценки пиковой производительности компьютера. Один из них опирается на число команд, выполняемых компьютером за единицу времени. Единицей измерения, как правило, является MIPS (Million Instructions Per Second ). Производительность , выраженная в MIPS , говорит о скорости выполнения компьютером своих же инструкций. Но, во-первых, заранее не ясно, в какое количество инструкций отобразится конкретная программа , а во-вторых, каждая программа обладает своей спецификой, и число команд от программы к программе может меняться очень сильно. В связи с этим данная характеристика дает лишь самое общее представление о производительности компьютера.

Другой способ измерения производительности заключается в определении числа вещественных операций, выполняемых компьютером за единицу времени. Единицей измерения является Flops (Floating point operations per second ) – число операций с плавающей точкой , производимых компьютером за одну секунду. Такой способ является более приемлемым для пользователя, поскольку ему известна вычислительная сложность программы, и, пользуясь этой характеристикой, пользователь может получить нижнюю оценку времени ее выполнения.

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

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

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

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

Наиболее распространенными тестами, построенными по этому принципу, являются: набор из 24 Ливерморских циклов (The Livermore Fortran Kernels, LFK) и пакет NAS Parallel Benchmarks ( NPB ), в состав которого входят две группы тестов , отражающих различные стороны реальных программ вычислительной гидродинамики. NAS тесты являются альтернативой LINPACK , поскольку они относительно просты и в то же время содержат значительно больше вычислений, чем, например, LINPACK или LFK.

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

Презентация на тему: " 1 Высокопроизводительные вычислительные системы 1. Варфоломеев В.А., Лецкий Э.К., Шамров М.И., Яковлев В.В. Высокопроизводительные вычислительные системы." — Транскрипт:

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

3 3 Производительность ВС Производительность ВС = V/T V – объем выполненной работы, T – время выполнения Виды выполняемых работ: -Пакетные вычисления без в/в; -Пакетные вычисления с в/в; -Обработка транзакций; -Смешанный Пиковая производительность измеряется в MIPS или FLOPS

4 4 Класификация ВС Серверы ПЭВМ, рабочие станции Встрооенные микроЭВМ Производи- тельность Стоимость Оъем памяти ( ОП / МД) 1000 TFlops 100TB/1PB $100 млн СуперЭВМ Высокопроизводительные вычислительные системы

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

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

7 7 Распараллеливание вычислительного процесса БО (Процессоры) Устройства ввода- вывода, ВЗУ Память РЕЗУЛЬТАТЫ КОМАНДЫ ДАННЫЕ Распараллеливание ввода-вывода Распараллеливание обработки

8 8 Гранулярность потоков команд Процесс Поток 1 Команда i+1 Выборка Дешифрация Запись результата Команда i Команда i+2 Поток n …

9 9 Модели распараллеливания SPMD (Single Program / Multiple Data) - параллельное исполнение нескольких копий одной программы в разных узлах системы над разными потоками данных. Конвейер - предусматривает поступление данных в первый процесс, после исполнения которого обработанные данные передаются во второй процесс, а в первый процесс загружаются новые данные и т.д. В результате при длинных потоках данных одновременно в работе несколько процессов. Разделяй и властвуй - запуск одного процесса, который порождает другие процессы с передачей им части работы. Новые процессы в свою очередь запускают следующие процессы и т.д. Портфель задач (Replicated worker) - использование очереди, из которой процессы получают задачи для выполнения. После завершения задачи процесс получает из очереди новую задачу. Если задача порождает новые задачи, они включаются в общую очередь.

10 10 Закон Амдала S 1/(f+(1-f)/n) S – коэффициент ускорения вычислений; n – число трактов обработки – параллельно функционирующих обрабатывающих устройств (узлов) ВС: АЛУ, процессоров, ЭВМ f – часть алгоритма, не допускающая распараллеливания (0 f 1)

11 11 Классификация способов параллельной обработки по Флинну. БО Поток команд Поток рез-тов Поток данных Поток данных Поток команд БО …… Поток рез-тов … … БО Поток команд Поток рез-тов Поток данных … БО … … … … … Поток команд Поток данных … … Поток рез-тов а) одиночный поток команд и одиночный поток данных (SISD) б) одиночный поток команд и множественный поток данных (SIMD) в) множественный поток команд и одиночный поток данных (MISD) г) множественный поток команд и множественный поток данных (MIMD)

12 12 Способы распараллеливания работы устройств 1 2 N … T T/N 1 2 N … а) многоэлементная (параллельная) обработка б) многостадийная (конвейерная) обработка 1 2 N Операция 1 Операция 2 Операция N … 1 2 N Оп.1 T/N … … … … T T Оп.1 Оп.2 Оп.N Загрузка конвейера T …

13 13 Параллелизм на уровне процессора … РОН КЭШ L2 КЭШ команд L1 КЭШ данных L1 Интерфейс с ОП (КЭШ L3) Конвейер выполнения команд 1 Уровень 1 Уровень 2 Уровень M … Конвейер выполнения команд N Уровень 1 Уровень 2 Уровень M … Блок выборки и распараллеливания команд Типы процессоров: Ковейерный (N=1, M>1) Суперконвейерный Суперскалярный (N>1, M>1) Векторный

14 14 Параллелизм на уровне организации ВС SMP-cистема с общей памятью ОП ЦП 1 ЦП N Устройство коммутации … Подсисте ма ввода- вывода (ВЗУ,УВВ) КЭШ L1, L2 КЭШ L3 NUMA-система Процессорный узел N Процессорный узел 1 ЛП ЦП 1 ЦП m Лок. комм утат ор КЭ Ш L1, L2 … Общий.коммутатор ЛП ЦП 1 ЦП m Лок. комм утато р КЭ Ш L1, L2 … … Система с распределенной памятью Высоко скорос тные сети … ЦП Устройст во коммутац ии ПУ (ВЗУ,УВВ) КЭШ ОП Вычислительный узел 1 ЦП Устройст во коммутац ии ПУ (ВЗУ,УВВ) КЭШ ОП Вычислительный узел N Подсисте ма ввода- вывода (ВЗУ,УВВ)

15 15 Кластеры Кластер - группа компьютеров, объединённых высокоскоростными каналами связи и используемых как единый вычислительный ресурс (для решения одной задачи) (~1995) Узлы: однопроцессорные компьютеры, 2-4-процессорные SMP серверы Преимущества: наиболее выгодное соотношение "цена / производительность" высокий уровень масштабируемости системы путем добавления или исключения стандартных вычислительных узлов свобода в выборе конфигурации высокая отказоустойчивость: при выходе из строя вычислительного узла его легко заменить без остановки системы Типы кластеров: HPC (High-performance cluster) HAC (High-availability cluster) Load Balancing GRID

16 16 Кластеры Особенности: необходимость использования специального ПО необходимость создания специальных прикладных программ высокие требования к инфраструктуре (энергопотребление (>100 к Вт), бесперебойное питание, помещения, кондиционирование, охлаждение, шумоизоляция, обслуживающий персонал ) кадровая проблема (программисты, администраторы, технические специалисты) Решения: Готовые кластер-компьютеры (Tyan Typhoon) Проектирование собственного кластера (установка на своей или чужой площадке) Аренда кластера

17 17 Этапы проектирования кластерной системы Решение задач на основе параллельной системы (кластера) требует: учитывать на всех стадиях, что задача будет решаться на основе кластерной системы; помнить, что недостатки ранее принятых решений скажутся на эффективности работы программы; качественной реализации самой кластерной системы.

18 18 Компоненты кластера средства размещения и компоновки элементов кластера: вычислительные узлы; головной узел; хранилище данных или файл-сервер; сетевая инфраструктура; средства управления (KVM переключатель, сервисная сеть, компьютерный класс); источники бесперебойного питания.

19 19 Размещение компонентов кластера размещение в стойку, на стеллажах, на столах (компьютерный класс); выбор форм-фактора узлов (ширина=19, высота – 1U÷4U(U~45 мм) –ГОСТ блейд-системы (blade) (U

20 20 Выбор вычислительных узлов кластера тип процессора: Intel Xeon, Intel Itanium, AMD Opteron …, предпочтительно многоядерные; тактовая частота (с ростом частоты растет энергопотребление!); объем и быстродействие оперативной памяти; структура и объем кэш-памяти; наличие локальных дисков (при возникновении сетевых проблем, для файла подкачки, локальная память для промежуточных массивов) опционально: floppy и CD/DVD приводы, USB порт, COM-порт Головной узел: взаимодействие с пользователями, компиляция программ, подготовка исходных данных, запуск программ Файл-сервер или дисковое хранилище данных

21 21 Сетевая инфраструктура кластера Коммуникационная сеть – служит для обмена между параллельными процессами: - Ethernet 100 Мбит/с или 1Гбит/с (при малом числе обменов) (латентность мкс); - SCI (Scalable Coherent Interface) (5,6 Гбит/с, латентность 1,4 мкс); - Myrinet-2000/Myri-10G (до 10Гбит/с, латентность 2 мкс); - InfiniBand (до 30Гбит/с, латентность

22 22 Примеры кластерных систем Место установки / Условное название кластера г. Томск, ТГУ/СКИФ CyberiaМИИТ/ Т-4700 Год установки кластера Количество узлов в кластере Количество процессоров на узел 22 Тип процессоровIntel Xeon 5150, 2,66 ГГцAMD Opteron 2356, 2,3ГГц Объём оперативной памяти на узел 4 ГБ16 Гб Тип коммуникационной сетиInfiniBand Тип транспортной сетиGigabit Ethernet Тип сервисной сетиServNetIPMI Количество жёстких дисков на узел 1 Форм-фактор узлов 1U Управляющий узел? Форм-фактор?Да, 2U Объём файлового хранилища 10 ТБ60ТБ Размеры и число стоек 14 стоек 42U, 19": (6 под UPS) Суммарная потребляемая мощность 115 к Вт 60 к Вт Площадь помещения 72 кв.м. Версия ОСSuSe Linux Enterprise Server 10, Microsoft Windows Compute Cluster Server 2003 SuSe Linux Enterprise Server 10 Производительность пиковая / HPL12/9 Тфлопс 4,7/3,7Tфлопс

23 23 Программное обеспечение вычислительного кластера Операционная система – Linux (стандарт де-факто), Windows Compute Cluster Server 2003; Инструментальное ПО для автоматизации установки образов ОС на узлы и настройки их на работу в кластере – Rocks, OSCAR; Средства синхронизации времени (xntp сервер); Средства мониторинга состояния UPS (NUT); Средства синхронизации системных файлов (passwd, shadow, hosts,…); Средства безопасности (включить firewall, для доступа к кластеру использовать ssh, запретить telnet, ftp, samba); Компиляторы, учитывающие особенности архитектуры используемых процессоров; Средства разработки параллельных программ (MPI, LAM, OpenMP, Linda, mpC) Средства тестирования: mpi-benchsuite, Intel MPI Benchmarks Системы управления заданиями (Cleo, LSF, SunGridEngine, LoadLeveler): - распределение заданий пользователей, квотирование и бюджетирование ресурсов; Специализированное ПО для решения прикладных задач в различных областях.

24 По рзелульаттам илссеовадний одонго анлигйсокго унвиертисета, не иеемт занчнеия, в кокам пряокде рсапожолены бкувы в солве. Галвоне, чотбы преавя и пслоендяя бквуы блыи на мсете. Осатьлыне бкувы мгоут селдовтаь в плоонм бсепордяке, все-рвано ткест чтаитсея без побрелм. Пичрионй эгото ялвятеся то, что мы не чиатем кдаужю бкуву по отдльенотси, а все солво цликеом! 24

29 29 Подготовка и запуск MPI программы Компиляция+Линковка mpiCC –o программа программа.f Запуск mpiexec -np N программа аргументы Поиск и конфигурирование доступных хостов mpiconfig

30 Взаимодействие программных компонентов MPICH 30

38 38 Полная виртуализация z/VM, VMware VSphere, VMVare Workstation, Sun Virtualbox, Oracle VM, Microsoft Hyper-V

39 39 Паравиртуализация XEN, UML

40 40 Виртуализация уровня операционной системы Linux-VServer, Open VZ

41 41 Операционная система z/VM

42 42 Аппаратная виртуализация CPU PR/SM CPU LPAR1 ОС LPAR2LPAR3 ОС ОП УВВ

43 43 Консолидация серверов UNIX сервер UNIX сервер UNIX сервер UNIX сервер Сеть LINUX Виртуальная сеть z/VM LINUX уменьшение расходов на администрирование и техническое обслуживание; снижение времени и расходов на установку и настройку ОС; повышение безопасности; использование технологии виртуальных сетей для организации взаимодействия серверов; использование общего дискового пространства; более эффективное использование процессорного времени и других ресурсов (снижение простоев, увеличение загрузки); гибкость - вертикальное и горизонтальное масштабирование; сокращение затрат на потребление электроэнергии и вентиляцию;

44 44 Реализация многоуровневой ИС на базе IBM System z z9 z/OS Серверы данных Клиентские приложения z9 z/OS Серверы данных Клиентские приложения z/VM Серверы приложений Linux Серверы приложений промежуточного слоя а) b)b)

Читайте также: