Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






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





Следуя традиционному построению распределенных систем, можно описать архитектуру Грид, состоящую из четырех слоев:

1. Пользовательские интерфейсы, приложения и среда решения задач (problem-solving envieronment).

2. Средства разработки, программные модели, языки программирования.

3. Промежуточное программное обеспечение (middleware) Грид: управление ресурсами; фиксация информации и ее обнаружение; программное обеспечение безопасности; доступ к памяти; различные службы (вычислительные и коммуникационные).

4. Неоднородные ресурсы и инфраструктура сетей.

 

В настоящее время не существует единой модели вычислений в Гриде. Однако можно выделить несколько типичных задач, которые должны решать пользователи. Это – запуск и выполнение заданий, управление данными, формирование потоков работ (workflow), работа в режиме on-line при совместных проектах и др.

Опишем несколько типов приложений в Грид и пользовательских профилей.

1. Грид как большой компьютер. Здесь имеется в виду доступ одного пользователя к большой суперкомпьютерной мощности для решения его задачи.

2. Грид как коллекция научных данных. Требуется обеспечение доступа к большим объемам научных данных (результатов экспериментов, астрономических наблюдений и т.д.), рассредоточенных по различным научным центрам, оптимизация при передаче этих данных и их обработке

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

4. Семантический Грид – Грид как всемирное хранилище знаний. Географически распределенная база знаний, поддерживающая интеллектуальный информационный поиск, извлечение знаний из «сырых» данных (data mining), принятие решений.

 

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

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

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

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

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

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

 

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

Имитационные эксперименты, происходящие в режиме on-line, могут потребовать изменения режима на off-line или использования каких-то инструментальных средств. Проходящий эксперимент может потребовать реконфигурации программ прямо во время исполнения (язык моделирования Triad это допускает, но такая реконфигурация должна быть поддержана еще и платформой). Эксперимент, как отмечалось выше, может потребовать динамической балансировки нагрузки компьютеров сети, поскольку предсказать заранее, какой будет нагрузка и провести ее распределение статическим способом не всегда возможно. Наконец, в эксперименте могут участвовать несколько пользователей – исследователей, находящихся в разных точках сети, играющих разные роли, и совместно управляющих экспериментом.

 

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

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

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

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

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

1) Спецификацию приложения в терминах множества компонент.

2) Четкое разделение описаний структуры и поведения приложения, вычислительной части и взаимодействий.

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

4) Возможность отображать уровень приложения на уровень оборудования, в частности, решать задачу распределения нагрузки в системе.

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

6) Поддерживать сервисы инфраструктуры распределенных систем такие, как управление событиями, именами, транзакциями, создание «мостов» между разными распределенными системами (между Грид-системами).

 

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

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

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

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

Date: 2015-09-18; view: 425; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию