- •Организация системы доступа пользователей и разработка технических принципов запуска ресурсоемких приложений в распределенной вычислительной среде на основе технологии облачных вычислений
- •Диссертация
- •Глава 1. Классификация распределенных вычислительных сред 15
- •Глава 1. Классификация распределенных вычислительных сред 6
- •2Глава 2. Проблемы доступа пользователей и анализ продуктов для запуска приложений в распределенной вычислительной среде 14
- •Введение
- •Глава 1. Классификация распределенных вычислительных сред
- •Клиент-сервер
- •Метакомпьютинг
- •Основные понятия
- •Кластерная технология
- •Технологии Грид
- •Архитектура Грид
- •Общие задачи Грида
- •Технологии и системы облачных вычислений
- •Основные характеристики Облачных вычислений
- •Особенности облачных вычислений
- •Вызовы облачных вычислений
- •Глава 2. Проблемы доступа пользователей и анализ продуктов для запуска приложений в распределенной вычислительной среде
- •Анализ системы безопасности для распределенных вычислений
- •Системы авторизации Grid
- •Системы авторизации облачных вычислений
- •Анализ Облачных платформ для эффективного построения облачной вычислительной среды
- •Облачная платформа ( eucalyptus)
- •Облачная платформа (OpenNebula )
- •Облачная платформа (Abicloud )
- •Облачная платформа (Nimbus )
- •Анализ безопасности программной интерфейса api для управления ресурсами и сервисами Облачных вычислений
- •Исследование производительности метакомпьютера с единым образом операционной системы
- •Исследование производительности pvm c и без миграции процессов mosix в гетерогенной среде
- •Исследование производительности mpi с и без миграции процессов mosix в виртуальной среде
- •Анализ продукты Globus Toolkit для организации системы доступа пользователей к распределенной вычислительной среде
- •Gridftp – для управления данными
- •Gram – для управления процессами
- •Разработка и исследование системы управления ресурсами Univa Grid Engine в многопроцессорных северах
- •Конфигурация Univa Grid Engine
- •Глава 3. Организация системы доступа пользователей и разработка технических принципов запуска ресурсоемких приложений
- •Разработка системы безопасности грида в систему облачных вычислений
- •Разработка системы управления облачными ресурсами
- •Программный интерфейс drmaa для интеграции программных продуктов
- •Мosix вычислительный кластер на основе технологии облачных вычислений
- •Запуск приложение в распределенной вычислительной среде на основе технологии облачных вычислений
- •Глава 4. Консолидация и интеграция программных комплексов
- •Интеграция mpich2 и uge для запуска параллельных приложений
- •Интеграция uge и Globus toolkit для запуска приложений через drmaa
- •Интеграция системы безопасности Грида в систему Облачных вычислений
- •Разработка программного обеспечения OpenFoam в распределенной вычислительной среде
- •Часть исходного кода программы
- •Заключение
- •Литература
Клиент-сервер
Система “клиент-сервер” обычно состоит из одного или более сервера, которые предлагают услуги и информацию на многие компьютеры тина рабочих станций. Эти услуги включают: обмен файлов, веб-службы, услуги электронной почты, услуги поиска доменного имени, и т.д. Хороший пример модели сети Клиент-сервер это Интернет. В Интернете клиенты, или компьютер посредством web-браузера получаю доступ к вебсайтам, которые хостингуют на серверах. Эта модель отличается от модели сети Peer-to-peer в том, что серверы и рабочие станции должны конфигурироваться, чтобы обеспечивать разные функции доступа к ресурсам сети.
Преимущества клиент-сервер. Модель “клиент-сервер” предлагает много льгот, так как только единственный компьютер, или группа компьютеров является центральным источником для всех сетевых услуг, которые нам требуются [5],[20],[22].
Безопасность относительно легко осуществить с этим типом модели сети, так как возможно установить единый серверный компьютер, чтобы обращаться со всеми информационными запросами или запросами логина обо всей сети, таким образом, требуется одно имя пользователя и пароль для каждого пользователя на сети. Так, если надо когда-либо изменять пароль, то можно изменить его на сервере, и пароль был бы изменен для всей сети.
С моделью “клиент-сервер” каждая рабочая станция теоретически должна иметь одну связь в сети, и эта связь к главному серверу как показано на (рисунке 1.2). Благодаря этому затраты на обслуживания сети снижаются. Например, конфигурировать сети можно так, чтобы рабочие станции выполняли резервное копирование на центральном сервере, таким образом, в случае сбоя рабочей станции можно восстановить образ системы и рабочая станция может опять нормально работать буквально в течение минут.
Рисунок 1.2 – Клиент-сервер
Есть многочисленные другие достоинства у этого типа сети, типа консолидирования информации или безопасности на одном компьютере, или группе компьютеров. Как только это сделано, добавлять другие услуги и легче и более безопасно.
Недостатки клиент-сервер. Неработоспособность сервера может сделать неработоспособной всю вычислительную сеть. Это основная и важная проблема технологии клиент-сервер. В модели клиент-сервер все запросы клиента попадают только на главный сервер [20]. Поэтому главный сервер должен быть мощным и надёжным.
Высокая стоимость оборудования. Стоимость этого типа сети относительно высока так, как надо не только купить аппаратные средства, но и серверное программное обеспечение, которое очень дорого. И плюс нужны затраты за резервный сервер, чтобы система работала беспрерывно в случае отказа главного сервера.
В связи с парадигмой клиент-сервер появлялись такие распределённые системы как Java RMI, DCOM и CORBA для создания распределённого клиент-серверного приложения [5], [22],[87].
Рисунок 1.3 – Традиционные парадигмы распределенных вычислений на базе клиент-сервер
Java RMI, DCOM и CORBA существовали в течение некоторого времени и представляют собой самое популярное распределенное, объектно-ориентированное промежуточное программное обеспечение, которое может использоваться, чтобы быстро развить распределенные клиент-серверные приложения. Хотя они отличаются по своему исполнению и особенностям, они все разделяют следующие особенности:
• Интерфейс необходим для того, чтобы вызывать отдаленный объект или компонент.
• Они используют собственные протоколы коммуникации - например, Java RMI использует JRMP, DCOM использует ORPC, и CORBA использует IIOP - чтобы вызывать отдаленные объекты или компоненты.
• Интерфейс определяется в двоичном формате. Для приложений - клиентов трудно сделать запрос на интерфейсе, например, чтобы узнать, какие виды протоколов определены, входы/выводы каждого протокола, чтобы лучше их использовать.
• Клиенты и объекты сильно связанны с их интерфейсами. Например, изменение части клиента означает, что другие части, такие как сервер, также нуждаться в модификации.
Таким образом, промежуточные программные обеспечения, такие как Java RMI, DCOM и CORBA не основаны на открытых стандартах, который мешает им быть повсеместными в гетерогенной распределённой среде. Идеальная инфраструктура промежуточного программного обеспечения основана на открытых стандартах для создания и интеграции приложений в гетерогенной распределённой среде, а Веб-службы появляются именно для такой инфраструктуры [20].
С точки зрения доступа парадигма клиент-сервер имела ограничения по масштабируемости. Поэтому появился другой подход, базирующийся на Web протоколах (например, HTTP) и XML. Появились такие системы как .NET от Microsoft, J2EE от SUN, WebSphere от IBM, базирующиеся на веб-сервисах [30].
Peer-to-peer
Почти все операционные системы могут работать как некоторый тип сервера, чтобы разделить ресурсы. Когда рабочие станции сконфигурированы как серверы и они разделяют общие ресурсы, это называют сетью Peer-to-peer или P2P.
Преимущества Peer-to-peer. Сети Peer-to-peer можно внедрять очень дешево, потому, что кроме установленного программного обеспечения и операционной системы на компьютерах, нужна лишь возможность разделения ресурсов с другими компьютерами из сети, даже если эта особенность может быть ограничена. Почти все самые популярные операционные системы настольных ПК имеют эта особенность, включая Windows Microsoft и Apple's Mac ОС, так же как Unix OС, такие как Linux и BSD. Таким образом, единственная стоимость будет в сетевых аппаратных средствах (карты, проводка, хаб или коммутаторы).
Недостатки Peer-to-peer. Без центрального сервера очень трудно, или почти невозможно защитить этот тип сети. Вы можете ставить пароли на каждом ресурсе сети, но для работы сети надо вводить то же самое имя пользователя и пароль на каждый компьютер, действующий как сервер. Таким образом, изменить пароль для пользователя может занять несколько часов работы, особенно если сеть состоит из компьютеров, расположенных в различных зданиях или различных этажах [22].
На сети peer-to-peer также очень трудно поставить хорошую резервную систему, потому что важные документы хранятся на различных жестких дисках на различных компьютерах.
Peer-to-peer сети также имеют тенденцию становиться очень дорогостоящими в течение долгого времени. Так как каждый компьютер, который разделяет что-нибудь с другим компьютером как сервер, должен быть постоянно включен, и должен быть правильно сконфигурирован. Так, вместо того, чтобы обслуживать маленькую горстку серверов, Вы должны обслуживать все рабочие станции как серверы. Следующая диаграмма (Рисунок 1.4) иллюстрирует все теоретические связи, которые необходимы для сети Peer-to-peer, чтобы работать только с 5 компьютерами. Отметьте, что эта иллюстрация не представляет физические связи сети, а только теоретические связи сети, операционная система должна управлять сетью правильно.
Рисунок 1.4 – Peer-to-Peer сеть
Поэтому с точки зрения доступа пользователи могут получить доступ не вводя имя и пароль. Это может быть пригодным для некоторых целей. Но P2P сети это самые опасные сети именно из-за отсутствия системы безопасности управления доступом.
Вычислительная среда может быть распределённой как из-за больших размеров, так и из-за неоднородного состава компонент и позволяет пользователем совместное использование распределённых ресурсов на основе специфического промежуточного программного обеспечения (middleware)[5], [30],[87].
Эти среды могут быть разными по промежуточному программному обеспечению и по подходу к организации доступа к ресурсам. В принятом понимании современные распределённые вычислительные среды могут быть разделены на три типа –
• Метакомпьютинг
• Грид
• Облачные вычисления
