
- •Глава 11
- •В.Г.Олифер, н.А.Олифер. Сетевые операционные системы. Учебное пособие.-сПб.:бхв-Петербург, 2006.-536с.
- •В.А.Шеховцов. Операційні системи. Підручник .-к.:Виканавча група внv. 2005. 576с.
- •Столлингс в. Операционные системы. М.: Вильямс, 2001. -672с.
- •Раздел 11
- •11.1. Многопроцессорные системы
- •11.1.1. Типы многопроцессорных систем
- •11.1.2. Поддержка многопроцессорной в операционных системах
- •11.1.3. Производительность многопроцессорных систем
- •11.1.4. Планирование в многопроцессорных системах
- •11.1.5. Родство процессора
- •11.1.6. Поддержка многопроцессорности в Linux
- •11.1.7. Поддержка многопроцессорной в Windows xp
- •11.2. Принципы разработки распределенных систем
- •11.2.1. Отдалены вызовы процедур
- •11.2.2. Использование Sun rpc
- •11.2.3. Использование Microsoft rpc
- •11.2.4. Обработка ошибок и координация в распределенных системах
- •11.3. Распределеные файловые системы
- •11.3.1. Организация распределенных файловых систем
- •11.3.2. Файловая система nfs
- •11.3.3. Файловая система Microsoft dfs
- •11.4. Современные архитектуры распределенных систем
- •11.4.1. Кластерные системы
- •11.4.2. Grid-системы
- •Контрольные вопросы и задания
11.4.2. 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-архитектуры) дают возможность объединять вычислительные мощности многих компьютерных систем для развязывания задач, которые невозможно развязать на отдельных компьютерах.