Курс лекций - конспект от Томилина в PDF, страница 2
Описание файла
PDF-файл из архива "Курс лекций - конспект от Томилина в PDF", который расположен в категории "". Всё это находится в предмете "вычислительные сети и системы" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст 2 страницы из PDF
Результаты выполнения операций будут поступать с выходоводних ФУ на входы ФУ, выполняющих операции, связанные с предшествующими.Фактически образуется длинный конвейер с числом ступеней, равным сумме количествступеней во всех связанных таким образом ФУ. Такая организация называется “зацеплением”ФУ.
Соответственно дополнительно многократно увеличивается производительностьпроцессора при выполнении последовательности связанных векторных операций (достигаетсятак называемая “супервекторная” производительность). Например, при выполнениивекторного оператора E =(A+B) x C/ D реализуемого последовательностью трех векторныхопераций на ФУ, имеющих по 4 ступени, работающие за 1 такт, общее время вычисленияоператора E будет равно12+(N-1), где N – число компонент векторов A,B,C,D и E То есть, для векторов, содержащихпо 64 компонента, данное вычисление, требующее выполнения 192-х двуместных операций,будет выполнено всего за 75 тактов.Удачным примером организации “векторно-конвейерной” ЭВМ является ЭВМ “Cray-1”(1976 г.), созданная компанией Cray Research руководством Сеймура Крея (эту машинуназывают первым суперкомпьютером в мире).Представляет также интерес организация векторно-конвейерной ЭВМ без регистровпромежуточного хранения «векторных» данных (ЭВМ Cyber-205 фирмы CDC и созданная вИТМ и ВТ под руководством Андрея Андреевича Соколова отечественная ЭВМ МКП(“модульный конвейерный процессор”), объединяющая архитектурные решения ЭВМ Cray-1и Cyber-205 c организацией многопоточных вычислений (последнее будет рассмотрено такжев следующем разделе курса).Совмещение выполнения нескольких потоков команд.
Многоядерность.Особенности последовательности команд, реализующей некоторый алгоритм обработкиданных, могут не позволить использовать параллельно весь набор функциональных устройствпроцессора (даже после машинно-зависимой оптимизации программы, выполненнойтранслятором).Вероятность параллельного использование ФУ в такой ситуации увеличивается приобеспечении в любой момент возможности взятия команд на выполнение из другихпоследовательностей команд, предназначенных к выполнению на этом же процессоре. Этомогут быть, в первую очередь, программы различных ветвей (параллельных процессов)решения одной задачи (Hyper – Threading).Размещение в одном кристалле микропроцессора нескольких комплектов оборудованиядля выполнения операций (многоядерность) при сохранении использования общейоперативной памяти (возможно и кэш-памяти) позволяет естественно увеличитьмногопоточность обработки данных в процессоре.
Забота о назначении потоков команд длявыполнения на различных ядрах процессора, также как и об организации указанного вышережима Hyper-Threading, ложится на операционную систему ЭВМ.45Многопроцессорность.Параллельное выполнение операций в OKMD – системах.Для многих задач (аэрогидродинамики, физики твердого тела, геологоразведки,обработки телеметрии и др.) характерно выполнение одинаковых вычислений над различнымигруппами данных (например, вычисления в узлах “сеток” при решении дифференциальныхуравнений).
Для реализации таких вычислений создавались вычислительные системы также“узловой” топологии – в узлах этих систем размещались указанные группы данных иоборудование для их обработки (арифметико-логические устройства – АЛУ).Из одного потока команд текущая команда (через общее устройство управления - УУ)передавалась во все узлы системы для одновременного выполнения над имеющимися тамданными, то есть обеспечивалась работа OKMD – системы.
Наличие в каждом узле системылишь АЛУ и оперативной памяти (ОП) не позволяет считать аппаратуру узла “полноправным” процессором, хотя в ряде случаев в литературе такое название используется.Широко известным историческим примером такой OKMD – системы являетсяразработанная в Иллинойском университете система ILLIAC – IV (1971 г.), в которой 64вычислительных узла, описанных выше, параллельно работали и объединялись в топологии“решетка” для передачи данных друг другу. Данные в память узлов передавались изуниверсальной ЭВМ “Burroughs”. Из нее же передавалась в ILLIAC-IV программавычислений.Следует отметить отечественную вычислительную систему этого класса ПС-2000,использовавшуюся для решения задач геологоразведки и обработки телеметрии.MKMD – системы.Класс MKMD – систем состоит из двух подклассов: подкласс многопроцессорныхвычислительных комплексов (МВК) и подкласс многомашинных вычислительных комплексов(ММВК).Многопроцессорные вычислительные комплексы.Рассмотренные выше OKMD – системы плохо приспособлены для параллельноговыполнения различных потоков команд (разных программных ветвей одной задачи илипрограмм разных задач).
Такое выполнение стало осуществляться на нескольких параллельноработающих “полноправных” процессорах (содержащих УУ, АЛУ), использующих общую дляних память или имеющих доступ лишь к собственной оперативной памяти. В последнемслучае взаимодействие программ, выполняющихся на процессорах, осуществлялось за счетпередачи (с поддержкой операционной системы) сообщений друг другу по коммуникациям,связывающим такие вычислительные узлы.МВК с общедоступной памятьюПод организацией общедоступной оперативной памяти МВК понимается возможностьдоступа за данными к любой ее ячейке при выполнении операций в любом процессорекомплекса.Объединение процессоров на общей оперативной памяти с обеспечением одинаковоговремени доступа от всех процессоров определяет подкласс SMP (Symmetric multiprocessor).Преимуществом такой организации является простота программирования задач даже с учетомнеобходимости синхронизации и взаимного исключения программ ветвей (параллельныхпроцессов) этих задач.
Недостатком такого подхода является неэффективность подключения кобщей памяти большого числа процессоров из-за возрастающих задержек выполнения56операций в них в связи с увеличением, несмотря на значительное “расслоение” оперативнойпамяти, числа конфликтов при обращении к ней и, соответственно, времен ожидания данныхпри одновременном обращении к блокам памяти от многих процессоров. Объединение наобщей памяти даже нескольких десятков процессоров становилось нерациональным.Примером SMP – комплекса является отечественная вычислительная система “Эльбрус2”, в котором через матричный коммутатор осуществляется эффективный доступ к памятидесяти процессоров.
Через этот же коммутатор осуществлялось подключение к общей памятиспециальных процессоров ввода-вывода, через которые осуществлялось подключениевнешних устройств.Другим вариантом использования общедоступной памяти для процессоров является еераспределение по многим вычислительным узлам, объединенных общей магистральюпередачи данных, через которую процессор в каждом вычислительном узле при выполненииопераций может иметь доступ к ячейкам памяти других вычислительных узлов. При этомвремя обращения к памяти увеличивается с удалением от процессора того вычислительногоузла, к памяти которого происходит обращение. Такая организация вычислительной системы собщедоступной памятью носит название NUMA (Non Uniform Memory Access).
Если привыполнении программы процессорами основное количество обращений за данными будетвыполняться к памяти “своего” узла или близко расположенных узлов, то использованиеNUMA-системы будет эффективным при значительном числе вычислительных узлов.Достижение этого требует существенного усложнения программирования вычислений. Впротивном случае “масштабирование” NUMA –системы будет ограничено. ПримерамиNUMA-систем являются системы SGI Origin2000, Sun HPC 10000, IBM/Sequent NUMA-Q 200Имеются вычислительные системы, содержащие в узлах NUMA – системы SMP –подсистемы (SMP - “кирпичи”). Примером такой системы является комплекс SPP-1200, гдеSMP–подсистемы (“гиперузлы”) объединяются в топологии “двойной тор”.МВК с разделенной памятью.Если в каждом вычислительном узле использовать только “собственную” оперативнуюпамять, то не будет ограничений на “масштабирование” такой системы и, соответственно, наколичество параллельно выполняемых ветвей (процессов) решаемой задачи, выполняемых вузлах системы.
В то же время общее время решения задачи может существенно зависеть отэффективности передачи данных между ветвями (процессами) через объединяющуюпроцессоры коммуникационную систему.Естественно, что размещение программ и данных задачи по вычислительным узлам иорганизация передач данных (поддерживаемых операционной системой) между узламивызывает определенные затруднения при программировании решения задачи.Описанные системы образуют подкласс MPP (Massively Parallel Processor).
Многие изних содержат тысячи и десятки тысяч процессоров. Имеется много различных топологийобъединения процессоров в MPP- системах: “линейка”, “ кольцо”, “решетка”, многомерные“торы”, “гиперкуб”, “полный граф” соединений и др.Представляет интерес сравнение двух последних указанных топологий: гиперкуба иполного графа соединений.
Гиперкуб ранга n имеет число вершин (вычислительных узлов),равное 2 в степени n. Отношение числа связей (объемов оборудования) гиперкуба к полномуграфу при одинаковом числе узлов при росте величины n определяет существенноепреимущество гиперкуба. Максимальная длина “транзита” данных в гиперкубе (числопроходимых связей при передаче сообщения) равна n (в полном графе она всегда равна 1). Этавеличина (соответственно и время передачи данных) растет не столь быстро по сравнению сростом объема оборудования для полного графа.