Лекция: Grid-системы

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

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

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

Название «grid» отображает аналогию между использованием такого унифицированного ресурса и доступом к электрической сети (power grid). Пользователи электросети получают доступ к ресурсу (электроэнергии) независимо от конфигурации источников энергии и линий электропередачи. Аналогично для пользователей grid-системы не суть важно, который из компонентов предоставил им вычислительный ресурс.

Grid-системы содержат такие компоненты:

♦ средства, которые транслируют запросы пользователей в запросы к ресурсам grid-системы (компьютеров, сетей, дискового пространства, баз данных и тому подобное);

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

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

♦ средства разработки применений, которые используют особенности grid-архитектуры.

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

♦ Grid-системы являются географически распределенными (связанными глобальными сетями) и неоднородными (у них входят компоненты с разной аппаратной и программной архитектурой). Кроме того, их компоненты могут находиться в разном административном подчинении. Узлы кластеров обычно связаны локальной сетью, находятся в централизованном подчинении и имеют одинаковую архитектуру.

♦ Кластерная архитектура обычно содержит в себе централизованный менеджер ресурсов. Для grid-архітектур в результате большего масштаба системы каждый узел имеет свой менеджер ресурсов.

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

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

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

Поскольку grid-системы являются неоднородными, большое значение в их разработке играет стандартизация. Организован специальный комитет по стандартизации grid-разработок — Grid Forum, результатом работы которого является общепринятый стандарт Open Grid Service Architecture (OGSA). Существует программная реализация этого стандарта — Globus Toolkit, которую можно использовать для практической разработки grid-систем.

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

Выводы

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

♦ Основным подходом до организации многопроцессорных ОС является симметричная многопроцесорность (SMP), при которой одна копия ядра ОС выполняется на всех процессорах системы. Для организации поддержки SMP в ядре ОС выделяют критические участки, каждая из которых может быть выполнена только одним процессором в конкретный момент времени.

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

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

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

♦ Современные архитектуры распределенных систем (кластерные и grid-архитектуры) дают возможность объединять вычислительные мощности многих компьютерных систем для развязывания задач, которые невозможно развязать на отдельных компьютерах.


Контрольные вопросы и задания

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

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

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

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

5. Какие проблемы решает автоматическая генерация заглушек для RPC?

6. Сколько сообщений должно быть отправлено в результате выполнения протокола 2РС при наличии одного координатора и N участников?

7. Предложена такая модификация протокола 2РС. На первом этапе координатор посылает сообщение MCOMMIT всемучастникам, потом ожидает ответа от каждого из них. Если хотя бы один из них отошлет сообщение MABORT, координатор посылает всем участникам MGLOBAL_ABORT иначе дополнительных сообщений послано не будет. В чем недостаток такого алгоритма?

8. В каких случаях кэширования данных на клиенте может повысить производительность распределенной файловой системы, а в которых — снизить?

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

10.Какие из перечисленных операций являются идемпотентными:

а) записывание блока данных в файл;

б) запрос списка пользователей, которые работают в этот момент на отдаленной системе;

в) помещение денег на банковский счет?

11. Процесс на клиентском компьютере вызывал операцию чтения из файла, который содержится на NFS-разделе. Опишите этапы выполнения этой операции.

 

еще рефераты
Еще работы по информатике