Разработка системы запуска ресурсоемких приложений в облачной гетерогенной среде тема диссертации и автореферата по ВАК РФ 05.13.15, кандидат технических наук Е Мьинт Найнг

  • Е Мьинт Найнг
  • кандидат технических науккандидат технических наук
  • 2013, Санкт-Петербург
  • Специальность ВАК РФ05.13.15
  • Количество страниц 150
Е Мьинт Найнг. Разработка системы запуска ресурсоемких приложений в облачной гетерогенной среде: дис. кандидат технических наук: 05.13.15 - Вычислительные машины и системы. Санкт-Петербург. 2013. 150 с.

Оглавление диссертации кандидат технических наук Е Мьинт Найнг

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

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

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

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

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

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

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

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

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

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

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

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

1.4 Выводы

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

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

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

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

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

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

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

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

2.5 Выводы

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

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

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

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

3.3.1 NAS Parallel Bencmarks

3.3.2 OpenFOAM

3.4 Выводы

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

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

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

4.3 Выводы

ЗАКЛЮЧЕНИЕ

ЛИТЕРАТУРА

ПРИЛОЖЕНИЕ

Рекомендованный список диссертаций по специальности «Вычислительные машины и системы», 05.13.15 шифр ВАК

Введение диссертации (часть автореферата) на тему «Разработка системы запуска ресурсоемких приложений в облачной гетерогенной среде»

ВВЕДЕНИЕ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

задач.

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, РУМ. Распределённые системы создают распределённую среду. А доступ к удаленным ресурсам в такой среде не так прост, как доступ к локальным ресурсам из-за задержек коммуникации, которые происходят в сети и центральном процессоре и гетерогенного характера ресурсов.

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

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

Кластеры для расчётов высоко востребованы для отраслей

машиностроения, судостроения, авиапрома, энергетической отрасли,

инжиниринговыми фирмами, научно-исследовательскими центрами,

пользователями CAE-систем, киностудиями и мультипликационными студиями.

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

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

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

GRID системы - строятся на базе кластерных систем. Содержат слой виртуализации, который позволяет пользователю не задумываться о том, где конкретно запустилась его задача и как ему забирать выходные данные. Такие системы обычно используются при объединении большого числа кластеров в единую вычислительную сеть [5],[20].

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

Классификация многопроцессорных систем по способу организации оперативной памяти:

1.) Мультипроцессорные вычислительные системы или вычислительные системы с разделяемой памятью.

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

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

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

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

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

элементов памяти, равным временем доступа к памяти. Память в SMP-системы представляет собой UMA-память (Uniform Memory Access).

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

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

2.) Мультикомпьютерные вычислительные системы или вычислительные системы с распределённой памятью.

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

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

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

Однородные мультикомпьютеры с распределённой памятью называются вычислительными системами с массивно-параллельной архитектурой (МРР-системами).

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

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

3.) Нечто среднее между SMP-системами и МРР-системами представляют собой NUMA-системы (Non-Uniform Memory Access).

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

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

КиМА-система обычно строится на основе однородных процессорных узлов, состоящих из небольшого числа процессоров и блока памяти. Модули объединены с помощью некоторой высокоскоростной коммуникационной среды. Поддерживается единое адресное пространство, аппаратно поддерживается доступ к удалённой памяти, т.е. памяти других модулей. Задержки при обращении процессора к своей памяти оказываются невысокими (например, по сравнению с 8МР-системой), но в то же время доступ к чужой памяти, принадлежащей другому процессору, сопровождается высокими задержками. В сущности, ИЦМА-система представляет собой МРР-систему, где в качестве отдельных вычислительных элементов используются 8МР-узлы [5] ,[20].

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

Вычислительный кластер - это мультикомпьютер, состоящий из множества отдельных компьютеров (узлов вычислительного кластера), объединённых единой коммуникационной средой. Каждый узел имеет свою локальную оперативную память. При этом общей физической оперативной памяти для узлов, как правило, не существует. Коммуникационная среда вычислительных кластеров обычно позволяет узлам взаимодействовать между собой посредством передачи сообщений. Узлы кластера могут функционировать под управлением разных операционных систем. Однако чаще всего используются стандартные ЦМХ-подобные системы. В целом, вычислительный кластер можно рассматривать как единую аппаратно-программную среду, имеющую единую коммуникационную систему, единый центр управления и планирования загрузки.

Разработка кластеров является сложным процессом, требующим на

каждом шаге разрешения таких вопросов, как инсталляция, эксплуатация и

18

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

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

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

1. NPACI ROCKS - открытый пакет, базирующийся на RedHat Linux, предназначенный для организации вычислительного кластера. Главная цель проекта Rocks - упростить построение кластера на базе Linux настолько, насколько это возможно. В установку Rocks входит установка программного обеспечения для кластера и операционной системы Linux на базе дистрибутива Red Hat. Поэтому не нужно ставить Rocks на существующий сервер или использовать его с каким-либо другим дистрибутивом Linux. Менеджер установки самостоятельно конфигурирует различные службы. Стандартная установка проходит быстро и ровно. Подразумевается, что если возникает проблема с программным обеспечением узла Rocks, то проще переустановить систему, чем пытаться обнаружить и исправить проблему.

2. OSCAR (Open Source Cluster Application Resources) - открытый пакет, разработанный для упрощения организации кластера. Пакет регулярно обновляется и включает в себя всё, что необходимо для специализированного вычислительного кластера. Целью проекта OSCAR является создание лучшего в своём роде кластерного программного обеспечения, не требующего индивидуального подхода к установке и конфигурированию каждого вычислительного узла.

3. OpenMosix - проект, являющийся продолжением проекта MOSIX, но под свободной лицензией GNU GPL. MOSIX это система управления кластерами и сетями ОС на ядре Linux, представляющая их как одну систему, то есть эквивалент операционной системы для кластера в целом. OpenMosix -расширение ядра Linux, позволяющее создать единый кластер. Превращает сеть обычных персональных компьютеров в суперкомпьютер для Linux-приложений. OpenMosix представляет собой полнофункциональную кластерную среду с единой операционной системой (SSI), автоматически распараллеливающую задачи между узлами [42].

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

Грид является технологией обеспечения гибкого, безопасного и скоординированного общего доступа к ресурсам. При этом слово «ресурс» понимается в очень широком смысле, т.е. ресурсом может быть аппаратура (жесткие диски, процессоры), а также системное и прикладное ПО (библиотеки, приложения) [8],[12],[23].

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

отношениям между участниками (доверительные, не доверительные) и т.д. Состав виртуальных организаций может динамически меняться [8].

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

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

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

(

Добавим еще несколько свойств, которыми обычно обладают Грид-системы:

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

• масштабируемость: работоспособность Грид-системы при значительном увеличении или уменьшении ее состава;

• гибкая и мощная подсистема безопасности: устойчивость к атакам злоумышленников, обеспечение конфиденциальности;

• возможность контроля над ресурсами: применение локальных и глобальных политик и квот;

• гарантии качества обслуживания;

• возможность одновременной, скоординированной работы с несколькими ресурсами.

Хотя сама технология Грид не привязана к определенным ресурсам, наиболее часто реализации Грид-систем обеспечивают работу со следующими типами ресурсов:

• вычислительные ресурсы - отдельные компьютеры, кластеры;

• ресурсы хранения данных - диски и дисковые массивы, ленты, системы массового хранения данных;

• сетевые ресурсы;

• программное обеспечение - какое-либо специализированное ПО.

Отметим разницу между технологией Грид и реализациями Грид-

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

Не следует смешивать технологию Грид с технологией параллельных вычислений. В рамках конкретной Грид-системы, конечно, возможно организовать параллельные вычисления с использованием существующих технологий (PVM, MPI), поскольку Грид-систему можно рассматривать как некий мета-компьютер, имеющий множество вычислительных узлов. Однако технология Грид не является технологией параллельных вычислений, в ее задачи входит лишь координация использования ресурсов [8],[12],[20].

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

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

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

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

Будем называть группу организаций, которые разделяют вычислительные ресурсы и сотрудничают, чтобы достичь общих целей, виртуальной организацией ( ВО ). Именно такие динамически создаваемые ВО и нуждаются в технологии Grid Computing. Поэтому Grid-архитектура прежде всего должна быть способна устанавливать, управлять и использовать отношения разделения ресурсов среди любых потенциальных участников совместного проекта. Как уже упоминалось ранее, центральной проблемой здесь является обеспечение взаимодействия ( интероперабельности ) между различными платформами, языками и программной средой. А в сетевой среде интероперабельность означает работу по общим протоколам [22][35].

Именно протоколы регламентируют взаимодействие элементов распределенной системы, а также структуру передаваемой информации.

23

Следовательно, Grid-архитектура ~ это прежде всего архитектура протоколов, которые и должны определять базовый механизм взаимодействия. На основе стандартных протоколов могут строиться стандартные сервисы, разрабатываться интерфейсы прикладного программирования ( Application Programming Interface -API ) и инструментальные средства разработки ( Software Development Kits - SDK ). Совместно технология и архитектура образуют то, что обычно называется промежуточным слоем ( middleware ), — службы, необходимые для поддержки общего набора приложений в распределенной сетевой среде [12],[20],[33].

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

Концепция Грида появилась не как абстрактная идея, а как ответ на появляющиеся потребности в крупных информационно-вычислительных ресурсах, динамически выделяемых для решения громоздких задач, в научной, индустриальной, административной и коммерческой областях деятельности. Создание Грид-среды подразумевает распределение вычислительных ресурсов по территориально разделенным сайтам, на которых установлено специализированное программное обеспечение для того, чтобы распределять задания по сайтам и принимать их там, возвращать результаты пользователю, контролировать права пользователей на доступ к тем или иным ресурсам, осуществлять мониторинг ресурсов, и так далее. Общедоступные ресурсы на основе сайта могут включать вычислительные узлы или узлы хранения и передачи данных, собственно данные, прикладное программное обеспечение [8].

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

Грид-системы. Необходимым условием для этого является наличие ППО, реализующего стандартный внешний интерфейс с ресурсом и позволяющего сделать ресурс доступным для Грид-системы [8],[12],[20].

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

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

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

Основными общими задачами Грида являются:

• создание из серийно выпускаемого оборудования широкомасштабных распределенных вычислительных систем и систем обработки, комплексного анализа и мониторинга данных, источники которых также могут быть (глобально) распределены;

• повышение эффективности вычислительной техники путем предоставления в Грид временно простаивающих ресурсов.

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

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

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

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

Современные же мощные ПК зачастую реально используются не более, чем на несколько процентов свой мощности, и естественной становится задача предоставления неиспользуемых ресурсов для общественных нужд. Аналогичная ситуация характерна и для компьютерных центров, поскольку большие вычислительные задачи появляются у пользователей не постоянно, то есть потребность в выполнении вычислительной работы имеет пиковый по времени характер. Грид-технологии позволяют объединять эти мощности в единую, хотя и географически распределенную вычислительную среду[54].

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

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

Суть концепции облачных вычислений заключается в предоставлении конечным пользователям удаленного динамического доступа к вычислительным ресурсам, услугам и приложениям (включая инфраструктуру и операционные системы) через Интернет. Таким образом, облачные вычисления — это программно-аппаратное обеспечение, которое доступно пользователю через Интернет (или локальную сеть) в виде сервиса, позволяющего использовать удобный веб-интерфейс для удаленного доступа к выделенным ресурсам (вычислительным ресурсам, программам и данным). Компьютер пользователя при этом выступает рядовым терминалом, подключенным к Сети. Компьютеры, осуществляющие облачные вычисления, называются «вычислительным облаком». При этом нагрузка между компьютерами, входящими в «вычислительное облако», распределяется автоматически [11],[17],[72].

Первые идеи об использовании вычислений как публичной услуги были предложены еще в 1960-х известным ученым в области информационных технологий профессором MIT и Стэнфордского университета Джоном Маккарти (John McCarthy). Появление первой технологии, близкой к современному пониманию термина «cloud Computing», приписывается компании Salesforce.com, основанной в 1999 году. Именно тогда и появилось первое предложение продукта «Программное обеспечение как сервис» ("Software-as-a-Service", "SaaS"). Определенный успех Salesforce в этой области возбудил интерес у гигантов ИТ индустрии, которые тут же сообщили о своих исследованиях в области облачных технологий. И вот уже первое бизнес-решение под названием «Amazon Web Services» было запущено в 2005 году компанией Amazon.com. Следующим свою технологию постепенно ввела Google, начав с 2006 года предоставление SaaS сервисов под названием «Google Apps», а затем и модели предоставления платформы как сервиса (PaaS) под названием "Google Арр Engine". И, наконец, свое предложение анонсировала компания Microsoft, презентовав ее на конференции PDC 2008 под названием «Azuré Services Platform».

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

могут динамически арендовать физические или виртуальные ресурсы и не должны знать их происхождение или место размещения. Кроме того, все ресурсы на платформе облачных вычислений могут быть развернуты быстро и без остановки вычислений [11],[17],[59].

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

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

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

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

4. Гибкость - Возможности могут быть быстро и просто настроены, в некоторых случаях автоматически, чтобы быстро уменьшать масштабы (scale-out) и быстро увеличивать масштабы (scale-up) используемого ресурса.

5. Служба контроля - Облачные системы автоматически управляют и оптимизируют использование ресурса, усиливая возможность измерения на некотором уровне абстракции, соответствующей типу службы (например, хранение, обработка, пропускная способность, и активные учетные записи пользователей). Использование ресурсов может контролироваться, управляться, и представлять результаты для провайдера и для потребителя используемой службы [17] [22],[59],[88].

Модели служб Облачных вычислений

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

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

3. Инфраструктура как сервис (ХааБ). возможности предоставляются потребителю в виде обработки, хранения данных, сети и других основных

вычислительных ресурсов, где потребитель имеет возможность развернуть и выполнить произвольное программное обеспечение, которое может включать в себя операционные системы и приложения. Потребитель не управляет и не контролирует базовую облачную инфраструктуру, но управляет операционными системами, хранением, развернутыми приложениями, и сетевыми компонентами (например, брандмауэры узла) [17],[62],[71].

Broad Network Acccss

Rapid £Us»dtv H Ммил«) Service

OnDemand ScH-Servtte

Resource Pooling

г -1

Software as а Platform as а infrastructure as a

Service (SaaS) щ Service (PaaS) Service (laaS)

......................................... "ПГ**"«^?*!*^^ ЩИ 1 ИМ И1' III j i |ЛТ|>¥ШяИ

ШЖ

Private

Hybrid

Community

Рисунок. 1.2. Модели службы Облачных вычислений

Модели развертываний Облачных вычислений

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

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

качеством обслуживания. Частные облака можут быть построены и управляться собственной компании ИТ-организации или поставщика Облака.

3. Гибридное облако объединяет множество публичных и частных моделей облака. Гибридные облака более сложно определить из-за того, что в общем случае неясно как установить приложения и на публичных и частных облаках одновременно [11],[20],[36],[59].

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

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

2. Гарантированное качество обслуживания (С^оБ) - Облачные вычисления могут гарантировать 0>о8 для пользователей с точки зрения производительности аппаратных средств/ЦП, пропускной способности, и емкости памяти.

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

4. Оценка - Облачные вычисления не требуют инвестиций. Никакое капиталовложение не требуется. Пользователи платят за службы и емкость, поскольку они нуждаются в них [11],[17],[68],[81].

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

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

32

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

Эффективность - Основная проблема в производительности приложений может возникнуть для некоторых интенсивных, ориентированных на транзакции (intensive transaction-oriented), и других информационно емких приложений (data-intensive applications), в которых облачные вычисления могут испытать недостаток в соответствующей производительности системы[17],[75].

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

Управление - Некоторые отделы ИТ обеспокоены тем, что поставщики облачных вычислений имеют полный контроль над платформами. Поставщики облачных вычислений обычно не разрабатывают платформы для конкретных компаний и их бизнес-практики.

Надежность - Облачные вычисления по-прежнему не всегда предлагают круглосуточную надежность. Были случаи, когда услуги облачных вычислений пострадали из-за нескольких часов отключений [5],[20],[59].

1.4 Выводы

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

отличием облачных вычислений от Грид является виртуализация: «Облачные вычисления, в отличие от Грид, применяют виртуализацию для максимизации вычислительной мощности. Виртуализация, посредством отделения логического уровня от физического, решает множество проблем, с которыми сталкиваются Грид-решения». В то время как Грид-системы обеспечивают высокую загрузку вычислительных ресурсов посредством распределения одной сложной задачи на несколько вычислительных узлов, облачные вычисления идут по пути исполнения нескольких задач на одном сервере в виде виртуальных машин. Кроме того, есть особенности в основных вариантах использования Грид и облачных вычислений. Тогда как Грид, в основном, используется для решения задач за определенный (ограниченный) промежуток времени, облачные вычисления в основном ориентированы на предоставление «долгоживущих» сервисов.

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

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

Заключение диссертации по теме «Вычислительные машины и системы», Е Мьинт Найнг

2.5 Выводы

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

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

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

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

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

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

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

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

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

1. Создание облачной инфраструктуры с открытым исходным кодом в гетерогенной среде

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

3. Компиляция и установка новых ядер ПО виртуальных машин для миграции процессов

4. Создание виртуального кластера с единым образом операционной системы в облачной системе ( Single system Image - SSI)

5. Интеграция системы управления кластерами для выполнения приложений

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

Получив запрос, контроллер кластера решает, куда перенаправить этот запрос.

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

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

ЗАКЛЮЧЕНИЕ

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

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

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

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

Список литературы диссертационного исследования кандидат технических наук Е Мьинт Найнг, 2013 год

ЛИТЕРАТУРА

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

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

3. А. В. Богданов, Ла Мин Хтут, Мьё Тун Тун. Виртуальная организация (ВО): Концептуальный анализ системы входа для пользователей в развитых распределённых вычислительных средах. Известия СПбГЭТУ «ЛЭТИ». - 2011.- Вып. 4,- С. 48-52.

4. А.В. Богданов, Mo Тун Тун. Разработка распределенных вычислительных систем и запуск приложений в гетерогенной вычислительной среде. Санкт-Петербург, 22-25 июня2009 г. XVI Всероссийская научно-методическая конференция'Телематика'2009", С.425-427.

5. А.В. Богданов, В.В. Корхов, В.В. Мареев, Е.Н. Станкова. Архитектуры и топологии многопроцессорных вычислительных систем. 2004.

6. А. В. Яшкин. Инфраструктура безопасности Грид на примере globus toolkit 4. Владимирский государственный университет, г. Владимир, Россия. В мире научных открытии, 2009, №4.

7. А.И. Аветисян, Д. А. Грушин, А.Г. Рыжов. Системы управления кластерами.

8. А.К. Кирьяновым и Ю.Ф. Рябовым, Введение в технологию Грид Составлено, 2006 г.

9. Альхулайди, Абдулмаджид, Ахмед Галеб. Распределенные вычисления (кластерные вычисления) с использованием пакета параллельного программирования MPI, стр. 82-82.

10. Александр Костинский. Метакомпьютеры. [http://archive.svoboda.org/programs/sc/2001/sc.090401.asp]

11. Андрей Ященко. Облачные вычисления: прошлое, настоящее, будущее. 04.04.2009. [http://www.ferra.ru/m/techlife/85658/print/]

12. А.П, Демичев, В.А. Ильин, А.П. Крюков, Введение в Грид-технологии, 2007.

13. А. П. Лубанец, М. В. Хлудова. Построение высокопроизводительных распределенных вычислительных систем на основе кластеров. Санкт-Петербургский государственный технический университет, 2001.

14. Белогурский А.И., Васин JI.A., Вашкевич Н.П., Князьков B.C., Шашков Б.Д. Технологии построения и тестирования вычислительных кластеров. Пенза, Пензенский государственный университет.

15. Безопасность Грид. [https : //sites .google. com/site/gridnach/bezopasnost-grid]

16. Б.П.Константинова. Как начать работать в Грид. Гатчина 2006 г.

17. Владимир Романченко. Распределенные облачные (Cloud) вычисления. 06/09/2009. [https://sites.google.com/site/moiknigiilekcii/lekcii/infonnatika/lekcia-no25/cloud]

18. В.З.Шнитман, С.Д.Кузнецов. Аппаратно-программные платформы корпоративных информационных систем, [http : //с itforum. ru/hardware/app_ki s/c ontents. shtml]

19. B.C. Заборовский, A.A. Лукашин, C.B. Купреенко, В.A. Мулюха. Архитектура системы разграничения доступа к ресурсам гетерогенной вычислительной среды на основе контроля виртуальных соединений. Санкт-Петербургский государственный политехнический университет.

20. В. Л. Баденко. Высокопроизводительные вычисления. Учебное пособие. Санкт-Петербург, Издательство Политехнического университета, 2010.

21. Гайдучок В. Ю.Создание виртуального распределенного гетерогенного вычислительного комплекса. Санкт-Петербургский государственный электротехнический университет "ЛЭТИ" 2012.

22. Г. И. Радченко. Распределенные вычислительные системы. Учебное пособие. Челябинск, 2012.

23. Г.И. Радченко, Л.Б. Соколинский. Грид-технологии и суп ер компьютерный.

24. Данилов В.В. Архитектура процессоров Sun UltraSparc Т1 и Т2 (Niagara). Московский инженерно-физический институт. 2007 г. стр. 8.

25. Деревянко A.C., Солощук М.Н. - Харьков. Технологии и средства консолидации информации. Учебное пособие. НТУ "ХПИ", 2008.

26. Дмитрий Кузьмин, Федор Казаков, Денис Привалихин, Александр Легалов, На пути к переносимым параллельным программам, [http : //с itfo rum. ru/pro gramming/theory/parall_prog/]

27. Дмитрий Шепелявый. Обеспечение безопасности Web-сервисов. Журнал "Information Security/ Информационная безопасность" #1, 2008.

28. Ирина Парошина. Высокопроизводительные вычисления и кластерные системы. Обзор и сравнение: Globus Toolkit, Unicore, gLite. 30.09.2010.

29. Кацубо Дмитрий Владимирович. Использование кластерной системы "Openmosix" для построения распределенных вычислений. Минск 2003.

30. Ла Мин Хтут. Организация системы доступа для пользователей в распределенной вычислительной среде. Диссертация, 2011.

31. М. Тим Джонс, инженер-консультант, Emulex Corp. Анатомия облака с открытым кодом, 15.06.2011. [http://ww\\^.ibm.com/developerworks/ru/library/os-cloud-anatomy/'index.html?ca=drs-]

32. Майкл Галпин. Открытым исходным кодом: Часть 1. Не все облака одинаковы. 01.09.2010. [https://www.ibm.com/developerworks/ru/library/os-cloud-realitiesl/]

33. Мьё Тун Тун. Разработка распределенных гетерогенных вычислительных систем и запуск приложений в распределенной вычислительной среде. Диссертация, 2011.

34. Н.В. Морев. Решение слау использованием кластерной системы. ГОУ Владимирский государственный университет Кафедра вычислительной техники.

35. Н. В. Морев. Решение вычислительных задач с помощью sun nl grid engine. ГОУ Владимирский государственный университет. 2006 г.

36. Потапов В.П., Пястунович O.JI. Облачные вычисления в со ран -возможности применения и реализация. Институт угля СО РАН г. Кемерово.

37. С.И. Насибуллин, А.Б. Дегтярев, A.B. Богданов. Организация единого входа и оптимизация доступа пользователей в развитых Грид-средах. Санкт-Петербургский государственный политехнический университет.

38. Смирнов Денис Владимирович. Облачные вычисления с Eucalyptus. Санкт-Петербургский государственный университет, 2011.

39. Тарнавский Г.А. Облачные вычисления: контент, инфраструктура и технологии организации информационных потоков Центра компьютерного моделирования SciShop.ru. Институт вычислительной математики и математической геофизики СО РАН.

40. Течение в трубе с обратным уступом и сужением (OpenFOAM. Пример) [http://mathactivist.blogspot.com/201 l/06/openfoam-l .html]

41. Хомайко Дмитрий Николаевич. Globus Toolkit - инструмент для построения распределенных систем. Санкт-Петербургский государственный университет, 2011.

42. Христофоров Владислав Игоревич. Оптимизация производительности метакомпьютера с единым образом операционной системы. Санкт-Петербург, 2011.

43. About Eucalytpus Cloud [http://www.eucalyptus.com/eucalyptus-

cloud]

44. About Globus Toolkit [http://www.globus.org/]

45. About Mosix [http://www.mosix.org/txt_about.html]

46. About OpenFOAM [http://www.openfoam.com/]

47. About Opennebula Cloud [http://0pennebula.0rg/d0cumentati0n:rei3.6]

48. A. Barak and A. Shiloh, A White Paper, The MOSIX Management System for Linux Clusters, Multi-Clusters, GPU Clusters and Clouds. A White Paper.

49. Alexander Bogdanov, Thurein Kyaw Lwin, Ye Myint Naing, Database use for Consolidation Of CloudComputing, Computer Science and Information Technologies 26 - 30 September, 2011, Yerevan, Armenia . page 237-239.

50. Alexander Bogdanov, Thurein Kyaw Lwin, Ye Myint Naing. Database Consolidation used for Private Cloud. Dubna, 16-21 July, 2012.

51. Amnon Barak, Avner Braverman, Ilia Gilderman, Oren Laden. Performance of PVM with the MOSIX Preemptive Process Migration Scheme. The Hebrew University of Jerusalem, Israel.

52. Amnon Barak, Oren La'adan. The MOSIX multicomputer operating system for high performance cluster computing. The Hebrew University of Jerusalem, Israel.

53. Amnon Barak, Amnon Shiloh. MOSIX2 Cluster Multi-Cluster Cloud Management: User's and Administrator's Guides and Manuals. June 2009.

54. A.V.Bogdanov, A.A. Lazarev, La Min Htut, Myo Tun Tun, Building User Access System in Grid Environment // Distributed Computing and Grid-Technologies in Science and Education: Proceedings of the 4th Intern. Conf. (Dubna, June28-July 3, 2010). -Dubna: JINR, -p.63-69.

55. A.V. Bogdanov, A.A. Lazarev, Myo Tun Tun, La Min Htut, Разработка распределенных вычислительных систем Grid и запуск приложений в гетерогенной вычислительной среде // Distributed Computing and Grid-Technologies in Science and Education: Proceedings of the 4th Intern. Conf. (Dubna, June28-July 3, 2010). -Dubna: JINR, -p.69-74.

56. A.V. Bogdanov, M. Dmitriev, Ye Myint Naing, Eucalyptus Open-source Private Cloud Infrastructure, GRID 2010, Proceedings of the 4th International Conference Dubna, June 28- July 3, 2010. page: 57-63.

57. A.V. Bogdanov, Thurein Kyaw Lwin, Myo Tun Tun, La Min Htut, Система интеграции гетерогенных комплексов для научных вычислений, основанных на использовании технологии DB2 // Proceedings of International Conference «Computer Science & Information Technologies», 28 September - 2 October, 2009, Yerevan, Armenia, pp.397-399.

58. Bog BOS: Sun Grid Engine [http://www.bog.pp.ru/work/sge.html]

59. Borko Furht and Armando J. Escalante. Handbook of Cloud Computing: Parti Technologies and Systems, page : 3-19.

60. Brian Adler, Solutions Architect, RightScale, Inc. Grid Computing A pplications in the Cloud, white paper.

61. Domenico Talia, Paolo Trunfio, Oreste Verta. Weka4WS: a WSRF-enabled Weka Toolkit for Distributed Data Mining on Grids. DEIS, University of Calabria, Via P. Bucci 41c, 87036 Rende, Italy.

62. Direct File System Access (DFSA) [http://support.math.cmu.edu/Parallel_Cluster/mosix/txt_whatis.html]

63. Dustin Amrhein, Scott Quint. Cloud computing for the enterprise: Part 1: Capturing the cloud. IBM 08 Apr 2009.

64. Eucalyptus Beginner's Guide - UEC edition] Chapter 1 - Introduction to UEC and its components [http://cssoss.wordpress.com/2010/05/10/eucalyptus-beginner%E2%80%99s-guide-%E2%80%93-uec-edition-chapter-l-%E2%80%93-introduction-to-uec-and-its%C2%A0components/ ]

65. Eucalyptus Systems, Inc. ive Steps to Enterprise Cloud Computing [http ://www. eucalyptus. com/whitepapers]

66. Eucalyptus Systems, Inc. Eucalyptus Open-Source Cloud Computing Infrastructure - An Overview. August 2009.

67. Globus Toolkit Tutorial [http://www.globusconsortium.org/tutorial/chl/]

68. Globus Toolkit 5.2.2 Release Manuals [http://www.globus.org/toolkit/docs/latest-stable/]

69. IBM. Что такое облачные вычисления и как их можно использовать. IBM Corporation 2008.

70. Install Globus Toolkit 4.0.x on CentOS [http://lackovic.wordpress.com/2007/10/17/install-globus-toolkit-4-0-x-on-centos/]

71. Install Globus Toolkit 4.0.x on Ubuntu 10.04 LTS [http://lackovic.wordpress.com/2010/10/10/globus-on-ubuntu/]

72. Introduction to Cloud Computing Architecture. Sun Microsystems, Inc. White Paper. 1st Edition, June 2009

73. Jinesh Varia. Архитектуры Грид-облаков. Gridclub.ru.

74. J. J. Peng, X. J. Zhang, Z. Lei, B. F. Zhang, W. Zhang, Comparison of Several Cloud Computing Platform, Second International Symposium on Information Science and Engineering, 2009,12, IEEE, page: 23-27.

75. Johnson D, Kiran Murari, Murthy Raju, Suseendran RB, Yogesh Girikumar. Eucalyptus Beginner's Guide - UEC Edition. vl.O, 25 May 2010.

76. John W. Rittinghouse and James F. Ransome. Cloud Computing: Implementation, Management, and Security. Page -81.

77. Juraj Somorovsky, Mario Heiderich, Meiko Jensen, Jórg Schwenk, Nils Gruschka, Luigi Lo Iacono. All Your Clouds are Belong to us - Security Analysis of Cloud Management Interfaces. Germany.

78. Katarina, Stanoevska-Slabeva, Thomas Wozniak, Santi Ristol. Grid and Cloud Computing. Springer-Verlag Berlin Heidelberg 2010. Page 23-30.

79. Kefa Rabah. Building and Running Private Cloud with Eucalyptus Systems. Global Open Versity, Vancouver Canada. Dec 04, 2010.

80. Kefa Rabah. Building and Running Private Cloud using OpenNebula Cloud Computing. Global Open Versity, Vancouver Canada. Aug 05, 2010.

81. Keren A. and Barak A., Opportunity Cost Algorithms for Reduction of I/O and Interprocess Communication Overhead in a Computing Cluster. IEEE TPDS, Vol. 14, No. 1,2003.

82. Martin Schader. Hybrid Clouds: Comparing Cloud Toolkits. Seminar Paper. University of Mannheim. April 2010.

83. Matrix Multiplication using MPI Parallel Programming Approach [http://www.daniweb.com/'soflware-development/c/code/334470/matrix-multiplication-using-mpi-parallel-programming-approach#]

84. MPICH2 with Sun Grid Engine. [http://idolinux.blogspot.com/2010/04/mpich2-with-sun-grid-engine.html]

85. NAS Parallel Benchmarks [http://www.nas.nasa.gov/publications/npb.html] Nimrod Vax. Securing Virtualized Environments and Accelerating Cloud Computing, white paper, march 2010.

86. Open source & cloud computing:on-demand, innovative it on a massive scale. White Paper June 2009. Peter Sempolinski, Douglas Thain. A Comparison and Critique of Eucalyptus, OpenNebula and Nimbus. University of Notre Dame.

87. Overview of the Grid Security Infrastructure ( Globus GSI) [http: //www. globus, org/securi ty/o vervi e w. html]

88. Peer-to-Peer versus a Client-Server [http://www.dewassoc.com/support/networking/serveфeer.htm]

89. Peter Mell and Tim Grance. The NIST Definition of Cloud Computing. National Institute of Standards and Technology, Information Technology Laboratory. September 2011.

90. Resource Management (Globus GRAM) [http://www.globus.Org/toolkii/docs/2.4/gram/]

91. Ronald L.Krutz and Russell Dean Vines. Cloud Security: A Comprehensive Guide to Secure Cloud Computing. Page -117.

92. GT 4.0 Component Guide to Public Interfaces: GridFTP [http: //www. globus. org/toolkit/docs/4.0/data/gridftp/GridFTPJPublic_Interfaces.ht ml]

93. Seagate, Облачные вычисления - новая модель предоставления и использования ИТ-ресурсов. сентябрь 2010 г. [http ://www. seagate.com/docs/pdf/ru-

RU/whitepaper/tp617_cloud_computing_for_it_resources.pdf]

94. Seeding the Clouds: Key Infrastructure Elements for Cloud Computing. IBM Corporation 2009.

95. Sun Grid Engine Tutorial [http://www.cbi.utsa.edu/sge_tutorial]

96. Sun Grid Engine Integration with Globus Toolkit 4 [http://www.lesc.ic.ac.uk/projects/SGE-GT4.html]

97. Steve McClure, Richard Wheeler. M О S I X : how linux clusters solve real world problems. San Diego, California, USA, June 18-23, 2000.

98. The DRMAA working group charter, [http://www.drmaa.org/]

99. The Globus Security Team. Globus Toolkit Version 4 Grid Security Infrastructure: A Standards Perspective. September 12, 2005.

100. Ubuntu Deb Pack Installation ( OpenFoam ) [http://www.openfoam.org/download/ubuntu.php]

101. UniCloud Visualization Benchmark Report. UBM WHITE PAPER. MARCH 2010.

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