Многопроцессорность

Совмещение выполнения нескольких потоков команд. Многоядерность.

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

Вероятность параллельного использование ФУ в такой ситуации увеличивается при обеспечении в любой момент возможности взятия команд на выполнение из других последовательностей команд, предназначенных к выполнению на этом же процессоре. Это могут быть, в первую очередь, программы различных ветвей (параллельных процессов) решения одной задачи (Hyper – Threading).

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

Параллельное выполнение операций в OKMD – системах.

Для многих задач (аэрогидродинамики, физики твердого тела, геологоразведки, обработки телеметрии и др.) характерно выполнение одинаковых вычислений над различными группами данных (например, вычисления в узлах “сеток” при решении дифференциальных уравнений). Для реализации таких вычислений создавались вычислительные системы также “узловой” топологии – в узлах этих систем размещались указанные группы данных и оборудование для их обработки (арифметико-логические устройства – АЛУ).

Из одного потока команд текущая команда (через общее устройство управления - УУ) передавалась во все узлы системы для одновременного выполнения над имеющимися там данными, то есть обеспечивалась работа OKMD – системы. Наличие в каждом узле системы лишь АЛУ и оперативной памяти (ОП) не позволяет считать аппаратуру узла “полноправным ” процессором, хотя в ряде случаев в литературе такое название используется.

Широко известным историческим примером такой OKMD – системы является разработанная в Иллинойском университете система ILLIAC – IV (1971 г.), в которой 64 вычислительных узла, описанных выше, параллельно работали и объединялись в топологии “решетка” для передачи данных друг другу. Данные в память узлов передавались из универсальной ЭВМ “Burroughs”. Из нее же передавалась в ILLIAC-IV программа вычислений.

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

MKMD – системы.

Класс MKMD – систем состоит из двух подклассов: подкласс многопроцессорных вычислительных комплексов (МВК) и подкласс многомашинных вычислительных комплексов (ММВК).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: