Иерархия параллельных вычислительных систем - Повышение производительности работы библиотеки GridMD
Одной из основополагающих классификаций параллельных систем является Таксономия Флинна, в которой различаются следующие типы систем по взаимодействию потоков данных и управляющих данными потоков команд [3] :
- - SISD (Single instruction, single data). К этому классу относятся обычные последовательные ЭВМ, в которых один поток команд обрабатывает один поток данных. - SIMD (Single instruction, multiple data). К системам этого класса можно отнести Векторно-конвейерные компьютеры, которые обрабатывают каждый элемент данных из некоего множества одной командой за один такт. Например, это может быть поэлементное сложение двух массивов чисел. Типичным представителем этого типа является векторно-конвейерный компьютер Cray-1 (1976). - MISD (Multiple instruction, single data). Множество потоков команд и один поток данных. Некоторые специалисты считают, что введение подобного класса необходимо лишь для полноты классификации, и примера подобных систем не существует. - MIMD (Multiple Instruction, Single Data). В этом классе сосредотачивается большинство типов современных параллельных вычислительных систем, где множество команд обрабатывают множество данных.
Ширина существующих типов вычислительных систем класса MIMD приводит к дальнейшей их классификации по способу организации памяти и однородности составляющих систему компонентов. Выделяют системы с общей памятью (Мультипроцессорные системы) и с Распределенной памятью (мультикомпьютерные системы), а так же Гомогенные и Гетерогенные системы соответственно.
К системам с общей памятью (Рис. 1) относятся Симметричные мультипроцессоры (SMP), состоящие из совокупности процессоров, имеющих общую память и общее адресное пространство. Преимущество этих систем в скорости взаимодействия процессоров между собой через общую память и локальную шину, недостаток - в невысокой степени масштабируемости системы. Дело в том, что каждый из процессоров имеет собственную кэш память, где сохраняются данные, к которым процессор обращается наиболее часто. Процессор сначала обращается к своему кэшу, и только в случае отсутствия требуемых данных обращается к оперативной памяти. Тогда возникает необходимость в Согласованности кэшей процессоров, ведь при изменении общих данных процессоров данные должны обновиться и в кэшах каждого из них. Согласование кэшей обеспечивается на аппаратном уровне, и затруднят создание систем с большим количеством процессоров.
Наличие общей памяти и разделяемых переменных приводит к необходимости синхронизации взаимодействия параллельно выполняемых потоков команд. Например, доступ на изменение общих данных должен быть доступен только одному процессору в один момент времени. Такое поведение называется Взаимоисключением. Вопросы взаимоисключения и синхронизации потоков команд характерны для систем с общей памятью и требуют рассмотрения при программировании параллельных алгоритмов на этих системах.
Рис. 1 Организация систем с общей памятью
Системы с распределенной памятью (Рис. 2) состоят из процессоров, имеющих свою собственную память и адресное пространство. Таким образом, каждый процессор может использовать только свою локальную память, а для доступа к данным в памяти другого процессора используется Механизм передачи сообщений. Такие системы хорошо масштабируемы, но время межпроцессорного взаимодействия в них заранее не определено. Как правило, скорость межпроцессорного взаимодействия гораздо ниже скорости обработки данных отдельным процессором, и зависит от характеристик каналов связи. Это вносит задержки при исполнении параллельных алгоритмов, что должно учитываться при их разработке.
Рис. 2 Организация систем с распределенной памятью
На основе этого подхода строятся Массово-параллельные системы (MPP) и Кластеры. Массово параллельные системы отличаются от кластеров более высокопроизводительными каналами связи и компонентами и их однородностью. Кластер - это объединение компьютеров, в общем случае неоднородного состава, посредством специального аппаратно - программного обеспечения, представляющееся пользователю как единый ресурс для выполнения вычислительных задач [3]. Они могут быть сконструированы из типовых компьютерных элементов, не требующих значительных финансовых затрат.
Программирование параллельных алгоритмов для систем с распределенной памятью должно происходить в соответствии с минимизацией взаимодействия между независимыми процессами. Это, в свою очередь, снижает сложность разработки параллельных методов вычислений, предоставляя возможность оформить вычислительные задачи как крупные независимые части расчетов.
До сих пор мы рассматривали Гомогенные системы, в которых вычислительные узлы объединены сетью, использующей единую технологию. В Гетерогенных системах сеть может быть сильно неоднородной, как и программное и аппаратное обеспечение составляющих систему вычислительных узлов. Ярким примером являются Grid-системы - географически распределенные вычислительные системы, объединяющие разнородные ресурсы и предоставляющие коллективный доступ к ним. Grid-системы предоставляют инфраструктуру, в которой компьютеры, соединенные посредством сети Internet или другой крупной компьютерной сети, с помощью программного обеспечения промежуточного уровня и сетевых служб реализуют виртуальный ресурс для выполнения масштабных вычислительных задач, таких как совместная визуализация больших наборов научных данных или распределенная обработка в целях их анализа.
Таким образом, рассмотренные детали организации возможных типов параллельных вычислительных систем говорят о том, что самым подходящим способом аппаратной реализации распределенной системы являются Системы с распределенной памятью, поскольку они поддерживают независимость и гетерогенность своих вычислительных узлов.
Однако для управления аппаратными средствами необходимо специальное программное обеспечение, реализующее все характерные требования к распределенным системам. Существующие программные концепции будут рассмотрены в следующем разделе.
Похожие статьи
-
Программное обеспечение промежуточного уровня (middleware) Является основной концепцией по организации программного обеспечения распределенных систем...
-
Обозначенные условия определяют работу по внедрению многопоточных средств в модели параллельного программирования С общей памятью с использованием...
-
Общие сведения о библиотеке GridMD Библиотека GridMD является инструментом разработчика распределенных приложений [8][9][10]. Приложение, разделяемое на...
-
Workflow-методология - Повышение производительности работы библиотеки GridMD
Суть workflow-методологии хорошо отражена в определении, данным Workflow Management Coalition [5] - это автоматизация бизнес процесса, при котором...
-
Общие сведения о распределенных вычислениях Обычно под Распределенными вычислениями понимают область знаний, изучающую организацию Распределенных систем...
-
В рамках данной работы будет произведена оптимизация выполнения Локальных узлов графа исполнения. В процессе исполнения графа возможна итерация, в...
-
Создание очереди заданий - Повышение производительности работы библиотеки GridMD
Для организации работы потоков был выбран паттерн проектирования Пул потоков (Thread Pool) [16] . Пул потоков является объектом, которому возможна выдача...
-
В качестве доступного инструментария были рассмотрены две открытые кроссплатформенные библиотеки для разработки C++ приложений WxWidgets и Boost ,...
-
Основные компоненты библиотеки - Повышение производительности работы библиотеки GridMD
Двумя главными компонентами библиотеки GridMD является менеджер сценариев и менеджер заданий (Рис. 4) [10]. Менеджер сценариев разбирает определенный...
-
Введение - Повышение производительности работы библиотеки GridMD
На сегодняшний день уровень развития вычислительной техники и средств доступа к вычислительным ресурсам предоставляет значительные возможности по...
-
Заключение, Список используемых источников - Повышение производительности работы библиотеки GridMD
В работе произведена успешная оптимизация выполнения локальных узлов графа исполнения приложений, основанных на библиотеки GridMD. В качестве метода для...
-
Библиотека GridMD поддерживает три механизма определения действий, связываемых с узлами графа [8]. Узел графа может соответствовать исполнению стороннего...
-
Анализ основных вопросов классификаций распределительных вычислительных систем
Сегодня к распределенным вычислительным системам относят: вычислительные кластеры, SMP - симметричные мультипроцессоры, DSM - системы с распределенной...
-
Тестирование эффективности многопоточной реализации исполнения локальных узлов производилось на примере расчета определенного интеграла функции. Расчет...
-
Одной из особенностей библиотеки GridMD является поддержка Алгоритмических шаблонов распределенных вычислений. Алгоритмические шаблоны являются...
-
Механизм исполнения GridMD приложения - Повышение производительности работы библиотеки GridMD
Управление исполнением графа осуществляется обособленно из Клиентского приложения, осуществляющего вызовы интерфейсных функций библиотеки GridMD [8]....
-
Модель вычислительного процесса в GridMD - Повышение производительности работы библиотеки GridMD
Узлы графа исполнения, используемого в GridMD, представляют собой конкретные этапы исполнения, с которыми связываются действия, определяемые программным...
-
Коммуникационная библиотека PVM - Администрирование параллельных процессов
PVM (Parallel Virtual Machine) является продуктом исследовательского проекта по сетевым вычислениям в гетерогенной сетевой среде. Общая цель этого...
-
В современной технологии баз данных предполагается, что создание базы данных, ее поддержка и обеспечение доступа пользователей к ней осуществляются...
-
Объектно-ориентированные СУБД Несмотря на большую популярность реляционных СУБД, развитие технологии появления данными на них не остановилось. Развитие...
-
Программное обеспечение Графический симулятор ЛВС TFTP - сервер для импорта экспорта файлов конфигурации. Межсетевая операционная система (CISCO IOS) -...
-
В данном разделе была разработана функциональная схема работы программного комплекса, которая в общем виде описывает состав комплекса, характер и виды...
-
Требования к аппаратным и операционным ресурсам Для разработки данного программного приложения будет использована Windows XP Professional. Данная...
-
Структура кластера и его параметры Вычислительный кластер -- это совокупность компьютеров, объединенных в рамках некоторой сети для решения одной задачи,...
-
Описание запуска, Инструкции по работе, Сообщения пользователю - Информационная система Вуза
Для запуска разработанного программного продукта необходимо открыть запускной файл (файл с расширением *.exe) (см. рис. 6). Рисунок 5- Запуск...
-
Вычислительные эксперименты для оценки эффективности параллельного варианта метода Гаусса для решения систем линейных уравнений проводились при следующих...
-
Цель Работы - использовать принципы архитектуры "Документ-Представление" для выборки и сохранения данных в файлах, а также взаимодействия элементов меню,...
-
Строгое определение протокола выглядит как формализованный набор правил, используемый ПК для коммуникаций. Из-за сложности коммуникаций между системами и...
-
Модели параллельных вычислений - Администрирование параллельных процессов
Параллельное программирование представляет дополнительные источники сложности необходимо явно управлять работой тысяч процессоров, координировать...
-
Технологии распределенных вычислений (РВ) Современное производство требует высоких скоростей обработки информации, удобных форм ее хранения и передачи....
-
База данных представляет собой информационную модель того объекта (организации или предприятия), информация о котором требуется пользователю для...
-
Архитектура фон Неймана - Характеристика, классификация и принцип работы центральных процессоров
Большинство современных процессоров для персональных компьютеров в общем основаны на той или иной версии циклического процесса последовательной обработки...
-
Цели создания проекта - Администрирование параллельных процессов
Создание кластера для организации параллельных вычислений связано с развитием и внедрением таких суперсистем, использование которых позволит упростить...
-
SimpleXML. В PHP версии 5.0 и выше появилось расширение для работы с xml структурой. Библитека SimpleXML содержит большое количество методов для работы с...
-
Как отмечалось, входной язык системы MathCAD -- интерпретирующий. В интерпретаторах, например в добром старом Бейсике, листинг программы пользователя...
-
Этап Содержание работ Результаты работ Срок 1 Анализ существующей ЛВС Список критических точек сети, в которых необходимо резервирование оборудования,...
-
Плановый срок начала работ по модернизации локальной вычислительной сети административного здания (корпус II) НГУ им. Н. И. Лобачевского - 7 февраля 2013...
-
Общие сведения о работе системы Название Проекта: Информационная система учета службы горючих и смазочных материалов войсковой части Программное...
-
Тестирование и отладка системы - Исследование и модернизация локальной вычислительной сети
Тестирование системы является одной из завершающих стадий в процессе проектирования. На этом этапе проверяется соответствие созданной распределенной...
-
В связи с увеличением числа сотрудников, работающих в компании, а также с расширением рабочего проекта, возникла проблема, связанная с версионностью...
Иерархия параллельных вычислительных систем - Повышение производительности работы библиотеки GridMD