«Разработка методов сбора и анализа статистики по потоку прохождения задач в распределенных и многопроцессорных системах» Дипломная работа Выполнена Булочниковой Н.М. Научные руководители: доцент Попова Н.Н., н.с. Сальников А.Н.
Актуальность работы Интенсивное развитие и широкое применение многопроцессорных систем; Необходимость разработки новых методов и средств для анализа и повышения эффективности использования ресурсов вычислительных систем.
Краткая структура работы В дипломной работе представлены: Обзор проблематики Постановка задачи Обзор систем анализа эффективности и оптимизации использования вычислительных ресурсов Исследование и построение решения задачи Особенности программной реализации Основные результаты
Обзор области исследований Системы управления потоком задач LoadLeveler, Open PBS, Sun Grid Engine, Condor Системы анализа и повышения эффективности пользовательских приложений VTUNE, Pablo, Xprofiler Средства мониторинга состояния вычислительной системы Ganglia, Big Brother Система визуального анализа многопараметрических рядов VidaExpert
Цель и постановка задачи дипломной работы Цель дипломной работы Разработка средств для поддержки визуального анализа прохождения потока задач в вычислительной системе. Задача дипломной работы включает в себя: Определение параметров для сбора статистики; Разработка схемы БД для хранения статистики; Разработка и реализация методов визуального анализа прохождения потока задач Разработка и реализация методов визуального анализа эффективности использования вычислительных ресурсов;
Архитектура системы анализа прохождения потока задач База данных для хранения статистики и необходимых данных; Сервер отвечает за работы с вычислительными системами; Клиент предоставляет методы и средства визуального анализа потока задач. Клиент M[1] M[2] M[n] Сервер М[1] M[2] M[n] База данных ВУ[1] ВУ[2] ВУ[n]
Основные элементы базы данных Описание пользователей и групп пользователей; Описание вычислителей; Описание очередей на вычислителе; Статистика по загруженности сетевых интерфейсов и процессоров; Статистика по потоку заданий Результаты тестирования процессоров и сетевых интерфейсов.
Схема базы данных
Сбор статистики: универсальные характеристики Прохождение потока задач имя задачи, присвоенное ей планировщиком время постановки в очередь время отправки на счет время окончания счета требуемые ресурсы (максимальное время, число процессоров) Вычислительная система использование процессоров состояние сети производительность операций ввода-вывода
Описание основных задач клиентской части системы Клиент Тестирование Дополнительные возможности Статистика Главная Производител ьность процессоров Проведение нового теста Загруженность сетевого интерфейса Загруженность процессоров Статистика по задачам пользователей Запрос прогноза для задачи Запрос анализа эффективности распараллеливания задачи Загрузка результатов тестов из файла Анализ эффективности использования вычислительных ресурсов. Установка соединения с БД Выбор целевой ВС Загруженность сетевого интерфейса
Определение процессоров, захваченных задачей Фиксируем время t 0. Выбираем малое Δ t. t -1 =t 0 - Δ t и t 1 =t 0 + Δ t. На интервале [t -1,t 1 ] ищем «скачок вверх». P k = [P i 1,..,P ik ]. Фиксируем время t n. Выбираем малое Δ t. t n- 1 =t n - Δ t и t n+1 = t n + Δ t. На интервале [t n-1,t n+1 ] ищем «скачок вниз». P s = [P i1,..,P is ]. Сравнивая P k и P s, проверяем гипотезу.
Анализ ресурсных запросов пользователей Считаем коэффициент эффективности K = (T_вып + T_обм + Т_ос) / (Т_запр), где T_вып – реальное время выполнения программы, T_обм – время, потраченное на обмены, Т_ос – время, ушедшее на работу ОС, Т_запр – время, запрашиваемое пользователем при постановке задачи в очередь. K принадлежит [0,1].
Анализ использования вычислительных ресурсов Строим графики по загруженности каждого процессора и диаграмму Ганта по задачам. Методом «пристального взгляда» определяем места простоя процессоров. Определяем время, когда процессор, или несколько процессоров простаивали. 2 ситуации: 1. Нет задач для решения; 2. Неэффективное использование ресурсов задачей пользователя.
Описание программной реализации. Пакетная организация. cmTool - координирует и связывает работу всех пакетов; Common - содержит наиболее часто используемые классы (соединение с БД, отображение статистики); Statistics – классы, обрабатывающие статистику по потоку задач; Testing – классы визуализации данных о сетевых интерфейсах и процессорах
Описание программной реализации. Система классов. MainFrame –содержит в себе chart (диаграмму), в который затем передается информация для визуализации. OperationHandler – класс-обработчик событий. FrameAttributes –хранит параметры фрейма. Работа с ним вынесена в класс cxFrameAttributesFactory, который находится в пакете Common.
Разработанные методики и алгоритмы визуального анализа Анализ загруженность процессоров ВС Анализ загруженность сетевых интерфейсов ВС Анализ ресурсных запросов пользователей Определение процессоров, захваченных задачей Анализ эффективности использования вычислительных ресурсов.
Визуализация загруженности сетевого интерфейса Наиболее загруженный сетевой интерфейс Пропускная способность канала между парой процессоров
Визуализация загруженности процессоров max, min, средняя загруженность за выбранный период Загруженность по конкретному процессору за весь указанный период
Анализ потока прохождения задач пользователей Поток задач Описание задач Эффективность задач
Использование вычислительных ресурсов Загруженность процессоров Кол-во задач
Применение разработанных методов для анализа потока задач на вычислительном комплексе IBM IServer Regatta PSeries 690 Выборочная статистика. Ноябрь задач На рисунке распределение задач по из владельцам и числу запрошенных процессоров
Анализ эффективности ресурсных запросов пользователей По оси Х – время По оси Y – пользователи Каждый кружок – задача Чем «горячее» - тем хуже.
Анализ эффективности использования ресурсов конкретной задачей пользователя Имя задачиRegatta Время начала выполнения задачи 11:09: Время окончания выполнения задачи 11:39: Число процессоров8 Запрашиваемое время (микросекунды) 1800 Коэффициент эффективности 0,902 Программно установлено 6 из 8 процессоров. Задача выполнялась на процессорах 3,7,9,11,13,16. 3 процессор – «координатор»
Анализ эффективности использования ресурсов конкретной задачей пользователя Простой 3х процессоров
Результаты проведенной работы Выполнен обзор систем управления заданиями, систем профилирования и оптимизации задач, методов планирования вычислений; Определена схема базы данных для хранения статистики и других необходимых данных системы анализа и оптимизации потока прохождения задач; Определены и реализованы методики визуального анализа процессов прохождения потока заданий Предложены алгоритмы визуального анализа эффективности использования вычислительных ресурсов Предложены алгоритмы для определения процессоров, на которых выполнялась задача пользователя Выполнены исследования эффективности использования ресурсов вычислительного комплекса Regatta IBM pSeries 690 на примере некоторых задач.