Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГОСЫ 2015 / ГОСЫ 2015 / Параллельные вычисления.doc
Скачиваний:
50
Добавлен:
15.02.2016
Размер:
331.78 Кб
Скачать

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

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

На сегодняшний день широкое применение в прикладном параллельном программировании получили три основные модели:

  1. модель распределенного адресного пространства – реализована в библиотеке передачи сообщений MPI, не зависит от архитектуры памяти вычислительной системы и может быть использована как на общей, так и на распределенной памяти;

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

  3. смешанная модель MPI и OpenMP – эффективно использует смешанную архитектуру памяти вычислительных систем. Как правило, вычислительные узлы современных высокопроизводительных комплексов кластерного типа имеют многопроцессорную мультиядерную архитектуру. Большинство прикладных задач, выполняемых на многопроцессорных вычислительных комплексах с архитектурой распределенной памяти, использует технологию двухсторонних коммуникаций, реализованную в операциях приема/передачи MPI. Использование безобменных средств потокового распараллеливания при выполнении арифметической работы внутри вычислительного узла, потенциально, способно повысить производительность параллельных вычислений. Однако нередко эффективность использования потокового распараллеливания ограничена особенностями вычислительного алгоритма задачи, например, требует выполнения процедур синхронизации при обращении к общим ячейкам памяти.

Эффективной альтернативой основным моделям параллельного программирования способна стать модель распределенного глобального адресного пространства (PGAS – partitioned global address space), реализованная в расширениях основных языков программирования высокого уровня Си и Фортран, на которых реализована значительная часть параллельных программ. Расширением Си является язык Unified Parallel C (UPC). В основе UPC лежит функционально расширенный стандарт языка Си. Расширение Фортрана 95 является язык Coarray Fortran (CAF), впервые реализован и поддерживается в Cray Fortran для платформы Cray XT в составе Cray Compiler Environment..

На рисунке схематично отображен механизм обращения процессов(потоков) к адресному пространству задачи для следующих технологий параллельного программирования: MPI, OpenMP и PGAS.

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

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

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

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

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

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

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

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

Идея грид-компьютинга возникла вместе с распространением персональных компьютеров, развитием интернета и технологий пакетной передачи данных на основе оптического волокна (SONET, SDH и ATM), а также технологийлокальных сетей (Gigabit Ethernet). Полоса пропускания коммуникационных средств стала достаточной, чтобы при необходимости привлечь ресурсы другого компьютера. Учитывая, что множество подключенных к глобальной сети компьютеров большую часть рабочего времени простаивает и располагает большими ресурсами, чем необходимо для решения их повседневных задач, возникает возможность применить их неиспользуемые ресурсы в другом месте.

Сравнение грид-систем и обычных суперкомпьютеров

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

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

Типы грид-систем

В настоящее время выделяют три основных типа грид-систем:

  1. Добровольные гриды — гриды на основе использования добровольно предоставляемого свободного ресурса персональных компьютеров;

  2. Научные гриды — хорошо распараллеливаемые приложения программируются специальным образом (например, с использованием Globus Toolkit);

  3. Гриды на основе выделения вычислительных ресурсов по требованию (коммерческий грид, англ. enterprise grid) — обычные коммерческие приложения работают на виртуальном компьютере, который, в свою очередь, состоит из нескольких физических компьютеров, объединённых с помощью грид-технологий.

10

Соседние файлы в папке ГОСЫ 2015