Реферат: Тема предмет курса. Основные определения. Классификация


ТЕМА 1.

Предмет курса. Основные определения. Классификация.


Прошло всего полвека с момента появления первой ЭВМ. Но за этот короткий срок сменилось несколько поколений вычислительных машин, значительно отличающихся технологической и элементной базой, архитектурой,, языками и ПО. Исторически первыми и до сих пор широко распространёнными, занимающими господствующее положение на рынке, являются одномашинные СИСТЕМЫ ОБРАБОТКИ ДАННЫХ (СОД), построенные на базе единственной ЭВМ с традиционной однопроцессорной схемой.

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

производительность;

надёжность;

стоимость.

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

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

Основа СОД - технические средства, т.к. их производительностью и надёжностью в наибольшей степени определяется эффективность СОД.

Существуют 2 естественных пути повышения производительности и надёжности:

1. Совершенствование элементной базы;

2. Изменение структурной организации СОД.

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

Второй - наиболее эффективный и широкий - состоит из нескольких "шагов":

совмещение во времени выполняемых операций;

распространение принципа параллельной обработки на сами устройства обработки информации;

создание ММВС и МПВС;

параллельная реализация нескольких программ и нескольких задач.

Первые попытки создания ММВК и МПВК и систем относятся к 60-м годам.

Для повышения надёжности и производительности СОД несколько ЭВМ связывались между собой, образуя простейший многомашинный вычислительный комплекс.



По типу межмашинной связи они делятся на несколько видов:

а) с косвенной связью;

б) с прямой связью.

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



В настоящее время термин "комплекс" практически не используется, его полностью вытеснил термин "система". Они очень близки по смыслу, но различие есть:

Вычислительный комплекс - совокупность технических средств, включающих несколько ЭВМ или процессоров, и общесистемного ПО.

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

Можно сказать, что ВС - проблемно-ориентированный ВК. Существуют два способа ориентации ВС:

1. ^ ВС=стандартный ВК+спецПО, ориентированное на решение определённой совокупности задач;

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

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


Отдельный тип систем образуют ^ СИСТЕМЫ ТЕЛЕОБРАБОТКИ ДАННЫХ.

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

Системы, предназначенные для обработки данных, передаваемых по КС, называются системами телеобработки данных.

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



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

Выходом является построение вычислительной (или компьютерной) сети (ВС) - совокупности ЭВМ, объединённых сетью передачи данных (СПД).

Ядром любой ВС является СПД, состоящая из каналов и узлов связи (УС).



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

Т.о. вычислительная сеть состоит из:

сети передачи данных;

сети ЭВМ;

терминальной сети.

Естественно, для функционирования сети создаётся специальное ПО, установленное на каждой машине.

В настоящее время вычислительная сеть - наиболее эффективный способ построения крупномасштабной СОД.

Частным случаем вычислительной сети является локальная вычислительная сеть (ЛВС).

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

Очень удобная конфигурация и достаточно простое оборудование и ПО, обусловленное именно моноканалом. Единственное ограничение на развитие ЛВС накладывает расстояние.



Пропускная способность моноканала (витая пара, коаксиальный кабель, оптоволокно) не превышает 107-109 бит/сек.

Классификация СОД.

Удобнее всего рассмотренные СОД классифицировать по способу построения. Они делятся на:

сосредоточенные (централизованные) и

распределённые.

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



^ Глобальные типы интерфейсов, используемые в СОД.

Интерфейс определяет количество линий для передачи сигналов и данных и способ (алгоритм) передачи информации по линиям связи. Все интерфейсы, используемые в ВТ относят к трём классам:

параллельные - 8-128 разрядов со скоростью до 1010 бит/сек;

последовательные - одна линия со скоростью до 109 бит/сек;

связные - одна линия со скоростью до 105 бит/сек.

Расстояния, на которых целесообразно использовать тот или иной интерфейс, обозначены на рисунке.



^ ТЕМА 2.

Режимы обработки данных. Способы параллельной обработки. Параллелизм.


Режимы обработки данных.

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

Рассмотрим основные режимы обработки данных и их влияние на характеристики СОД.

^ Оперативная и пакетная обработка данных.

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

Оперативная обработка характеризуется:

малым объёмом вводимых-выводимых данных на один запрос и

высокой интенсивностью взаимодействия - малым временем ответа.

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

Пакетная обработка данных характеризуется:

большим объёмом вводимых-выводимых данных на один запрос и

более низкой интенсивностью взаимодействия - возможно большое время ответа.

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

^ Обработка в реальном масштабе времени (РМВ).

Используется в основном в системах управления реальными (в первую очередь техническими) объектами.

Важный фактор - наличие предельно допустимого времени на получение ответа по какой-то задаче.

РМВ - режим, при котором организация обработки данных подчиняется темпу процессов вне СОД.

^ Режим телеобработки данных.

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

^ Мультипрограммная обработка.

Это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются сразу несколько программ. Эти программы совместно используют не только процессор, но и другие ресурсы: ОП, ВЗУ, УВВ, ПУ. Задачи реализуются на разных устройствах, способных функционировать параллельно.

Наиболее реальная ситуация - совмещается по времени работа процессора по одной программе с работой УВВ по другим.

Мультипрограммирование призвано повысить эффективность использования системных ресурсов, однако эффективность можно понимать по-разному. Наиболее характерными критериями эффективности ВС являются:

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

удобство работы пользователей - они имеют возможность работать с несколькими приложениями на одной машине;

реактивность системы - способность выдерживать заранее заданные интервалы времени (иногда - очень малые!) между запуском программы и получением результата.

При использовании мультипрограммирования 1-й и 2-й критерии имеют положительную динамику, 3-й - скорее отрицательную.

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

^ Мультипроцессорная обработка (или мультипроцессорный режим обработки) данных.

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

Эта концепция известна с начала 70-х, но до середины 80-х доступных многопроцессорных систем не существовало. Однако к настоящему времени стало обычным включение нескольких процессоров в архитектуру даже ПК (пример - сопроцессор). Более того, многопроцессорность теперь является одним из необходимых требований, предъявляемых к компьютерам, используемым в качестве центрального сервера более-менее крупной сети.

Не путать мультипрограммную и мультипроцессорную обработки!

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

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

Мультипроцессорная организация системы приводит к усложнению всех алгоритмов управления ресурсами. Планировать задачи для нескольких процессоров значительно сложнее, чем для одного. Кроме того, кто именно из процессоров будет это делать? Есть и другие сложности - возникают конфликтные ситуации при обращении к УВВ, ОП, памяти данных и т.д.

Всё это решается СО путём синхронизации процессов, введения очередей, при помощи системы приоритетов (процессоров или процессов) и планирования ресурсов, но всё предусмотреть непросто.

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

Microsoft Windows NT;

Novell NetWare 4.x;

IBM OS/2;

Sun Solaris 2.x;

Santa Cruz Operations Open Server 3.x.

Понятия процесс и поток.

Чтобы поддерживать мультипрограммную и мультипроцессорную обработки, ОС должна определить и оформить для себя те внутренние единицы работы, между которыми будут распределяться процессоры и другие ресурсы.

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


^ Способы организации параллельной обработки и Виды параллелизма.

Существуют три основных способа:

совмещение во времени различных этапов разных задач;

одновременное решение различных задач или частей одной задачи;

конвейерная обработка информации.

Рассмотрим каждый из них отдельно.

Первый путь - не что иное, как известная нам мультипрограммная обработка данных. Она возможна даже в однопроцессорных ЭВМ. Широко используется.

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

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

Можно выделить несколько видов параллелизма:

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

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

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

ни одна из входных величин для ветви не является выходной для другой ветви (отсутствие функциональных связей);

обе ветви не производят запись в одни и те же ячейки памяти (отсутствие связи по использованию ОП);

условия выполнения одной ветви не зависят от результатов или признаков, полученных при выполнении другой ветви (независимость по управлению);

обе ветви должны выполняться по разным блокам программы (программная независимость).

На самом деле задача обнаружения и реализации параллелизма независимых ветвей - очень сложная и объёмная. Фактически - это математическая задача сетевого планирования. С ней вы столкнётесь в курсе "ОПУП" на классическом примере "Утро на даче". Особенная сложность - неизвестность длительности исполнения каждой из множества ветвей. На практике невозможно избежать простоев в работе процессоров, мы лишь минимизируем их.

3. Параллелизм объектов или данных. Имеет место тогда, когда по одной и той же программе обрабатывается некая совокупность данных, поступающая в систему одновременно. Примеры: данные от РЛС - все сигналы обрабатываются по одной и той же программе, задачи векторной алгебры, в которых выполняются одинаковые операции над парами чисел двух аналогичных объектов.

Забегая вперёд можно сказать, что этот вид параллелизма служит базой для построения матричных систем.

Третий путь параллельной обработки - конвейерная обработка информации.

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

Формулу работы конвейерного процессора можно описать так: "Когда i-й операционный блок выполняет i-ю часть j-ой операции, (i-1)-й операционный блок выполняет (i-1)-ю часть (j+1)-ой операции, а (i+1)-й операционный блок выполняет (i+1)-ю часть (j-1)-ой операции"

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

сравнение порядков (СП);

выравнивание порядков (ВП);

сложение мантисс (СМ);

нормализация результата (НР);





Этап

1

2

3

4

5

6

...

i

..

n

n+1

n+2

n+3

СП

a1b1

a2b2

a3b3

a4b4

a5b5

a6b6

...

aibi

..

anbn










ВП




a1b1

a2b2

a3b3

a4b4

a5b5

...

a(i-1)b(i-1)

..

a(n-1)b(n-1)

anbn







СМ







a1b1

a2b2

a3b3

a4b4

...




..







anbn




НР










c1

c2

c3

...

c(i-3)

..

c(n-3)

c(n-2)

c(n-1)

cn

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

Только что мы рассмотрели конвейер арифметических операций. Но ведь по такому же принципу мы можем организовать и конвейер команд, которые уже давно используется практически во всех ЭВМ.

Цикл команды разбивается на ряд этапов, которые могут выполняться независимо друг от друга:

формирование адреса команды (ФА);

выборка команды из памяти (ВК);

расшифровка кода операции (РКО);

формирование адреса операнда (ФАО);

выборка операнда из памяти (ВО);

арифметическая или логическая операция (АЛО);

Этап

1

2

3

4

5

6

7

ФА

К1

К2

К3

К4

К5

К6

К7

ВК




К1

К2

К3

К4

К5

К6

РКО







К1

К2

К3

К4

К5

ФАО










К1

К2

К3

К4

ВО













К1

К2

К3

АЛО
















К1

К2

Т.о. в конвейере арифметических операций мы параллельно обрабатываем m пар операндов, а в конвейере команд совмещаем во времени l операций.

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

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

^ ТЕМА 3.

Системы параллельной обработки данных. Классификация.

Параллельные ВС - системы, которые обладают 2-мя или более процессорами, АЛУ и т.п., или возможностью распараллеливания на уровне устройств управления.

Цели создания параллельных ВС :

повышение производительности;

повышение надёжности;

повышение живучести;

упрощение каналов передачи данных.

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

Живучесть - возможность выполнения основных функций (но не всех в полном объёме) при выходе из строя блоков или устройств системы. Деградация.

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

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

^ Классификация систем параллельной обработки (по М.Дж. Флинну).

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

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

Если несколько модифицировать классификацию Флинна, выделив в ней 4 уровня, то получим следующую стройную систему:




1-й уровень - по числу одновременно выполняемых программ. Чем меньше программ, тем ниже живучесть.

2-й уровень - деление по типу потока команд - одиночный или множественный.

3-й уровень - по типу потока данных между процессором и ОП. В дальнейшем мы наиболее полно будем рассматривать системы, различаемые именно на этом уровне (собственно классификация Флинна). Русским аббревиатурам ОКОД, ОКМД, МКОД, МКМД соответствуют английские SISD, SIMD, MISD, MIMD (single/multiple instruction/data).

4-й уровень - деление по способу организации связи процессора с ОП. Есть три основных типа:

с общей (глобальной) равнодоступной основной памятью (/О);

с локальной (индивидуальной) основной памятью (/Л);

с локальной основной и общей вспомогательной памятью (/Л,О)


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

В общем виде архитектуры систем 3-го уровня классификации выглядят следующим образом:

ОКОД (SISD)




Такая структура наиболее характерна для однопроцессорных машин.


ОКМД (SIMD)

Часто называют матричными или векторными системами. Для них характерно выполнение одной и той же команды.




Обрабатывается одна программа, система может содержать до тысячи идентичных процессоров, управляемых от одного устройства управления.

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


МКОД (MISD)

Часто называют конвейерными системами или системами с магистральной обработкой информации.

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




МКМД (МIMD) - системы.

Существует два основных способа построения таких систем:

как совокупность элементарных ОКОД (многомашинная система);

и по такой схеме (многопроцессорная система):






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

ТЕМА 4.

ОКОД (SISD) - системы.


Это обычные однопроцессорные системы (или ЭВМ).

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

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

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

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

Кроме совмещения во времени разных этапов решения задач (макросовмещение) существенное повышение производительности достигается за счёт введения конвейерной обработки, точнее, конвейера команд. (Или принцип микросовмещения).

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

Пи организации конвейера команд тоже целесообразно использовать многомодульные ОЗУ потому, что:

команды и данные размещаются в разных модулях, следовательно, можно параллельно выбирать и команды, и операнды;

и команды, и операнды обычно располагаются и выбираются из памяти из последовательности ячеек с возрастающими адресами.

Тогда ОЗУ строится так: все чётные адреса в одном модуле, все нечётные - в другом. В пределе при выполнении программы среднее время обращения к ОЗУ уменьшится в 2 раза.

При разбиении на N среднее время обращения составит 1/ N цикла ОЗУ. Такая память - память с чередованием адресов или память с расслоением обращений.

Возможно также построение конвейера арифметических и логических операций.

Рассмотрим на временных диаграммах более подробно цикл выполнения команды в ОКОД.

^ ОП - оперативная память;

ЦУУ - центральное управляющее устройство;

ОУ - операционное устройство.



ik - выборка i-ой команды;

io - выборка i-ого операнда;

Цк - цикл команды;

Цм - цикл машины.

Порядок действий: выбрать команду, дешифрировать её, выбрать операнд и выполнить операцию.

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



- время, которое используется, остальное время ОУ простаивает.

Во время выборки i-ой команды имеем возможность выполнить (i-1)-ю операцию. Время машинного цикла уменьшилось.

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



ОП(К) - позволяет выбирать команды;

ОП(О) - позволяет выбирать данные (операнды).

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

Пусть tцуу=1/3 от tоп , тогда (см. рисунок на следующей странице):

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



Рассмотренные системы с равномерным перекрытием цикла называются конфлюэнтными системами. Такие системы достаточно эффективны при соблюдении условий конфлюэнтности, т.е. при отсутствии зависимости i-ой команды от результатов, полученных в (i-1)-ой команде, и при отсутствии ветвлений при выполнении команд.

ТЕМА 5.

ОКМД (SIMD) - системы.

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

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

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

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

Наиболее сложными в системах класса SIMD являются вопросы реализации коммутации, именно от их эффективности зависит эффективность системы в целом.

Возможны 2 варианта коммутации:

с локальной памятью и коммутацией на уровне ПЭ

с общей памятью и коммутацией наТк=(п+т-1),
где т – число операционных блоков,  - максимальное время выполнения одного из этапов (в нашем случае 140 нс).

Если не использовать конвейер, то время выполнения сложения векторов:

То=п i

В нашем примере Тк=(100+4-1)*140=14 420 нс, а То=100*400=40 000 нс.

Легко заметить, что наш выигрыш тем больше, чем длиннее цепочка данных и чем большее количество операционных блоков.

ППЗ разбит на 8 сегментов и результат выдаётся каждые 40 нс.

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

В системе ^ ACS фирмы “Texas Instruments” тракт конвейера настраивается соответствующим образом лишь в процессе выполнения операций так, как показано на рисунке:



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

Схема системы приведена на отдельной странице.

Система CRAY состоит из 4-х секций:

функциональных устройств;

регистров;

управления программой;

памяти и ввода-вывода.

В системе 12 функциональных устройств, работающих в режиме конвейера, разбитых на 4 группы: адресную, скалярную, операций с ПЗ и векторную. Число сегментов в каждом функциональном устройстве (указано в скобках), невелико, оно зависит от сложности операций и колеблется от 1 до 14 (для вычисления обратной величины). Такое сравнительно небольшое число сегментов в каждом магистральном устройстве имеет определённые преимущества – они сравнительно быстро заполняются. Длительность цикла каждого сегмента 12,5 нс, т.е. каждые 12,5 нс мы получаем результат от каждого функционального устройства. Система работает с 64-х разрядными словами, 8 разрядов используются для коррекции одиночных и обнаружения двойных ошибок, что обеспечивает высокую надёжность хранения и передачи информации.

Существенную роль в достижении высокой производительности играют быстрые регистры. Они разделены на 3 группы: адресные – А-регистры (8шт. по 24 разряда), скалярные – S-регистры (8 шт. по 24 разряда) и векторные – V-регистры (8 шт. 64-элементных, 1 элемент содержит 64 разряда). Есть также ещё 2 группы промежуточных регистров, не показанных на рисунке. Благодаря такой конструкции конвейерные устройства связываются в цепочки и поток результатов от одного устройства, проходя через регистр, становится входным потоком для другого, минуя ОП.

Состав операций универсальный, только вместо деления используется операция вычисления обратной величины.

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




ТЕМА 7.

МКМД (МIMD) - системы.


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

Как я уже говорил ранее, существует два основных способа построения таких систем:

как совокупность элементарных ОКОД (многомашинная вычислительная система или ММВС);

и как совокупность процессоров, управляемых одним ЦУУ (многопроцессорная вычислительная система или МПВС):


ТЕМА 7-1.

Многомашинные вычислительные системы (ММВС).

ММВС – система, включающая в себя две или более ЭВМ (каждая из которых имеет процессор, ОЗУ, набор ПУ и работает под управлением собственной ОС), связи между которыми обеспечивают выполнение функций, возложенных на систему. В состав также входит и спецПО, позволяющее ориентировать систему на конкретные типы задач.

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

По характеру таких связей ММВС можно разделить на три типа:

косвенно- или слабосвязанные;

прямосвязанные;

сателлитные.

В косвенно- или слабосвязанных системах ЭВМ связаны между собой только через ВЗУ.





^ УВВ УВВ


ВЗУ

АКК – адаптер канал–канал. СК – селекторный канал.

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

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

1. Резер
еще рефераты
Еще работы по разное