Метакомпьютинг и его задачи

Идея формирования «компьютерных коммунальных услуг» появилась еще в 60-е годы. В статье «Что такое грид? Три критерия» Ян Фостер приводит высказывание Лена Клейнрока, датируемое 1969 годом: «Вероятно, мы скоро увидим распространение «компьютерных коммунальных услуг», которые, подобно электричеству и телефону, придут в дома и офисы по всей стране». Именно 60-е годы характеризуются бурным развитием интерактивных многотерминальных систем разделение времени[1]. В таких системах компьютер отдавался в распоряжение нескольким пользователям. Каждый пользователь получал собственный терминал, с помощью которого мог вести диалог с компьютером. Разделяя таким образом компьютер, пользователи получали возможность использовать все преимущества компьютеризации. И хотя вычислительная мощность оставалась полностью централизованной,

Функции ввода и вывода стали распределенными (рис.1).

метакомпьютинг и его задачи - student2.ru Рис.1 Многотерминальная система – прообраз вычислительной сети

Такого рода системы стали первым шагом на пути к созданию локальных сетей. Первые локальные сети начали появляться только в 70-е годы. Это было связано с технологическим прорывом в области производства компьютеров, появление больших интегральных схем. Середина 80-х годов характеризуется появлением стандартных технологий объединения компьютеров в сеть, таких как Ethernet, Arcnet, TokenRing, TokenBus. Мощным стимулом для их появления послужили персональные компьютеры. Эти массовые продукты являлись идеальными элементами для построения сетей – с одной стороны, они были достаточно мощными, а с другой – явно нуждались в объединении своей вычислительной мощности для решения сложных задач. Таким образом, на рубеже 90-х годов были созданы все условия для начала работ над программным обеспечением призванным объединить вычислительные ресурсы: массовый выпуск персональных компьютеров и развитая высокоскоростная сетевая инфраструктура.

В начале 90-х годов возникает термин метакомпьютинг. Со временем это понятие эволюционировало. В то время метакомпьютинг означал объединение нескольких разнородных вычислительных ресурсов в локальной сети для решения одной задачи[2]. Основная цель построения метакомпьютера заключалась в оптимальном распределении частей работы по вычислительным системам различной архитектуры и мощности. Например, предварительная обработка данных могла производиться на пользовательской рабочей станции, основное моделирование на векторно-конвейерном суперкомпьютере, а визуализация результатов – на специальной графической станции.

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

Надо отметить, что сегодня существует два способа построения метакомпьютера, которые отличаются друг от друга по сложности реализации: системы с «горизонтальной интеграцией» и системы с «вертикальной интеграцией»[3].

Большинство систем с «горизонтальной интеграцией» (рис.2) строятся на основе инструментально-базового комплекса GlobusToolkit, которое по праву считается стандартом де-факто построение промежуточного программного обеспечения. Большая часть программах систем, хотя и разрабатывалась различными коллективами, основывалась на данной стандарте, и поэтому они оказались хорошо совместимыми друг с другом. К наиболее крупным проектам можно отнести EGEE(www.eu-egee.org),NorduGrid (www.nordugrid.org), TeraGrid (www.teragrid.org).

метакомпьютинг и его задачи - student2.ru

Рис.2 Архитектура систем с «горизонтальной интеграцией»

В отличие от систем с «горизонтальной интеграцией», системы с «вертикальной интеграцией» (рис.3) имеют упрощенную архитектуру и напоминают многотерминальную систему, в которой мейнфрейм – это компьютер с функцией диспетчера, обеспечивающий разделение заданий и получение результатов, а терминалы – вычислительные узлы.

метакомпьютинг и его задачи - student2.ru

Рис.3 Архитектура систем с «вертикальной интеграцией»

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

Метакомпьютерные системы можно характеризовать следующим:

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

· Предоставляют прозрачный однородный доступ к метакомпьютерам.

· Имеют динамическую конфигурацию: вычислительные ресурсы могут как подключаться, так и отключаться от системы, не нарушая функциональности всей системы.

· Вычислительные ресурсы практически не взаимодействуют друг с другом.

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

ГРИД СИСТЕМЫ

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

Грид – это программно-аппаратная среда, которая построена из

вычислительных установок, находящихся в различных административных

доменах телекоммуникационной сети и которая позволяет дистанционно

использовать любое количество ресурсов этих установок – процессорных,

оперативной и постоянной памяти, программ и данных.

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

Сейчас интерес к Grid очень высок практически во всех странах мира. Объясняется это тем, что институты современного общества, такие, как банки, службы управления и мониторинга, торговые и производственные предприятия имеют распределенную природу и нуждаются в инфраструктуре, позволяющей организовать корпоративное и межкорпоративное взаимодействие на основе распределенных программных приложений. Опыт развития информационных технологий уже научил производителей тому, что необходимо сотрудничать в области стандартов, а не конкурировать в области реализаций конкретных технологий. К счастью, в том, что касается Grid-сетей, кооперация в области стандартов началась в середине 90-х годов. Под эгидой некоммерческого проекта Globus были разработаны основные концепции, протоколы и интерфейсы для взаимодействия вычислительных сетей. На сегодняшний день все основные игроки на рынке высокопроизводительных вычислений являются участниками этого проекта. Участники Globus Project опубликовали проект архитектуры Open Grid Services Architecture, направленный на сближение технологий Grid с технологиями и стандартами Web-служб. По всей видимости, это направление станет главным при внедрении технологий Grid в коммерческих структурах.

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

Появление технологии Грид обусловлено следующими предпосылками:

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

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

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

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

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

Целью второго направления является обработка огромных объемов данных относительно несложными программами по принципу «одна задача – один процессор». Доставка данных для обработки и пересылка результатов в этом случае представляют собой достаточно сложную задачу. Для этого направления инфраструктура Грид представляет собой объединение кластеров. Один из проектов, целью которого и является создание производственной Грид-системы для обработки научных данных, является проект EGEE (Enabling Gridsfor E-sciencE), который выполняется под эгидой Европейского Союза (www.eu-egee.org).

Построение инфраструктуры Грид в рамках проекта EGEE ориентировано, в первую очередь, на применение в различных отраслях научной деятельности, в том числе и для обработки данных в физике высоких энергий участниками экспериментов, проводимых на базе создаваемого в Европейском центре ядерных исследований (CERN, www.cern.ch) ускорителя LHC.

Проект EGEE тесно связан на данной фазе развития с проектом LCG (LHC Computing Grid), который, по существу, и является его технологической базой.

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

· Координация использования ресурсов при отсутствии централизованного управления этими ресурсами.

· Использование стандартных, открытых, универсальных протоколов и интерфейсов.

· Обеспечение высококачественного обслуживания пользователей.

Концепция Грид

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

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

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

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

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

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

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

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

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

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

· Гарантии качества обслуживания.

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

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

· Вычислительные ресурсы – отдельные компьютеры, кластеры.

· Ресурсы хранения данных– диски и дисковые массивы, ленты, системы массового хранения данных.

· Сетевые ресурсы.

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

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

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

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

метакомпьютинг и его задачи - student2.ru

Рис.4: Многоуровневая грид-архитектура и её соотношение с Интернет-архитектурой протоколов.

Поскольку Интернет-архитектура протоколов простирается от сетевого уровня до прикладного, здесь показано отображение из грид-уровней в Интернет-уровни.

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

Наши рекомендации