Слайд 2Распределенные вычисления
Распределенные вычисления - применение доступных разнородных компьютерных ресурсов, соединенных между собой
каналами связи общего назначения, для решения вычислительно сложных задач
Типичные случаи использования:
задаче не хватает имеющихся суперкомпьютеров
нужно решить задачу подручными средствами
выбор в качестве технологии программирования
Слайд 3Распределенные среды и задачи
Свойства распределенных сред:
масштабность
географическая распределенность
неоднородность
динамичность
различные политики администрирования
Свойства задач:
высокий ресурс параллелизма
минимизация
коммуникаций
Организация вычислений:
клиент-серверная схема
Слайд 4Примеры программных платформ
Condor (1988, University of Wisconsin-Madison)
использование простаивающих ресурсов компьютеров в организациях
BOINC
(2002, UC Berkeley)
volunteer computing
Hadoop (2005, Apache)
обработка больших массивов данных + распределенная ФС
X-Com (2001, НИВЦ МГУ)
Слайд 5X-Com: основные факты
Инструментарий для организации и проведения распределенных расчетов
Легкая переносимая система
Основные принципы:
клиент-серверная
архитектура
возможность построения иерархических распределенных сред
Слайд 6X-Com: программирование и запуск задач
Разбиение задачи на клиентскую и серверную части
серверная часть
(разбиение и склейка порций):
6-7 функций на Perl:
инициализация, номера первой и последней порций, генерация порции, обработка готовой порции, условия завершения, завершение
список файлов
клиентская часть (вычисления):
2 функции на Perl:
инициализаций и запуск команды
описание запуска команды
Компоновка файлов задачи, настройка конфигурационных файлов
Слайд 7X-Com: пример серверной части задачи
package Power; # Имя пакета = имя задачи
use vars
qw (@ISA @EXPORT); # Определение списка экспортируемых функций,
use Exporter; # не зависит от задачи, должно быть
@ISA = qw (Exporter); # обязательно
@EXPORT = qw (initialize getFirstPortionNumber getLastPortionNumber isFinished getPortion addPortion finalize);
sub initialize {
my $taskArg = $_[0]; # считываем аргументы задачи
print STDERR "Power: initialization argument is $taskArg\n";
}
sub getFirstPortionNumber {
return 1; # номер первой порции = 1
}
sub getLastPortionNumber {
return 50; # номер первой порции = 50
}
sub isFinished {
return 0; # число порций задано, поэтому возвращаем 0
}
sub getPortion {
my $N = $_[0]; # получаем номер порции в $N
my $prt = $N*2; # формируем содержимое порции ($N*2)
print STDERR "Power: portion $N created, value is '$prt'\n";
return $prt; # отдаем порцию
}
sub addPortion {
my ($N, $data) = ($_[0], $_[1]); # получаем номер порции и результат
print STDERR "Power: portion $N processed, result is '$data'\n";
}
sub finalize {
print STDERR "Power is finished.\n"; # завершение расчета
}
1; # эта единица в конце файла должна быть обязательно
Слайд 8X-Com: пример клиентской части задачи
sub gcprepare {
return 1; # подготовка завершена –
возвращаем 1
}
sub gctask {
my ($task, $taskarg, $portion, $din, $dout) = @_; # входные параметры
open IN, "< $din"; # открываем файл $din с входной порцией
my $n = ; # читаем число в переменную $n
close IN; # закрываем файл
my $res = $n ** $taskarg; # возводим в степень
open OUT, "> $dout"; # открываем файл для записи вых. данных
print OUT $res; # пишем результат
close OUT; # закрываем файл
return 1; # успешно – возвращаем 1
}
1; # эта единица должна быть обязательно
Слайд 9X-Com: особенности
Режимы работы на вычислительных узлах:
монопольно
по занятости
через системы управления заданиями:
Cleo, Torque, LoadLeveler,
Unicore, …
Подсистема управления заданиями
последовательный и параллельный запуск задач
требования задач к ресурсам узлов
Визуализация хода расчета:
встроенная «техническая»
внешние модули, читающие данные из XML
Слайд 10X-Com: реальные среды и задачи
Определение скрытой периодичности в генетических последовательностях
совместно с
Центром «Биоинженерия» РАН
400 компьютеров, 10 организаций, 6 часовых поясов
Виртуальный докинг и скрининг
НИВЦ совместно с подразделениями РАМН
монопольно на СКИФ Cyberia и СКИФ МГУ
«Чебышев»
5-6 суперкомпьютерных центров
поиск ингибиторов тромбина дал запатентованный результат
совместно с факультетом биоинженерии и биоинформатики МГУ и компанией «Молекулярные технологии»
поиск ингибиторов для белков-мишеней онкологических заболеваний
на СКИФ МГУ «Чебышев» через систему очередей в новогодние каникулы
Слайд 11X-Com: визуализация хода расчета
Слайд 12X-Com: реальные среды и задачи
Вычисление коэффициентов матрицы для задачи дифракции электромагнитной волны
на однородных диэлектрических телах
совместно с Пензенским государственным университетом
несколько этапов задачи в различных режимах
Анализ лог-файлов маршрутизаторов
сетевой центр Южно-уральского государственного университета
Расшифровка паролей UNIX
экспериментальная задача
МГУ, ТГУ, ЮУрГУ, УГАТУ, СКИФ-ГРИД/Unicore
Слайд 13X-Com как средство управления задачами
Распределение вычислений на несколько суперкомпьютеров
решение оптимизационных гидродинамических
задач на суперкомпьютерах МГУ
совместный проект НИВЦ МГУ, компаний Тесис и Сигма Технология
Сервис группировки однопроцессорных задач на суперкомпьютере СКИФ МГУ «Чебышев»
Исследование свойств прикладных задач на процессорном полигоне НИВЦ МГУ
Слайд 14Как описать вычислительную систему?
Пиковая производительность
Пропускная способность и латентность коммуникационной среды
Реальная производительность (Linpack)
рейтинг
Top500
Эффективность
Энергоэффективность
рейтинг Green500
Другие бенчмарки (Graph500)
Слайд 15Как описать распределенную вычислительную среду?
Пиковая производительность
среда динамична…
Пропускная способность и латентность коммуникационной среды
разные
сегменты – разные характеристики
влияние других потоков данных
Реальная производительность на тесте
разные показатели от запуска к запуску
Эффективность
выбор принципа
конкретная задача в конкретной среде
Слайд 16Характеристики среды и расчета
в X-Com
Суммарная пиковая производительность среды
Серверная эффективность – отношение
суммарного клиентского процессорного времени к условному суммарному серверному времени
характеризует накладные расходы на организацию распределенного расчета
Клиентская эффективность – отношение числа отправленных к числу принятых порций
характеризует динамичность среды
Слайд 17Характеристики среды и расчета
в X-Com – проблемы
Суммарная пиковая производительность среды
дает представление
о масштабе среды, но не реальную картину участия в расчетах
Серверная эффективность
не учитывает накладные расходы при работе через системы очередей
Клиентская эффективность
не учитывает эффекты распределения последних порций и буферизации
Слайд 18«Распределенный Linpack» - цели и задачи нового направления
Разработка комплекса характеристик распределенных вычислительных
сред
Разработка комплекса характеристик распределенных расчетов
Создание методики и инструментария для определения свойств распределенной среды и оценки поведения приложений в такой среде
Выдача рекомендаций по оптимизации распределенного приложения для среды с определенными свойствами
Слайд 19Спасибо за внимание!
[email protected]
http://X-Com.parallel.ru/
Перспективные компьютерные системы: устройства, методы и концепции
Россия, Таруса, 2-4 марта
2011 г.