Grid-технологии – естественный и современный продукт развития информационно-вычислительных инфраструктур в виде распределенной модели.
Исторически распределенные системы строились как
В результате объектно-ориентированный подход был заменен на «сервисно-ориентированный». На смену объектам пришли «сервисы», которые взаимодействуют посредством асинхронных «сообщений» — в отличие от прежнего механизма взаимодействия объектов в режиме «запрос-ответ». Таким образом, распределенные системы стали слабо связанными, накладные расходы на взаимодействие снизились, а масштабируемость улучшилась.
Сервис — это логическое и программное описание функциональности некоторого логического или физического ресурса (например, прикладной или системной программы, устройства, людей, вычислительных, информационных, сетевых средств).
Ресурсы публикуют сервисы в распределенной среде посредством своих интерфейсов. Таким образом, в сервисно-ориентированной системе все ресурсы выступают как провайдеры сервисов. А сервисно-ориентированная архитектура (СОА) определяет общий план, согласно которому функциональности сервисов и их интерфейсы можно организовывать в системные процессы.
История развития grid-технологий
Интернет, Всемирная паутина (World Wide Web (WWW), веб) и grid – связанные между собой, но различные технологии. Интернет это глобальная система сетей, соединяющая множество компьютеров и локальных (сравнительно небольших) сетей и позволяющая им взаимодействовать друг с другом. Веб это способ доступа к информации находящейся на удаленном, но включенном в Интернет компьютере. Grid – способ совместного использования ресурсов, распределенных по разным, географически удаленным друг от друга, точкам планеты.
Однако сейчас многие веб-сайты предоставляют динамические веб-страницы: содержание таких страниц может меняться в зависимости от запросов, которые делают пользователи (например, через веб-формы).
Это уже несколько ближе к grid — удаленные компьютеры предоставляют некоторые услуги (например, перевод фрагмента текста с одного языка на другой: это не что иное, как частный случай обработки данных – прямая аналогия с задачами gird).
Технологии распределенной обработки информации
... обработки информации; Рассмотреть механизм реализации технологии распределенной обработки информации с использованием удаленного вызова процедур; Проанализировать объектно-ориентированный подход к организации распределенной обработки информации; - Определить возможность взаимодействия вычислительных систем при реализации распределенной обработки ...
Намного интереснее и ближе к grid-технологиям то, что зачастую происходит «позади» динамических веб-страниц. Например, вы делаете заказ какого-либо товара на (динамической) странице интернет-магазина. После этого начинается обработка заказа: информация о заказе и клиенте заносятся в базу данных, через банковскую систему проверяется действительность кредитной карты клиента, запрос на товар передается на склад магазина или поставщику, и так далее. Если в компьютерном отношении этот магазин достаточно «продвинутый», эти действия выполняются не людьми, а специальными компонентами программного обеспечения – веб-сервисами, которые взаимодействуют друг с другом по стандартизованным протоколам.
Веб-страницы служат для обмена информацией между людьми, веб-сервисы – для взаимодействия компьютеров (точнее – прикладных программ на различных компьютерах) друг с другом. Отсюда – один шаг до создания системы grid-служб для запуска заданий на удаленных ресурсах, обработки и передачи данных, их мониторинга и сбора результатов. С общей функциональной точки зрения, от веб-сервисов grid отличается только тем, что каждая система веб-сервисов настроена на решение узкого набора конкретных задач, а grid – на решение широкого круга вычислительных задач и задач обработки и передачи данных на удаленных ресурсах. Но программные компоненты grid-среды, которые обеспечивают распределение вычислительных заданий, контроль их выполнения, передачу данных и т.д., могут быть созданы на основе веб-сервисных технологий – правда, с некоторыми расширениями и дополнительными стандартами.
Основной теоретической предшественницей современных grid-проектов считается инициатива Metacomputing, предложенная в середине 80-х годов исследователями из Национального центра суперкомпьютерных приложений США. Ее главная идея состояла в объединении нескольких суперкомпьютеров для достижения большей производительности. Одной из первых инфраструктур, реализующих эту идею, стала в 1995 году Wide Area Year (I-WAY).
Йан Фостер и Карл Кессельман, участвовавшие в разработке проекта, в том же году опубликовали первые материалы, а в 1997 году провели первый семинар на эту тему (Построение вычислительного grid-a — Building a Computational Grid).
Это и было рождением концепции grid. Позднее они стали редакторами книг, заложивших основы построения grid-систем. Необходимо отметить, однако, что Metacomputing была не единственной инициативой такого рода. Среди схожих по концепции проектов конца 80-х – начала 90-х можно отметить:
В 1998-2002 годах были разработаны общие основы создания сетевых структур для использования
Общие задачи технологии grid.
Концепция grid появилась как ответ на потребность в крупных информационно-вычислительных ресурсах, динамически выделяемых для решения громоздких задач в научной, индустриальной, административной и коммерческой областях деятельности. Создание grid-среды подразумевает распределение вычислительных ресурсов по территориально разделенным сайтам, на которых установлено специализированное программное обеспечение для того, чтобы распределять задания по сайтам и принимать их там, возвращать результаты пользователю, контролировать права пользователей на доступ к тем или иным ресурсам, осуществлять мониторинг ресурсов, и так далее. Общедоступные ресурсы на основе сайта могут включать вычислительные узлы и/или узлы хранения и передачи данных, собственно данные, прикладное программное обеспечение.
Пример 2. «Управление системой переработки, хранения и доставки продукции»
... курсовой работы Курсовая работа по теме «Управление системой переработки, хранения и доставки продукции» — представляет собой самостоятельную экономическую работу ... локальных задач, как: выбор поставщиков материально-технических ресурсов по определенным критериям при осуществлении процесса ... работе, который является наиболее приемлемым для данных экономических условий развития страны. Оформление и ...
Вычислительные ресурсы предоставляют пользователю grid-системы (точнее говоря, задаче пользователя) процессорные мощности. Вычислительными ресурсами могут быть как кластеры, так и отдельные рабочие станции. При всем разнообразии архитектур любая вычислительная система может рассматриваться как потенциальный вычислительный ресурс grid-системы. Необходимым условием для этого является наличие ППО (промежуточное программное обеспечение), реализующего стандартный внешний интерфейс с ресурсом и позволяющего сделать ресурс доступным для grid-системы. Основной характеристикой вычислительного ресурса является производительность.
Ресурсы хранения также используют ППО, реализующее унифицированный интерфейс управления и передачи данных. Как и в случае вычислительных ресурсов, физическая архитектура ресурса памяти не принципиальна для grid-
Информационные ресурсы и каталоги являются особым видом ресурсов хранения данных. Они служат для хранения и предоставления метаданных и информации о других ресурсах grid-системы. Информационные ресурсы позволяют структурировано хранить огромный объем информации о текущем состоянии grid-системы и эффективно выполнять задачи поиска ресурсов.
Сетевой ресурс является связующим звеном между распределенными
Основными общими задачами grid являются:
- создание из серийно выпускаемого оборудования широкомасштабных распределенных вычислительных систем и систем обработки, комплексного анализа и мониторинга данных, источники которых также могут быть (глобально) распределены;
- повышение эффективности вычислительной техники путем предоставления в grid временно простаивающих ресурсов.
Типы grid-систем с точки зрения решаемых задач.
Grid-системы подразделяются на
- вычислительный grid (Computational Grid),
- grid для интенсивной обработки данных(Data Grid),
- семантический grid для оперирования данными из различных баз данных (Semantic Grid).
Целью первого направления является достижение максимальной скорости вычислений за счет глобального распределения этих вычислений между тысячами компьютеров, а также, возможно, серверами и суперкомпьютерами.
Разработка базы данных для автоматизированной системы управления ...
... работу одного экземпляра базы данных на нескольких узлах grid, позволяя управлять нагрузкой и гибко масштабировать систему в случае необходимости. Automatic Storage Management (ASM) позволяет автоматически распределять данные между имеющимися ресурсами систем хранения данных, ... Описание структуры курсового проекта: В данной работе рассматривается предметная область магазина «ТехноТорг». Ее целью ...
Целью второго направления является обработка огромных объемов данных относительно несложными программами.
Grid-системы третьего направления — семантические — предоставляют инфраструктуру для выполнения вычислительных задач на основе распределенного мета-информационного окружения, позволяющего оперировать данными из разнотипных баз, различных форматов, представляя результат в формате, определяемом приложением.
Общность и различия с суперкомпьютерами.
Не все проблемы лучше всего решать, используя распределенные кластеры на основе grid-технологий. Суперкомпьютеры незаменимы для некоторых научных проблем, типа составления прогноза погоды, когда множество процессоров должны часто общаться друг с другом. Очевидно, что такое частое общение невозможно обеспечит для географически распределенных и, возможно, аппаратно-неоднородных ресурсов в grid-среде. Другими словами, grid не слишком подходит для параллельных вычислений с интенсивным межпроцессорным обменом. Основными препятствиями для осуществления нетривиальных параллельных вычислений в grid-среде является нестабильность, плохая предсказуемость времени отклика на запрос. Причем это связано не только с тем, что в компьютерных сетях информационные пакеты проходят через множество сетевых устройств, но и с различиями в протоколах связи используемых во внешних компьютерных сетях и для межпроцессорного обмена внутри суперкомпьютеров. Это не позволяет эффективно организовать параллельные вычисления с интенсивным обменом информацией между процессорами, выполняющими отдельные подзадачи, в grid-среде.
Grid-технология не является технологией параллельных вычислений, она предназначена для удаленного запуска отдельных задач на территориально распределенные ресурсы. Поэтому если громоздкая задача, которую необходимо решить, может быть разбита на большое количество маленьких, независимых (не обменивающихся никакими данными) частей, — grid-технология оказывается особенно эффективным и относительно дешевым решением. Напротив, суперкомпьютеры оказываются для таких вычислений неоправданно дорогим и неэффективным решением. В англоязычной литературе такие прикладные задачи иногда называют «bag-of-tasks» — сумка/мешок задач: вычисления для каждой выполняются независимо, а в конце пользователь или программное обеспечение просто должны соединить результаты индивидуальных вычислений. Типичными примерами таких задач являются:
Задача о замене оборудования
... практическому материалу. А также пять скриншотов показывающих результаты вычислений программы. Задача о замене оборудования состоит в определении оптимальных сроков замены старого оборудования. Старение оборудования включает его физический и моральный износ. В результате ...
- массовая обработка потоков экспериментальных данных большого объема (зачастую изучаемое явление можно разделить на отдельные независимые события и экспериментальные результаты по каждому событию обрабатывать независимо от других);
- визуализация больших наборов данных (отдельные области визуального представления обрабатываются независимо, а потом «склеиваются»);
- сложные бизнес-приложения с большими объемами вычислений (разбиение на части зависит от конкретного характера задачи).