автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Система мониторинга вычислительного кластера расширенной функциональности
Автореферат диссертации по теме "Система мониторинга вычислительного кластера расширенной функциональности"
На правэхткописи
Тарасов Алексей Григорьевич
СИСТЕМА МОНИТОРИНГА ВЫЧИСЛИТЕЛЬНОГО КЛАСТЕРА РАСШИРЕННОЙ ФУНКЦИОНАЛЬНОСТИ
05.13.11 — Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук
з 1 23 п
Иркутск - 2011
4841591
Работа выполнена в Учреждении Российской академии наук Вычислительном центре Дальневосточного отделения РАН (ВЦ ДВО РАН).
Научный руководитель:
Официальные оппоненты:
Ведущая организация:
член-корреспондент РАН, профессор
Смагин Сергей Иванович
доктор физико-математических наук Федорук Михаил Петрович
доктор физико-математических наук, профессор
Корольков Юрий Дмитриевич
Институт вычислительного моделирования СО РАН (г. Красноярск)
Защита состоится 31 марта 2011 г. в 15 ч. 00 мин. на заседании Диссертационного совета Д 003.021.01 в Учреждении Российской академии наук Институте динамики систем и теории управления Сибирского отделения РАН (ИДСТУ СО РАН) по адресу: 664033, Иркутск, ул. Лермонтова, 134. '
С диссертацией можно ознакомиться в библиотеке ИДСТУ СО РАН.
Автореферат разослан 28 февраля 2011 г. Ученый секретарь диссертационного совета
д.ф.-м.н. A.A. Щеглова
ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ
Актуальность. При использовании вычислительного комплекса (ВК) разработчикам необходимо решить ряд задач. Одной из них является развертывание средств управления ВК, а также системы мониторинга (СМ). Традиционно для исследования вопросов, связанных с организацией сбора данных и контроля ВК, получения статистики о работе локальных вычислительных сетей (ЛВС) и программных комплексов, разрабатывалось прикладное программное обеспечение (ПО). Исследованиями в этом направлении, в том числе практической реализацией, занимались такие авторы как R. Wolski, I. Foster, M. Genersereth и др. Значительные результаты были достигнуты и в смежных областях: в теории управления и управляющих систем, теории автоматов, системном анализе и системах поддержки принятия решений (A.A. Ляпунов, М. Morton, C.B. Яблонский, О.И. Ларичев, H.H. Моисеев и др.).
Тем не менее, задачи мониторинга по-прежнему являются сложными для практической реализации. Мониторинг компонент программно-аппаратного комплекса и оказание управляющих воздействий на него являются критически важными для организации высокопроизводительных распределенных вычислений. Пользователь и администратор кластера нуждаются в информации о том, как выполняется задание, какое влияние оно оказывает на вычислительную систему в целом. При этом с ростом числа вычислительных узлов в составе ВК возрастает и объем данных, которые приходится анализировать администратору, вследствие чего растет и вероятность ошибки ввиду человеческого фактора.
Многие СМ успешно и эффективно решают задачи мониторинга в частных случаях. Тем не менее, для ВК, на которых установлено устаревшее ПО мониторинга, зачастую переход на новые системы мониторинга затруднен, а устаревшее ПО уже не удовлетворяет возросшим требованиям. Несмотря на все многообразие архитектур и ПО СМ, до сих пор отсутствует возможность интеграции различных СМ между собой, затруднено добавление возможностей к уже разработанным СМ, сложен переход от контроля на низком уровне к более высокому и наоборот. Поэтому существует потребность в разработке новых эффективных подходов к архитектуре СМ.
Цель работы состоит в разработке архитектуры и реализации СМ ВК расширенной функциональности, которая представляет механизмы взаимодействия сторонних СМ и программных комплексов в рамках единой СМ. Для достижения этой цели были поставлены следующие задачи:
1. Разработать архитектуру СМ, позволяющей производить интеграцию построенных на ее основе приложений с различным ПО, в том числе сторонними СМ с учетом современных требований к ним.
2. Реализовать кросс-платформенную СМ, построенную на базе разработанной архитектуры.
3. Применить предложенные подходы для реализации программных комплексов решения задач как общего характера, так и представляющих интерес для узкоспециализированных приложений.
Объектом исследования являются теория и практика организации систем мониторинга вычислительных кластеров.
Предметом исследования являются методы и инструментальные средства контроля разнородных данных в вычислительном кластере.
Методы исследования. При решении поставленных задач использовались методы системного и прикладного программирования; методы объектно-ориентированного и модульного программирования; технологии построения вычислительных кластеров и разработки приложений, работающих в веб-среде.
Научная новизна результатов диссертации состоит в представлении подхода к архитектуре СМ, позволяющего осуществлять автоматизированный контроль ресурсов ВК и улучшить эффективность взаимодействия СМ со сторонним программным обеспечением через механизм отклика на изменения в работе ВК.
Предложен способ наращивания возможностей мониторинга, в том числе путем добавления сторонних модулей к уже используемым СМ без останавки их работы, а также подход к осуществлению совместного мониторинга и анализу данных, поступающих от различных СМ.
Для взаимодействия с независимыми модулями СМ, в том числе реализующим нейросетевые алгоритмы с целью определения текущего состояния вычислительного кластера, предложено использовать авторскую методику уведомления СМ о событиях, позволяющую в процессе работы СМ выполнять подписку на уведомления.
Эффективность предложенных подходов подтверждается тестированием на прикладных задачах, связанных с контролем ВК.
Достоверность полученных в работе результатов и эффективность разработанной архитектуры СМ подтверждается опытом успешной практической эксплуатации разработанного автором диссертации ПО Grate в Вычислительном центре ДВО РАН при мониторинге ряда ресурсоемких прикладных задач и результатами вычислительных экспериментов.
Практическая значимость. Разработанное ПО позволяет повысить эффективность и надежность использования вычислительных кластеров.
Создание и внедрение программных средств, предложенных в диссертации, выполнялись в рамках проекта по внедрению экспериментального
кластера ВЦ ДВО РАН и работ по созданию РВС ВЦ ДВО РАН. Разработанная СМ Grate помогает выполнять мониторинг вычислительных задач, производящих расчеты по плановым научно-исследовательским работам.
Предложенная архитектура СМ может использоваться как для разработки СМ вычислительных кластеров (основная область применения разработанной архитектуры), так и для создания СМ для других областей, например для систем контроля потоков данных в локальной вычислительной сети. В процессе разработки системы автором были получены дополнительные результаты: выполнено тестирование эффективности функционирования вычислительных кластеров, узлы которых находятся под управлением гипервизора Хеп; выявлены значимые для работы СМ метрики.
Соответствие диссертации паспорту специальности. Полученные в диссертации результаты соответствуют области исследования специальности 05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей, включающей в себя исследования моделей, методов, алгоритмов, языков и программных инструментов для организации взаимодействия программ и программных систем (пп. 1, 3 области исследования).
Апробация. Результаты работы были представлены на XXX, XXXII и XXXIII математических школах-семинарах им. Б.В. Золотова (Хабаровск, 2005 г., Владивосток, 2007, 2008 гг.), Всероссийской научной конференции "Научный сервис в сети Интернет: многоядерный компьютерный мир" (Новороссийск, 2007 г.), Межрегиональной научно-практической конференции "Информационные и коммуникационные технологии в образовании и научной деятельности" (Хабаровск, 2008 г.), Международной научной конференции "Параллельные вычислительные технологии" (Санкт-Петербург, 2008 г.), XI Всероссийской конференции молодых ученых по математическому моделированию и информационным технологиям (Иркутск, 2010 г.), Международной научной конференции "Russia and Pacific Conference on Computer Technology and Applications" (Владивосток, 2010 г.).
Исследования по теме диссертации проводились в рамках проектов по программам ДВО РАН: "Распределенные информационные вычислительные системы для комплексных научных исследований" (№ гос. регистрации 0120.0 603769) с 2006 по 2008 гг., "Организация работы вычислительного кластера в режиме удаленного доступа" и "Развитие системного программного обеспечения вычислительного кластера", а также в рамках федеральной целевой программы "Научные и научно-педагогические кадры инновационной России" (проект № 02.740.11.0626) и грантов ДВО РАН № 09-1-П1-01 и 10-Ш-В-01И-008.
Публикации. Результаты научных исследований отражены в 15-и
научных работах, включающих в себя 2 статьи в журналах, рекомендованных ВАК для опубликования результатов диссертаций, 2 препринта, 1 свидетельство об официальной регистрации программы. В перечисленных публикациях все результаты, связанные с алгоритмизацией, программной реализацией и проведением вычислительных экспериментов на высокопроизводительных системах, получены автором лично. Результаты вычислительных экспериментов интеграции системы мониторинга и компоненты искусственных нейронных сетей, полученные совместно с Писаревым A.B., являются неделимыми. Из совместных работ и публикаций с Сапроновым А.Ю., Шаповаловым Т.С., Пересветовым В.В., Смагиным С.И., Щербой С.И. в диссертацию включены только те результаты, которые принадлежат лично автору.
Личный вклад автора. Автором осуществлена выработка требований к системе мониторинга, разработка трехуровневой архитектуры и реализация системы мониторинга расширенной функциональности, получение основных результатов проведенных исследований.
Структура и объем работы. Диссертация состоит из введения, трех глав, заключения, библиографического списка из 96 наименований, глоссария и 4 приложений. Общий объем работы — 145 страниц, в том числе 28 рисунков и 3 таблицы. Результаты главы 1 опубликованы в [2, 3, 5, 13], результаты главы 2 опубликованы в [4,11, 12, 14]. Результаты главы 3 опубликованы в [1, 6-10, 15].
ОСНОВНОЕ СОДЕРЖАНИЕ РАБОТЫ
Во введении обосновывается актуальность работы, формулируются цели и задачи исследования, приводятся основные положения работы. Анализируется специфика предметной области, существующие подходы и их реализация.
В первой главе поставлены основные задачи, решаемые системами мониторинга (СМ):
1) получение от контролируемой вычислительной системы значений множества контролируемых характеристик ВК и их сохранение;
2) выявление значимых событий;
3) запуск средств реагирования (отклика) на значимое событие.
Там же сформулированы дополнительные требования, предъявляемые к СМ. СМ должна предусматривать:
• возможность уведомления приложений пользователя о значимых событиях, возникающих при работе ВК;
• корректную обработку исключительных ситуаций: задержки и ошибки при получении данных, отсутствие либо повреждение необходимой информации и т.п.;
• набор библиотек и программных интерфейсов, позволяющих интегрировать СМ в различные программные комплексы;
• возможность получения и обработки данных сторонних СМ единообразно и прозрачно для пользователя;
• надежную и стабильную работу.
Для выполнения этих требований предложена новая архитектура СМ, передача данных в которой может осуществляться лишь между соседними уровнями. Это позволяет изменять и дополнять уровни, не нарушая общей работоспособности СМ.
Нижний уровень ответственен за сбор и представление данных в виде метрик. Источником данных может быть какой-либо сенсор физического или логического устройства, например БКМР-статистика или данные служб сторонних СМ. Промежуточный уровень отвечает за сбор данных с нескольких источников данных, преобразование их к унифицированному формату, проверку простейших триггеров и выполнение соответствующих им действий. Этими задачами занимаются центры сбора данных (ЦСД). На этом же уровне функционируют ретрансляторы событий. Уровень приложений отвечает за анализ данных и представление их пользователю. Выполняющееся на нем ПО может работать за пределами ВК, обращаясь лишь к данным, предоставляемым промежуточным уровнем.
На рис. 1 представлена общая схема получения и обработки данных мониторинга в системе, построенной с использованием разработанной архитектуры.
Предложенная архитектура позволяет динамически формировать иерархическую структуру данных (ИСД), узлом которой может выступать любой определяемый источником данных программный или аппаратный компонент. При этом базовыми единицами хранения данных являются значения метрик.
Метрика — это набор значений определенного типа, отражающий текущее состояние или изменение характеристики в конкретном узле. Метрики бывают статические, т.е. неизменяемые во время работы ОС (например, объем физической памяти), и динамические (например, время работы вычислительного узла). Также они делятся на метрики с накоплением, которые обеспечивают доступ ко всем данным измерений, и одномоментные: хранят только текущее значение. СМ отслеживает непротиворечивость данных по времени, соблюдение порядка помещения данных в метри-
ку. Узел имеет изменяемые во времени атрибуты и набор метрик. Отличие атрибута от метрики состоит в том, что атрибут всегда хранит только одно значение.
Каждый узел, за исключением корня иерархии, всегда связан с родительским узлом, а также может иметь набор дочерних узлов. Важным свойством является возможность динамического формирования иерархической структуры, узлом которой может выступать любой определяемый источником данных программный или аппаратный компонент. При мониторинге РВС могут быть сформированы метрики РВС (например, число кластеров), метрики кластеров (число вычислительных узлов) и т.н. Узел имеет изменяемые во времени атрибуты и набор метрик. Отличие атрибута от метрики состоит в том, что атрибут всегда хранит только одно значение.
Сборку всех метрик в единое дерево осуществляет ЦСД, который может производить также агрегирование данных и генерировать значения специальной метрики на основе набора однотипных метрик. Например, метрика общей загрузки ВК сформирована на основе данных об использовании процессоров всех узлов ВК.
Каждый сенсор (источник данных) может производить измерение множества метрик, возможно неодинаковое для различных источников. Через определенные промежутки времени источник данных делает мгновенный снимок состояния метрик и передаст его в ЦСД, ответственный за обработку информации.
При получении метрик от сенсоров используются соединения, сеансы и кадры. Кадр — это набор данных, характеризующих метрики и их зна-
чепия в определенный момент времени. Кадр является логическим представлением данных, не зависящим от типа соединения, по которому данные могут передаваться в различных форматах.
При помощи соединения обеспечивается доступ к данным посредством сетевых коммуникаций, открытия локального файла, запроса к базе данных и т.д. Соединение можно рассматривать как реализацию механизма получения метрик в неструктурированном формате от сенсора, к которому единожды при инициализации устанавливается подключение.
Последний участвующий в получении данных от сенсоров объект — это сеанс, используемый для идентификации итерации процесса получения данных.
Следующими важными структурными элементами предлагаемой архитектуры СМ являются триггер и действие. Триггер — это логический элемент, содержащий условие или выражение, истинность которого необходимо проверить для последнего значения метрики. Если условие выполнено, то состояние триггера изменяется, что приводит к выполнению заранее определенных действий. Основная задача триггеров — проверка выполнения простых условий, накладываемых на значения метрик. Предполагается, что проверка триггеров проводится на уровне ЦСД.
Под действием понимается набор инструкций, реакция на срабатывание триггера. Одному триггеру может быть сопоставлено несколько действий и наоборот: одному действию может быть сопоставлено несколько триггеров.
В ряде случаев необходимо выполнять действия при одновременном выполнении нескольких условий. С этой целью в диссертации предложено использовать агрегаторы, которые включают в себя триггеры или другие агрегаторы, каждый из которых проверяет результат выполнения логических операций «И», «ИЛИ» для набора указанных элементов.
Важным средством, обеспечивающим удобную работу с триггерами, является генератор триггеров (или мета-триггер) — объект, создающий триггеры для метрик, подходящих под заданные условия. Необходимость этого элемента продиктована динамической структурой иерархии узлов СМ, при которой часть узлов уже может быть создана (и иметь активные триггеры), другая — отсутствовать и формироваться по мере необходимости. Мета-триггеры облегчают добавление новых узлов в вычислительную систему путем создания триггеров на базе указанного шаблона без вмешательства пользователя или администратора.
У подхода с использованием триггеров имеются недостатки: необходимость реализовывать на уровне проверки триггеров нестандартный способ уведомления для различных приложений, а также невозможность структурированной и иерархической обработки события. Поддержка уве-
домлений о событиях позволяет устранить перечисленные недостатки (см. рис. 2).
Рис. 2: Схема работы системы уведомлений
Каждый контролируемый узел СМ может генерировать уведомление о возникшем событии. В процессе работы СМ пользовательские приложения "подписываются" (регистрируются) на ретрансляторе событий, в качестве которого обычно выступает ЦСД. При подписке указывается, в уведомлениях о каких именно событиях заинтересовано приложение. ЦСД получает информацию о событии и отправляет уведомления зарегистрированным приложениям. Затем сообщение ретранслируется на другие ЦСД.
Клиентское приложение может обрабатывать события, игнорировать их или же генерировать новые события. Например, при возникновении события "отказ сетевой платы" подписавшееся приложение может сгенерировать более конкретные события: "необходимость миграции задач с узла"; "необходимость удаления узла из списка ресурсов вычислительного кластера", о которых, в свою очередь, могут быть уведомлены другие подписчики. Если подписок на одно и то же событие несколько, то приложения получат уведомление в порядке, зависящем от приоритета, указанного при подписке.
Приложения, занимающиеся анализом метрик, выполняются на уровне приложений и принимают данные в структурированном виде от ЦСД посредством явного запроса данных. В зависимости от реализации запрос может содержать указания по агрегированию необходимых данных: осреднить данные по всем узлам, показать суммарную информацию и т.д. Возможно использование пользовательских модулей формирования отчетов для передачи значений метрик стороннему ПО в наиболее подходящем
формате.
Такая архитектура решает все задачи мониторинга, сформулированные в начале первой главы. Разделение элементов СМ по трем уровням позволяет реализовать опрос различных сенсоров единообразно, тем самым обеспечив совместную работу нескольких СМ. Применение механизма подписки обеспечивает взаимодействие СМ со сторонним ПО.
Вторая глава демонстрирует особенности авторской программной реализации СМ Grate, структуру модулей и интерфейсов, которые необходимы для интеграции СМ в более сложные программные комплексы. Описывается ряд интерфейсов и классов языка программирования Java, объединенных в пакеты для более удобного взаимодействиях со сторонпим программным обеспечением.
Нередко ВК состоят из комплектующих от разных производителей или различных по своим характеристикам компонент. Поэтому в такой гетерогенной среде важно достичь межплатформенпой переносимости программ. Это явилось одним из важных факторов при выборе для создания практческой реализации языка программирования Java, который является объектно-ориентированным, независимым от архитектуры машины, многопотоковым и динамическим языком программирования.
СМ Grate представляет собой библиотеку классов языка Java, обеспечивающую базовый набор возможностей, аналогичных таким широко распространенным системам, как Ganglia, Nagios и т.д. Этот набор упрощает взаимодействие различного ПО мониторинга друг с другом. При минимальных изменениях возможно использование разработанного ПО совместно с более специализированными СМ. СМ Grate состоит из нескольких независимо функционирующих модулей: grated, grape (Java-анплет, выполняющийся в среде web-браузера), grate-client (приложение для простой визуализации и контроля данных). Модули используют общую библиотеку интерфейсов и классов, позволяющую им работать с метриками, триггерами и прочими объектами нашей архитектуры СМ. Все разработанные классы и интерфейсы объединены в 14 пакетов, отвечающих за различные аспекты работы СМ. В разделе 2.1 вводится соглашение о наименовании, которому следуют все разработанные интерфейсы, классы и их методы.
В разделе 2.2 раскрываются особенности реализации классов сбора данных мониторинга, поддержки сетевых соединений, определений интерфейсов кадра и сеанса. Большое внимание уделено реализации метрик, в частности, описывается механизм смены типа метрик для более эффективного использования вычислительных ресурсов.
Следующий раздел второй главы посвящен программной реализации механизма отклика, т.е. поддержке триггеров, действий и уиедомлений о событиях. Дано описание основных классов, используемых в нашей pea-
лизации архитектуры расширенной функциональности. Приведен пример записи события и запроса подписки об уведомлениях в формате XML.
Раздел 2.4 содержит определения типов значений метрик, классов поддержки вывода графиков и табличного представления данных для облегчения интеграции разработанного ПО в сторонние GUI-приложения. СМ Grate поддерживает основные элементарные типы данных и тип последовательности двоичных данных. Последний используется для хранения неизвестных типов данных, полученных от сенсоров. Визуализация данных может осуществляться в виде таблицы или 2с1-графиков (см. рис. 3).
р/
? ÖOrMCCfEBRAS unspecified
k Й Cluster ОС FEB j ;Ц e- node5 fS3no<ie2 CS! пойеЗ
»-■ nodes fr- nocie4
о- Й nodes
; into .»№33
SSy SiviT:", %
к
¡¡¡¡¡1 1
- . _ - '-..•íV™».™__ LI
Рис. 3: Отображение значений метрик при помощи GPlateGraph
Завершает главу сравнение разработанного в диссертации ПО с доступными в настоящее время СМ. Показаны преимущества Grate в сравнении с другими СМ, указаны характерные особенности авторской СМ. Существенным достоинством Grate является ориентация на интеграцию различных СМ в рамках единого программного комплекса и возможность использования независимых программных продуктов в качестве модулей расширения сторонних СМ.
Третья глава посвящена применению разработанных подходов для решения ряда задач, тесно связанных с мониторингом ВК. Там же приводятся примеры других задач, решение которых может быть упрощено при использовании предлагаемых подходов.
В разделе 3.1 описывается типичная схема использования разработанных классов. Ядро разработанного программного комплекса составляет класс, реализующий интерфейс GWorld. Экземпляр этого класса осуществляет контроль поступления данных и создание остальных важных для работы комплекса классов, инкапсулируя всю доступную приложению
информацию от СМ.
В начале работы создается экземпляр необходимого класса, реализующего интерфейс GWorld. В зависимости от конкретного класса могут потребоваться вызовы дополнительных методов экземпляра, однако обычно инициализация происходит через метод init() глобального объекта G, через статическое поле theWorld которого все созданные классы могут обращаться после его инициализации.
Для того чтобы создать объект, реализующий интерфейс GScntinel, клиентская часть приложения вызывает метод createConnection(). Этот объект ири инициализации получает классы соединения и кадра. В процессе работы GScntinel с указанной периодичностью создает новые сеансы, используя объект соединения и передавая полученный поток данных на обработку в объект кадра. В объекте кадра происходит обработка поступающих данных и вызов методов объекта theWorld для создания новых узлов и метрик. В результате новые значения поступают в метрики. Если объем памяти, хранящей эти значения, превышает некоторый предел, определяемый типом метрики, происходит передача данных во внешнее хранилище с помощью интерфейса GMetricCacheman, запрашиваемого у объекта theWorld.
При успешной обработке поступивших данных вызывается метод GWorld.commit(), чтобы сообщить об изменениях в метриках объектам СМ, которые, возможно, зарегистрированы для уведомления о событии изменения в наборе данных. Приложение пользователя также может проверять уведомления о событиях. Для этого необходимо создать экземпляр класса GEventClientUDP и зарегистрировать объект, методы которого вызываются при получении нового уведомления.
В разделе 3.2 приведен подход к расширению функциональных возможностей установленной СМ для штатного отключения вычислительных узлов при их значительном перегреве, что актуально для неспециализированных комплектующих. Модуль grated проводил проверку триггеров (по одному на каждый узел), расширяя тем самым базовые возможности используемой CM Ganglia. Визуализация выполнялась grate-client на основе данных, поставляемых от grated, тем не менее веб-сервис CM Ganglia также мог визуализировать данные, получаемые от grated.
Важным преимуществом описанного подхода является расширение функциональных возможностей установленной СМ без остановки ее работы и без перенастройки источников данных. Замена агента сбора данных позволяет получить сравнимую или лучшую производительность при более широких возможностях итоговой системы. Получить аналогичный результат с использованием других доступных СМ было невозможно. При этом результаты применения СМ Grate показывают, что разработанное ПО по-
требляет меньше вычислительных ресурсов, предоставляя при этом больше возможностей по сравнению с CM Ganglia.
Уровень приложений может быть применен и для более сложных управляющих операций над контролируемой системой. В качестве примера приведена задача повышения эффективности использования ВК. В разделе 3.3 главы приведен подход к решению подобной задачи для вычислительного кластера, узлы которого работают под управлением гипервизора системы виртуализации Хеп. Системы виртуализации позволяют запускать несколько копий операционных систем на одной машине.
При использовании Хеп на экспериментальном кластере была добавлена возможность миграции выполняющихся процессов с одного вычислительного узла на другой, что позволило достичь полноценной утилизации ресурсов физического вычислительного узла несколькими виртуальными вычислительными узлами. Для тестирования взаимодействия Хеп с СМ Grate был создан отдельный логический кластер. Во время тестирования осуществлялся процесс миграции выполняющейся копии гостевой ОС с запущенными вычислительными задачами с одного из физических узлов на другой, обладающий большими доступными ресурсами на момент миграции.
Программный комплекс на базе СМ Grate анализировал использование ресурсов на вычислительном узле, обрабатывая данные, предоставляемые промежуточным уровнем СМ. При необходимости триггером инициировалось выполнение shell-скрипта с командами управления Хеп. При этом не происходило значительного простаивания вычислительного процесса. Как покачали тестовые замеры, отраженные на рис. 4, для малого числа узлов, участвующих в расчете параллельной задачи с интенсивной передачей данных между узлами, потери производительности были малы. Для задач, в меньшей мере зависящих от интенсивности обмена данными между вычислительными узлами, потери производительности будут меньше в силу меньшего времени простоя ВК в ожидании завершения вычислений на узле, подвергшемся миграции. При отсутствии миграций использование Хеп не приводит к заметным потерям производительности (11 ГФлоп является реально достижимой производительностью согласно тесту Linpack для экспериментального кластера).
В разделе 3.4 рассматривается другой подход к повышению эффективности использования ВК. С ростом числа узлов и контролируемых характеристик системному администратору становится все сложнее в непрерывном режиме следить за негативными изменениями в значениях опрашиваемых характеристик ВК, в связи с чем возникает потребность в автоматизации рутинных операций. При этом многие изменения в работе ВК могут быть обнаружены и в ряде случаев предотвращены с использованием
Рис. 4: График падения производительности при миграциях гостевой ОС
различных систем автоматизированного контроля.
Примером обнаруживаемых изменений могут служить последствия неэффективно работающего приложения, например, из-за простаивания на операциях ввода-вывода (рис. 5. область А).
| полезная работа Щ системные вызовы
Рис. 5: График неэффективного использования ресурсов приложением пользователя
Такая ситуация хорошо распознается обученной искусственной нейронной сетью (ИНС) и может быть предотвращена при своевременном вмешательстве администратора ВК или пользователя (рис. 5, область В). Разработанная СМ Grate позволяет использовать стороннее ПО для расширения функциональных возможностей, что позволило осуществить взаимодействие с модулем ИНС для определения текущего состояния вычислительного кластера на основе данных, поставляемых СМ. Обратный отклик модуля был реализован через механизм уведомлений о событии. В экспери-
менте участвовали четыре компонента: вычислительный кластер, система мониторинга, приложение-обработчик событий и модуль ИНС.
Приложение-обработчик события и модуль grated СМ Grate запускались для исполнения на управляющем узле, модуль ИНС выполнялся на отдельной вычислительной станции. Для посылки уведомления и получения значений метрик модуль ИНС обращался к модулю grated.
Имея на входе полученные системой мониторинга данные метрик, ИНС встречного распространения при 12 нейронах и 30 циклах обучения верно относит текущее состояние к одному из ранее определенных во время обучения классов состояний. При изменении класса модуль ИНС посылает уведомление о событии в СМ, которая в свою очередь передает его приложению-обработчику.
В тестировании использовались ИНС с относительно несложной топологией для определения очевидных изменений в работе ВК в автоматизированном режиме. Тем не менее, развитие модуля ИНС позволяет расширить возможности СМ, не переписывая при этом исходного кода Grate. Более того, уведомления о событиях и данные мониторинга могут обрабатываться одновременно несколькими приложениями, что позволяет более полно анализировать состояние ВК с применением не только ИНС, но и других методов и алгоритмов.
Третья глава завершается обсуждением возможных путей совершенствования разработанной системы мониторинга. Указаны потенциальные недостатки реализации на языке программирования Java, отмечены свойства архитектуры, которые могут помешать ее масштабированию при росте числа контролируемых узлов. Приводятся варианты улучшения реализации разработанной архитектуры.
В заключении сформулированы основные результаты диссертационной работы.
РЕЗУЛЬТАТЫ, ВЫНОСИМЫЕ НА ЗАЩИТУ
1. Разработана новая архитектура СМ, обладающая широким набором функциональных возможностей. Создана ее программная реализация на языке высокого уровня Java.
2. Предложен и исследован механизм взаимодействия СМ со сторонним ПО посредством подписки и уведомлений о событиях. Показана эффективность такого взаимодействия в задачах автоматизированного контроля ВК при решении прикладных задач, общих для широкого круга вычислительных кластеров.
СПИСОК ПУБЛИКАЦИЙ ПО ТЕМЕ ИССЛЕДОВАНИЯ
1. Тарасов А.Г. Интеграция системы мониторинга расширенной функциональности и нейросетевого модуля // Информатика и системы управления. 2010. № 4 (26). С. 104-115.
2. Тарасов А.Г. Практический подход к взаимодействию систем мониторинга вычислительных кластеров со сторонним программным обеспечением // Вычислительные методы и программирование. 2011. Т. 12. С. 1-8.
3. Тарасов А.Г. Расширяемая система мониторинга вычислительного кластера // Вычислительные методы и программирование. 2009. Т. 10. С. 147-158.
4. Тарасов А.Г. Grated: Свидетельство о регистрации программы для ЭВМ № 2010615286 от 17.08.2010. РОСПАТЕНТ.
5. Тарасов А.Г. Трехуровневая система мониторинга расширенной функциональности // Параллельные вычислительные технологии: Тр. Междунар. конф. (Санкт-Петербург, 28 января - 1 февраля 2008 г.). Челябинск: Изд-во ЮУрГУ, 2008. С. 464-469.
6. Тарасов А.Г., Писарев A.B. Модульная нейросетевая система мониторинга вычислительного кластера // Материалы Межрегион, конф. "Информационные и коммуникационные технологии в образовании и научной деятельности". Хабаровск: ТОГУ, 2009. С. 289-296.
7. Тарасов А.Г. Совместное применение системы мониторинга вычислительного кластера и системы виртуализации XEN // Информационные и коммуникационные технологии в образовании и научной деятельности: Материалы конф. Хабаровск: Изд-во ТоГУ, 2008. С. 304310.
8. Тарасов А.Г. Опыт интеграции системы мониторинга Grate со сторонними программными комплексами // Материалы Междунар. науч.-практ. конф. "Суперкомпьютеры: вычислительные и информационные технологии" (Хабаровск, 30 июня - 2 июля 2010 г.). Хабаровск: Изд-во Тихоокеан. гос. ун-та, 2010. С. 125-132.
9. Tarasov A.G. Integration of computing cluster monitoring system // Proc. of First Russia and Pacific Conf. on Computer Technology and Applications (Vladivostok, Russia, September 6-9, 2010). Vladivostok: IACP FEB RAS, 2010. P. 221-224.
10. Пересветов В.В., Сапронов А.Ю., Тарасов А.Г., Шаповалов Т.С. Удаленный доступ к вычислительному кластеру ВЦ ДВО РАН // Вычислительные технологии. 2006. Т. 11, спец. вып. С. 45-51.
11. Пересветов В.В., Тарасов А.Г., Сапронов А.Ю., Шаповалов Т.С. Организация работы вычислительного кластера в режиме удаленного доступа. Хабаровск, 2007. 34 с. (Препринт / ВЦ ДВО РАН; № 110).
12. Пересветов В.В., Тарасов А.Г., Сапронов А.Ю. Вычислительный кластер бездисковых рабочих станций. Хабаровск, 2005. 50 с. (Препринт / ВЦ ДВО РАН; № 83).
13. Смагин С.И., Тарасов А.Г., Сапронов А.Ю., Шаповалов Т.С., Пересветов В.В. Web и GRID технологии обеспечения доступа к ресурсам вычислительного кластера ВЦ ДВО РАН // Материалы Межрегион. конф. "Информационные и коммуникационные технологии в образовании и научной деятельности" (Хабаровск, 21-23 мая 2008 г.). Хабаровск: Изд-во ТоГУ, 2008. С. 69-76.
14. Тарасов А.Г., Сапронов А.Ю., Шаповалов Т.С. Доступ к ресурсам вычислительного кластера через сеть Интернет // VII Всерос. конф. молодых ученых по математическому моделированию и информационным технологиям. Красноярск: Изд-во НГУ, ИВТ СО РАН, 2006. С. 93-95.
15. Тарасов А.Г., Сапропов А.Ю., Шаповалов Т.С. Применение системы виртуализации XEN на вычислительных кластерах // VIII Всерос. конф. молодых ученых по математическому моделированию и информационным технологиям. Новосибирск: Изд-во НГУ, ИВТ СО РАН, 2007. С. 106-107.
Редакционно-издательский отдел Учреждения Российской академии наук Института динамики систем и теории управления СО РАН 664033, Иркутск, ул. Лермонтова, д. 134
Подписано к печати 25.02.2011 г. Формат бумаги 60x84 1/16, объем 1,2 п.л. Заказ № 3. Тираж 120 экз.
Отпечатано в ИДСТУ СО РАН
Оглавление автор диссертации — кандидата технических наук Тарасов, Алексей Григорьевич
Введение
1 Архитектура системы мониторинга расширенной функциональности
1.1 Основные задачи систем мониторинга.
1.2 Система мониторинга расширенной функциональности
1.3 Взаимодействие с источниками данных.
1.4 Представление данных.
1.5 Механизмы проверки условий и уведомлений о событиях
1.6 Выводы по первой главе.
2 Реализация системы мониторинга на языке программирования Java
2.1 Соглашения о наименовании классов, методов и членов класса
2.2 Пакеты поддержки сбора данных.
2.3 Пакеты для реализации механизма отклика системы
2.4 Вспомогательные пакеты.
2.5 Сравнение разработанной системы мониторинга с аналогами
2.6 Выводы по второй главе.
3 Практическое применение разработанных подходов
3.1 Схема работы типичного программного комплекса, использующего разработанные классы.
3.2 Расширение возможностей установленной системы мониторинга Ganglia.
3.3 Взаимодействие с системой паравиртуализации Хеп.
3.4 Взаимодействие с нейросетевым модулем.
3.5 Пути дальнейшего совершенствования разработанной системы мониторинга.
3.6 Выводы по третьей главе.
Введение 2011 год, диссертация по информатике, вычислительной технике и управлению, Тарасов, Алексей Григорьевич
Актуальность темы. Во многих направлениях фундаментальных и прикладных исследований имеется необходимость в решении требовательных к вычислительным ресурсам задач. Такие потребности невозможно удовлетворить при использовании для расчётов только персональных ЭВМ (далее в тексте — рабочих станций). Для решения подобных задач были предложены подходы, позволяющие получить значительно большую производительность. Они основаны на вычислительных комплексах (ВК) различной архитектуры: суперкомпьютерах на базе векторных процессоров1, вычислительных кластерах [1], высокопроизводительных системах с выделенным вычислительным блоком2, различных гибридных вариантах3 и др.
Вне зависимости от выбора архитектуры вычислительного комплекса, разработчикам при его внедрении необходимо решить ряд задач. Одной из них является развёртывание средств управления, в том числе системы мониторинга (СМ).
Управление кластером (здесь и далее в тексте под термином «кластер» подразумевается вычислительный кластер) в значительной степени отличается от управления ВК с общей памятью, поскольку контролируемые ресурсы распределены по нескольким рабочим станциям. Средства управления для кластеров обычно решают такие задачи, как:
• выполнение загрузки и остановка работы вычислительных узлов;
• выполнение непараллельных и параллельных команд на кластере с последующей передачей результата пользователю или администратору ВК;
• получение структурированной и унифицированной информации о со
Ирг/'/'туЛУ.cray.com
2http://www.nvidia.com/object/teslacomputingsolutions.html
3http://veгsi.cdu.au/downloads/SuperCGгice.pdf стоянии любого вычислительного узла, в частности, таких важных данных, как использование вычислительного времени процессора, оперативной и виртуальной памяти, системы ввода-вывода, коммуникационной среды;
• анализ состояния кластера и его компонент.
Если необходимость выполнения перечисленных задач в реальном времени отсутствует, то любое из указанных выше действий можно реализовать с помощью интерпретируемых языков программирования и стандартных механизмов операционной системы: например, Bourne Shell в Unix, PowerShell в Windows, и других. Однако задачи наблюдения и управления в реальном времени намного более сложны и поэтому требуют специализированных СМ и средств управления, предъявляя при этом более жёсткие требования к времени выполнения управляющих воздействий и накладным расходам при использовании ресурсов ВК.
Традиционно, для исследования вопросов организации сбора данных и контроля ВК, локальных вычислительных сетей (ЛВС) и программных комплексов (ПК) разрабатывалось прикладное программное обеспечение (ПО). Исследованиями в этом направлении, в том числе практической реализацией, занимались такие авторы как Р. Вольски, Я. Фостер, М. Дженер-серет (R. Wolski, I. Foster, М. Genersereth) [51,55,93] и другие. Значительные результаты были достигнуты и в смежных областях: в теории управления и управляющих систем, теории автоматов, системном анализе и системах поддержки принятия решений (А. А. Ляпунов, М. Мортон, С. В. Яблонский, О. И. Ларичев, Э. Кодд, Н. Н. Моисеев [5-8,33,67] и другие).
Тем не менее, задачи мониторинга по-прежнему являются сложными в практической реализации. Например, большинство кластеров имеют в своём составе управляющие узлы, к которым могут обращаться пользователи. Задания выполняются на наборе узлов, допуск к которым из публичных сетей запрещён из соображений повышения стабильности работы ВК и защиты информации от несанкционированного доступа к данным. В основном, права пользователей ограничены таким образом, чтобы единственным доступным способом запуска заданий на кластере была система постановки заданий на выполнение. В подавляющем большинстве случаев эта система естественным образом совмещена с системой планирования заданий. Этот подход позволяет администраторам ВК осуществлять более полный контроль над системой, но вместе с тем затрудняет работу пользователя по отладке своего приложения, поскольку предоставляемой такими системами информации недостаточно.
Мониторинг компонент программно-аппаратного комплекса и оказание управляющих воздействий являются критически важными для организации высокопроизводительных распределённых вычислений. После того как началось выполнение приложения, пользователь и администратор кластера нуждаются в информации о том, как выполняется задание, какое влияние оно оказывает на вычислительную систему в целом. При этом с ростом числа вычислительных узлов в составе ВК возрастает и объём данных, которые приходится анализировать администратору, растёт вероятность ошибки вследствие человеческого фактора. Возникает необходимость в автоматизации рутинных операций по контролю за состоянием ВК.
Для коммерческих суперкомпьютеров и кластеров разработано специализированное ПО, обычно поставляемое производителем ВК, например — IBM Tivoli4. Такое программное обеспечение нередко совмещает функции мониторинга с функциями управления и тесно взаимодействует с аппаратным обеспечением ВК, предоставляя информацию со всех уровней мониторинга.
Для вычислительных кластеров, стоимость которых невелика по сравнению с коммерческими ВК, ввиду использования менее специализированного и потому более доступного по цене оборудования, подобное указанному выше ПО для них либо отсутствует, либо его применение затруднено в силу лицензионных ограничений. Поэтому обычно используются различные сторонние программные продукты, в задачи которых входит сбор необходимых данных, обработка и представление полученных результатов в удобном для конечного пользователя виде. Такое ПО доступно, в том числе, и на принципах свободного программного обеспечения, которое
4http://www. ibm.com/software/ru/tivoli/ успешно применяется в научной среде, в частности, в ВЦ ДВО РАН [25].
Подходы, используемые в системах мониторинга в настоящее время, во многом являются следствием развития концепций построения вычислительных систем. Для понимания особенностей архитектур СМ необходимо рассмотреть основные этапы эволюции подходов к организации ВК.
Стоимость создания и эксплуатации суперкомпьютеров велика, поэтому исторически так сложилось, что они располагались в развитых научных и промышленных центрах. Доступ к их аппаратным ресурсам специалистам из других организаций был затруднён вследствие слаборазвитой инфраструктуры связи, географической удалённости вычислительных систем от нуждающихся в их ресурсах учёных и инженеров, а также других причин. Из-за нехватки машинного времени пользователям таких ВК приходилось длительное время ожидать выполнения своего задания. Это привело к появлению пакетных систем и систем планирования заданий на основе очередей для суперкомпьютеров5, что, в свою очередь, позволило более эффективно использовать их.
В 90-е годы прошлого столетия с суперкомпьютерами стали конкурировать ВК, состоящие из набора вычислительных станций. Этому способствовали быстрые темпы развития технологий передачи данных в ЛВС. В итоге вычислительные кластеры стали параллельными вычислительными системами, сравнимыми но производительности с суперкомпыотерпыми системами с общей памятью [43].
Один из ранних подходов к организации кластеров состоял в использовании вычислительного времени простаивающих рабочих станций. Он и в настоящее время применяется для решения ряда задач, таких как, например, анализ принимаемых из космоса радиосигналов в проекте ЗЕТШНоте [38] и численные расчёты процессов свёртывания молекул белка в проекте Ро1с1п^@Ноте [61]. Для поддержки таких вычислительных систем был разработан ряд пакетов прикладных программ (ППП) [56,63]. Это ПО в основном было предназначено для централизованного управления ресурсами и распределения процессов непараллельных заданий по свободным рабочим станциям (далее в тексте — вычислительным узлам),
5ЬИр://\\г\л^. clusterresources.com/products/torque-resource-inanager.php объединённым в ВК. Задача наиболее эффективного использования разнородной вычислительной среды, состоящей зачастую из рабочих станций с различным аппаратным и программным обеспечением, требовала надёжных механизмов работы в унифицированной виртуальной параллельной машине. В этих целях использовалось такое ПО, как PVM [79], MPI [69] (см. также: LAM6, OpenMPI7, MPICH8) и др.
Эти программные продукты позволили стандартизировать на уровне межгосударственных организаций модель обмена данными между вычислительными узлами в ЛВС. В свою очередь, принятие стандартов привело к тому, что, согласно обновляемому каждое полугодие списку высокопроизводительных систем мира ТОРбОО9, наиболее распространенными на сегодняшний день являются вычислительные кластеры, доля которых превышает 80% от общего числа ВК. В аналогичном списке для стран СНГ доля кластеров равна 98% от общего числа ВК10.
Некоторые ВК низшего ценового диапазона до сих пор построены с применением ЛВС организации, обычно на базе технологий Fast или Gigabit Ethernet в качестве аппаратного обеспечения коммуникационной среды, используемой совместно с невычислительными станциями. Было показано, что пропускной способности и латентности такой ЛВС достаточно для определённого класса задач [50,60,87]. Однако, чрезмерно загруженная сеть или сеть с неэффективной топологией (с точки зрения пропускной способности) заметно снижает производительность ВК в задачах, требующих обменов данными большого объёма. Поэтому предпочтительным является использование выделенных кластеров с изолированной средой передачи данных [89].
Проект Now института Беркли [47] является одним из общеизвестных примеров таких ВК. В работах [78,88] показано преимущество выделенных вычислительных кластеров по сравнению с системами, в которых применяется неизолированная ЛВС. Кластеры, используемые научными учреждениями для решения широкого круга задач, в основном используют вы
6http://www.lam-mpi.org
7littp://www.open-mpi.org
8http://www-unix.mcs. anl.gov/mpi/mpichl
9http://top500.org
10http://supercomputers.ru деленную ЛВС. Независимо от типа ЛВС кластер нуждается в средствах наблюдения за состоянием всех компонент, поскольку производительность всего ВК зависит от корректности функционирования каждого из вычислительных узлов.
Пользователю довольно сложно определить воздействие его задания па вычислительную систему, поскольку возникает необходимость, не имея соответствующего инструментария, выделить влияние приложения из суммарного воздействия всех других выполняемых на кластере заданий. Обычно на практике измеряют все характеристики на узле до и после запуска задания. Этот подход не всегда удобен, если вообще возможен: в ряде случаев пользователь не обладает информацией о том, где конкретно будет выполняться его задание. К тому же, по результатам многочасового выполнения задания в таком случае не всегда ясно, происходит ли, например, ошибочное выделение памяти без возврата его системе в наблюдаемом приложении (т.н. «утечка памяти»), или другом, выполняющемся на том же самом вычислительном узле.
Ситуация значительно усложняется, если задание ставится в очередь на выполнение в РВС (например, организованных при помощи инструментальных комплексов Condor-G [54] или Globus [53]), поскольку пользователь вынужден сначала определить кластер, на выполнение в котором было отправлено его задание, а затем получить доступ к данным мониторинга для конкретных узлов. В системах подобных Globus GRAM [53], пользователь работает с кластером посредством интерфейса постановки задания в РВС. Это создаёт неразрешимую на уровне пользователя задачу, т.к. возможности по мониторингу в таком случае ограничены особенностями службы Globus MDS [51], которая ориентирована, в основном, на предоставление редко обновляемой информации, такой, как число вычислительных ядер, общий объём оперативной памяти вычислительного узла и т.п.
Контроль состояния вычислительной системы и текущего потребления ресурсов необходим для выявления проблем в ВК и проведения работ по организации вычислительного процесса (ВП) с более эффективным использованием имеющихся ресурсов. Механизмы автоматизированного определения неполадок и восстановления системы могут использовать данные, предоставляемые СМ, для определения, в каком состоянии находится вычислительный узел или кластер в целом [12]. Службы предсказания производительности сети могут использовать данные СМ как входные векторы для модели предсказаний [92]. В свою очередь, сами службы предсказания могут использоваться планировщиками заданий с целью выявления, какие ресурсы ВК и когда возможно использовать для планируемого задания при составлении раскисания выполнения заданий.
Также полученные данные могут быть использованы для:
• определения стадии выполнения задания, в т. ч. выявления отказов и сбоев, текущего состояния задания, причин перехода в это состояние;
• анализа производительности и автоматической настройки требований заданий к ресурсам в процессе выполнения (в последние годы это становится более востребованным в связи с развитием т.н. облачных вычислений [58]);
• эффективного управления различными службами ЛВС;
• планирования заданий и предсказания поведения вычислительной системы;
• сбора данных о конфигурациях вычислительных узлов и использовании ВК.
Приведённые выше задачи, возникающие при организации работы ВК, являются одними из самых важных, но ими не исчерпывается множество задач, решение которых облегчается при использовании подходящей СМ.
Изначально СМ создавались для контроля состояния сетевых служб, ввиду их большой значимости в ЛВС и глобальной сети Интернет, например проект Network Weather Service [92]; этой же тематике посвящены работы в Bell Labs [49,59].
В работе [70] описывается применение мониторинга для отслеживания попыток проникновения в контролируемую сеть; вводится понятие двух классов систем определения вторжения: сетевые (network-based) и узловые (host-based). Первые работают на основе контроля потока данных или трафика) в сети; вторые принимают решение об обнаружении попытки проникновения в ЛВС на основе контроля данных с рабочих станций.
В [77] специализированные СМ также делятся на централизованные и распределённые. Первые осуществляют сбор данных в каком-либо одном месте. Вторые не используют единый центр сбора данных: все узлы ВК либо владеют полной информацией о системе, либо существует несколько узлов, ответственных за сбор информации. Там же вводится понятие прямого (direct) и косвенного (indirect) мониторинга. К первому относится непосредственный доступ к данным контролируемого объекта, например, данным ядра операционной системы. Ко второму — доступ к той же информации через посредника, которым может являться некоторый файл, содержащий текстовое или двоичное представление значений набора данных.
Для определения состояния ВК применяются различные механизмы. Например, в работах [12,13] предлагается распознавать типы состояний вычислительного кластера с помощью искусственных нейронных сетей (ИНС), используя данные системы мониторинга Ganglia. В [40,95] обсуждается подход с использованием сетей Петри для диагностики состояния контролируемой системы, на основе уведомлений о событиях в СМ с дискретными событиями. Событием является такое состояние в контролируемой системе, которое требует дополнительной обработки.
Обработка событий и уведомление пользователей системы о них могут осуществляться различными способами. Системами с уведомлением о событиях на базе подписки являются ISIS [41], Gryphon [35]. CM XMLBlaster [75] использует XML11 для описания события и нахождения пути к адресату на базе информации о событии. Альтернативой такому подходу является уведомление всех пользователей системы обо всех событиях, либо уведомление лишь администратора вычислительного комплекса. Последний подход используется при мониторинге системной информации в операционных системах, основанных на Unix, при возникновении любых сообщений ядра ОС.
11 http: //www.w3 .org/XML /
В JINI12 определены события (Distributed Event Specification) и указано как объект в виртуальной машине Java (JVM) регистрируется для получения события, генерируемого объектом какой-либо другой JVM. Там же описывается, как производится уведомление при возникновении события. Система мониторинга JAMM [84] определяет способ поиска событий и генерирующих их объектов или служб с помощью локальной службы каталогов [91].
Задачи, решаемые в JAMM, во многом схожи с основанными на SNMP системами HP OpenView и SGI Performance Co-Pilot13. Протокол SNMP является одним из средств контроля состояния сетевых устройств; его подробное описание приведено в RFC 115614 и RFC 115715. Данный протокол может использоваться как средство доступа к аппаратным счётчикам сетевых устройств. SNMP разрабатывался для управления и мониторинга подключенных к сети устройств и узлов, а не распределённых комплексных систем. Интеграция либо построение приложений мониторинга, основанных исключительно на поддержке SNMP, является трудоёмкой задачей. Вместе с тем, несмотря на некоторые ограничения, SNMP счётчики хорошо вписываются в архитектуры СМ как источники данных (или сенсоры).
Сложной в практической реализации задачей является опрос всех источников данных и выработка удобного и не ресурсоёмкого способа опроса всех известных сенсоров. В [42] приводится описание механизма SQL запросов для получения и агрегирования необходимых данных из сети сенсоров.
Чем более масштабными и сложными становятся распределённые вычислительные среды, например, такие глобальные РВС, как GRID-системы [52], тем более важными и актуальными становятся задачи мониторинга и автоматизации управления. Одним из подходов к решению данной проблемы является использование агентов мониторинга [55] в событийно-управляемом программном комплексе управления РВС.
Обычно под агентом понимается автономный настраиваемый ком
12http://www.sun.com/jini/specs/
13http://www.sgi.com/software/co-pilot/
14http://www.ietf.org/rfc/rfcl 156.txt
15http://www.ietf.org/rfc/rfcll57.txt понент программно-аппаратного комплекса, способный производить контроль и управлять какими-либо другими компонентами в составе РВС. СМ представляют собой набор таких агентов, которые в ряде случаев могут перенастраиваться в процессе выполнения. В задачи агентов входит получение соотнесённой со временем информации о состоянии любой системной компоненты, такой как использование процессора и др. В ряде СМ агенты могут предоставлять дополнительные управляющие возможности, в частности, выполнять безопасным образом ПО и анализировать результат выполнения.
При таком подходе СМ обычно реализована в виде двух компонент. В состав первой входят агенты мониторинга, которые установлены на каждом вычислительном узле. Ко второй относятся сервер и клиент сбора статистики. Например, в системе мониторинга проекта SMILE [90] па каждом вычислительном узле запущен фоновый процесс СМА (Control and Monitoring Agent), который периодически собирает статистику использования ресурсов. Затем полученные данные передаются на центральный сервер управления ресурсами SMA (Systems Management Agent). Причина централизации данных в SMA — простота и эффективность обработки информации на одном сервере. Такой вариант подходит для небольших и средних кластеров, но для ВК со значительным числом узлов необходимы разделение данных по принадлежности к зонам (доменам) и применение иерархической обработки информации.
У описанной выше архитектуры, несмотря на очевидные достоинства, есть и следующие недостатки:
1. SMA является точкой отказа, которая нарушает корректность работы всей системы управления. Эта проблема может быть решена с использованием дублирующего SMA.
2. Централизация без иерархии затрудняет масштабирование СМ на больших кластерах и глобальных РВС. Однако, как показано в [90], для кластеров с числом узлов до 64, эта проблема несущественна.
Чтобы сделать агенты переносимыми, разработчики систем мониторинга явно или неявно внедряют уровень (или слой) абстрагирования от апиаратного обеспечения, т. н. HAL (Hardware Abstraction Layer). Этот слой предоставляет данные в унифицированном формате, обычно машинно-независимом.
Для исключения большого числа TCP-соединений и нагрузки на сеть, системы мониторинга часто работают поверх UDP протокола [65,90]. Тем не менее, часть, либо все операции обменов данными, также могут быть реализованы и поверх TCP [45,74].
Многие СМ и технологии в их основе создавались для решения конкретных задач, стоявших перед их разработчиками. Они успешно и эффективно решают эти задачи в своих областях. Тем не менее, для ВК, на которых установлено устаревшее ПО мониторинга, зачастую переход на новые системы мониторинга затруднен, а ранее использованная СМ уже не удовлетворяет возросшим требованиям. К тому же некоторые возможности недоступны даже ряду современных СМ. Несмотря на всё многообразие архитектур и ПО СМ, до сих пор отсутствует возможность взаимодействия различных СМ между собой, затруднено добавление возможностей к уже разработанным СМ, сложен переход от контроля на низком к более высокому уровню и наоборот.
Анализ достоинств и недостатков различных систем во время эксплуатации ВК, относящемуся к классу Beowulf-кластеров, выявил необходимость разработки универсальной системы мониторинга, удовлетворяющей требованиям к базовым возможностям, простоте добавления новых модулей и взаимодействию с другими СМ.
Цель работы состоит в разработке архитектуры и реализации СМ расширенной функциональности, которая представляет механизмы взаимодействия сторонних СМ и программных комплексов в рамках единой СМ. Для достижения этой цели были поставлены следующие задачи:
1. Разработать архитектуру СМ, позволяющей производить интеграцию построенных на её основе приложений с различным ПО, в том числе сторонними СМ с учётом современных требований к ним.
2. Реализовать кросс-платформенную СМ, построенной на базе разработанной архитектуры.
3. Примененить предложенные подходы для реализации программных комплексов решения задач как общего характера, так и представляющих интерес для узкоспециализированных приложений.
Объектом исследования являются теория и практика организации систем мониторинга вычислительных кластеров.
Предметом исследования являются методы и инструментальные средства контроля разнородных данных в вычислительном кластере.
Методы исследования. При решении поставленных задач использовались методы системного и прикладного программирования; методы объектно-ориентированного и модульного программирования; технологии построения вычислительных кластеров.
Научная новизна. В диссертации представлен подход к архитектуре СМ, позволяющий осуществлять автоматизированный контроль ресурсов ВК и более простое взаимодействовие СМ со сторонним программным обеспечением через механизм отклика на изменения в работе вычислительной системы. Новой возможностью при таком подходе является взаимодействие ПО, разработанного на различных языках программирвоания.
Разработанная архитектура позволяет наращивать возможности мониторинга, в том числе, добавляя сторонние модули к СМ, не останавливая их работы, а также осуществлять совместный мониторинг и анализ данных, поступающих от различных СМ. Подход к расширению функциональных возможностей уже используемых СМ без их остановки и в рамках единой СМ ранее не был описан.
Для взаимодействия с независимыми модулями СМ, в том числе, реализующим нейросетевые алгоритмы с целью определения текущего состояния вычислительного кластера, предложено использовать авторскую механизм передачи информации о событиях в работе контролируемой системы, при котором подписка на уведомления может выполняться в процессе работы СМ.
Практическая значимость. Разработанное ПО позволяет повысить эффективность и надёжность использования вычислительных кластеров.
Создание и внедрение программных средств, предложенных в диссертации, выполнялись в рамках проекта по внедрению экспериментального кластера ВЦ ДВО РАН [10] и работ по созданию РВС ВЦ ДВО РАН [15]. Разработанная СМ Grate помогает выполнять мониторинг вычислительных задач, производящих расчёты по плановым научно-исследовательским работам.
Предложенная архитектура может исиользоваться как для разработки СМ вычислительных кластеров (основная область применения разработанной архитектуры), так и для разработки СМ в других областях, например, системах контроля потоков данных в локальной вычислительной сети. В процессе разработки системы были получены результаты, представляющие независимую практическую ценность: выполнено тестирование эффективности функционирования вычислительных кластеров, узлы которых находятся под управлением гипервизора Хеп; выявлены значимые для работы СМ метрики.
Доступные исходные коды разработанной системы и документированный интерфейс модулей позволяют адаптировать разработанную СМ под нужды конкретного ВК с меньшими усилиями и накладными расходами, чем при использовании аналогичных по возможностям СМ, благодаря использованию стандартизованных форматов передачи сообщений, необходимых для подписки на уведомления и получение данных.
Соответствие диссертации паспорту специальности. Отражённые в диссертации научные положения соответствуют области исследования специальности 05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей, включающей исследования моделей, методов, алгоритмов, языков и программных инструментов для организации взаимодействия программ и программных систем (nri. 1, 3 области исследования).
Достоверность полученных в работе результатов и эффективность разработанной архитектуры СМ подтверждается опытом успешной практической эксплуатации разработанного автором диссертации ПО Grate в Вычислительном центре ДВО РАН при мониторинге ряда ресурсоёмких прикладных задач.
Апробация. Результаты работы были представлены на XXX, XXXII и XXXIII математических школах-семинарах им. Е.В. Золотова (Хабаровск, 2005 г., Владивосток, 2007, 2008 гг.), Всероссийской научной конференции «Научный сервис в сети Интернет: многоядерный компьютерный мир» (Новороссийск, 2007), Межрегиональной научно-практической конференции «Информационные и коммуникационные технологии в образовании и научной деятельности» (Хабаровск, 2008 г.), международной научной конференции «Параллельные вычислительные технологии» (СПб, 2008 г.), XI Всероссийской конференции молодых учёных по математическому моделированию и информационным технологиям (г. Иркутск, 2010), международной научной конференции Russia and Pacific Conference on Computer Technology and Applications (г. Владивосток, 2010 г.).
Публикации. Результаты научных исследований отражены в 15-и научных работах [9-11,13,15,17,18,20-22,24,27-30], включая 2 статьи [29,30] в журналах, рекомендованных ВАК для опубликования научных результатов диссертации на соискание ученой степени доктора или кандидата наук, 2 препринта [10, 11]. Получено свидетельство [26] об официальной регистрации программы в Федеральной службе по интеллектуальной собственности, патентам и товарным знакам. В перечисленных публикациях все результаты, связанные с алгоритмизацией, программной реализацией и проведением вычислительных экспериментов на высокопроизводительных системах, получены автором лично. Результаты вычислительных экспериментов интеграции системы мониторинга и компоненты искусственных нейронных сетей, полученные совместно с Писаревым А. В., являются неделимыми. Из совместных работ и публикаций с Сапроновым А. Ю., Шаповаловым Т. С., Пересветовым В. В., Смагиным С. И., Щербой С. И. в диссертацию включены только те результаты, которые принадлежат непосредственно автору.
Структура и объём работы. Диссертация состоит из введения, трёх глав, заключения, библиографического списка из 96 наименований, глоссария и 4 приложений. Общий объем работы — 145 страниц, в том числе 28 рисунков и 3 таблицы.
Заключение диссертация на тему "Система мониторинга вычислительного кластера расширенной функциональности"
3.6. Выводы по третьей главе
По результатам вычислительных экспериментов сформулируем следующие выводы:
1. Разработанная СМ Grate сравнима по производительности с аналогами, либо превосходит их при выполнении тех же задач. Для упрощения взаимодействия создан набор классов, входящих в СМ Grate и утилиты командной строки (gratelistener, gratemetric).
2. Показано, что предложенный подход к взаимодействию СМ со сторонними приложениями позволяет организовать совместную работу нескольких приложений для решения различных задач, связанных с контролем ВК.
3. Обученный модуль ИНС в реальном времени позволяет определять классы состояний ВК. В численном эксперименте было исследовано несколько конфигураций ИНС и показано, что при относительно небольшом числе нейронов и циклах обучения модуль способен определять класс состояний с высокой точностью.
4. Взаимодействие с системой виртуализации Хеп позволяет достичь повышения эффективности работы ВК путём перераспределения вычислительной нагрузки текущих заданий и освобождения вычислительных узлов для других заданий. Получены данные потерь производительности при использовании мезанизмов миграций при интенсивных вычислениях.
Заключение
Перечислим основные результаты диссертационной работы.
1. Разработана новая архитектура СМ, обладающая широким набором функциональных возможностей. Создана её программная реализация на языке программирования Java.
2. Предложен и исследован механизм взаимодействия СМ со сторонним ПО посредством подписки и уведомлений о событиях. Показана эффективность такого взаимодействия в задачах автоматизированного контроля ВК при решении прикладных задач, общих для широкого круга вычислительных кластеров.
Разработанные в диссертации подходы и реализующее их ПО допускают естественное развитие и обобщение для задач систем мониторинга, в том числе глобальных РВС и вычислительных сетей.
СМ Grate является более гибкой и просто расширяемой по сравнению с большинством аналогов: для добавления нового триггера или действия достаточно реализовать интерфейс взаимодействия, определённый в исходном коде Grate. Созданный таким образом модуль можно начинать использовать, не останавливая работу СМ и ВК. Исключение требований к реализации полноценных механизмов удалённого вызова процедур позволяет использовать систему даже в скриптовых языках со слабо развитыми функциональными возможностями.
Разработанная СМ предоставляет унифицированный подход к обработке событий, позволяя приложению подписаться на необходимые события уже во время мониторинга. Возможна также обработка событий с помощью действий и триггеров, заданных в конфигурационном файле.
Таким образом, СМ Grate расширяема в большей степени, чем аналоги: на всех уровнях динамически формирует внутренние структуры и содержит более широкий набор базовых возможностей (система уведомлений, триггеры и др.). В сравнении с рядом аналогов ПО, разработанное по данной архитектуре, превосходит существующие по важнейшим параметрам: либо по набору базовых возможностей, либо по производительности.
Построение программных комплексов, реализующих предложенную архитектуру мониторинга, упрощает создание систем контроля и управления ВК и других вычислительных систем.
Библиография Тарасов, Алексей Григорьевич, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
1. Воеводин В. В., Воеводин Вл. В. Параллельные вычисления. — СПб.: БХВ-Петербург, 2002. - 608 с.
2. Гамма Э. Приемы объектно-ориентированного проектирования. Паттерны проектирования / Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влисси-дес. СПб.: Питер, 2007 - 366 с.
3. Кохонен Т. Самоорганизущиеся карты. — М.: Бином, 2007. — 655 с.
4. Круглов В. В. Искусственные нейронные сети. Теория и практика. 2-е изд., стереотип. / В. В. Круглов, В. В. Борисов. — М.: Горячая линия-Телеком, 2002. 382 с.
5. Ларичев О. И. Системы поддержки принятия решений: современное состояние и перспективы развития / О. И. Ларичев, А. Б. Петровский // Итоги науки и техники. М.: ВИНИТИ, 1987. - Т. 21. - С. 131-164.
6. Ляпунов А. А. О некоторых вопросах обучения автоматов //В кн.: Принципы построения самообучающихся систем. — Киев: 1962. — С. 115-118.
7. Ляпунов А. А. О строении и эволюции управляющих систем в связи с теорией классификаций. — Проблемы кибернетики, 1973. — вып. 27. — С. 7-18.
8. Моисеев Н. Н. Математические задачи системного анализа. — М.: «Наука», 1981. 487 с.
9. Пересветов В. В. Удалённый доступ к вычислительному кластеру ВЦ ДВО РАН / В. В. Пересветов, А. Ю. Сапронов, А. Г. Тарасов, Т. С. Шаповалов // Вычислительные технологии. — Т. 11, специальный выпуск. Новосибирск: Изд-во ИВТ СО РАН, 2006. - С. 45-51.
10. Перссветов В. В. Вычислительный кластер бездисковых рабочих станций. Препринт №83 / В. В. Пересветов, А. Ю. Сапронов, А. Г. Тарасов. Хабаровск: ВЦ ДВО РАН, 2005. — 50 с.
11. Пересветов В. В. Организация работы вычислительного кластера в режиме удалённого доступа. Препринт №110 / В. В. Пересветов, А. Ю. Сапронов, А. Г. Тарасов, Т. С. Шаповалов. — Хабаровск: ВЦ ДВО РАН, 2007. 34 с.
12. Рассел С. Искусственный интеллект: современный подход / С. Рассел, П. Норвиг. М.: Вильяме, 2007. — 1408 с.
13. Тарасов А. Г. Мониторинг вычислительного кластера с использованием Java-технологий // XXX Дальневосточная математическая школа-семинар имени академика Е.В. Золотова. — Хабаровск: Изд-во ДВГУПС, ИПМ ДВО РАН, 2005. С. 201.
14. Тарасов А. Г. Организация GRID-сети ВЦ ДВО РАН / А. Г. Тарасов, С. И. Щерба, Т. С. Шаповалов // Научный сервис в сети Интернет: многоядерный компьютерный мир (24-29 сентября 2007, г. Новороссийск). Москва: Изд-во МГУ, МГУ, 2007. - С. 94-95.
15. Тарасов А. Г. Трёхуровневая система мониторинга расширенной функциональности // Параллельные вычислительные технологии: труды международной конференции (Санкт-Петербург, 28 января-1 февраля 2008 г.). Челябинск: Изд. ЮУрГУ, 2008. - С. 464-469.
16. Тарасов А. Г. Развитие GRID-сети ДВО РАН / А. Г. Тарасов, Т. С. Шаповалов, А. Ю. Сапронов. // Параллельные вычислительные технологии: труды международной конференции (Санкт-Петербург, 28 января-1 февраля 2008 г.). — Челябинск: Изд. ЮУрГУ, 2008. С. 540.
17. Тарасов А. Г. Расширяемая система мониторинга вычислительного кластера // Вычислительные методы и программирование — Т. 10. — Москва: Изд. МГУ, 2009. С. 147-158.
18. Тарасов А. Г. Grated. Свидетельство о регистрации программы для ЭВМ. РОСПАТЕНТ. № 2010615286 от 17.08.2010.
19. Tarasov Alexey G. Integration of computing cluster monitoring system // Proceedings of First Russia and Pacific Conference on Computer Technology and Applications (6-9 September 2010, Vladivostok). — Vladivostok: IACP FEB RAS, 2010. P. 221-224.
20. Тарасов А.Г. Интеграция системы мониторинга расширенной функциональности и нейросетевого модуля // Информатика и системы управления. — № 4 (26). — Благовещенск: Изд-во АмГУ. — С. 104-115.
21. Тарасов А. Г. Практический подход к взаимодействию систем мониторинга вычислительных кластеров со сторонним программным обеспечением // Вычислительные методы и программирование. — Т. 12. — Москва: Изд. МГУ, 2011. С. 1-8.
22. Хайкин С. Нейронные сети: полный курс: Пер. с англ. — М.: Вильяме, 2006. 1104 с.
23. Хорстманн К. С. Java 2. Библиотека профессионала, в 2 т. / К. С. Хорстманн, Г. Корнелл. — М.: Вильяме, 2008.
24. Яблонский С. В. Некоторые вопросы надежности и контроля управляющих систем // Математические вопросы кибернетики. — вып. 1. — М.: Наука, 1988. С. 5-25.
25. Anderson E. Extensible, scalable monitoring for clusters of computers / E. Anderson, D. Patterson. // Proceedings of the 11th Systems Administration Conference LISA '97 (San Diego, CA, October 1997). — San Diego: USENIX, 1997. P. 9-16.
26. Anderson D. SETI@home; An Experiment in Public-Resource Computing / D. Anderson, J. Cobb, E. Korpela, M. Lebofsky, D. Werthimer. // Communications of the ACM. Vol. 45, No. 11. — 2002. - P. 56-61.
27. Barth W. Nagios System and Network Monitoring. — San Francisco: No Starch Press, 2006. 462 p.
28. Benveniste A. Diagnosis of asynchronous discrete event systems, a net unfolding approach / A. Benveniste, E. Fabre, C. Jard, S. Haar // IEEE Transactions on Automatic Control. — 2003. — No. 48(5). — P. 714-727.
29. Birman K. P. Exploiting virtual synchrony in distributed systems / K. P. Birman, T. A. Joseph. // Proceedings of the 11th ACM Symposium on Operating Systems Principles. — Austin: ACM, 1987 — P. 123-138.
30. Bonnet P. Towards sensor database systems / P. Bonnet, J. Gehrke, P. Seshadri. // Proceedings of the 2nd International Conference on Mobile Data Management (Hong Kong, 2001). — P. 3-14.
31. Buyya R. High Performance Cluster Computing: Architectures and Systems. — Vol. 1, 1st edn. — Prentice Hall: NJ, 1999. — 849 p.
32. Buyya R. PARMON: a portable and scalable monitoring system for clusters // International Journal on Software: Practice and Experience (SPE). — vol. 30. USA: John Wiley and Sons, 2000. - P. 723-739.
33. DeRose, L. SvPablo: A Multi-Language Architecture-Independent Performance Analysis System / L. DeRose, D. Reed. // Proceedings ofthe International Conference on Parallel Processing (ICPP'99, Fukushima, Japan, September 1999). — P. 311-318.
34. Dilman M. Efficient reactive monitoring / M. Dilman, D. Raz // IEEE JSAC. 2002. - Vol. 20, No. 4. - P. 668-676.
35. Efe K. Parallel Algorithms for Workstation Clusters / K. Efe, P. Uthayopas, V. Krishnamoorthy and T. Dechsakulthorn. // Proceeding of 1995 ICPP Workshop on Challenges for Parallel Processing. — US: University Park, 1995. P. 140-147.
36. Foster I. The Grid: Blueprint for a New Computing Infrastructure / Ian Foster, Carl Kesselman, Morgan Kaufmann. — Morgan Kaufmann, 1999. — 701 p.
37. Foster I. Globus Toolkit Version 4: Software for Service-Oriented Systems // Journal on Computing Science and Technoljgy. — 2006. — Vol.21, No.4. P. 513-520.
38. Frey J. Condor-G: A Computation Management Agent for Multi-Institutional Grids / J. Frey, T. Tannenbaum, I. Foster, M. Livny, S. Tuecke // Journal on Cluster Computing. 2002 — vol. 5. — P. 237-246.
39. Genersereth M. Software Agents / M. Genersereth, S. Ketchpel // Communications of the ACM. 1994. - 37(7). - P. 48-53.
40. Green T. P. DQS User Interface Preliminary Design Document. — Tallahasse: Supercomputer Computations Research Institute, 1993.
41. Grossberg S. Classical and instrumental learning by neural networks // Progress in theoretical biology. — vol. 3. — New York: Academic Press, 1974. P. 51—141.
42. Hayes B. Cloud computing // Communications of the ACM. — 2008. — Vol.7 P. 9-11.
43. Jiao J. Towards Efficient Monitoring / S. Naqvi, D. Raz, and B. Sugla // IEEE Journal on Selected Areas in Communications, special issue on recent advances in network management and operations — 2000. — Vol. 5, No. 18. P. 723-732.
44. Litzkow M. Condor — A Hunter of Idle Workstation / M. Litzkow, M. Livny, and M. W. Mutka. // Proceedings of the 8th International Conference on Distributed Computing Systems (June 1988). — P. 104-111.
45. Luis V.M. A break in the clouds: towards a cloud definition / V. M. Luis, R. M. Luis, C. Juan, L. Maik // ACM SIGCOMM Computer Communication Review. 2008. - Vol. 39, Issue 1. - P. 50-55.
46. Massie M. L. The ganglia distributed monitoring system: Design, implementation and experience / M. L. Massie, B. N. Chun, and D. E. Culler // Parallel Computing. 2004. - Vol. 30, No. 7. - P. 817-840.
47. Minnich R. G. Supermon: High-performance monitoring for linux clusters / R. G. Minnich and K. Reid //In Proceedings of the Fifth Annual Linux Showcase and Conference (2001).
48. Morton M. S. Decision support systems: an organizational perspective / P. Keen, M. S. Morton. — Mass.: Addison-Wesley Pub. Co., 1978. — 264 p.
49. Moore J. Alert — Cluster Monitoring Package. — Charlottesville: University of Virginia, 1996.
50. MPI Forum MPI: A message-passing interface standard // International Journal of Supercomputer Application. — 1994. — Vol. 3/4, No. 8. — P. 165-416.
51. Mukherjee B. Network intrusion detection / B. Mukherjee, T. L. Heberlein, K. N. Levitt // IEEE Network. 1994. - Vol. 3, No. 8. - P. 26-41.
52. Шилдт Г. Полный справочник по Java. — СПб: Вильяме, 2009. — 1040 с.
53. Raman S. A Model, Analysis, and Protocol Framework for Soft State-based Communication / S. Raman, S. McCanne // Computer Communication Rev. 1999. -Vol. 29, No. 4. - P. 15-25.
54. Sacerdoti F. D. Wide area cluster monitoring with ganglia / F. D. Sacerdoti, M. J. Katz, M. L. Massie, and D. E. Culler // In Proceedings of the IEEE Cluster 2003 Conference (1-4 December 2003, Kowloon, Hong Kong). P. 289-299.
55. Snoeren A. Mesh-based content routing using XML / A. Snoeren, K. Conley, D. Gifforfd // Operating System Review. — 2001. Vol. 5, No. 35. - Banff: ACM. - P. 160-173.
56. Sottile M. J. Supermon: A high-speed cluster monitoring system / M. J. Sottile and R. G. Minnich //In Proceedings of the IEEE conference on cluster computing (2002). — P. 39-46.
57. Spafford E. H. Data Collection Mechanisms for Intrusion Detection Systems. Tech. Rep. 2000-08 / E. H., Spafford, D. Zamboni. West Lafayette: CERIAS, 2000. - 6 p.
58. Sterling T. BEOWULF: A Parallel Workstation for Scientific Computation / T. Sterling, D. J. Becker, D. Savarese, J. E. Dorband, U. A. Ranawake, C. V. Packer // Proceedings of ICPP95 (August 14-18, 1995, Urbana-Champain). — P. 11-14.
59. Sunderam V. S. PVM: A Framework for Parallel Distributed Computing / V. S. Sunderam // Concurrency: Practice and Experience. — 1990. — Vol. 2, No. 4. P. 315-339.
60. Sun Microsystems Solstice SyMON 1.1 User's Guide. — Palo Alto: Sun Microsystems Computer Company, 1996. — 186 p.
61. Gosling J. Java language environment a white paper / J. Gosling, H. McGilton. — Palo Alto: Sun Microsystems Computer Company, 1996. — 56 p.
62. Terfloth K. Self-sustained Routing for Event Diffusion in Wireless Sensor Networks. Lecture Notes in Computer science / K. Terfloth, J. Schiller. — 2008. vol. 5321/2008. - Berlin: Springer. - P. 236-241.
63. Tierney B. A Monitoring Sensor Management System for Grid Environments / B. Tierney, B. Crowley, D. Gunter, M. Golfing, J. Lee, M. Thompson // Proceedings of the 9th IEEE International Symposium on
64. High Performance Distributed Computing. — Washington: IEEE Computer Society, 2000. P. 97.
65. Thompson M. Certificate-based Access Control for Widely Distributed Resources / M. Thompson, W. Johnston, S. Mudumbai, G. Hoo, K. Jackson, A. Essiari // Proceedings of the Eighth Usenix Security Symposium (Aug. 1999, Washington). — P. 215-227.
66. Uthayopas, P. Parallel Image Velocity Estimation using Workstation Clusters / P. Uthayopas, B. Patwiwat // Proceeding of 5th Anual Conference on Technologies Transfer between Thai Researchers in North America and Thailand (Edmonton, 1996).
67. Uthayopas P. Beowulf Class Cluster: Opportunities and Approach in Thailand / Presented in First NASA Workshop on Beowulf Class Computer Systems (Pasadena, October 1997). — Pasadena: NASA Jet Propulsion Laboratory, 1997.
68. Wahl M. Lightweight Directory Access Protocol (v3) / M. Wahl, T. Howes, S. Kille // IETF RFC 2251, 1997. 12 p.
69. Wolski R. The Network Weather Service: A Distributed Resource Performance Forecasting Service for Metacomputing / R. Wolski, N. Spring and J. Hayes // Journal of Future Generation Computing Systems. — 1999. Vol. 15, No. 5-6. - P. 757-768.
70. Wolski R. White Paper: Developing a Dynamic Performance Information Infrastructure for Grid Systems / R. Wolski, M. Swany, S. Fitzgerald. // GridForum, 2000.
71. Clark J. XML Path Language (XPath). Version 1.0 / J. Clark, S. DeRose // W3C Recommendation, 1999. — 30 p.
72. Yingquan W. Distributed Non-Concurrent Fault Identification in Discrete Event Systems / W. Yingquan, N. H. Christoforos // Proceedings of Multiconference on Computational Engineering in Systems Applications. — Lille, 2003.
73. CORBA Systems Management: Event Management Service. X/Open Document Number: P437 // The Open Group, 1997. 258 p.1. Глоссарий
74. Вещание (англ. streaming) — механизм пассивного опроса данных, при котором сервер рассылает данные независимо от того, есть ли заинтересованные в них клиенты.
75. Виртуальная машина Java (Java Virtual Machine, JVM) — программное обеспечение, реализующее абстрактную машину, исполняющую байт-код программ, написанных на языке программирования Java.
76. Виртуальный параллельный компьютер (Parallel Virtual Computer) — программная среда, запускаемая на вычислительном кластере и моделирующая гомогенную вычислительную систему.
77. Выделенный узел — одна из вычислительных станций, которой делегированы функции, отличные от вычислений. Иногда на таком узле вычисления запрещены.
78. Вычислительный процесс — процесс решения задачи в вычислительной системе, включающий трансляцию исходной программы во внутреннее представление компьютера, возможно параллельного, пошаговую интерпретацию и выполнение необходимых инструкций.
79. Вычислительные ресурсы — аппаратные и программные средства для решения прикладных задач. К ним относятся вычислительные узлы, коммуникационная среда, прикладное программного обеспечение и системы хранения данных.
80. В процессе работы пользователь воспринимает кластер как единое целое и составляет программы, получающие искомый результат нанекотором подмножестве узлов кластера, необязательно одинаковом между различными запусками задачи.
81. Гетерогенность — разнородность вычислительных ресурсов входящих в состав вычислительного комплекса.
82. Гомогенность — обратна гетерогенности, единообразие вычислительных ресурсов в составе вычислительного комплекса.
83. Запрос данных (query) — механизм активного и часто синхронного опроса сервера, при котором клиент самостоятельно запрашивает у сервера требуемые данные.
84. Коммуникационная среда — см. среда передачи данных
85. Крупноблочный параллелизм — подход к реализации параллельных вычислений с редкими обменами промежуточными результатами. При этом параллельными фрагментами являются отдельные задачи, информационно слабо связанные между собой.
86. Латентностъ — время между началом передачи данных с источника данных до прибытия первого байта в точку назначения.
87. Масштабируемость — способность вычислительной системы увеличивать вычислительную мощность без существенного снижения отношения общей производительности к числу узлов при включении в состав вычислительной системы дополнительных узлов.
88. Метрика — какая-либо величина, контролируемая системой мониторинга.
89. Мониторинг вычислительной системы — процесс наблюдения за состоянием ресурсов вычислительной системы, предполагающийдостоверность представляемых данных пользователю за определённый промежуток времени работы системы.
90. Мулътивещание (multicasting) — режим передачи пакетов в сети таким образом, что их получают подключившиеся к каналу мульти-вещания приложения.
91. Параллельное приложение — приложение, реализующие какой-либо вычислительный алгоритм таким образом, что приложение состоит из нескольких ветвей, или потоков, или процессов, или задач, выполняющихся одновременно.
92. Пропускная способность — количество единиц информации, передаваемое или принимаемое в единицу времени.
93. Распределенные вычисления — способ решения ресурсоемких вычислительных задач с использованием более одной вычислительной станции, объединенных средой передачи данных в распределённой вычислительной среде.
94. Ресурсоемкая задача — задача вычислительного характера, решение которой требует значительных затрат вычислительных ресурсов.
95. Сенсор — программный или аппаратный компонент предоставляющий данные для одной или более метрик.
96. Система мониторинга — программное или программно-аппаратное обеспечение, позволяющее производить мониторинг вычислительной системы.
97. Системное программное обеспечение — это комплекс программного обеспечения, которое управляет аппаратными ресурсами вычислительной системы, предоставляя доступ к ним прикладному ПО пользователя.
98. Триггер — логический элемент системы мониторинга, содержащий условие или выражение, истинность которого необходимо проверить для последнего значения метрики.
99. Управляющий узел — выделенный узел, обладающий функциями управления заданиями пользователей и ресурсами вычислительной системы.
100. Multiple Instructions Multiple Data (MIMD) — Вычислительная система со множественным потоком команд и данных. Один из типов вычислительных машин в классификации Флинна.
101. Request For Comments (RFC) — открытые стандарты в области развития и работы сетевых протоколов. Текст стандарта разрабатывается инициативной группой по развитию какой-либо технологии и выкладывается в свободный доступ.
-
Похожие работы
- Программная среда поддержки эффективного выполнения задач на параллельных вычислительных системах
- Анализ и оценка факторов, влияющих на скорость параллельной обработки информации в ГРИД-системах
- Разработка инструментов поддержки аспектно-ориентированного Web-программирования в системе Aspect.NET
- Методы и алгоритмы обработки текстового контента с использованием высокопроизводительных вычислительных кластеров
- Программно-методический комплекс для поддержки процесса разработки интегрируемых модулей расширения функциональности средних САПР
-
- Системный анализ, управление и обработка информации (по отраслям)
- Теория систем, теория автоматического регулирования и управления, системный анализ
- Элементы и устройства вычислительной техники и систем управления
- Автоматизация и управление технологическими процессами и производствами (по отраслям)
- Автоматизация технологических процессов и производств (в том числе по отраслям)
- Управление в биологических и медицинских системах (включая применения вычислительной техники)
- Управление в социальных и экономических системах
- Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
- Системы автоматизации проектирования (по отраслям)
- Телекоммуникационные системы и компьютерные сети
- Системы обработки информации и управления
- Вычислительные машины и системы
- Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях (по отраслям наук)
- Теоретические основы информатики
- Математическое моделирование, численные методы и комплексы программ
- Методы и системы защиты информации, информационная безопасность