Принцип матричной обработки


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

Сложение матриц


Заданы 2 матрицы А и В. Вычислить матрицу С, которая равна поэлементной сумме этих матриц: С=А+В. Элемент ij матрицы С есть сумма соответствующих элементов матриц А и В: cij=aij+bij , где i=1..m, j=1…n. a) Пусть имеется mxn матричных процессоров. Элементы матриц А и В записываются в соответствующие ПЭ. Номер ПЭ соответствует индексу элементов матриц.

Матричные операции условной обработки


Запишем, что мы хотим вычислить Для решения этой задачи нам не уйти от задания различных команд различным ПЭ. В данном случае здесь выполняемая команда зависит от данного, имеющегося в локальной памяти ПЭ.

Ассоциативные системы


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

Принцип ассоциативной обработки


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

Обработка данных и обработка команд


1. Данные из памяти выбираются по содержимому или части содержимого, а не по адресу, то есть не используется линейная организация памяти для хранения данных. 2. Операция обработки осуществляется одновременно над несколькими элементами данных под управлением одной команды. То есть ассоциативные системы относятся к классу по Клину: одиночный поток команд и множественный поток данных. Особенность в Читать далее

Поразрядно-последовательные системы


Идея здесь проста. Мы знаем, что каждое слово, которое может быть записано в ячейку АЗУ может быть разделено на разряды. Число разрядов, предположим, ограничено и равно m. Может быть есть смысл не обрабатывать сразу параллельно все m разрядов для ассоциативного поиска, а этот процесс разделить на m частей, т.е. обрабатывать разряды последовательно, но параллельно по Читать далее

Ортогональные системы


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

Систолические и волновые системы


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

Волновые системы


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

Усложнение ПЭ


a) Использование локальной памяти в ПЭ-х. Можно было бы ввести еще одну ось, которая называется адрес текущего элемента локальной памяти, то есть вы даете последовательность адресов, которая проходя определяет один из операндов, который извлекается из локальной памяти, участвует в обработке ПЭ.

Систолические алгоритмы


1. Символьная обработка: поиск вхождения подстроки в строку. Предположим у нас имеется 2 строки: А=а1,а2,а3…аn и В=b1,b2,b3,…bm причем n>m. Ставится задача поиска вхождения строки В в строку А. Оказывается этих точек вхождения может быть не одна. Упростим задачу и будем считать, что bi и аi это двоичные цифры, то есть аi??0,1?, bi??0,1,??. Результат мы должны Читать далее

Особенности многопроцессорных систем


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

Процессы


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

Многопроцессорные вычислительные комплексы


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

Мультипроцессоры с обшей памятью


Типы структурной организации МПВК с общей памятью: — С общей шиной; — С перекрестной коммутацией; — С многовходовыми ОЗУ. С общей шиной.

Многопроцессорные комплексы с распределенной памятью(МПВК)


Многопроцессорные комплексы с распределенной памятью(МПВК) рзделяются на: — Многопроцессорные ВС(тип 1) – многомашинные; — Многопроцессорные ВС(тип 2) – многопроцессорные. МПВК (тип 1) – исторический экскурс:

Микролокальные сети


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

Топология коммуникационных сетей


n – число уровней в сети; N – число элементарных машин в сети; d – коммуникационный диаметр – это расстояние между наиболее удаленными элементарными машинами в сети; при отсутствии прямых связей между ЭМ пересылка сообщений осуществляется через промежуточные ЭМ – ретрансляторы. d характеризует число ретрансляций при пересылке сообщений между удаленными(самыми удаленными) ЭМ.

Обзор языка ОССАМ


1. Парадигма программирования – набор параллельных процессов, взаимодействующих через программные каналы путем «столкновений» в канале, когда один процесс выводит, а другой вводит данные, путем передачи сообщения. 2. Типы данных: BYTE,BOOL,INT16,INT32,INT,REAL32,REAL64,CHAN. 3. Объявление данных:

Связь по каналам


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

Последовательные и параллельные процессы


Программа на языке ОККАМ состоит из объявлений, присваиваний и ввода/вывода последовательного и параллельного. Для организации последовательных процессов используется ключевое слово SEQ. После 2-х пробелов идет перечисление последовательно выполняемых процессов. Выполнение параллельных процессов – PAR. Еще есть параллельное выполнение процессов – ALT.

Конвейерная обработка


Нарисуем схему этого конвейера, а потом напишем программу, которая этот конвейер реализует. Конвейер будет состоять из 3 стадий, то есть будет 3 независимых процесса, которые как правило будут распределены на разные процессоры в этой многопроцессорной сети. Мы данные подаем на один процесс, он их вычисляет, результат подаем на 2 процесс, она этот результат должен опять Читать далее

Волновая (систолическая) обработка


Рассматривая волновые системы, мы рисовали следующий рисунок: двумерный массив устройств и между ними по каким-то регулярным связям передаются данные. Предположим рассмотрим сложение матриц.

Мультипроцессоры с динамической архитектурой


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

Основа построения МДА


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