Яемой памятью. К этой группе относятся многоядерные и многопроцессорные эвм, каждый процессор которых имеет доступ к общему устройст - davaiknam.ru o_O
Главная
Поиск по ключевым словам:
страница 1
Похожие работы
Название работы Кол-во страниц Размер
Цель: изучить способы представления чисел в памяти компьютера 1 26.66kb.
Титовец Т. Е. Белорусский государственный педагогический 1 79.25kb.
Логические основы ЭВМ 1 181.11kb.
Религиозный мир Армянская католическая церковь в России: исторический... 3 369.89kb.
2. информационные процессы в системах 1 51.6kb.
Память пк концепция многоуровневой памяти 2 376.67kb.
Задача а «Шифр перестановки» 1 126kb.
В каком поколении машин появились первые операционные системы? 1 45.64kb.
Программа для ЭВМ (согласно статье 1261 гк рф) представленная в объективной... 1 127.24kb.
Мешкозашивочные машины 1 117.46kb.
Архитектура и структура ЭВМ 1 74.09kb.
Дадим определения 1 137.78kb.
Направления изучения представлений о справедливости 1 202.17kb.

Яемой памятью. К этой группе относятся многоядерные и многопроцессорные эвм, каждый - страница №1/1

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

Один из таких критериев – способ взаимодействия процессов в параллельной системе. С этой точки зрения различают два вида систем.

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

2) Системы с распределённой памятью, в которых каждый процессор имеет доступ только к своему устройству памяти. Такие системы называют распределёнными, и они обычно представляют собой группу независимых ЭВМ, соединённых сетью. Для взаимодействия в таких системах используется механизм обмена сообщениями, который будет рассмотрен ниже.

При классификации параллельных вычислительных систем также часто применяют подход, известный под названием «Таксономия Флинна» [13]. Это общая классификация архитектур вычислительных систем по признакам наличия параллелизма в потоках команд и данных, предложенная в начале 1970-х профессором Стэндфордского университета Майклом Флинном. Всё разнообразие архитектур ЭВМ в этой классификации сводится к четырём классам:

1) SISD (Single Instruction stream over a Single Data stream) – вычислительная система с одиночным потоком команд и одиночным потоком данных. Соответствует традиционной архитектуре фон Неймана без параллелизации.

2) SIMD (Single Instruction, Multiple Data) – вычислительная система с одиночным потоком команд и множественным потоком данных. Типичные представители этой группы – векторные процессоры, у которых, в отличие от традиционных скалярных процессоров, каждая инструкция работает не с единственным значением (например, регистром), а с массивами значений.

3) MISD (Multiple Instruction, Single Data) – вычислительная система с множественным потоком команд и одиночным потоком данных. К классу MISD ряд исследователей относит конвейерные ЭВМ, однако это не нашло окончательного признания.

4) MIMD (Multiple Instruction, Multiple Data) – вычислительная система с множественным потоком команд и множественным потоком данных. Такие системы включают несколько процессоров, которые функционируют асинхронно и независимо. В любой момент, различные процессоры могут выполнять различные команды над различными частями данных. Именно к этой группе относятся широко применяемые многоядерные, многопроцессорные и распределённые системы. В рамках этой группы следует отметить такие архитектуры, как SMP и SPMD.

SMP (Symmetric Multiprocessing), или симметричная мультипроцессорность – это архитектура многопроцессорных компьютеров, в которой два или более одинаковых процессоров подключаются к общей памяти. SMP поддерживается большинством многоядерных и многопроцессорных ЭВМ и позволяет использовать в программе многопоточность – возможность одновременного выполнения в одном адресном пространстве нескольких последовательностей команд. Для программирования многопоточных приложений создан стандарт OpenMP (Open Multi-Processing), который описывает ряд библиотечных функций для создания потоков, синхронизации и распределения работы между потоками.

Другой MIMD-подход к пареллелизации – это SPMD (single program, multiple data). В этой модели вычислительные процессы работают с разными данными на разных процессорах, но представляют собой разные ветви одной программы. Т.е. после запуска процесса начинаются выполняться различные части алгоритма в зависимости от того, на каком процессоре запущен исполняемый файл. SPMD, в отличие от SMP, обычно реализуется на основе полноценных процессов с независимыми адресными пространствами, а не потоков. Существует также подход MPMD (Multiple Program, Multiple Data), в котором на разных процессорах запускаются разные исполняемые файлы, каждый для решения своей задачи. Такой подход применяется реже и по своей схеме применения мало отличается от SPMD. Как правило, именно SPMD-модель используется при распределённых вычислениях, производимых на независимых машинах. Компьютеры при распределённых вычислениях объединены сетью: локальной, глобальной, а в некоторых суперкомпьютерах – с помощью специальных сетевых технологий. Группу компьютеров, использующуюся для распределённого решения одной задачи, часто называют кластером. Слабосвязанные кластеры, основанные на обычных пользовательских компьютерах и объединённых сетью Интернет, называют грид-системой, или виртуальным суперкомпьютером.

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

В SPMD-модели обмен сообщениями обычно представляют собой передачу пакетов по сети. Все системы распределённых систем, включая данный дипломный проект, так или иначе используют обмен сообщениями, который может быть реализован с помощью различных технологий: RPC, CORBA, .Net_Remoting, WCF или иным способом. Специально для распределённых вычислений были разработан стандарт обмена сообщениями MPI.


Ещё про MPMD
хотя этот подход применяется и в системах с разделяемой памятью (часто с NUMA-схемой <в определения> памяти).

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

[13] Flynn, M. (1972). "Some Computer Organizations and Their Effectiveness". IEEE Trans. Comput. C-21: 948.



[14] McQuillan, John M.; David C. Walden (1975). "Some considerations for a high performance message-based interprocess communication system". Proceedings of the 1975 ACM SIGCOMM/SIGOPS workshop on Interprocess communications, ACM Press

[15] Hillis, W. Daniel and Steele, Guy L. “Data Parallel Algorithms Communications of the ACM” December 1986




Если вам не нравится ваш начальник, поставьте себя на его место. Леонид Леонидов
ещё >>