Зависит от: задач, решаемых на суперкомпьютере; приложений, решающих задачу;

advertisement
БЭЛиЗПА 3/4.1 Рудаков С.А.
«Программно-аппаратная платформа реализации
проекта»
или «Выбор суперкомпьютера»
Зависит от:
 задач, решаемых на суперкомпьютере;
 приложений, решающих задачу;
 операционной системы, под которой могут
работать приложения;
 программного обеспечения межпроцессорного
обмена;
 аппаратной части.
10.10.2003
Проект БЭЛиЗПА
1
Задачи, решаемые на
суперкомпьютере делят на два класса

Задачи массового обслуживания - все задачи, где
критично время отклика системы на внешние запросы. Например,
web-сервер, сервер баз данных, файловый сервер и пр. Для
большинства из них могут быть применимы кластеры. Помимо
высокой производительности при этом часто многократно
повышается устойчивость системы к сбоям.

Вычислительные задачи, главную роль при решении
которых играют пропускная способность сети и ее латентность
(задержки прохождения пакетов).
10.10.2003
Проект БЭЛиЗПА
2
Приложения, решающие задачу
должны удовлетворять следующим
требованиям




Алгоритм должен быть разбит на относительно
независимые, требующие примерно одинакового
времени выполнения блоки (процессы).
Параллельно работающие части алгоритма должны
составлять бо’льшую по времени выполнения часть
программы, а количество и объем передаваемых
сообщений должны быть минимизированы
(эффективность выполнения параллельных программ).
Легкость сопровождения параллельных программ;
Переносимость и повторное использование
параллельных программ.
10.10.2003
Проект БЭЛиЗПА
3
Операционные системы, под которыми
могут работать приложения


Windows
Достоинства: распространенность, графический
интерфейс.
Unix (Linux)
Достоинства: под Linux доступно огромное
количество серверного ПО, компиляторов, библиотек,
средств отладки и пр (многое – бесплатно с исходными
кодами и документацией!). Linux "прозрачен" для
пользователя и системного администратора, что
позволяет быстрее и проще разрешать все
возникающие проблемы.
10.10.2003
Проект БЭЛиЗПА
4
Программное обеспечение
межпроцессорного обмена



POSIX-threads (нити) - интерфейс для организации так называемых
нитей (Pthreads). Поддерживается практически всеми Unixсистемами. Не подходит для практического параллельного
программирования, т.к. реализуется на слишком низком уровне.
OpenMP - стандарт библиотек для написания приложений,
работающих на общем поле памяти (SMP, NUMA), для
распараллеливания использует POSIX-threads, имеет интерфейс как
к С-, так и к Fortran-программам.
PVM, MPI (MPICH, WMPI, LAM) - открытые пакеты библиотек и
программ, реализующие модель передачи сообщений. Стандартом
де-факто является коммуникационная библиотека MPI. Существуют
коммерческие и бесплатные (LAM, mpich, WMPI) ее реализации для
различных операционных систем.
10.10.2003
Проект БЭЛиЗПА
5
Программирование параллельных вычислений
на неоднородных сетях компьютеров
на языке mpC


mpC - расширение языка Си, разработанное специально
для программирования параллельных вычислений на
обычных сетях разнородных компьютеров.
Средства языка mpC позволяют программисту
специфицировать требуемое для параллельного решения
задачи число процессов, распределить вычисления между
этими процессами и синхронизировать их работу в
процессе выполнения параллельной программы.
Основным средством языка mpC для описания сложных
обменов данными являются подсети. Подсеть - это
любое подмножество виртуальных процессоров
некоторой сети.
10.10.2003
Проект БЭЛиЗПА
6
mpC
mpC
допускает в качестве операндов большинства
операций множества скаляров (массивы или их части).
mpC
минимизирует время при отображении виртуальных
процессоров сети на реальные процессы, основываясь на
информации о конфигурации и производительности
компонент параллельной вычислительной системы и на
информации о сравнительном объёме вычислений
выполняемых различными виртуальными процессорами.
число
процессов, вовлечённых в параллельное решение
задачи, зависит от самой задачи или параллельного
алгоритма её решения и определяется входными данными.
10.10.2003
Проект БЭЛиЗПА
7
mpC
Средства
mpC позволяют привязывать виртуальные
процессоры любой сети к некоторой системе координат и
выделять отдельный виртуальный процессор путем задания
его координат.
Каждая
вновь создаваемая сеть в языке mpC имеет в
точности один виртуальный процессор, общий с уже
существующими на момент создания сетями. Этот
виртуальный процессор называется родителем создаваемой
сети является связующим звеном, через которое передаются
результаты вычислений в случае прекращения её
существования.
Библиотечная
функция MPCпозволяет синхронизировать
работу виртуальных процессоров любой сети.
10.10.2003
Проект БЭЛиЗПА
8
Аппаратная часть




Идеальный компьютер должен иметь
следующие характеристики:
Большая производительность
Хорошая масштабируемость (позволять
наращивать производительность с
минимальными затратами на модернизацию)
Надежность, простота устройства и низкая
стоимость обслуживания
Простота с точки зрения программирования
10.10.2003
Проект БЭЛиЗПА
9
Кластеры





Вычислительный кластер – это мультикомпьютер, состоящий из
множества отдельных компьютеров (узлов), связанных между собой
единой коммуникационной системой.
Каждый узел имеет свою локальную оперативную память и общая
физическая оперативная память отсутствует.
Кластер с узлами из мультипроцессорных компьютеров называется
SMP-кластером.
Взаимодействие узлов между собой происходит только
посредством передачи сообщений.
Вычислительный кластер с узлами одинаковой архитектуры и
производительности, называют однородным вычислительным
кластером. Иначе – неоднородным.
10.10.2003
Проект БЭЛиЗПА
10
Достоинства кластера




Высокая производительность путем объединения
микропроцессоров, которая недостижима в
централизованном компьютере.
Естественная распределенность (банк, поддержка
совместной работы группы пользователей ).
Надежность (выход из строя нескольких узлов
незначительно снизит производительность).
Наращиваемость производительности, возможность
совместной работы без ощущения неудобства от
географического и физического распределения людей,
данных и машин.
10.10.2003
Проект БЭЛиЗПА
11
Недостатки кластера



Проблемы ПО (приложения, языки, ОС).
Проблемы коммуникационной сети (потери
информации, перегрузка, развитие и замена).
Секретность.
10.10.2003
Проект БЭЛиЗПА
12
Список литературы
1.
2.
3.
4.
5.
Воеводин Вл.В., Параллельная обработка данных,Курс лекций
А.Л.Ластовецкий, Программирование параллельных вычислений
на неоднородных сетях компьютеров на языке mpC,
Интерактивный учебный курс
Михайленко Константин, Параллельный стиль, Компьютерра,
2002, №5
А. Кильпио, П. Кайгородов Параллельные системы, их создание и
применение23.06.2003
http://www.parallel.ru/ Самый обширный российский сайт,
посвященный суперкомпьютерам, параллельным вычислениям,
кластерам.
10.10.2003
Проект БЭЛиЗПА
13
Список литературы
6.
7.
8.
9.
10.
http://www.beowulf.org/ Проект, посвященный созданию
высокопроизводительных массивно-параллельных выч. систем
http://www.computerra.ru/offline/2002/430/15838/ Обзорная
статья (Параллельные архитектуры и вычисления)
http://www.computerra.ru/offline/2002/430/15844/ Обзорная
статья (сборка простейшего кластера)
В.А. Крюков РАЗРАБОТКА ПАРАЛЛЕЛЬНЫХ ПРОГРАММ
ДЛЯ ВЫЧИСЛИТЕЛЬНЫХ КЛАСТЕРОВ И СЕТЕЙ,
Информационные технологии и вычислительные системы
http://koi.www.osp.ru/os/1995/06/33_print.htm./
СУПЕРКОМПЬЮТЕР
10.10.2003
Проект БЭЛиЗПА
14
Список литературы
11.
12.
13.
14.
15.
Message-Passing Interface Forum, Document for a Standard MessagePassing
Interface,
1993.
Version
1.0.
http://www.unix.mcs.anl.gov/mpi/
Message-Passing Interface Forum, MPI-2: Extensions to the MessagePassing Interface, 1997. http://www.unix.mcs.anl.gov/mpi/
OpenMP Consortium: OpenMP Fortran Application Program
Interface, Version 1.0, October 1997. http://www.openmp.org/
DVM-система. http://www.keldysh.ru/dvm/
Коновалов Н.А., Крюков В.А., Любимский Э.З. Управляемая
виртуальная память.Программирование, №1, 1977.
10.10.2003
Проект БЭЛиЗПА
15
Список литературы
16.
17.
18.
19.
20.
Portland Group Debugger. http://www.pgroup.com
Nupshot . http://www.mcs.anl.gov/mpi/mpich/
Pablo. http://www-pablo.cs.uiuc.edu
Vampir. http://www.pallas.de/pages/vampir.htm
Елизаров Г.С., Забродин А.В., Левин В.К., Каратанов В.В.,
Корнеев В.В., Савин Г.И., Шабанов Б.М. Структура
многопроцессорной вычислительной системы МВС-1000М.
Труды
Всероссийской
научной
конференции
"Высокопроизводительные вычисления и их приложения",
г.Черноголовка, 30 октября - 2 ноября 2000 г., Изд-во
Московского университета, 2000.
10.10.2003
Проект БЭЛиЗПА
16
Download