автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.15, диссертация на тему:Разработка системы запуска ресурсоемких приложений в облачной гетерогенной среде

кандидата технических наук
Е Мьинт Найнг
город
Санкт-Петербург
год
2013
специальность ВАК РФ
05.13.15
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Разработка системы запуска ресурсоемких приложений в облачной гетерогенной среде»

Автореферат диссертации по теме "Разработка системы запуска ресурсоемких приложений в облачной гетерогенной среде"

На правах рукописи

£ Мьинт Найнг

РАЗРАБОТКА СИСТЕМЫ ЗАПУСКА РЕСУРСОЕМКИХ ПРИЛОЖЕНИЙ В ОБЛАЧНОЙ ГЕТЕРОГЕННОЙ СРЕДЕ

Специальность: 05.13.15 - Вычислительные машины, комплексы и компьютерные сети

АВТОРЕФЕРАТ

диссертации на соискание ученой степени кандидата технических наук

3 0 МАЙ 2013 ООБОбиоо.

Санкт-Петербург - 2013

005060651

Работа выполнена в Санкт-Петербургском государственном морском техническом университете «СПбГМТУ»

Научный руководитель — доктор физико-математических наук, профессор Богданов Александр Владимирович

Официальные оппоненты:

доктор физико-математических наук, профессор, главный научный сотрудник корпорации «Геолинк технолоджис», Горбачев Юрий Евгеньевич кандидат технических наук, доцент кафедры технологий защиты информации Санкт-Петербургского государственного университета аэрокосмического приборостроения (ГУАП), Волошина Наталья Викторовна

Ведущая организация - факультет Прикладной математики и процессов управления Санкт-Петербургского государственного университета

Защита диссертации состоится « 19 » июня 2013г. в « 15.30 » часов на заседании диссертационного совета Д212.238.01 Санкт-Петербургского государственного электротехнического университета «ЛЭТИ» им. В.И.Ульянова (Ленина) по адресу: 197376, Санкт-Петербург, ул. Проф. Попова, 5.

С диссертацией можно ознакомиться в библиотеке Санкт-Петербургского государственного электротехнического университета «ЛЭТИ».

Автореферат разослан - 17. 05 . 2013 г.

Ученый секретарь диссертационного совета, к.т.н.

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность темы.

Прогресс в развитии современных информационных технологий непосредственно связан с применением ресурсоемких приложений в наукоемких исследованиях, а также в промышленных прикладных задачах в авиастроении, судостроении, биотехнологии, фармацевтике, генетике и других передовых направлениях человеческой деятельности.

Для удовлетворения потребностей практики в существенном увеличении производительности средств обработки информации, создатели информационных технологий разработали и предложили распределенные вычисления в виде Грид-технологий и их дальнейшего развития в так называемых облачных вычислениях.

Облачные вычисления - это вычислительная модель, в которой ресурсы, такие как вычислительные мощности, системы хранения, сети и программное обеспечение абстрагированы и обеспечены как службы в интернете для удаленного пользователя. По его требованию обеспечиваются доступность выделения ресурсов, динамическая и фактически бесконечная масштабируемость при решении конкретных задач.

Преимущества технологии облачных вычислений включают высокую производительность, экономию в расходах, высокую степень доступности, и легкую масштабируемость.

Однако, при ее практической реализации возникает целый ряд еще не решенных научных проблем, препятствующих полноценному использованию всех потенциальных достоинств такого подхода.

Во-первых, стремление создать универсальную облачную систему неизбежно сталкивается с необходимостью работать в гетерогенной среде и соответственно организовывать доступ пользователей с их индивидуальными приложениями без снижения производительности.

Во-вторых, в облачных средах при организации доступа произвольного числа пользователей до сих пор представляет проблему обеспечение высокой степени безопасности и надежности сохранения индивидуальных данных. Поэтому проблема безопасности данных и ресурсов при облачных вычислениях является одной из критических проблем. Безопасность всей системы зависит от безопасности программных интерфейсов для управления ресурсами, виртуальными машинами и сервисами. Начиная от процедуры аутентификации и авторизации и заканчивая шифрованием, программные

интерфейсы должны обеспечивать максимальный уровень защиты от несанкционированных атак. При обеспечении безопасности в облаках необходимо предусмотреть проведение удобного и единообразного авторизованного доступа к ресурсам, учета их использования и защиту ресурсов и данных от несанкционированного использования.

В-третьих, для обеспечения возможности практического использования гетерогенной облачной среды в различных областях необходимо организовать универсальную систему запуска индивидуальных приложений.

Принимая во внимание, что перечисленные проблемы до сих пор окончательно не решены, можно полагать тему настоящего диссертационного исследования актуальной и практически значимой.

Цель исследования.

Целью данной диссертационной работы является повышение эффективности распределенных вычислений в облачной системе за счет создания операционного окружения для организации системы безопасного доступа пользователей к вычислительным мощностям и разработка принципов запуска ресурсоемких приложений в распределенной вычислительной среде на основе технологии облачных вычислений.

Для достижения поставленной цели необходимо решение следующих задач.

1. Разработать методологию запуска приложений в облачных средах, позволяющую повысить общую производительность гетерогенных программно-аппаратных комплексов.

2. Разработать подход к построению операционного окружения, обеспечивающий безопасный доступ пользователей ресурсоемких приложений в гетерогенной распределенной облачной вычислительной среде.

3. Исследовать возможность повышения надежности аутентификации и авторизации и разработать методику их применения в гетерогенной облачной среде.

Для успешного выполнения поставленных задач необходимо провести анализ и разработать методику управления ресурсами в распределенной вычислительной среде для запуска конкретных ресурсоемких приложений. В частности, для универсализации системы доступа пользователей к ресурсам и удовлетворения индивидуальным требованиям исследователей вводится комплекс «виртуальная машина», которая предоставляется каждому пользователю, а технические характеристики, эргономические параметры и интерфейс адаптированы под него.

Предмет исследования.

Предметом исследования являются методы теоретического анализа и экспериментального исследования организации системы доступа пользователей к распределенной вычислительной среде на основе технологии облачных вычислений, методы авторизации пользователей по принципу одного окна, методы построения облачной инфраструктуры с открытым исходным кодом и эффективной распределенной вычислительной среды на основе технологии облачных вычислений. Методы интеграции и консолидации программных продуктов в распределенной вычислительной среде.

Методы исследований.

Методы исследований базируются на современных принципах параллельной и распределенной обработки информации, передачи данных в компьютерных системах, защиты компьютерных систем, на современных технологиях проектирования программного обеспечения, на теории надежности информационных систем, теории случайных процессов и потоков.

Научная новизна работы.

1. Разработана новая методика построения облачных вычислений, позволяющие увеличить общую производительность за счет динамической балансировки и управления миграции процессов на узлах облачной вычислительной среды.

2. На основе известных методов разработана новая методика повышения степени защиты данных и ресурсов облачного комплекса за счет двухступенчатой системы защиты.

Достоверность научных результатов и выводов подтверждена результатами тестирования алгоритмов и программного обеспечения, а также практическим использованием разработанных алгоритмических и программных методов и средств на действующем программно-аппаратном комплексе факультета ПМПУ СПбГУ. Кроме того, достоверность научных результатов и выводов подтверждена апробацией результатов исследований на ряде научных конференций.

Научные положения, выносимые на защиту.

1. Новый подход и комплекс программ для создания операционного окружения облачных вычислений, позволивший повысить общую производительность гетерогенных программно-аппаратных комплексов в

среднем на порядок за счет адаптации архитектуры каждой индивидуальной виртуальной машины под конкретное пользовательское приложение.

2. Методика построения облачной вычислительной системы, позволяющая увеличить общую производительность за счет динамической балансировки и управления миграции процессов, а не данных.

3. Методика повышения степени защищенности данных и ресурсов путем двухступенчатой аутентификации и авторизации пользователей по принципу одного окна, обеспечивающая повышенную степень надежности.

Практическая значимость исследования.

Важное народно-хозяйственное значение данной исследовательской работы состоит в создании и совершенствовании теоретической и технической базы вычислительных комплексов, обладающих высокими качественными и эксплуатационными показателями и обеспечивающих ускорение научно-технического прогресса.

Конкретные практические результаты составляют доработанный до практического применения программный комплекс удаленного доступа к гетерогенным распределенным вычислительным ресурсам, обеспечивающий повышенную производительность и степень безопасности данных при запуске ресурсоемких приложений.

Внедрение результатов работы.

Результаты диссертационной работы внедрены в вычислительном комплексе факультета ПМПУ СПбГУ для интеграции гетерогенных ресурсов, а также использованы в учебном процессе кафедр Вычислительной техники и ИТ СПбГМТУ и Вычислительной техники СПбГЭТУ «ЛЭТИ».

Апробация работы. Основные результаты работы докладывались и обсуждались на национальных и международных научно-технических конференциях:

1. 4-ая Международная конференция «Distributed Computing and Grid Technologies in Science and Education». Dubna, 2010 r.

2. Международная конференция «Computer Science & Information Technologies»,Yerevan, Armenia, 2011 r.

3. XIX Всероссийская научно-методическая конференция "Телематика'2012 Санкт-Петербург, 2012 г. ".

4. 5-ая Международная конференция «Distributed Computing and Grid Technologies in Science and Education». Dubna, 2012 r.

Публикации. Основные теоретические и практические результаты диссертации опубликованы в 7 статьях и докладах, из них по теме

диссертации 7, среди которых 2 публикации в ведущих рецензируемых изданиях, рекомендованных в действующем перечне ВАК. Доклады доложены и получили одобрение на 5 международных, всероссийских и межвузовских научно-практических конференциях.

Структура и объем диссертации. Диссертационная работа состоит из введения, четырех глав с выводами, заключения и списка литературы, включающего 101 наименований. Основная часть работы изложена на 150 страницах машинописного текста. Работа содержит 29 рисунков.

СОДЕРЖАНИЕ РАБОТЫ

Во введении дано описание проблемы, краткий обзор предметной области. Обоснована актуальность диссертационной работы и сформулированы ее основные цели и задачи.

В первой главе изложены результаты анализа технологий создания распределенных вычислительных сред и исследования подходов к организации доступа и применимости к комплексным задачам в качестве базовой технологии.

Дано описание концепции Грид вычислений и концепции облачных вычислений, которое показывает, что между ними имеется много общего. Некоторые исследователи считают, что основным отличием облачных вычислений от Грида является виртуализация. В то время как Грид системы обеспечивают высокую загрузку вычислительных ресурсов посредством распределения одной сложной задачи на несколько вычислительных узлов, облачные вычисления идут по пути исполнения нескольких задач на одном сервере в виде виртуальных машин. Кроме того, есть особенности в основных вариантах использования Грид и облачных вычислений. Тогда как Грид, в основном, используется для решения задач за ограниченный промежуток времени, облачные вычисления в основном ориентированы на предоставление долговременных сервисов.

Таким образом, можно считать что Грид и облачные вычисления дополняют друг друга. Интерфейсы и протоколы Грид могут обеспечить взаимодействие между облачными ресурсами или же обеспечить объединение облачных платформ. Более высокий уровень абстракции, предоставляемый облачными платформами, может помочь пользователям Грид систем в организации прозрачного и удобного предоставления ресурсов Грид платформ и привлечь новые группы пользователей к использованию таких ресурсов. В данной работе использованы интерфейсы и протоколы

Грида для организации системы доступа пользователей и запуск приложений в распределенной вычислительной среде на основе технологии облачных вычислений.

Во второй главе проанализированы и обсуждены проблемы, характеристики, архитектура и приложения нескольких популярных программных продуктов, чтобы пользователи могли более разумно выбрать то, что они хотят и лучше понять различные подходы к построению операционного окружения для доступа пользователей и запуск приложений в распределенной вычислительной среде на основе технологии облачных вычислений.

В работе предложены методы построения облачной инфраструктуры с открытым исходным кодом и эффективной распределенной вычислительной среды на основе технологии облачных вычислений. В настоящий момент многие ведущие корпорации участвуют в развитии облачных вычислений и ими были предложены несколько платформ облачных вычислений. У каждой платформы есть свои собственные плюсы и минусы. Чтобы выбрать средства для построения облачной инфраструктуры, мы провели подробный анализ и сравнение различных платформ. В работе приводятся результаты тестирования программных комплексов Eucalyptus и OpenNebula на гетерогенной платформе ПМПУ СПбГУ и анализируются их особенности и достоинства для университетских проектов дата центров.

В работе исследована система построения распределенной вычислительной среды в облаке для увеличения масштабируемости и общей производительности. Основная проблема распределенной вычислений - это балансировка нагрузки. Балансировка может быть статической, до запуска задачи, и динамической, уже во время работы задачи. Очень серьезной проблемой является динамическая балансировка нагрузки. Динамическая балансировка позволяет перераспределять уже запущенные задачи. В таком случае используется миграция процессов. Миграция процессов позволяет перемещать процесс с одной машины на другую без необходимости перезапуска процесса с самого начала. На самом деле приложения, направленные на обработку больших объемов данных, необходимо использовать методы балансировки нагрузки путем миграции процессов обработки данных. В нашей схеме мы предлагаем организовать динамическую балансировку нагрузки в виртуальном вычисленном комплексе при помощи кластерного программного обеспечения Mosix. В работе рассматривается несколько экспериментов с использованием

миграции процессов и без неё. На рис.1 приведены результаты, которые позволяют сравнить время выполнения реальных процессов высокой производительности для умножения матриц в рамах PVM в гетерогенной среде. На рис.2 приведены результаты, которые позволяют сравнить эффективность взаимодействия множества процессов в рамках MPI в виртуальном кластере. Показано, что производительность при разных тестах использование PVM и MPI без миграции процесса была значительно ниже, чем их производительности с миграцией процессов. Эти результаты наглядно доказывают преимущества использования приоритетных миграций процесса.

Рис.1. сравнение времени Рис.2, сравнение времени задержки выполнения при умножении матриц сообщений

Данный подход позволяет получить существенное ускорение и высокую производительность при выполнении параллельных и многозадачных приложений. Это центральный элемент нашего подхода. Для преодоления известных трудностей с масштабируемостью в системах облачных вычислений мы будем использовать динамическую балансировку нагрузки, основанную на миграции процессов между виртуальными процессорами, а не данных, как в стандартных системах.

В работе рассматривается возможность повышения надежности аутентификации и авторизации и разработана методика их применения в гетерогенной облачной среде. Чтобы обеспечит безопасный доступ пользователей, в работе исследованы надежные методики аутентификации и

авторизации программного продукта Globus Toolkit. Globus включает 3 группы модулей:

• Безопасности

• Управления данными

• Управления процессами

В основе безопасности в Globus Toolkit лежит принцип авторизации и сертификатов, реализуемый с помощью компонентов защиты. Grid Security Infrastructure (GSI) — компонент, предоставляющий API для аутентификации, авторизации и сертификации. Globus Toolkit предоставляет доступ к вычислительным процессам при помощи компонента GRAM. GridFTP используется для организации доступа к данным. Протокол GridFTP предоставляет безопасную, устойчивую к ошибкам, быструю и эффективную передачу данных. В результате объединения компонент инструментария грид — инфраструктуры и компонент системы облачных вычислений предложен подход, гарантирующий повышение надежности аутентификации и авторизации и разработаны методики их применения в гетерогенной облачной среде.

В данной главе исследован программный продукт Univa Grid Engine (UGE) для системы управления распределенными виртуальными кластерами в облачных вычислений. В работе было тестировано приложение PI для расчетов в распределенной вычислительной среде в двух многопроцессорных серверах Ultra Sparc Т1 и получены результаты для расчета числа PI, демонстрирующие ускорение расчетов близкое к идеальному. Он объединяет вычислительные ресурсы и предлагает эффективный подход для решения особо сложных задач.

В третьей главе разработан новый подход к построению операционного окружения, обеспечивающий безопасный доступ пользователей ресурсоемких приложений в распределенной облачной вычислительной среде и методологию запуска приложений в облачных средах, позволяющую повысить общую производительность гетерогенных программно-аппаратных комплексов. Для этих целей был использован комплекс программных продуктов, которые были исследованы в диссертации.

На приведенном рисунке показана предлагаемая нами новая схема распределенной вычислительной системы на основе технологии облачных вычислений. Мы управляем гетерогенными ресурсами и объединяем вычислительные мощности под контролем гипервизора в единую облачную

инфраструктуру. Хотя идея создания виртуальных машин под пользователя не нова, виртуальная машина в облаке открывает новые широкие возможности. Даже для гетерогенных систем их можно делать одинаковыми, и, следовательно, объединять в кластер. Размер виртуального кластера может увеличиваться или уменьшаться динамически. Виртуальный кластер может быстро переключать среду выполнения с одного пользователя на другого пользователя. Но Центральная проблема облачных технологий -невозможность управления вычислительными процессами, и, следовательно, невозможность динамической балансировки.

я й

э "5 £ 2

В Динамическая балайсировка нагружи 1

1 Управление |>аеп|>ед«?леш*ым11 вирту альнымк кластерами (1:СЕ } |

К.............

Виртуальная сеть Виртуальная сеть Виртуальная сеть

Гипервизор(к\-ш) 1 Гиперви>ор(к\ш) ^ иишшпшш ^ Гип ерв изо р(к\ш)

: | Контроллер узла . Контроллер узла . Контроллер узлг 'р 1 1

Контроллер кластера -

Контроллер облака

Рис. 3. Схема распределенной вычислительной системы на основе технологии облачных вычислений

В стандартном варианте облачные вычисления используют системы управления потоками данных. Поскольку потоки могут быть существенно неравномерными, то и нагрузка на отдельные ядра оказывается неравномерной, что значительно снижает производительность комплекса в целом. Для устранения такого дефекта применяется так называемая балансировка нагрузки.

В нашем подходе для приложений, направленных на обработку больших объемов данных, необходимо использовать методы балансировки нагрузки путем миграции процессов обработки данных в виртуальных кластерах. В работе предложена метод балансировки и ее программная реализация, которая осуществляется путем миграции процессов.

Производительность вычислительного комплекса 8(к) без миграции процессов в общем виде определяется формулой: 8(к) = Б ( п, х, и, я, у), где

S(k) = производительность всего комплекса, п = число ядер процессора (вычислительных ядер), х = производительность одного ядра, и = производительность коммуникационной среды, q = эффективность кода программы,

у= производительность алгоритмов обработки информации, В соответствии с предложенной автором методикой в известную формулу производительности всего комплекса добавляется новый аргумент, определяющий операции с миграцией процессов: S(k) = F (п, х, u, q, у, т), где т = миграция процессов.

В кластере постоянно пытается выровнять нагрузку узлов за счет динамической миграции процессов с высокозагруженных узлов на узлы с меньшей нагрузкой. Пользователи запускают свои приложения и система прозрачно для них ищет свободные ресурсы в кластере и распределяет процессы среди доступных узлов, увеличивая тем самым общую производительность. Данный подход вносит новые возможности для разделения вычислительных мощностей и других ресурсов, таких как память и информационные каналы.

Для организации такой миграции между узлами в облачной системе мы реализовали полнофункциональную виртуальную кластерную среду с единым образом операционной системы (SSI), автоматически распараллеливающую задачи между узлами (рис.4 ).

nnpi, pvm .Y............... к''

MFS Сгрвер ! MFSxsneirr -w MFS юзнеят і MFSsnHSHT 2iiFS їлигнт MFS клиент

LoalReSy««!. VFS і VFS VFS 1 VFS WS

OS ...... OS.................. ..............■......os..................... OS ...............os................... .........os""".............

вм BM BM BM BM BM

I 1 ......1.......... Виртуальная Сеть 1......... 1

Пшервшор ! Гшервтор

1 ' Сервер

Рис. 4. Схема облачной виртуальной кластера с единым образом операционной системы

В SSI окружении используется распределенная файловая система Mosix MFS. Она обеспечивает унифицированное представление всех файлов на всех установленных файловых системах на всех узлах кластера, как будто они все находятся в пределах единственной файловой системы. Предложенная в работе методика реализована в программно-аппаратном комплексе. В результате данная методика организации эффективной вычислительной системы, позволяющая впервые осуществлять динамическую балансировку вычислений на узлах облачной вычислительной среды за счет миграции процессов, а не данных.

Для обеспечения возможности практического использования виртуальных кластеров в различных областях в работе была разработана безопасная система запуска пользовательских приложений. При организации доступа пользователей к этим виртуальным кластерам представляет проблему обеспечение высокой степени безопасности. Поэтому проблема безопасности данных и ресурсов при облачных вычислениях является одной из критических проблем. Для обеспечения безопасного доступа пользователей в системе задействованы надежные методики аутентификации и авторизации на базе интерфейсов и протоколов грида. Они стали основой системы безопасности облачных вычислений. На приведенном рисунке показана схема интеграции интерфейсы и протоколы грида в систему облачных вычислений.

TLS / SSL

• Запускается на контроллере кластера

• Запускается на контроллере у злах

Рис.5. Схема основной системы безопасности облачных вычислений В работе приведена методика повышения степени защищенности данных и ресурсов путем двухступенчатой аутентификации и авторизации

пользователей по принципу одного окна, обеспечивающая требуемую степень надежности. Для использования ресурсов пользователю необходимо пройти процесс регистрации, после чего ресурсы становятся доступны. На данном этапе разработана аутентификация и авторизация пользователей с помощью сертификатов но без создания виртуальной организации. Чтобы зашифровать ту информацию, которая передаётся в облако, особенно параметры, которые связаны с входом в систему облака, в GSI используется технологию асимметричного шифрования с открытым ключом. Новинка в системе - каждый пользователь облака или ресурс имеет пару ключей: открытый (public), который доступен для всех, и закрытый (private), доступ к которому имеет только его обладатель. Чтобы в данной вычислительной среде можно было удаленно запускать на исполнение программы, на ней должны выполняться специальные процессы GRAM. С их помощью можно добавлять, отслеживать и отменять задания в системе. Пользовательские приложения формируют запросы к GRAM на специальном языке RSL (Resource Specification Language). В нашем подходе получается следующая общая система доступа.

Центр сертификации

СА подписывает открытый ключ с помощью своего корневого сертификата н информирует пользователя

Рис. 6. Доступ к облачным ресурсам и сервисами

Таким образом, в результате для облаков разработана методика повышения степени защищенности данных и ресурсов путем двухступенчатой аутентификации и авторизации пользователей по принципу одного окна, обеспечивающая степень надежности. Объединение двух идей -создание индивидуального виртуального кластера под каждого пользователя и наделение его парой сертификатов безопасности - делают этот кластер недоступным не только для внешних пользователей, но и для других

Пользователь создаёт пару ключей

Открытый Закрытый

На подпись передается / ') открытый ключ

^'"^писи необходимо

закрьпын ключ ^ шифруется на локальном диске

Подписанный открытый ключ передается пользователю^

пользователей частного облака. Это, по-видимому, максимальный уровень безопасности, который можно достигнуть в облаках.

Чтобы показать, как система работает с реальными задачами, здесь приведены результаты тестового примера LU из пакета NAS и большого пакета OpenFOAM (Open Source Field Operation and Manipulation), перекомпилированного нами для расчетов в распределенной вычислительной среде на основе облака. OpenFOAM — свободный пакет для численного моделирования задач механики сплошных сред. Его используют множество различных организаций по всему миру, как коммерческие, так и некоммерческие. Кроме того, было проведено тестирование вычислительной среды на различных задачах. Использовалось ПО NAS Parallel Benchmarks — множество тестов производительности для проверки возможностей высокопараллельных вычислительных систем. Из этого множества в данной работе использовался тест LU класса S. Он позволил оценить масштабируемость комплекса в первом приближении. Результаты тестирования данного приложения и теста NPB (LU) приведены на рис.7.

ш О peoiFoam (iccFoam}

™NFB (LU )

Количество ВМ в облаке

Рис.7. Результаты теста ЬИ и при запуске задачи на ОрепРоаш (коРоат)

Приведенный пример показывает, что даже очень сложные задачи с сильным взаимодействием между параллельными процессами удается достаточно эффективно решать с помощью облачных технологий. Основные направления совершенствования вычислительных систем это повышение их производительности, увеличение надежности и уменьшение показателя

цена/производительность. В результате данный подход, самый современный и позволяет создавать распределенные вычислительные системы на основе технологии облачных вычислений. Подобные системы отличаются высокой надежностью, низкой себестоимостью и производительностью, приближающейся к идеальной.

В четвертой главе рассматривается методы интеграции и консолидации программных продуктов в распределенной вычислительной среде. И разработан комплекс программ для создания операционного окружения облачных вычислений, позволивший повысить общую производительность гетерогенных программно-аппаратных комплексов в среднем на порядок за счет адаптации архитектуры каждой индивидуальной виртуальной машины под конкретное пользовательское приложение (рис. 8).

1 П-м^ "й -=ьII ■ " ' ' Рг0 H Управление процессами | RSL J 1 ! Передача данных gsiítp T

gatekeeper

jobmanager FiP server

[ процесс q

GRAM GridFXP

DRMAA ......................

........ ..................................;

mpich2 f

Mo six API

Рис.8. Структура консолидации и интеграции комплекса программ в

облаке

Для запуска приложения в системе была осуществлена интеграция UGE и GRAM, реализующих программный интерфейс DRMAA (Distributed Resource Management Application API), который позволяет запускать приложение в облачной системе с использованием скриптов. Для реализации параллельных заданий так же была осуществлена интеграция UGE и MOSIX

с дополнительным пакетом скриптов. В системе 1ЮЕ существует специальная структура данных - параллельное окружение, которое позволяет учитывать особенности работы приложений, использующих технологии параллельного программирования.

Интеграция системы безопасности Грида в систему облачных вычислений существенно расширяет область применения частных облаков. Интерфейсы и протоколы Грида позволяют также обеспечить и объединение нескольких облачных платформ. Частные облака могут быть использованы для решения различных задач. Даже достаточно сложные для распределенных вычислений задачи динамики течений удается успешно выполнять на виртуальном облачном вычислительном комплексе, что, по нашему мнению, делает его удобным инструментом в руках исследователей.

Таким образом, в работе предложен новый подход для создания операционного окружения на основе технологии облачных вычислений, реализованный в программно-аппаратном комплексе, который отличается тем, что повышение производительности и оптимизация вычислений в гетерогенной среде осуществляется за счет миграции процессов, а не данных, и динамической балансировки нагрузки. Построенное операционное окружение обеспечило безопасный доступ пользователей к вычислительной среде для ресурсоемких приложений. Поскольку предлагаемые методики и продукты были опробованы на разных платформах и операционных системах, то можно надеяться, что они найдут широкое применение не только в распределенных вычислительных комплексах, но и для кластерных вычислений.

ЗАКЛЮЧЕНИЕ

В настоящей диссертации получены следующие результаты.

1. Предложен новый подход и разработан комплекс программ для создания операционного окружения облачных вычислений, позволивший повысить общую производительность гетерогенных программно-аппаратных комплексов в среднем на порядок за счет адаптации архитектуры каждой индивидуальной виртуальной машины под конкретное пользовательское приложение.

2. Предложена методика организации эффективной вычислительной системы, позволяющая осуществлять динамическую балансировку вычислений на узлах облачной вычислительной среды за счет миграции процессов, а не данных.

3. В созданном операционном окружении для запуска комплексных ресурсоемких приложений реализована методика повышения степени защищенности данных и ресурсов, основанная на аналогичной системе для Грид ресурсов, отличающаяся тем, что путем организации двухступенчатой аутентификации и авторизации пользователей по принципу одного окна, обеспечивается повышенная степень надежности.

Публикации в изданиях, рекомендованных ВАК России:

1. А.В.Богданов, Е Мьинт Найнг. Сравнение нескольких платформ облачных вычислений [текст] // ВЕСТНИК САНКТ-ПЕТЕРБУРГСКОГО УНИВЕРСИТЕТА Сер. 10. Вып. 2, 2013 май. С. 103-111.

2. Е Мьинт Найнг, Пья Сон Ко Ко, Чжо За. Разработка эффективности функционирования метакомпьютера с единым образом операционной системы [текст] // Естественные и технические науки №3 (59). М.: Издательство "Спутник+". 2012. С.247-248.

Другие статьи и материалы конференций:

3. A.V. Bogdanov, M. Dmitriev, Ye Myint Naing, Eucalyptus Open-source Private Cloud Infrastructure [текст] (Частная облачная инфраструктура с открытым кодом Eucalyptus) // GRID 2010, Proceedings of the 4th International Conference Dubna, June 28- July 3, 2010. page: 57-63.

4. A.V.Bogdanov, Thurein Kyaw Lwin, Ye Myint Naing. Database Used for Consolidation of Cloud Computing [текст] (База данных используется для консолидации облачении вычислении) // CSIT-2011 International Conference. (Armenia, September 26-30,2011). p-237-239.

5. A.B. Богданов, E Мьинт Найнг. Исследования и разработки облачных платформ с открытым кодом eucalyptus и opennebula на гетерогенной среде // Санкт-Петербург, 22-25 июня 2012 г. XIX Всероссийская научно-методическая конференция"Телематика'2012". С:340.

6. А.В.Богданов, Е Мьинт Найнг, Пья Сон Ко Ко. Тестирование производительности PVM и MPI с миграцией процессов MOSIX в распределенной вычислительной среде // Дубна, с 16 по 21 июля 2012г.

7. A.V.Bogdanov, Thurein Kyaw Lwin, Ye Myint Naing. Database Consolidation used for Private Cloud. (Консолидация базы данных используется для частного облака) //GRID 2012, Proceedings of the 5th International Conference, Dubna, July 16-21,2012.

Подписано в печать 16.05.13. Формат 60*84 1/16. Бумага офсетная. Печать офсетная. Печ. л. 1,0. Тираж 100 экз. Заказ 41.

Отпечатано с готового оригинал-макета в типографии Издательства СПбГЭТУ "ЛЭТИ"

Издательство СПбГЭТУ "ЛЭТИ" 197376, С.-Петербург, ул. Проф. Попова, 5

Текст работы Е Мьинт Найнг, диссертация по теме Вычислительные машины и системы

Санкт-Петербургский Государственный Морской Технический Университет

На правах рукописи

йи? Гп

Е Мьинт Найнг

РАЗРАБОТКА СИСТЕМЫ ЗАПУСКА РЕСУРСОЕМКИХ ПРИЛОЖЕНИЙ В ОБЛАЧНОЙ ГЕТЕРОГЕННОЙ СРЕДЕ

Специальность: 05.13.15 Вычислительные машины, комплексы и

компьютерные сети.

ДИССЕРТАЦИЯ

на соискание ученой степени кандидата технических наук

Научный руководитель — доктор физико-математических наук, профессор Богданов А.В.

Санкт-Петербург - 2013

СОДЕРЖАНИЕ

ВВЕДЕНИЕ...............................................................................................................4

Глава 1. Классификация распределенных вычислительных систем и облачных вычислений..........................................................................................11

1.1 Метакомпьютинг.......................................................................................13

1.1.1 Основные понятия...................................................................................15

1.1.2 Кластерная технология...........................................................................18

1.2 Технологии Грида..............................'..........................................................20

1.2.1 Архитектура Грида..................................................................................22

1.2.2 Общие задачи Грида................................................................................24

1.3 Технологии облачных вычислений..............................................................27

1.3.1 Основные характеристики облачных вычислений...............................29

1.3.2 Особенности облачных вычислений.....................................................32

1.3.3 Вызовы облачных вычислений..............................................................32

1.4 Выводы.........................................................................................................33

Глава 2. Анализ и выбор оптимальных систем распределенных вычислений на основе технологий облачных вычислений..........................35

2.1 Анализ Облачных платформ и выбор архитектуры облачной вычислительной среды.........................................................................................35

2.2 Исследование системы динамической балансировки нагрузки для повышения производительности распределенной вычислительной системы в облаке.....................................................................................................................47

2.3 Анализ и выбор оптимальной системы повышения степени защиты данных и ресурсов облачного комплекса............................................................57

2.3.1 Аннализ системы безопасности облачных вычислений......................57

2.3.2 Анализ системы безопасности технологии Grid..................................62

2.3.3 Выбор оптимальной системы повышения степени защиты данных и ресурсов облачного комплекса........................................................................67

2.4 Исследование системы для управления виртуальными кластерами в облачной вычислительной среде........................................................................73

2.5 Выводы.........................................................................................................77

Глава 3. Организация системы доступа пользователей и запуска приложений в облачной среде.............................................................................78

3.1 Разработка виртуальной кластерной среды с единым образом операционной системы в облаке.........................................................................78

3.2 Разработка системы безопасности гридовского типа в среде облачных вычислений...........................................................................................89

3.3 Запуск приложение в распределенной вычислительной среде на основе технологии облачных вычислений......................................................................93

3.3.1 NAS Parallel Bencmarks...........................................................................94

3.3.2 OpenFOAM...............................................................................................95

3.4 Выводы.........................................................................................................97

Глава 4. Консолидация и интеграция программных комплексов в облачной гетерогенной среде..............................................................................99

4.1 Комплекс программ для созднкания операционного окружения облачных вычислений.........................................................................................103

4.2 Развертывание программного обеспечения OpenFoam в виртуальной кластерной среде...............................................................................................106

4.3 Выводы.......................................................................................................111

ЗАКЛЮЧЕНИЕ...................................................................................................112

ЛИТЕРАТУРА.......................................................................................................113

ПРИЛОЖЕНИЕ...................................................................................................124

ВВЕДЕНИЕ

Прогресс в развитии современных информационных технологий непосредственно связан с применением ресурсоемких приложений в наукоемких исследованиях, а также в промышленных прикладных задачах в авиастроении, судостроении, биотехнологии, фармацевтике, генетике и других передовых направлениях человеческой деятельности.

Для удовлетворения потребностей практики в существенном увеличении производительности средств обработки информации, создатели информационных технологий разработали и предложили распределенные вычисления в виде Грид-технологий и их дальнейшего развития в так называемых облачных вычислениях.

Облачные вычисления - это вычислительная модель, в которой ресурсы, такие как вычислительные мощности, системы хранения, сети и программное обеспечение абстрагированы и обеспечены как службы в интернете для удаленного пользователя. По его требованию обеспечиваются доступность выделения ресурсов, динамическая и фактически бесконечная масштабируемость при решении конкретных задач.

Преимущества технологии облачных вычислений включают высокую производительность, экономию в расходах, высокую степень доступности, и легкую масштабируемость.

Однако, при ее практической реализации возникает целый ряд еще не решенных научных проблем, препятствующих полноценному использованию всех потенциальных достоинств такого подхода.

Во-первых, стремление создать универсальную облачную систему неизбежно сталкивается с необходимостью работать в гетерогенной среде и

соответственно организовывать доступ пользователей с их индивидуальными приложениями без снижения производительности.

Во-вторых, в облачных средах при организации доступа произвольного числа пользователей до сих пор представляет проблему обеспечение высокой степени безопасности и надежности сохранения индивидуальных данных. Поэтому проблема безопасности данных и ресурсов при облачных вычислениях является одной из критических проблем. Безопасность всей системы зависит от безопасности программных интерфейсов для управления ресурсами, виртуальными машинами и сервисами. Начиная от процедуры аутентификации и авторизации и заканчивая шифрованием, программные интерфейсы должны обеспечивать максимальный уровень защиты от несанкционированных атак. При обеспечении безопасности в облаках необходимо предусмотреть проведение удобного и единообразного авторизованного доступа к ресурсам, учета их использования и защиту ресурсов и данных от несанкционированного использования.

В-третьих, для обеспечения возможности практического использования гетерогенной облачной среды в различных областях необходимо организовать универсальную систему запуска индивидуальных приложений.

Принимая во внимание, что перечисленные проблемы до сих пор окончательно не решены, можно полагать тему настоящего диссертационного исследования актуальной и практически значимой.

Цель исследования.

Целью данной диссертационной работы является повышение эффективности распределенных вычислений в облачной системе за счет создания операционного окружения для организации системы безопасного доступа пользователей к вычислительным мощностям и разработка

принципов запуска ресурсоемких приложений в распределенной вычислительной среде на основе технологии облачных вычислений.

Для достижения поставленной цели необходимо решение следующих

задач.

1. Разработать методологию запуска приложений в облачных средах, позволяющую повысить общую производительность гетерогенных программно-аппаратных комплексов.

2. Разработать подход к построению операционного окружения, обеспечивающий безопасный доступ пользователей ресурсоемких приложений в гетерогенной распределенной облачной вычислительной среде.

3. Исследовать возможность повышения надежности аутентификации и авторизации и разработать методику их применения в гетерогенной облачной среде.

Для успешного выполнения поставленных задач необходимо провести анализ и разработать методику управления ресурсами в распределенной вычислительной среде для запуска конкретных ресурсоемких приложений. В частности, для универсализации системы доступа пользователей к ресурсам и удовлетворения индивидуальным требованиям исследователей вводится понятие «виртуальной машины», которая предоставляется каждому пользователю, а технические характеристики, эргономические параметры и интерфейс адаптированы под него.

Предмет исследования.

Предметом исследования являются методы теоретического анализа и экспериментального исследования организации системы доступа пользователей к распределенной вычислительной среде на основе технологии облачных вычислений, методы авторизации пользователей по принципу

одного окна, методы построения облачной инфраструктуры с открытым исходным кодом и эффективной распределенной вычислительной среды на основе технологии облачных вычислений. Методы интеграции и консолидации программных продуктов в распределенной вычислительной среде.

Методы исследований.

Методы исследований базируются на современных принципах параллельной и распределенной обработки информации, передачи данных в компьютерных системах, защиты компьютерных систем, на современных технологиях проектирования программного обеспечения, на теории надежности информационных систем, теории случайных процессов и потоков.

Научная новизна работы.

1. Разработана новая методика организации вычислительной системы, позволяющая ей эффективность за счет динамической балансировки и управления миграции процессов на узлах облачной вычислительной среды.

2. На основе известных методов разработана новая методика повышения степени защиты данных и ресурсов облачного комплекса за счет двухступенчатой системы защиты.

Достоверность научных результатов и выводов подтверждена результатами тестирования алгоритмов и программного обеспечения, а также практическим использованием разработанных алгоритмических и программных методов и средств на действующем программно-аппаратном комплексе факультета ПМПУ СПбГУ. Кроме того, достоверность научных результатов и выводов подтверждена апробацией результатов исследований на ряде научных конференций.

Научные положения, выносимые на защиту.

1. Новый подход и основанный на нем комплекс программ для создания операционного окружения облачных вычислений, позволивший повысить общую производительность гетерогенных программно-аппаратных комплексов в среднем на порядок за счет адаптации архитектуры каждой индивидуальной виртуальной машины под конкретное пользовательское приложение.

2. Методика построения облачной вычислительной системы, позволяющая увеличить общую производительность за счет динамической балансировки и управления миграции процессов, а не данных.

3. Методика повышения степени защищенности данных и ресурсов путем двухступенчатой аутентификации и авторизации пользователей по принципу одного окна, обеспечивающая повышенную степень надежности.

Практическая значимость исследования.

Важное народно-хозяйственное значение данной исследовательской работы состоит в создании и совершенствовании теоретической и технической базы вычислительных комплексов, обладающих высокими качественными и эксплуатационными показателями и обеспечивающих ускорение научно-технического прогресса.

Конкретные практические результаты составляют доработанный до практического применения программный комплекс удаленного доступа к гетерогенным распределенным вычислительным ресурсам, обеспечивающий повышенную производительность и степень безопасности данных при запуске ресурсоемких приложений.

Ниже приведена структура изложения основных результатов.

Апробация работы. Основные результаты работы докладывались и обсуждались на национальных и международных научно-технических конференциях:

1. 4-ая Международная конференция «Distributed Computing and Grid Technologies in Science and Education». Dubna, 2010 r.

2. Международная конференция «Computer Science & Information Technologies»,Yerevan, Armenia, 2011 r.

3. XIX Всероссийская научно-методическая конференция "Телематика'2012 Санкт-Петербург, 2012 г. ".

4. 5-ая Международная конференция «Distributed Computing and Grid Technologies in Science and Education». Dubna, 2012 r.

Публикации. Основные теоретические и практические результаты диссертации опубликованы в 7 статьях и докладах, из них по теме диссертации 7, среди которых 2 публикация в ведущем рецензируемом издании, рекомендованном в действующем перечне ВАК. Доклады доложены и получили одобрение на 4 международных, всероссийских и межвузовских научно-практических конференциях.

Структура и объем диссертации. Диссертационная работа состоит из введения, четырех глав с выводами, заключения и списка литературы, включающего 101 наименований. Основная часть работы изложена на 150 страницах машинописного текста. Работа содержит 29 рисунков.

Глава 1. Классификация распределенных

вычислительных систем и облачных вычислений

Область распределенных вычислительных систем в настоящее время характеризуется быстрыми темпами изменения идеологий и подходов. За короткую историю существования систем такого типа появилось множество различных парадигм реализации распределенных вычислений, набравших большой вес и общее признание, но практически исчезнувших впоследствии под давлением более новых и модных подходов. Однако когда технология исчезает из виду, очень часто она появляется вновь под новым именем [1]. В данной главе происходит непрерывное перемешивание базовых концепций с новейшими подходами к разработке.

Распределенная вычислительная система (РВС) - это набор соединенных каналами связи независимых компьютеров, которые с точки зрения пользователя некоторого программного обеспечения выглядят единым целым. Распределенной вычислительной системой можно назвать такую систему, в которой отказ компьютера, о существовании которого вы даже не подозревали, может сделать ваш собственный компьютер непригодным к использованию[22].

Рисунок 1.1, показывает шесть фаз вычислительных парадигм, от цифровых терминалов / мэйнфреймов, к ПК, сетевым вычислениям, к Грид-вычислениям и облачным вычислениям.

В фазе 1 много пользователей совместно использовали мощные

мэйнфреймы, используя цифровые терминалы. В фазе 2, автономные

компьютеры стали достаточно мощными, чтобы удовлетворять большинство

потребностей пользователей. В фазе 3, ПК, ноутбуки и серверы были

соединены между собой через локальные сети для совместного использования

11

ресурсов и увеличения производительности. В фазе 4, локальные сети были соединены с другими локальными сетями, формирующими глобальную сеть, такие как Интернет для использования удаленных приложений и ресурсов. В фазе 5 Грид-вычисления позволили совместно использовать вычислительную мощность и хранение данных через систему распределенных вычислений. В фазе 6, облачные вычисления далее обеспечивают совместно используемые ресурсы в Интернете масштабируемым и простым способом.

вычисления

фазы

.—

1 Мэйнфрейм

User

£ User

2. ПК

вычисления

5. Грнд

вычисления

6. Облачные вычисления

User

Mainframe

PC

PC

Рисунок. 1.1. Шесть вычислительных парадигм - от вычислений мэйнфрейма до интернет-вычислений, к Грид-вычислениям и облачным

вычислениям

Сравнивая эти шесть парадигм вычислений, можно заметить, что облачные вычисления демонстрируют возврат к исходной парадигме вычислительных мэйнфреймов. Однако у этих двух парадигм есть несколько важных различий. Мэйнфрейм предлагает конечную вычислительную

мощность, в то время как облачные вычисления обеспечивает почти бесконечную интенсивность и мощность. Кроме того, в мэйнфрейме вычислительные терминалы действовали как устройства пользовательского интерфейса, в области облачных вычислений мощные ПК могут обеспечить локальную вычислительную мощность и обеспечение поддержки [3]. В результате можно запускать вычисление на так называемых распределённых системах. Различные аппаратные средства и архитектура программного обеспечения используются для распределенного вычисления. На более низком уровне это необходимо, чтобы связать центральные процессоры какой-то сетью, независимо от того, что они связаны в печатной плате или связаны с помощью слабо связанных устройств и кабелей. В более широком смысле это необходимо, чтобы связать процессы, идущие на тех центральных процессорах каким-то типом системой коммуникации [3],[20],[59].

Для этой цели развивались программные среды, такие как МР1, РУМ. Распределённые системы создают распределённую среду. А доступ к удаленным ресурсам в такой среде не так прост, как доступ к локальным ресурсам из-за задержек коммуникации, которые происходя�