На правах рукописи
ПОДКОПАЕВ ИЛЬЯ ВИКТОРОВИЧ
ИССЛЕДОВАНИЕ И РАЗРАБОТКА МЕТОДОВ
ПОВЫШЕНИЯ ЭФФЕКТИВНОСТИ УПРАВЛЕНИЯ
ВЫЧИСЛИТЕЛЬНЫМИ МОЩНОСТЯМИ В КЛАСТЕРАХ
РАБОЧИХ СТАНЦИЙ
Специальность 05.13.01.
Системный анализ, управление и обработка информации
АВТОРЕФЕРАТ
диссертации на соискание ученой степени кандидата технических наук
Москва 2010
Работа выполнена на кафедре Вычислительная техника при Московском государственном институте электронной техники (техническом университете).
Научный кандидат технических наук, руководитель профессор Лупин Сергей Андреевич Официальные доктор технических наук, профессор;
оппоненты Гагарина Лариса Геннадьевна кандидат физико-математических наук, Посыпкин Михаил Анатольевич Ведущее Учреждение Российской академии предприятие наук Межведомственный суперкомпьютерный центр РАН
Защита состоится “” _ 2010 года на заседании диссертационного совета Д212.134.02 при Московском государственном институте электронной техники (техническом университете).
124498, Москва, МИЭТ, проезд 4806 д.
С диссертацией можно ознакомиться в библиотеке МИЭТ.
Автореферат разослан “” _ 2010 года.
Ученый секретарь диссертационного совета д.т.н. _ А.В. Гуреев
Общая характеристика работы
Актуальность проблемы. В настоящее время высокопроизводительные вычисления занимают все более важное место в промышленности, науке, образовании. В июле 2009 года на заседании Совета безопасности России президент Д.А.Медведев заявил о важности суперкомпьютеров для страны. Современные суперкомпьютеры в подавляющем большинстве являются дорогостоящими blade-кластерами. Ведущие университеты устанавливают у себя подобные системы для обеспечения НИР, а также для обучения студентов параллельному программированию и навыкам работы с высокопроизводительными вычислительными системами. В подавляющем большинстве случаев подобные ресурсы используются в режиме разделения. Система управления, тем или иным образом выделяет время и процессорные мощности для каждой задачи, поступающей на выполнение. При этом каждый пользователь получает в свое распоряжение только часть системы производительностью порядка нескольких сотен GFlops. Этого оказывается достаточно для большинства приложений.
Для проведения высокопроизводительных вычислений можно использовать и гораздо более дешевые вычислительные комплексы типа кластеров рабочих станций (Cluster of WorkStations, CoWS). Их можно создавать на основе учебных компьютерных классов, без которых не обходятся ни одно высшее учебное заведение. Считалось, что подобные системы могут использоваться в режиме высокопроизводительных вычислений (High Performance Computing, HPC) только в свободное от учебных занятий время, когда на рабочих станциях никто не работает.
В работе решаются вопросы, связанные с возможностью запуска параллельных приложений на кластерах CoWS в то время, когда на рабочих станциях - узлах кластера решаются локальные задачи пользователей.
Для этого в общем случае, надо знать ответы на следующие вопросы:
каков объем свободных вычислительных мощностей на может ли существующая сетевая инфраструктура обеспечить межузловой обмен при запуске параллельных каков должен быть механизм управления свободными вычислительными ресурсами?
Предлагаемый подход, позволит реализовывать на базе компьютерных классов суперкомпьютеры типа CoWS с пиковой производительностью 1-2 TFlops, доступные в течение 24-х часов в сутки.
Цель работы и задачи исследования. Цель работы: создание эффективной системы управления свободными вычислительными ресурсами узлов кластеров рабочих станций с многоядерными процессорами.
Для достижения поставленной цели в работе решаются следующие основные задачи:
1. Сравнительный анализ архитектур существующих высокопроизводительных вычислительных систем, процессоров, коммутационных решений.
2. Анализ загрузки узлов вычислительной системы типа CoWS.
3. Анализ загрузки коммуникаций вычислительной системы типа 4. Разработка структуры и схемы управления кластером.
5. Построение модели вычислительной системы и оптимизация управления потоком поступающих заявок.
6. Проведение испытаний и анализ эффективности предложенного Объект и предмет исследования. Объектом исследований являются высокопроизводительные вычислительные системы.
Предметом исследования являются методы управления ресурсами кластерных систем с многоядерными узлами.
Методы исследования. При решении поставленных задач были использованы положения теории систем массового обслуживания, теории сетей Петри и событийного моделирования, теории вероятности и математической статистики, теории параллельного программирования.
Научная новизна. Теоретически обоснована возможность использования свободных мощностей рабочих станций компьютерных классов для создания на их основе суперкомпьютеров типа CoWS с пиковой производительностью 1-2 TFlops. Создана модель, позволяющая определить допустимые характеристики входного потока заявок и оптимальную с точки зрения показателей качества обслуживания стратегию управления.
Практическая значимость.
Работа выполнена при поддержке аналитической ведомственной целевой программы "Развитие научного потенциала высшей школы" министерство образования и науки РФ в рамках проекта «Решение прикладных комбинаторных и оптимизационных задач большой размерности в среде параллельных и распределенных вычислений».
Регистрационный номер: 2.1.2/6394.
Предлагаемый подход позволяет создавать экономичные кластерные вычислители на основе свободных мощностей рабочих станций компьютерных классов. Разработанная модель, позволяет определять параметры системы управления кластером, обеспечивающие заданный уровень обслуживания потоков задач.
Положения, выносимые на защиту.
1. Модель кластерной вычислительной системы под управлением MS HPC Server 2008, позволяющая определять параметры системы управления, обеспечивающие заданный уровень обслуживания потоков задач.
2. Программная реализация модели кластерной вычислительной системы в среде AnyLogic.
3. Результаты исследований реальной производительности кластерной вычислительной системы на тесте Linpack и при решении комбинаторных задач, подтверждающие эффективность управления.
Реализация результатов работы. Теоретические и практические результаты диссертационной работы внедрены на кафедре Вычислительной техники в Московском институте электронной техники и на предприятии ОАО ЗИТЦ. Разработанный CoWS вычислитель с пиковой производительностью 1,6 и реальной (на тесте Linpack) 0,874 TFlops используется как в учебном процессе, так и при выполнении НИР. Параметры системы управления кластером, найденные при помощи предложенной модели, обеспечивают время реакции системы на уровне 1-2 минуты, как для локальных, так и для внешних заявок. При этом загрузка узлов кластера локальными приложениями составляет около 50 часов в неделю, а параллельными приложениями до 120 часов.
Апробация работы. Основные положения диссертационной работы докладывались и обсуждались на Всероссийских межвузовских научнотехнических конференциях студентов и аспирантов "Микроэлектроника и информатика - 2007", "Микроэлектроника и информатика - 2009", "Микроэлектроника и информатика - 2010", Международной научнопрактической конференции "Современные информационные технологии в ИТ-образовании", третьей Всероссийской научной конференции “Методы и средства обработки информации”, Всероссийской ежегодной научно-технической конференции “ОБЩЕСТВО, НАУКА, ИННОВАЦИИ”.
Публикации. По материалам диссертации опубликовано семь тезисов докладов и шесть статей (из них 3 в журналах, входящих в перечень ВАК), получено свидетельство о государственной регистрации программы для ЭВМ.
Структура и объм диссертационной работы. Рукопись диссертационной работы состоит из введения, четырех глав, заключения, списка литературы и пяти приложений. Она изложена на 124 страницах основного машинописного текста, содержит 54 рисунка, 22 таблицы и включает библиографию из 44-х наименований.
Содержание работы Во введении сформулированы актуальность, цель работы, ее научная новизна и практическая значимость; представлены применяемые методы исследования, внедрение результатов, апробации и структура диссертации.
В первой главе рассмотрены архитектуры и системы управления высокопроизводительными вычислителями, проанализированы основные тенденции суперкомпьютерной отрасли.
Рассмотрены некоторые из наиболее распространенных высокопроизводительных решений иностранных (SGI, IBM, CRAY) и российских (Т-Платформы, Крафтвей) производителей. В ходе анализа отмечены достоинства и недостатки предлагаемых систем с точки зрения используемых архитектур, коммутационных решений и систем управления.
Показано, что в настоящее время доминирующее положение занимает гибридная архитектура, в которой SMP узлы объединены в кластерную систему (рис. 1).
Рис. 1. Структура гибридной вычислительной системы Переход отрасли на стандартные, серийно выпускаемые компоненты в целом обусловил рост кластерных решений, в частности достаточно популярными стали кластеры типа CoWS, производительность которых хотя и не позволяет попадать в верхние строчки рейтингов суперкомпьютеров, тем не менее, достаточна для проведения наукоемких вычислений. Проведен анализ влияния основных компонентов кластеров рабочих станций на эффективность вычислений.
С точки зрения коммутации, стандартом для ВВС стало разделение вычислительной и управляющих сетей с целью устранения влияния паразитного трафика на производительность системы коммуникаций.
В качестве основной сети в крупных многоузловых кластерах используется InfiniBand, в кластерах меньшего размера достаточно часто встречается Gigabit и 10 Gigabit Ethernet за счет своей существенно меньшей цены. Gigabit Ethernet так же повсеместно используется и в качестве управляющей сети.
С точки зрения систем управления наиболее распространенным подходом является использование программного обеспечения от производителя кластера и ОС Linux. Анализ показал, что хотя еще лет назад подавляющее большинство ВВС работало под ОС Unix, современные кластерные системы ввиду использования стандартных процессоров, используют широкий диапазон операционных систем.
В частности, можно отметить набирающее популярность решение от Microsoft – MS HPC Server. К его достоинствам можно отнести гибкость в управлении различными топологиями и архитектурами ВВС, а так же развитую систему планирования задач и мониторинга состояния системы.
Во второй главе анализируется возможность использования оборудования компьютерного класса в качестве кластерной вычислительной системы типа CoWS.
Исследования предлагаемого подхода проводились на кластерной системе МИЭТ-2008, установленной в ходе реализации Инновационной образовательной программы в Московском институте электронной техники. Система состоит из 26 двухпроцессорных узлов на основе Intel XEON E5335 с 4GB RAM под управлением ОС MS HPC Server 2008.
Все узлы объединены двумя сетями Gigabit Ethernet с помощью двух коммутаторов Hewlett-Packard. Пиковая производительность кластера составляет 1,6 Тфлопс, производительность на тесте Linpack достигает 871,5 Гфлопс (64,4%). Данный результат позволил кластеру занять 43-е место в списке ТОП50 суперкомпьютеров России и СНГ (редакция от 23.09.2008). Это подтверждает возможность использования CoWS в качестве платформы для проведения высокопроизводительных вычислений в свободное от занятий время. Эффективность CoWS кластеров несколько ниже систем на blade-массивах при равном числе узлов, но за счет стоимости и простоты внедрения они являются приемлемым НРС решением для вузов. Целью настоящей работы является повышение эффективности использования вычислительных ресурсов кластера CoWS за счет одновременного запуска локальных и параллельных приложений. Для ответа на вопрос о наличии свободных вычислительных ресурсов при решении на узлах локальных задач был проведен мониторинг с помощью средств HPC Cluster Manager. Он показал, что загруженность процессоров рабочих станций не превышает 10-12%, т.е. 7 из 8 ядер остаются свободными. При этом на узлах использовалось следующее программное обеспечение: Altium Designer, Microsoft Office, Visual Studio.
Второй аспект проблемы связан с используемой в классах коммуникацией. В большинстве случае сегодня это Gigabit Ethernet.
Проанализируем, как влияет на производительность кластера наличие сетевых помех в виде широковещательного трафика.
Для оценки производительности сети использовалась кроссплатформенная клиент-серверная программа Jperf - генератор TCP и UDP трафика для тестирования пропускной способности сети. Для создания широковещательного трафика один из узлов кластера, не участвующий в вычислениях, генерировал 16000 UDP пакетов в минуту размером 1500 байт. Проведенные исследования показали, что реальную производительность кластера в большей степени ограничивает высокая латентность Ethernet, а не пропускная способность этой среды. Тем не менее, высокие результаты на тесте Linpack, весьма интенсивно использующем пересылки между узлами, говорят о том, что коммуникационная среда класса позволяет реализовывать параллельные расчеты. Результаты выполнения теста Linpack с широковещательным трафиком:
Число узлов Результаты выполнения теста Linpack без широковещательного трафика:
Из приведенных тестов можно сделать вывод о том, что при наличии широковещательной загрузки сети производительность вычислений падает менее чем на 8%.
Другими словами, производительность сети кластера позволяет проводить высокопроизводительные вычисления даже при наличии интенсивной сетевой активности со стороны пользователей.
Исследования подтвердили, что при решении на узлах локальных задач остаются незадействованными сетевые и вычислительные ресурсы, которые могут быть использованы для параллельных вычислений.
Проведен анализ того, как влияет на производительность параллельных вычислений нагрузка, создаваемая локальными приложениями пользователей, а так же, насколько снизится субъективная длительность отклика пользовательских узлов при выполнении вычислений.
В ходе исследований было выяснено, что запуск на узлах параллельных и локальных приложений в режиме разделения времени приводит к увеличению времени отклика для интерактивных приложений пользователей.
Однако, если для параллельных приложений использовать на каждом узле не все доступные вычислительные ядра, а, допустим, семь из восьми, то это позволит обеспечить время реакции системы на приемлемом уровне при сохранении доступа к весьма существенным вычислительным мощностям с пиковой производительностью:
где nA - число доступных для проведения вычислений ядер на каждом узле. Задача ограничения использования кластерных ресурсов – это задача управления потоком задач, поступающих на кластер.
С этим связан третий аспект проблемы. Использование распределенных вычислительных ресурсов для запуска параллельных приложений возможно только при наличии в системе соответствующего менеджера. Отметим, что он должен управлять только заданиями, претендующими на свободные ресурсы узлов. Локальные задачи администрируются операционной системой рабочих станций.
Одним из возможных инструментов управления потоками задач в кластерных системах является ОС MS HPC Server 2008, важным преимуществом которой является встроенный планировщик HPC Scheduler. MS HPC Server, устанавливается на сервер класса и обеспечивает управление заданиями, поступающими на кластер через сеть Internet.
HPC Job Scheduler предоставляет широкий выбор стратегий управления:
FIFO с использованием приоритетов.
С вытеснением.
Адаптивное выделение ресурсов.
Утилизация свободных ресурсов.
Монопольное использование многоядерного узла.
Кроме того, существует возможность разделения кластера на подкластеры с целью разделения очереди и ограничения максимально доступного каким-либо источникам заявок числа узлов или ядер.
Внутри очереди для каждого подкластера также может быть применена одна из стратегий, но стратегия эта должна быть едина для всех подкластеров.
Таким образом, HPC Server 2008 предоставляет широкие возможности по обработке потока поступающих заявок. В зависимости от используемой стратегии управления, ее настроек, а так же характеристик поступающего потока заявок (интенсивность, характер распределения параметров и интервала между заявками), будут меняться показатели качества обслуживания данного потока, а так же средняя загруженность кластерной системы и, как следствие, время отклика узлов на действия пользователей.
Определение допустимых характеристик входного потока и оптимальной стратегии управления, является одной из важнейших задач при использовании кластера.
В третьей главе рассматриваются вопросы моделирования и расчета параметров кластерной вычислительной системы как системы массового обслуживания.
Кластеры CoWS можно отнести к системам массового обслуживания, поскольку их структура ориентирована на исполнение группой функциональных узлов запросов, поступающих извне или изнутри системы. В типичном CoWS можно выделить следующие структурные элементы, присущие СМО:
Заявки (задачи, требования) – пользовательские приложения, требующие выполнения на кластерной системе. Каждой заявке сопоставляется в качестве параметра необходимое число вычислительных ядер, а так же ориентировочное время выполнения и ряд других опций.
Источники заявок – пользователи, находящиеся за терминалами вне системы или использующие в качестве терминалов вычислительные узлы кластера.
Внутренние и внешние заявки, составляющие вместе входной поток требований, поступают на распределительный узел кластера (HPC Head Node), где формируют очередь задач.
После выборки из очереди задания попадают на вычислительные узлы кластера (обслуживающие устройства). Причем в зависимости от разделения кластера на подкластеры и выбранной дисциплины обслуживания структура и тип СМО могут Дисциплина обслуживания – одна из возможных схем обслуживания очереди задач в планировщике заданий.
Согласно принятой классификации СМО CoWS будет являться системой с ограниченной длинной очереди, поскольку HPC Job Scheduler позволяет накапливать поступающие задания и выбирать из них первоочередные с точки зрения выбранной стратегии управления.
Поскольку, максимальное число заявок в очереди конечно, в случае превышения некоторого порога, вновь прибывшие заявки получат отказ в обслуживании.
Обслуживающими приборами будут являться процессорные ядра кластера, входящие в состав процессоров рабочих станций, с которых и производится отправка заданий на кластер. Наличие нескольких исполнительных устройств позволяет считать систему многоканальной с тем замечанием, что одна и та же заявка может занимать более одного канала (ядра).
Данная система является однофазной, поскольку выполнение задач нельзя разделить на этапы.
Рассмотрим входной поток требований - совокупность всех поступающих на кластер заявок. В соответствии с принятой классификацией, поток может обладать одним или несколькими из следующих свойств:
1. Стационарность потока означает его однородность по времени; вероятностные характеристики такого потока не меняются в зависимости от времени. В реальной ситуации входной поток можно считать стационарным только на определенном промежутке времени, например в ходе лабораторной работы. Поскольку именно такой период и является наиболее трудным для системы управления, в дальнейшем в основном будет рассмотрен именно такой случай, если явно не указано иное.
2. Отсутствие последействия. Поток событий называется потоком без последействия, если для любых непересекающихся участков времени число событий, попадающих на один из них, не зависит от того, сколько событий попало на другие. Поскольку отсутствует явная связь между заявками, поступающими от различных узлов кластера в ходе лабораторной работы и внешними источниками ресурсоемких задач, входной поток требований на кластер является потоком без последействия.
3. Ординарность. Поток событий называется ординарным, если вероятность попадания на элементарный участок двух или более событий пренебрежимо мала по сравнению с вероятностью попадания одного события. Для ввода в систему поступающих задач используется механизм прерываний, что исключает их одновременное появление и позволяет считать входной поток заявок ординарным.
Поток заявок, обладающий свойствами стационарности, ординарности и отсутствия последействия является простейшим.
Большинство зависимостей, выведенных для СМО разных типов, исходят из предположения, что входной поток требований является простейшим.
Указанные выше соображения позволяют считать входной поток заявок пуассоновским, а систему в целом - Марковской. Эти характеристики потока не могут быть как-либо изменены, поскольку они специфичны для решаемой задачи. Тогда на характеристики кластера как СМО, будут оказывать влияние лишь плотность (интенсивность) потока заявок и время обслуживания каждой заявки в системе.
Если рассматривать кластер CoWS, как систему с ограниченной длиной очереди, то:
Вероятности состояний S0,..., S N (т.е. занятости 0,..., N исполнительных устройств, где N - их общее число) находят по формуле Вероятности состояний SN 1,..., SN l определяют с помощью формулы максимальная длина очереди.
отношение Вероятность отказа в обслуживании определяется из выражения коэффициент занятости из выражения Kb.
Среднее число свободных обслуживающих устройств и коэффициент простоя определяются: M free N M busy N 1 Kb, Средняя длина очереди определяется с помощью Тип и характеристики полученной СМО существенно зависят от ряда настроек вычислительной системы, а именно от разбиения кластера на подкластеры и опции эксклюзивного выделения задаче кластерного узла. Это означает, что занятость системы определяется не только количеством задач, поступивших на выполнение, но и их требованиями к ресурсам. Следовательно, для CoWS с многоядерными узлами, необходимо определять не только число свободных узлов, но и количество свободных ядер, доступных поступающим задачам.
Аналитический аппарат классической теории СМО позволяет рассчитать показатели качества обслуживания только в нескольких простейших случаях (каждая задача претендует на одно или k const ядер, интенсивность входного потока и интенсивность выполнения заданий постоянны), а в реальной ситуации характер и параметры распределения характеристик входного потока могут быть самыми различными и, кроме того, в большинстве случаев задача претендует на случайное число вычислительных ядер. Определение показателей качества обслуживания в широком диапазоне характеристик входных потоков заявок возможно только с помощью имитационной модели.
На основе сетей Петри в диссертации разработана модель кластера CoWS с многоядерными узлами, управляемого MS HPC Server 2008.
Рассмотрим работу модели.
Обозначим получившуюся сеть как N S, T, F, где Рис. 2. Модель кластерной вычислительной системы под управлением 1. S s1,..., sZ, sQ, sSch, sE1,..., sE N ;
2. T t1,..., tZ, tZ 1, tSch, tExit ;
Позиции s1 sZ представляют собой источники входных заявок (узлы кластера), генерируемых переходами t1 tZ, где Z - общее число источников. Позиция sQ - некоторая предварительная входная очередь, где заявки ожидают попадания во внутреннюю очередь планировщика, представленную позицией sSch. Исполнительные устройства представлены позициями sE1,..., sE N, где N исполнительных устройств, зависящее от требований текущих заявок.
Фактически N 0,1,..., N, где N - общее число ядер в кластере.
Поступающие заявки представлены фишками одного типа:
minCores, maxCores, alCores, exTime, timeInProc, priority, enum1,..., N minCores, enum1,..., N maxCores, integer timeInProc, integer exTime, enum0,..., 4 priority, boolean exclusivity, array of enum0,..., NS subClusterN, array of SubTask subTasks, где minCores и maxCores - соответственно минимальное и максимальное число ядер, требуемых для заявки. Параметр minCores max token.subTasks[i].exCores. В случае с maxCores однозначного определения нет, поскольку пользователь может намеренно ограничить ресурсоемкость задачи, однако, в случаях, когда требуется минимальное время выполнения заявки, целесообразно устанавливать alCores - число ядер, выделенных задаче планировщиком. В момент появления заявки в системе alCores 0. Очевидно, что minCores alCores maxCores.
exTime - максимальное время, требующееся для заявки, чтобы быть выполненной. Данный параметр может быть определен не для каждой задачи, но использование опции backfilling возможно только в случае наличия положительного значения у данного параметра. В худшем случае maxTime subTask[i].exTimeT timeInProc - длительность пребывания заявки в системе в тактах модельного времени. В момент поступления заявки timeInProc 0.
priority - приоритет заявки от наивысшего (0) до наименьшего (4).
exlusivity - использовать узлы только для данной задачи.
subClusterN - массив номеров подкластеров, N S - общее число подкластеров, если subClusterN {0}, то заявка может быть запущена на любом узле кластера.
subTasks - массив подзадач, представленных объектами типа SubTask : exCores, exTimeT, где integer exCores - число ядер, необходимых подзадаче, integer exTimeT - время, требуемое подзадаче для выполнения. В начальный момент времени маркировка сети пустая, т.е. M 0.
Переходы t1,..., tZ генерируют заявки с интервалами, заданными соответствующими функциями распределения распределения:
Обозначим число заявок в позиции через s.count, тогда переход появлении во входных позициях хотя бы одной заявки от какого-либо источника и наличии места во входной очереди (число заявок в позиции SQ не превышает оговоренного значения K ).
т.е. в какой-либо из позиций sE1,..., sE N существует токен, у которого выполнены все подзадачи.
Функционирование перехода tSch, представляющего собой планировщик, существенно зависит от используемой дисциплины обслуживания.
В случае FIFO без включенной опции backfilling и при exclusivity false его можно представить в виде следующего алгоритма:
sSch.add sQ.get sQ.count ni sSch [0].subClusterN.nodes, k sSch [0].subClusterN.nodes ) THEN sE f.add sSch[0], где f 1,..., N - номер исполняемой очереди, определяемый объединением sSch [0].subClusterN.nodes.
В случае exclusivity true условие (1) можно переписать в виде SSch [0].min Cores ni.cores ni.busy Обозначим r 1 log 2 K, dp r token. priority w, где w номер токена в позиции sSch, - операция логического сдвига влево, тогда с учетом приоритетов, необходимо выбирать из очереди не первый токен, а SSch [h] : SSch [h].dp min SSch [i].dp.
В случае, если условие (1) не выполняется, то при включенной опции backfilling, возможен запуск задачи, расположенной в очереди после текущей с учетом приоритета. Для этого нужно посчитать «окно»:
window StartTime sSch [h] ni.cores ni.busy, где StartTime sSch [h] - расчетное время, оставшееся до старта текущей задачи, определяемое из текущей загрузки узлов и ориентировочного времени завершения текущей задачи.
После этого WHILE ( list.count sSch.count ) Другими словами, внутри очереди в порядке, установленном стратегией FIFO с приоритетами, ищется задача, работа которой на доступном числе ядер будет завершена до истечения StartTime sSch [h].
В случае если извлеченная из очереди задача требует эксклюзивного выделения ресурсов, условие (2) можно переписать следующим образом:
h : SSch [h].dp min SSch [i].dp sSch [h].maxTime sSch [h].minCores window SSch [h].minCores ni.cores ni.busy Функционирование стратегии адаптивного разделения ресурсов можно разделить на два этапа:
1. Освобождение ресурсов. Поиск среди выполняющихся заявок задач, оставшимся подзадачам которых требуется меньше ресурсов, чем уже выделено.
i j : sE i j.subTask[k ].exCores sE i j.subTask[k ].exTime Обозначим число освободившихся ресурсов через l. Тогда 2. Выделение ресурсов выполняющимся задачам. Аналогично (2) среди выполняющихся задач ищется наиболее приоритетная задача, подзадачам которой требуются дополнительные ресурсы, i j : sE i j.subTask[k ].exCores sE i j.subTask[k ].exTime.И выделяется необходимое (или максимально возможное) количество ресурсов R, определяемое следующим образом:
s j.subTask[k ].exCores s j.subTask[k ].exTime Описанная модель программно реализована в среде AnyLogic. Она позволяет определять параметры планировщика HPC Job Scheduler, которые обеспечивают эффективное использование свободных вычислительных ядер всех узлов кластера.
В четвертой главе описываются результаты проведения сравнительных экспериментов. Их целью являлась верификация предложенной модели.
В ходе симуляций было проведено исследование влияния различных характеристиках поступающего потока задач на качество обслуживания. Были определены критические значения нагрузки, при превышении которых показатели качества обслуживания выходили за допустимые пределы (время реакции более 1 минуты). Проведенные исследования позволили построить номограммы, позволяющие определить допустимые характеристики поступающего на кластер потока задач, при которых время отклика узлов системы остается приемлемым для пользователей.
Для верификации предложенной модели и проверки корректности результатов теоретических расчетов, были проведены практические эксперименты на вычислительном кластере МИЭТ-2008. В ходе экспериментов, на кластер подавался такой же поток заданий, что и при симуляции. Полученные результаты подтверждают адекватность и приемлемую для использования точность модели (5-19%).
Таблица 1. Сравнительные характеристики среднего времени ожидания при модельном и реальном экспериментах.
Характеристики потока задач Время ожидания, (сек) Разница, alCores Таблица 2. Сравнительные показатели модельного эксперимента и аналитического решения Порог занятости Теоретическая Результаты модельного Разница, Эксперименты по использованию свободных ресурсов кластерной вычислительной системы непосредственно в ходе лабораторной работы подтвердили, что при полученных в ходе модельных экспериментов характеристиках потока ресурсоемких задач, время реакции узлов системы по субъективным оценкам пользователей остается на приемлемом уровне.
Таким образом, полученные результаты теоретически и практически подтверждают, что свободные вычислительные ресурсы рабочих станций компьютерных классов можно использовать для проведения ресурсоемких параллельных вычислений и в то время, когда на узлах решаются локальные задачи. При этом среднесуточный коэффициент загрузки узлов кластера повышается на 66%, с 0,56 до 0,93.
Защищаемые в работе положения подтверждены актом о внедрении, свидетельством о государственной регистрации программы для ЭВМ и сертификатом о включении вычислительной системы МИЭТ-2008 в рейтинг ТОР-50.
В заключении приведены основные результаты работы:
1. Проведен анализ архитектур вычислительных систем и ресурсоемких приложений на кластерах рабочих станций.
Проведен анализ загрузки вычислительной системы типа CoWS, который подтвердил наличие значительных (до 83%) свободных мощностей узлов.
Проведен анализ загрузки коммуникаций кластерной вычислительной системы, который подтвердил возможность выполнения параллельных приложений при наличии широковещательного межузлового трафика.
Построена модель кластерной вычислительной системы, позволяющая определять параметры планировщика HPC Job Scheduler, которые обеспечивают эффективное использование свободных вычислительных ядер всех узлов кластера.
вычислительная система с пиковой производительностью 1,6 и реальной (на тесте Linpack) 0,874 TFlops, доступная 24 часа в Проведены испытания, которые подтвердили эффективность вычислительных ресурсов кластеров CoWS для реализации ресурсоемких параллельных вычислений.
Основные результаты диссертации изложены в работах:
1. Дорошенко Е.С., Подкопаев И.В., Лупин С.А., Исследования производительности кластера типа CoPC // Системный анализ и информационно-управляющие системы: Сборник научных трудов / Под ред. В.А. Бархоткина. – М.: МИЭТ, 2006. – С. 62- 2. Подкопаев И.В. Пиковая и реальная производительность кластерных систем // Микроэлектроника и информатика - 2007. 14-я Всероссийская межвузовская научно-техническая конференция студентов и аспирантов: Тезисы докладов. – М.: МИЭТ, 2007. – С. 266.
3. Дорошенко Е.С., Лупин С.А., Подкопаев И.В. Повышение эффективности использования кэш-памяти при программировании матричных операций // Моделирование, алгоритмизация и программирование при проектировании информационно-управляющих систем: Сборник научных трудов / Под ред. В.А. Бархоткина. – М.:
МИЭТ, 2008. – С. 155-163.
4. Тей Зар Хтун., Подкопаев И.В. Особенности программной реализации алгоритма имитационного моделирования на многопроцессорной вычислительной системе // Моделирование, алгоритмизация и программирование при проектировании информационно-управляющих систем: Сборник научных трудов / Под ред. В.А. Бархоткина. – М.: МИЭТ, 2008. – С. 169-176.
5. Лупин С.А., Подкопаев И.В., Дорошенко Е.С. Кластеры CoPC в учебном процессе университета // Современные информационные технологии в ИТ-образовании: III Межд. науч.-практич. конф.: Сб.
докладов: Учебно-методическое пособие. / Под ред. В.А. Сухомлина. М.: МАКС Пресс, 2008. - С. 503-508.
6. Подкопаев И.В., Дорошенко Е.С. Настройка кластерных систем при проведении тестов Linpack // Микроэлектроника и информатика Всероссийская межвузовская научно-техническая 2009. 16-я конференция студентов и аспирантов: Тезисы докладов. – М.: МИЭТ, 2009. – С. 217.
7. Дорошенко Е.С., Лупин С.А., Подкопаев И.В. Использование высокопроизводительных вычислительных систем в университетах // Известия высших учебных заведений. Электроника.- М.: МИЭТ, 2009. С. 74-81.
8. Дорошенко Е.С., Подкопаев И.В., Лупин С.А. Анализ функционирования кластерных вычислительных систем под управлением MS HPC Server 2008 // Методы и средства обработки информации: Третья Всероссийская научная конференция, Москва, 6- октября 2009 г.: Труды конференции / Под ред. Л.Н. Королева. – М.:
Издательский отдел факультета ВМиК МГУ имени М.В. Ломоносова;
МАКС Пресс, 2009. – С. 324-329.
9. Дорошенко Е.С., Лупин С.А., Подкопаев И.В. Использование свободных вычислительных pесуpсов в многоядеpных кластеpах CoWS // Телекоммуникации. – М.: Наука и технологии, 2010. - № 2. - С. 16-20.
10. Свидетельство об официальной регистрации программы для ЭВМ № 2010611348. Программный комплекс для оптимизации параметров кластерной вычислительной системы под управлением HPC Server 2008 / Лупин С.А., Подкопаев И.В., Дорошенко Е.С.; заявитель и правообладатель ГОУ ВПО Московский государственный институт электронной техники (технический университет) – заявка № 2009617175, заявл. 17.12.2009; зарег. 16.02.2010.
11. Дорошенко Е.С., Лупин С.А, Подкопаев И.В. Моделирование процессов обработки заявок в кластерной системе с Gigabit Ethernet коммутацией. // Всероссийская научно-техническая конференция "Общество - наука - инновации" : Сб. материалов 4 т.- Киров: Изд-во ГОУ ВПО "ВятГУ", 2010. - Т. 2.ФАВТ, ФПМТ, ЭТФ. – С. 202-203.
12. Подкопаев И.В., Лупин С.А., Дорошенко Е.С. Реализация ресурсоемких приложений на кластерах CoWS под управлением MS HPC Server 2008. // Всероссийская научно-техническая конференция "Общество - наука - инновации": Сб. материалов в 4 т. - Киров: Изд-во ГОУ ВПО "ВятГУ", 2010. – Т. 2. ФАВТ, ФПМТ, ЭТФ. – С. 204-205.
13. Дорошенко Е.С., Подкопаев И.В. Повышение устойчивости вычислительной системы CoWS за счет гибридизации ее структуры // Микроэлектроника и информатика – 2010. 17-я Всероссийская научнотехническая конференция студентов и аспирантов: Тезисы докладов. – М.: МИЭТ, 2010. – С. 198.
14. Гончаров В.А., Балдина Н.А., Дорошенко Е.С., Подкопаев И.В.. Численное моделирование процесса кристаллизации полупроводников с использованием параллельных вычислений // Известия высших учебных заведений. Электроника. – М.: МИЭТ, 2010.
- № 6.
Автореферат Подкопаева Ильи Викторовича тема: Исследование и разработка методов повышения эффективности управления вычислительными мощностями в кластерах рабочих станций.
Подписано в печать:
Отпечатано в типографии ИПК МИЭТ(ТУ) 124498, Москва, Зеленоград, проезд 4806 д.5, МИЭТ(ТУ)