Введение 7
1 Большие вычислительные системы: обзор, история, актуальность
мониторинга 10
1.1 Коллективное использование больших вычислительных систем 10
1.2 Грид-вычисления 10
1.3 Облачные вычисления 12
1.4 Мониторинг больших вычислительных систем 16
Выводы по главе один 16
2 Способы реализации мониторинга и анализа загруженности серверов .. 18
2.1 Методы анализа загруженности серверов 18
2.2 Инструмент мониторинга серверов под управлением MS Windows.... 18
2.3 Исследование методов анализа и прогнозирования загруженности
процессора 23
Выводы по главе два 31
3 Программная реализация прикладного обеспечения для мониторинга и
анализа серверов 33
3.1 Обзор используемых средств разработки 33
3.2 Реализация алгоритмов мониторинга и анализа данных сервера 37
3.3 Пользовательский интерфейс 45
Выводы по главе три 54
Заключение 55
Список литературы 56
ПРИЛОЖЕНИЯ 58
Приложение А 59
Приложение Б 70
Приложение В 75
Приложение Г 78
Приложение Д
В настоящее время всё больше организаций доверяют решения своих задач информационным технологиям. Зачастую эти задачи требуют объёмных и ресурсоёмких вычислений (экономическое прогнозирование, сейсмоанализ, рендер высокополигональных 3 D-объектов), которые необходимо решать на вычислительных машинах большей мощности нежели обычный персональный компьютер. Не все организации могут позволить иметь у себя в постоянном распоряжении подобные суперкомпьютеры. В такой ситуации предприятия используют концепцию «облачных вычислений».
Организации, предоставляющие услуги по грид-вычислениям (форма распределённых вычислений, в которой суперкомпьютер представлен в виде кластеров, соединённых в сеть для выполнения ресурсоёмких задач), имеют у себя достаточно мощные вычислительные ресурсы, но и здесь, как и в любой сфере, нужен контроль за работой такой сложной системы. Корректная работа сервера зависит от загруженности его модулей и выполняемых на текущий момент задач. Поэтому мониторинг и анализ полученных данных являются актуальными задачами.
Подобные системы мониторинга обычно разрабатываются для конкретных суперкомпьютеров, например система оперативного мониторинга температуры и энергопотребления суперкомпьютера «Уран» института математики и механики Уральского отделения РАН (г. Екатеринбург) [1], система мониторинга суперкомпьютера «Ломоносов» Московского Государственного Университета [2], а также трёхуровневая система мониторинга суперкомпьютера «Торнадо ЮУрГУ» [3].
Однако многие сервера коммерческих организаций, обеспечивающие услугами грид-вычислений, не имеют своих предустановленных систем для мониторинга и проверка всех машин занимает у оператора достаточно много времени, которое тратится на переключение между удалёнными рабочими столами и сбор информации вручную. Для обеспечения оперативного мониторинга не-обходимо предоставлять оператору всю системную информацию о серверах в один - два экрана.
Хранение данных о загруженности процессора позволяет осуществлять их статистическую обработку и прогнозировать загруженность сервера в будущем, а также выявить какие из серверов имеют слишком большие нагрузки, а какие, наоборот, простаивают, чтобы оптимизировать работу машин и сэкономить на электроэнергии.
В связи с вышесказанным, целью работы стало создание прикладного программного обеспечения для мониторинга, статистического анализа полученных данных.
Исходя из цели работы, поставлены и решены следующие задачи:
• обзор исследования загруженности процессора [6];
• выбор и анализ способов прогнозирования загруженности процессора;
• программная реализация системы мониторинга, статистического анализа полученных данных, согласно техническому заданию (приложение А);
• проектирование прикладного программного обеспечения: логика, пользовательский интерфейс.
Объект исследования - сервера, предназначенные для грид-вычислений.
Предмет исследования - оперативный мониторинг серверов.
Работа состоит из введения, 3 глав, заключения, 5 приложений и списка литературы. Объём работы составляет 81 страницу. Список литературы содержит 18 наименований.
В качестве теоретической базы исследования использовались пособие по программированию на языке C# В.В. Подбельского [4]; документация языка С# с сайта MSDN [5]; статья, посвящённая прогнозированию загруженности процессора Н.А. Кутепова, В.П. Горицкого, Ю.А. Бражникова Ю.С. Панкова [6].
В первой главе речь идёт о гридвычислениях: истории создания, области применения, показывается необходимость мониторинга больших вычислительных систем.
Во второй главе рассматривается ранее проводимое исследование [6] прогнозирования загруженности процессора, анализируются результаты. При-водится альтернативные способы моделирования и прогнозирования данных о загруженности процессора, производится анализ способов, выбирается наиболее подходящий для реализации в ПО.
В третьей главе проводится обзор средств реализации ПО, программная реализация мониторинга и анализа серверов, демонстрируется пользовательский интерфейс программы.
В заключении перечислены основные результаты работы.
Практическая значимость разработанного приложения состоит в возможности использования организациями, работающими с недорогостоящими серверами без пакетов мониторинга.
В дипломной работе представлена реализация прикладного программного обеспечения со следующей функциональностью: мониторинг серверов, анализ и прогнозирование загруженности сервера.
В работе решены следующие задачи:
• был сделан обзор ранее проведённого исследования [6] прогнозирования загруженности процессора;
• проанализированы два способа прогнозирования загруженности процессора, для выявления наиболее точного и подходящего способа для реализации;
• согласно техническому заданию (приложение А) программно реализованы: мониторинг серверов, прогнозирование загруженности процессора, графический интерфейс пользователя. Реализованное ПО получило практическое применение в ООО «Грид инжиниринг», что подтверждено актом внедрения.
В качестве направлений дальнейшего усовершенствования прикладного программного обеспечения следует рассматривать следующие:
• реализация одновременного подключения к нескольким серверам;
• повышение качества прогноза;
• реализация формирования записей журнала непосредственно самим ПО.
1. Созыкин, А.В. Система оперативного мониторинга температуры и энергопотребления суперкомпьютера «УРАН» / А.В. Созыкин, М.Л. Гольдштейн, М.А Черноскутов // Журнал НПС. - 2011. - № 4. - С. 120-123.
2. Стефанов, К.С. Система мониторинга производительности суперкомпьютеров / К.С. Стефанов // Вестник ПНИНУ. Аэрокосмическая техника. - 2014. - № 39. - С. 17-34.
3. Суперкомпьютер «Торнадо ЮУрГУ» [Электронный ресурс] / Лаборатория суперкомпьютерного моделирования ЮУрГУ. - Режим доступа http://supercomputer.susu.ru/computers/tornado/- Дата обращения 06.05.2016.
4. Подбельский, В.В. Язык С#. Базовый курс: Учебник. / В.В.
Подбельский. - М.: Финансы и статистика, Инфра-М, 2013. - 2-е изд. - 384 с.
5. MSDN [Электроный ресурс] / Microsoft - Режим доступа
https://msdn.microsoft.com/ru-ru/default.aspx. - Дата обращения 06.05.2016.
6. Бражникова, Ю.С. Исследование методов прогнозирования загруженности компьютеров и компьютерных систем / Ю.С. Бражникова, Ю.А. Горицкий, В.П. Купетов, Н.А. Панков // Программные продукты и системы. - 2015. - № 2. - С. 135-139.
7. Хашковский, В.В. Применение облачных вычислений и GRID- технологий для организации коллективного использования вычислительных ресурсов в научно-исследовательской и учебной работе / В.В. Хашковский, И.Г. Данилов // Известия Южного федерального университета. Технические науки. - 2011. - № 1. - С. 139-143.
8. Демичев, А.П. Введение в грид технологии: Препринт. / А.П. Демичев, В.А. Ильин, А.П. Крюков. - НИИЯФ МГУ, 2007. - 87 с.
9. Черняк, Л. Облака: три источника и три составных части / Л. Черняк // Открытые системы. - 2010. - № 1.
10. Радченко, Г.И. Грид-технологии и суперкомпьютерный инжиниринг. / Г.И. Радченко, Л.Б. Соколинский // Суперкомпьютерные технологии в науке, образовании и промышленности / Под ред. В.А. Садовничего. - М.: Издательство Московского университета, 2009. - 232 с.
11. Windows Management Instrumentation [Электронный ресурс] / Режим доступа https://ru.wikipedia.org/wiki/WMI. - Дата обращения 06.05.2016.
12. About Windows Management Instrumentation [Электронный ресурс] /
Microsoft - Режим доступа https://msdn.microsoft.com/en-
us/library/aa384642(VS.85).aspx. - Дата обращения 06.05.2016.
13. WMI Code Creator v1.0 [Электронный ресурс] / Microsoft - Режим доступа https://www.microsoft.com/en-us/download/details.aspx?id=8572.-Дата обращения 06.05.2016.
14. Коэффициент детерминации [Электронный ресурс] / Режим доступа http://www.machinelearning.ru/wiki/index.php?title=Коэффициент_детерминации.
- Дата обращения 06.05.2016.
15. Что такое Microsoft.Net Framework [Электронный ресурс] / Режим доступа http://net-framework.ru/article/chto-takoe. - Дата обращения 06.05.2016.
16. Общие сведения о Windows Forms [Электронный ресурс] / Microsoft - Режим доступа https://msdn.microsoft.com/ru-ru/library/8bxxy49h(v=vs.110).aspx.
- Дата обращения 06.05.2016.
17. C Sharp [Электронный ресурс] / Режим доступа https://ru.wikipedia.org/wiki/C_Sharp. - Дата обращения 06.05.2016.
18. Microsoft Visual Studio [Электронный ресурс] / Режим доступа
https://ru.wikipedia.org/wiki/Microsoft_Visual_Studio. - Дата обращения
06.05.2016.