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

advertisement
Кафедра автоматизации систем вычислительных комплексов
(зав. Кафедрой - Лев Николаевич Королев)
Спец
семинар
“Системы
параллельной
обработки
экспериментальных данных с использованием нейросетей и
генетических алгоритмов”
Руководители: зав. Кафедрой, чл.-кор. Л.Н. Королев
доцент Н.Н. Попова
На семинаре изучаются и исследуются теоретические и прикладные аспекты
применения современных информационных технологий - нейросетей и
генетических алгоритмов - в задачах анализа и прогнозирования поведения
сложных систем. Исследуется возможность реализации таких систем на
распределенных и массивно-параллельных вычислительных системах. На
семинаре изучаются современные Web-технологии, необходимые для
построения больших информационных систем. Силами участников семинара
ведется разработка проекта по созданию интеллектуальной, распределенной
системы обработки экспериментальных данных. Темы курсовых и дипломных
работ связны с выполнением этого проекта. На семинаре студенты и
аспиранты выступают с докладами, касающимися изученных статей и
монографий и с изложением собственных результатов по тематике семинара и
по актуальным проблемам информатики. Для студентов третьего курса в пятом
семестре проводятся семинары, на которых изучаются базовые концепции и
понятия, связанные с направлениями работы семинара. Семинар имеет
собственную локальную подсеть, состоящую из сервера - рабочей станции
SUN Ultra Sparc и
нескольких персональных компьютеров.
Спец семинар “Вопросы распределенной обработки
информации”
Руководители:
д.ф.-м.н. И.В. Машечкин, к.ф.-м.н. А.Н. Терехин
Тематика семинара посвящена исследованиям по следующим направлениям:
1. Инструментальные средства программирования специализированных и
высокопроизводительных
ЭВМ
(кросс-системы,
кросс-трансляция,
кросс-отладка и пр.).
2. Автоматизация построения средств оптимизации программ и генерации кода
(архитектуры вычислительных систем, алгоритмы распараллеливания,
адекватность алгоритмов оптимизации архитектуре вычислительных систем
и пр. ).
3. Практические аспекты применения распределенных технологий при
создании информационных систем (телекоммуникации, клиент/сервер, базы
данных и пр.).
4. Алгоритмы и методы информационного поиска.
В рамках семинара выполняются практические проекты по созданию
программных систем, как для российских, так и зарубежных заказчиков.
Некоторые из созданных программных продуктов широко используются в США,
Канаде и Западной Европе.
Лаборатория Вычислительных Комплексов
(заведующий лабораторией - Руслан Леонидович Смелянский)
Лаборатория Вычислительных Комплексов была образована как научное
подразделение факультета Вычислительной Математики и Кибернетики
Московского Государственного Университета им. М.В. Ломоносова в 1982 году.
Лаборатория является самостоятельным структурным подразделением
факультета Вычислительной Математики и Кибернетики, подчиненным
непосредственно заведующему кафедрой АСВК.
Основные задачи Лаборатории Вычислительных Комплексов:
 Проведение фундаментальных теоретических и экспериментальных
исследований в области анализа структур вычислительных комплексов,
методов организации на них вычислительного процесса.
 Разработка алгоритмов и программ, создание макетов вычислительных
комплексов, участие в выполнении комплексных работ, связанных с
использованием параллельных вычислений в различных областях
жизни.
 Разработка методов и средств для сравнительного анализа структур
вычислительных комплексов в зависимости от выбираемого класса
задач.
 Внедрение разработанных методов, алгоритмов, программ и макетов
аппаратуры в научные и промышленные предприятия и в ВУЗы.
 Организация проведения в лаборатории производственной практики,
курсовых и дипломных работ студентов факультета ВМК.
Основные научные направления лаборатории:
 Формальные
модели
вычислительных систем
функционирования
мультипроцессорных
Основной отличительной особенностью разрабатываемых моделей является
поддержка
так
называемого
комплексного
подхода
к
анализу
функционирования
многопроцессорных
вычислительных
систем
с
распределенным
управлением.
Основная
идея
разрабатываемого
комплексного подхода заключается в:
1. описании аппаратных, программных средств и их функционирования
единой трехкомпонентной алгебрологической структурой, состоящей из:
 физической среды (аппаратных средств);
 логической среды (системных программ);
 рабочей нагрузки (прикладных программ);
 введение соответствующих операций над носителями для
отдельных компонент и между компонентами;
2. использовании одной и той же записи модели как для исследования
количественных,
так
и
логических
свойств
анализируемых/
проектируемых объектов.
Разрабатываемые модели позволяют в рамках единого подхода развивать
следующие теоретические и прикладные направления: синтез и оптимизация
архитектур, исследование поведения программ, оценка производительности
вычислительных систем, спецификация и верификация поведения программ,
моделирование и анализ функционирования вычислительных систем,
планирование параллельных вычислений.
 Синтез
и
оптимизация
архитектур
вычислительных систем реального времени
мультипроцессорных
В рамках данного направления разрабатываются два подхода:
1. Подход обобщения и нисходящего анализа.
Подход основан на анализе общности между прикладными алгоритмами
рабочей нагрузки, построении и проведении анализа максимально
параллельных моделей вычислений, алгоритмов, архитектур и
получении оптимальных архитектур для конкретных приложений как
частного случая обобщенных максимально-параллельных архитектур.
Данный подход может быть строго формализован лишь для конкретного
класса прикладных алгоритмов. Например, результаты применения
данного подхода для цифровой обработки приведены в работах.
2. Подход синтеза архитектур, основанный на информации о поведении
программ. Данный подход, формализован для общего случая и
позволяет
получать
оптимальные
специализированные
мультипроцессорные архитектуры по заданному фиксированному
набору прикладных алгоритмов и временным ограничениям на их
выполнение.

Методы и средства планирования параллельных вычислений.
Расширение существующих компиляторов средствами генерации
параллельных программ.
В рамках данного направления разрабатываются и исследуются как
статические, так и динамические методы планирования параллельных
вычислений:
 эвристические методы, основанные на понятиях идеальной и
оптимальной параллельных программ;
 подходы, основанные на методе ветвей и границ и основной теореме
динамического программирования;
 генетические алгоритмы и алгоритмы отжига;
 списочные расписания.
Для
статического
распараллеливания
программ
разрабатывается
модульно-адаптируемая технология генерации кодов параллельных программ,
основной отличительной особенностью которой является автоматическая
оптимизация структуры параллельной программы на языке высокого уровня с
использованием глобальных характеристик, применение существующих
компиляторов последовательных программ для генерации кода отдельной
ветви и возможность модульно независимой адаптации к языку
программирования, архитектуре и способу взаимодействия ветвей.
 Методы и средства моделирования, оптимизации и оценки
характеристик мультипроцессорных вычислительных систем без
создания аппаратного прототипа.
В рамках данного направления разрабатываются:
1. Принципы построения среды моделирования, исследования и
оптимизации вычислительных систем: компоненты среды, их
взаимодействие, основные типы фиксируемых событий и состояний.
2. Язык
описания
программных
и
аппаратных
компонентов
вычислительных систем.
3. Методики и средства оценки времени выполнения процесса: точный
метод частичной имитации, основанный на статико-динамическом
анализе программ; грубый метод, основанный на использовании меры
вычислительной сложности процесса.
4. Эргономичные
средства
визуализации
поведения компонентов
вычислительных систем.
 Нейронные сети.
Основное внимание в данном направлении уделяется:
1. Методам получения оптимальных (по числу нейронов и ошибке)
нейроструктур для заданного класса прикладных задач.
2. Методы вычисления характеристик прикладных задач не заданных на
регулярных сетках.
 Методы оценки временной сложности вычислений на вычислителях с
различной архитектурой
При выборе той или иной вычислительной системы для решения прикладных
задач пользователи неизбежно сталкиваются с вопросом: насколько данная
система удовлетворяет классу решаемых задач. Основой при ответе на этот
вопрос служат различные характеристики производительности. Как показывает
накопленный опыт, многообразие вычислительных систем, отличных по
архитектуре, чрезвычайно затрудняет использование в качестве средства
сравнения единой меры производительности.
Время выполнения программы на вычислителе - это мера, естественная с
точки зрения восприятия человеком и универсальная при сравнении
вычислителей любой архитектуры. Однако трудность получения значения
времени, затрачиваемого на выполнение некоторой вычислительной работы,
состоит в том, что необходимо выполнить программу (набор программ) на
каждой из сравниваемых вычислительных систем. А это может быть или
слишком дорого (например, для сложных "параллельных" вычислительных
систем), или практически недоступно (при наличии только проекта
архитектуры).
В силу указанных выше особенностей становится актуальной задача
разработки методики прогнозирования времени выполнения программ на
различных вычислительных системах.
Нами предложен комплексный статико-динамический подход для решения
задачи прогнозирования времени выполнения последовательных вычислений,
позволяющий получать высокую точность прогнозирования. Новизна подхода
заключается в том, что метод использует статический анализ текста
программы с целью получения временных оценок для линейных фрагментов
вычислений, которые затем корректируются динамически в ходе прогона
программы. При прогнозировании осуществляется частичная имитация работы
устройств целевого вычислителя, однако эмуляция не производится.
Исследованы
несколько
классов
целевых
вычислителей
(CISC,
векторно-конвейерные, RISC) и построены соответствующие модели. Для
каждого класса вычислителей предложены средства для параметрического
описания архитектуры вычислителя, что позволяет реализовать многоцелевую
инструментальную
систему
прогнозирования
времени
выполнения
вычислений.
 Исследование
эффективности
методов
синхронизации
в
распределенных системах дискретно-событийного имитационного
моделирования.
В рамках данного направления исследуются и разрабатываются
соответствующие алгоритмы временной синхронизации модельных процессов.
В настоящее время проводится исследование эффективности различных
консервативных и оптимистических алгоритмов синхронизации. Основными
критериями являются отношение полезного к общему времени работы модели,
количество одновременно обрабатываемых событий для консервативных
алгоритмов, отношение общего числа сообщений к числу контр-сообщений для
оптимистических алгоритмов.
Сделана
экспериментальная
реализация
распределенной
системы
имитационного моделирования ДИАНА на основе консервативного алгоритма
синхронизации Chandy-Misra.

Моделирование и анализ функционирования вычислительных сетей.
Основные цели моделирования:
 Выбор оптимальной конфигурации вычислительной сети при ее
создании или модернизации (расширение).
 Оптимальное управление сетью.
Модель сети представляет собой совокупность моделей элементов сетевой
архитектуры: серверов, клиентов, мостов, коммутаторов, концентраторов,
линий передачи данных и т.д. Модель каждого такого элемента собирается из
моделей соответствующих протоколов согласно семиуровневой модели
OSI/ISO.
Модели позволяют получать следующие характеристики вычислительной сети:
 время отклика (время выполнения запросов) на прикладном уровне;
 реальную пропускную способность сети на любом из уровней;
 отношение полезного трафика к общему;
 эффективность алгоритмов маршрутизации.
 Спецификация и верификация логических свойств программ.
В рамках данного направления рассматриваются два подхода
1. Подход, основанный на темпоральной логике. В этом подходе моделью
процесса является конечная система переходов. В качестве
спецификации выступает формула темпоральной логики линейного или
ветвящегося времени.
2. Подход, основанный на исчислении взаимодействующих процессов
Р.Миллнера (CCS). В этом подходе процессы строятся из атомарных
процессов
при
помощи
набора
алгебраических
операций.
Спецификацией при этом считается уравнение над данным набором
операций,
которому
должны
удовлетворять
специфицируемые
процессы. Проверка спецификации сводится к выводу такого уравнения
их аксиом исчисления процессов.
Основное внимание в данном направлении уделяется разработке
эвристических методов верификации логических свойств программ с целью
достижения практически приемлемой сложности.
Download