В. А. Васенин, В. А. Роганов, А. Ф. Слепухин



Скачать 149.01 Kb.
Дата30.04.2016
Размер149.01 Kb.
МЕТАКОМПЬЮТИНГ, РАСПРЕДЕЛЕННЫЕ ПРИЛОЖЕНИЯ В INTERNET И СИСТЕМА GRACE



В.А. Васенин, В.А. Роганов, А.Ф. Слепухин


Московский государственный университет

Центр телекоммуникаций и технологий Интернет



e-mail: vasenin@msu.ru, var@msu.ru, pooh@msu.ru

Идея метакомпьютинга стала активно обсуждаться в начале 90-х годов в связи с появлением высокоскоростной сетевой инфраструктуры и началом строительства vBNS (very high speed Backbone Network Services - первой суперскоростной опорной магистрали NSFNet) в США. Ее суть состоит в объединении информационно-вычислительных ресурсов сети для решения одной задачи. При этом задача может быть как ведомственного или корпоративного масштаба, для решения которой достаточно задействовать вычислительные ресурсы локальной сети организации или корпоративной сети, так и глобального масштаба, требующая информационно-вычислительных ресурсов, которыми не располагает ни одна корпоративная сеть. В этом случае для ее решения необходимо привлекать мощности сети более широкого масштаба или более подходящие ресурсы, в том числе, может быть, высокопроизводительные кластерные системы и суперкомпьютеры.

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

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

1. Успехи в создании и развитии высокоскоростной сетевой инфраструктуры на основе волоконно-оптических линий связи.

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

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

Метакомпьютерные проекты охватывают сегодня достаточно широкий класс проблем, от задач переборно-поискового характера (http://www.distributed.net; http://www.mersenne.org; http://www.setiathome.ssl.berkeley.edu) в исследовательских целях, задач рекламно-маркетингового типа в сфере бизнеса (http://www.cerentis.com) до организации среды распределенных вычислений в Internet, включающей вычислительные комплексы, экспериментальные установки и системы визуализации (проект создания технологической среды GRID, http://www.globus.org) и объединения высокопроизводительных ресурсов суперкомпьютерных центров (http://www.ccs.ornl.gov/MCP/; http://legion.virginia.edu). Каждая из этих задач имеет свою специфику. Одни, например переборно-поисковые, не предъявляют жестких требований к дисциплине взаимодействия вычислительных узлов и уже в ближайшее время могут быть доведены до практического применения. Другие по существу ориентированы на активное взаимодействие вычислительных узлов, причем с разной архитектурой и производительностью, на режим использования распределенной разделяемой памяти. Подходы к эффективному решению таких задач требуют времени на разработку и апробацию адекватных методических подходов, механизмов их реализации в виде программного обеспечения.

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

Метакомпьютинг и метасеть Internet

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

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


  • огромные масштабы сетевой инфраструктуры и беспрецедентно быстрая эволюция поддерживающих ее технологий и сервисов;

  • существенно распределенный и гетерогенный характер среды передачи и информационно-вычислительных ресурсов, которые могут быть задействованы для решения задач;

  • объективно высокие темпы изменения и актуализации данных в сетях большого масштаба и отсутствие априорных схем описания структур организации данных в таких сетях.

К узким местам такого сорта систем, имея в виду рассматриваемые задачи и приложения Internet, следует отнести:

  • ограниченность процедурных (функционально-модульных) подходов, традиционно реализуемых в их программном обеспечении;

  • проблемы масштабируемости, связанные с гетерогенностью аппаратно-программной среды, в том числе проблема преобразования данных;

  • проблема равномерного распределения загрузки вычислительных и коммуникационных ресурсов;

  • отказоустойчивость и динамическая реконфигурация.

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

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

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

Одной из важнейших на сегодня для разработчиков информационных систем и контент-провайдеров в Internet выступает проблема управления квазиструктурированными данными: навигация и систематизация, поиск и модификация, поддержка целостности и информационная безопасность. Каждая из перечисленных задач является важной. Существуют разные подходы к их решению [3]. Остановимся на некоторых особенностях подходов к описанию структур данных.

Одним из перспективных для описания модели квазиструктурированных данных считается подход, основанный на использовании XML. Среди различных потенциальных сценариев его применений [4]: возможность использовать для запросов и модификации данных; для разработки интерфейсов к традиционным (строго структурированным) базам данных; как формат представления данных или метаданных. Ключевой в этом перечне сценариев и наименее отработанной в настоящее время является так называемая манипуляционная составляющая модели данных, включающая механизмы навигации (в условиях апостериорной схемы), организации доступа к данным, чтения и, если необходимо, их модификации. Решение задач на этом пути требует механизмов:


  • эффективного анализа (навигации) структур организации XML-данных;

  • основанных на декларативных подходах к построению программного обеспечения реализации языков запросов;

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

  • оперативного обмена данными или результатами их обработки в различных приложениях, распределенных на вычислительных узлах гетерогенных IP-сетей;

  • синхронизации транзакций, в том числе распределенных, для иерархически организованных, сложных систем;

  • обеспечения высокой степени отказоустойчивости взаимодействующих систем.

Представляется, что при выборе механизмов и на этапе разработки программных средств реализации декларативных языков запросов к XML базам данных целесообразно ориентироваться на подходы, основанные на функциональном программировании [5]. Функциональная модель при этом обеспечивает: произвольную глубину рекурсии для обхода данных, прозрачность по ссылкам, ленивую обработку данных.

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

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

Рассмотрим некоторые посылки для решения перечисленных, а также ряда других проблем, отталкиваясь от механизмов, прямо связанных с реализацией идей и методологией метакомпьютинга. Ответ на многие из поставленных вопросов может дать система GRACE (Graph Reduction Approach for Cluster Environment), разработанная в рамках открытого исследовательского проекта в Центре телекоммуникаций и технологий Интернет МГУ им. М.В.Ломоносова [5]. Одной из главных посылок для ее разработки было создание аппаратно-программной среды для решения крупных информационно-вычислительных задач в сети Internet.



Система GRACE и распределенные приложения

Технология GRACE появилась как результат разработки методов гибридизации функциональной модели вычислений и современных кластерных технологий. Исторически GRACE является наследницей разработанной в ИПС РАН Т-системы (http://www.botik.ru/~t-system), и является средством динамического распараллеливания программ, написанных на императивных языках программирования, являющихся расширениями привычных Cи, Cи++, Fortran. В своей основе GRACE базируется на параллельной редукции графов (ПРГ), одном из наиболее эффективных принципов реализации параллельных функционально-потоковых вычислительных схем (детальное описание ПРГ см. в книге [6], а также статьи http://cluster.msu.ru/articles/30-10-2000/index.html, http://www.botik.ru/~abram/blackhead).

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

Достоинства, присущие функционально-потоковой модели вычислений, обеспечивают ряд ценных качеств, которые наиболее ярко проявляются при вычислениях в кластерных и метакластерных вычислительных средах:



  • отсутствует необходимость в общей памяти;

  • обеспечивается локализация и мемоизация пересылок данных;

  • реализуется ленивая подкачка данных.

Масштабируемость. В системе GRACE реализованы различные схемы взаимодействия по данным, эффективное использование как SMP, так и сетевого взаимодействия между отдельными компьютерами. Ее можно использовать как при вычислениях на компьютерах с общей памятью, так и в слабосвязных вычислительных комплексах. При этом допускается и должно эффективно использоваться их объединение в метакластеры.

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

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

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

Транспортные протоколы. Разработка внутренних принципов взаимодействия вычислительных узлов базируется на наиболее широко распространенном стандарте MPI. Они позволяют организовать эффективный обмен данными через сеть и успешно реализованы большинством производителей для высокоскоростных сетей SCI, Myrinet и т.д. Несмотря на это, имеются возможности и обоснованные предпосылки для поддержки и других транспортных протоколов (в том числе IMPI - Interoperable Message Passing Interface), поскольку для организации динамической реконфигурации вычислительного поля нужно иметь живучесть, как самого протокола взаимодействия, так и возможность распознать выход отдельных вычислительных узлов из строя. Это позволяет эффективно объединять сильносвязные кластеры по глобальным сетям, а также реализует несколько расширений, использование которых позволяет динамически изменять конфигурацию кластера и получать уведомление об отказах узлов. Тем не менее, может оказаться, что потребуется реализации активных сообщений поверх более низкоуровневых (более живучих) протоколов передачи данных.

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

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

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

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

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

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

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

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

Как нетрудно заметить, в предложенной схеме с возвращаемыми результатами чистых функций ассоциируется совершение тех или иных сторонних действий по модификации данных. Это довольно известный прием, позволяющий включить в функциональную модель так называемые сторонние эффекты. Необходимо отметить, что в последние годы теория функционального программирования обогатилась новыми понятиями (такими как монадические операции и монотонные объекты [7]), которые позволяют включить в функциональную модель многие алгоритмические схемы со сторонними эффектами (т.е. изменениями внешних данных).



Заключение

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



Литература

  1. Васенин В.А. Internet: от настоящего к будущему. "Открытые системы", No.12, 2000, C.36-44.

  2. Васенин В.А. Высокопроизводительные научно-образовательные сети России. Настоящее и будущее. - М.: Изд-во МГУ, 1999, C.32.

  3. Гринев М. Системы управления полуструктурированными данными. "Открытые системы", No.5, 2000.

  4. Гринев М, Кузнецов С. XML модели данных, языки запросов к XML базам данных и представление метаданных. Вторая всероссийская молодежная школа "Суперкомпьютерные вычисления - информационные технологии в физических и химических исследованиях". Сборник лекций, Черноголовка, 2000.

  5. Абрамов С.М., Васенин В.А., Мамчиц Е.Е., Роганов В.А., Слепухин А.Ф. Динамическое распараллеливание программ на базе параллельной редукции графов. Архитектура программного обеспечения новой версии Т-системы. "Высокопроизводительные вычисления и их приложения". Труды Всероссийской научной конференции, г.Черноголовка, 2000.

  6. Филд A., Харрисон П. Функциональное программирование. М.: Мир, 1991, С.637.

  7. http://www.dcs.gla.ac.uk/~www/Monad.html

A right thing should be simple (tm)


База данных защищена авторским правом ©refedu.ru 2016
обратиться к администрации

    Главная страница