Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ALL_otvety_na_ekzamen_PRO.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
473.05 Кб
Скачать

3.Що покладено в основу класифікації Фліна?

За основні ознаки класифікації обчислювальних систем для високопродуктивних обчислень за Фліном обирають тип потоку команд і тип потоку даних. У відповідності до цих ознак розрізняють чотири класи багатомашинних та багатопроцесорних обчислювальних структур:

1. одиночний потік команд – одиночний потік даних (SISD) (рис.1)

2. множинний потік команд – одиночний потік даних (MISD) (рис.2)

3. Одиночний потік команд – множинний потік даних (SIMD) (рис.3)

4. множинний потік команд – множинний потік даних (MIMD) (рис.4)

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

Приведем вначале систематику Флинна. В соответствии с ней все компьютеры делятся на четыре класса в зависимости от числа потоков команд и данных.

1. SISD (Single Instruction Single Data) – одиночный поток команд, одиночный поток данных (последовательные компьютеры фон Неймана). К этому классу относятся последовательные компьютерные системы, которые имеют один центральный процессор, способный обрабатывать только один поток последовательно исполняемых инструкций. Примерами компьютеров с архитектурой SISD являются большинство рабочих станций Compaq, Hewlett-Packard и Sun Microsystems.  Это обычные скалерные, однопроцессорные системы.

Помимо RISC и CISC компьютеров, архитектура SISD породила еще и машины с суперскалярной обработкой. Смысл которой – наличие в аппаратуре средств, позволяющих одновременно выполнять две и более скалярные операции, т.е. команд обработки пары чисел (например, процессоры DEC серии Alpha).

  1. SIMD ((Single Instruction Multiple Data) – характеризуются наличием одиночного потока команд, но множественного потока данных. К этому классу относятся однопроцессорные, векторно-конвейерные суперкомпьютеры, например Cray – 1и более современный Cray Y-MP. В этом случае мы имеем дело с одним потоком (векторных) команд, а потоков данных много; каждый элемент вектора входит в отдельный поток данных.

Эти системы обычно имеют большое количество процессоров, в пределах от 1024 до 16384, которые могут выполнять одну и ту же инструкцию относительно разных данных в жесткой конфигурации. Единственная инструкция параллельно выполняется над многими элементами данных. Примерами SIMD машин являются системы CPP DAP, Gamma II и Quadrics Apemille. Другим подклассом SIMD-систем являются векторные компьютеры. Векторные компьютеры манипулируют массивами сходных данных подобно тому, как скалярные машины обрабатывают отдельные элементы таких массивов. Это делается за счет использования специально сконструированных векторных центральных процессоров. Когда данные обрабатываются посредством векторных модулей, результаты могут быть выданы на один, два или три такта частотогенератора (такт частотогенератора является основным временным параметром системы). При работе в векторном режиме векторные процессоры обрабатывают данные практически параллельно, что делает их в несколько раз более быстрыми, чем при работе в скалярном режиме. Примерами систем подобного типа является, например, компьютеры Hitachi S3600.

Вспомним:

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

При выполнении векторной обработки – одна и та же операция применяется ко всем элементам вектора.

Пример: проект SOLOMON.

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

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

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

Модели вычислений на векторных и матричных ЭВМ настолько схожи, что эти ЭВМ часто обсуждаются как эквивалентные.

3. MIMD (Multiple Instruction Multiple Data) – множественный поток команд и множественный поток данных.

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

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

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

4. MISD (Multiple Instruction Single Data) – этот класс долгое время пустовал, более того, в литературе вы встретите утверждение, что этот класс не представляет практического интереса. Это объясняется тем, что не существовало примеров практической реализации систем, в которых одни и те же данные обрабатывались бы большим числом процессоров. Теперь ситуация изменилась, для MISD найдена адекватная организация ВС – распределенная мультипроцессорная система с общими данными. Наиболее простой пример такой ВС – обычная локальная сеть ПК, работающая с единой базой данных, когда много процессоров обрабатывают один поток данных.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]