Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Оптимального управления 2 страница




В таких прикладных областях деятельности человека, как космология, молекулярная биология, гидрология, охрана окру­жающей среды, медицина, экономика и многих других, суще­ствуют проблемы, решение которых требует вычислительных машин, обладающих колоссальными ресурсами. Например, тре­буется быстродействие до 200 TFI.OPS, оперативная память до 200 Гбайт на процессор, дисковая память до 2Тбайт, пропуск­ная способность устройств ввода — вывода (на один порт) не менее 1 Гбайт/с.

Сегодня схожие технические характеристики реализуются только с помощью дорогостоящих уникальных архитектур от CRAY, SCI, Fujitsu, Hitachi с несколькими тысячами процес­соров. В настоящее время концептуально разработаны методы достижения высокого быстродействия, которые охватывают все уровни проектирования вычислительных систем. На самом ниж­нем уровне — это технология изготовления быстродействую­щей элементной базы и плат с высокой плотностью монтажа. Это наиболее простой путь к увеличению производительности ЭВМ за счет сокращения задержек при распространении сиг­налов, хотя, несмотря на успехи в создании элементной базы и методов монтажа, и удваивании в соответствии с законом Мура (рис. 2.1) плотности элементов на кристалле каждые 18 месяцев, увеличения произво­дительности микропроцессоров N вдвое получить уже не удается. В настоящее время уже возмо­жен выпуск процессоров со следующими характеристиками:1 млрд транзисторов на кристал­ле; тактовая частота 10 ГГц; про­изводительность 2,5 тыс. MFLOPS (1 MFLOPS = 106 операций с пла­вающей точкой в 1 с). Дальнейшее увеличение эффективности про­цессора и его рабочей частоты воз­можно за счет совершенствования полупроводниковых технологий.

 

 


Рис. 2.1. Закон Гордона Мура N — число транзисторов в кристалле

При изготовлении процессор­ных чипов на пластине из кремния создается слой из окиси крем­ния, и далее, используя в литографическом процессе различ­ные маски, при формировании структуры из него удаляются лишние участки. Затем добавляются необходимые примеси, что позволяет получить полупроводниковые структуры с необходи­мыми свойствами, затем прокладываются соединительные про­водники, обычно из алюминия. Литографический процесс пре­дусматривает засвечивание светочувствительных материалов через маски. Помимо чисто технических проблем совмещения масок при формировании структуры чипа с необходимой точностью, существуют физические ограничения, связанные с длиной вол­ны излучения и минимальными размерами получаемого изоб­ражения. Тем не менее, в настоящий момент компании — про­изводители чипов начали переход на нормы 65 нм (в 10 раз меньше длины волны красного света). Внедрение норм 65 нм позволяет интегрировать на кристалле площадью около 110 мм2 более полумиллиарда транзисторов. При этом удается уменьшить утечки в расчете на один транзистор (поскольку примерно вдвое уменьшилась его площадь), снизить на 20 % его балластную ем­кость и в конечном итоге повысить быстродействие. Утечки но­вых транзисторов 65 нм при том же рабочем токе уменьшены вчетверо, на чипе введены так называемые спящие транзисто­ры, которые отключают питание отдельных блоков памяти при их бездействии.

Переход на новые нормы обеспечивается преодолением сложнейших технических и технологических проблем. Решение проблемы совместимости материалов позволяет заменить алю­миниевые соединений на медные, уменьшить сечение межком­понентных соединений. Решение технологической проблемы нанесения дополнительных пленок кремния на изолятор, так называемая технология кремний на изоляторе (silicon-on- insulator, SOI), позволило уменьшить емкость МОП-структур и достаточно просто повысить их быстродействие.

Другим разрабатываемым компонентом является материал чипов. На скорости чипа в несколько гигагерц растут потери в кремнии. Возможное использование такого известного высо­кочастотного материала, как арсенида галлия, — дорого. Одним из предлагаемых решений стало использование в качестве мате­риала для подложек соединения двух материалов — кремния с германием, SiGe. Результатом применения становится увеличе­ние скорости чипов в 2—4 раза по сравнению с той, что может быть достигнута путем использования кремния. Во столько же раз снижается и их энергопотребление. Стоимость производства чипов при этом практически не возрастает. Их можно произво­дить на тех же линиях, которые используются при производстве чипов на базе обычных кремниевых пластин, что исключает не­обходимость в дорогом переоснащении производственного обо­рудования.

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

При переходе к 45-нанометровому технологическому процес­су, для создания затворов компания AMD предполагает исполь­зовать силицид никеля. Этот металлосодержащий материал обес­печивает лучшие характеристики по токам утечки по сравнению с традиционным кремнием. Отмечается, что подобный подход обеспечивает более чем двукратное увеличение быстродействия.

Компании Sony и Toshiba также начали новый совместный проект, направленный на разработку 45-нанометровых полупро­водниковых структур. В рамках проекта компания Toshiba разра­ботала технологию создания чипов, содержащих значительно большее количество слоев, чем используется сегодня. Речь идет о разработке девятислойных чипов, которые можно поместить в корпус высотой 1,4 мм. Сегодня производятся шестислойные чипы и мультичиповые компоненты.

К перспективным относятся планируемые фирмой Intel к применению с 2013 года технологии углеродных нанотрубок и кремниевых нанопроводников. Уже удалось интегрировать уг­леродные нанотрубки в кремний и создать полевой транзистор размерами всего 5 нм. Следующий шаг — создание транзисторов на полупроводниковых нанотрубках, диаметр которых состав­ляет лишь 1,4 нм. По сообщениям Intel и японской фирмы NEC (владельца патента на коммерческое использование углеродных нанотрубок) с 2011-го по 2019 год чипы будут создаваться на основе нанотрубок из кремния и углерода.

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

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

Совершенствование элементной базы — самый простой ме­тод повышения производительности вычислительных систем, но он приводит к существенному удорожанию новых разработок. Поэтому наиболее приемлемым путем к созданию высокопро­изводительных УВМ, оцениваемых по критерию "производи­тельность/стоимость", может быть путь исследования и разра­ботки новых методов логической организации систем, а также новых принципов организации вычислений. Основной способ повышения производительности с этой точки зрения — исполь-
зование параллелизма, который реализуется на верхнем уровне структурой алгоритма, по которому работает система. Он состо­ит в том, чтобы выполнять одновременно несколько команд. Этот подход отличается оттого, который реализован в обычной фон- неймановской машине, когда команды исполняются строго по­следовательно одна за другой. При такой обработке предусмат­ривается одновременное выполнение программ или их отдель­ных частей на независимых устройствах.

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

Известны следующие базовые способы введения паралле­лизма в архитектуру УВМ:

конвейерная, или векторная (Parallel Vector Processor — PVP) организация. В основе ее работы лежит концепция конвейериза­ции, т. е. явного сегментирования арифметического устройства на отдельные части, каждая из которых выполняет свою подза­дачу для пары операндов (рис. 2.2);

 


Рис. 2.2. Конвейерная вычислительная система

 

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

параллельная или матричная (массивная) (Massively Parallel Processor— МРР) организация, в основе которой лежит идея использования для решения одной задачи нескольких одновременно ра­ботающих процессорных элементов (ПЭ). Причем процессоры могут быть как скалярными, так и векторными, с общей системой управления, и организованных в виде матриц. Все процессоры выполняют одну и ту же операцию, но с различными дан­ными, хранящимися в локальной памяти каждого процессора, т. е. выполняют жестко связанные пошаговые опе­рации (рис. 2.3);

 

 

 


Рис. 2.3. Матричная вычислительная система (ПЭ — процессорные элементы, П — модули памяти)

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

Естественно, что в отдельных про­ектах могут объединяться некоторые или все эти способы параллельной об­работки.

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

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

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

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

Работа векторных компьютеров опирается на последова­тельно-групповую алгоритмическую структуру вычислительных процедур. Процедуры внутри группы могут выполняться одно­временно, а сами группы — последовательно. Векторные ко­манды — это группы, составленные из идентичных операций, и векторные компьютеры манипулируют всем массивом сход­ных данных подобно тому, как скалярные машины обрабаты­вают отдельные элементы таких массивов. При векторной об­работке задается одна и та же операция над всеми элементами одного или нескольких векторов. PVP-системы имеют специ­альные векторно-конвейерные процессоры, в которых предус­мотрены команды однотипной обработки. Эти векторные цен­тральные процессоры включают в себя векторные регистры и конвейерные АЛУ. Когда данные обрабатываются посредством векторных модулей, результаты выдаются за один рабочий цикл сразу для всего вектора. При работе в векторном режиме век­торные процессоры обрабатывают данные практически парал­лельно, что делает их в несколько раз более быстрыми, чем при работе в скалярном режиме. Важной особенностью вектор­ных конвейерных процессоров, используемой для ускорения вычислений, является механизм зацепления. Зацепление — та­кой способ вычислений, когда одновременно над векторами выполняется несколько операций. Например, можно одновре­менно производить выборку вектора из памяти, умножение векторов, суммирование элементов вектора

Существенной особенностью векторно-конвейерной архи­тектуры является то, что данные всех параллельно исполняемых операций выбираются и записываются в единую память. Как правило, несколько процессоров работают одновременно с об­щей памятью в рамках многопроцессорных конфигураций. Не­сколько таких узлов могут быть объединены с помощью комму­татора (аналогично МРР). Передача данных в векторном формате осуществляется намного быстрее, чем в скалярном. Проблема взаимодействия между потоками данных при распараллелива­нии становится несуществ. Архитектура векторной обработки в PVP системах позволя­ет использовать стандартные языки высокого уровня. Задача про­граммирования на PVP-системах заключается в векторизации циклов и их распараллеливании, например за счет переведения задачи в матричную форму и разложении функций в ряд с чис­лом членов, кратным числу процессов.

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

Снижают быстродействие и ограничения, связанные с па­мятью. С целью достижения максимальной скорости работы в системах применяются сложные способы обращения к памяти. Поэтому любое отклонение от спецификации работы снижает производительность. К ним относятся и нахождение команд вне специального буфера команд, и изменения пропускной способ­ности тракта обмена данными при обращении к памяти, или неполное ее использование, что связано с тем, что время дос­тупа к памяти превышает длительность одной стадии обрабаты­вающего конвейера. При решении задач иногда массивы данных оказываются столь большими, что не могут уместиться в глав­ной памяти, и существуют потери за счет подкачки и удаление информации в процессе счета. Соотношение объема памяти дол­жно быть хорошо сбалансировано с производительностью сис­темы. По эмпирическому правилу Амдала 1 бит памяти должен приходиться на 1 оп/с. Максимальная пропускная способность системы достигается только в том случае, когда все арифмети­ческие устройства используются полностью. Следовательно, ре­альная производительность зависит от состава операций в конк­ретной программе и использования всех арифметических устройств полностью. Например, поскольку деление плохо под­дается конвейеризации, обычно оно выполняется в устройствах обратной аппроксимации и умножения посредством итераци­онной процедуры.

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

Существует архитектура, где система строится из отдельных модулей, содержащих процессор, локальный банк операцион­ной памяти, два коммуникационных процессора (рутера) или сетевой адаптер, иногда — жесткие диски и/или другие устрой­ства ввода/вывода. Один рутер используется для передачи ко­манд, другой — для передачи данных. По сути, такие модули представляют собой полнофункциональные компьютеры. Дос­туп к банку операционной памяти из данного модуля имеют только процессоры из этого же модуля. Модули соединяются специальными коммуникационными каналами. Пользователь может определить логический номер процессора, к которому он подключен, и организовать обмен сообщениями с другими про­цессорами. Используются два варианта работы операционной системы (ОС) на машинах МРР архитектуры. В одном полно­ценная операционная система (ОС) работает только на управ­ляющей машине (front-end), а на каждом отдельном модуле ра­ботает сильно урезанный вариант ОС, обеспечивающий работу только расположенной в нем ветви параллельного приложения.

Во втором варианте на каждом модуле работает полноценная UNIX- подобная ОС, устанавливаемая отдельно на каждом модуле.

Главным преимуществом систем с раздельной памятью является хорошая масштабируемость, так как в машинах с раз­дельной памятью каждый процессор имеет доступ только к сво­ей локальной памяти, в связи с чем не возникает необходимости в потактовой синхронизации процессоров. К недостаткам, свя­занным с отсутствием общей памяти, относится снижение ско­рости межпроцессорного обмена, поскольку нет общей среды для хранения данных, и ограниченный объем локального банка памяти. Требуется специальное программирование для реализа­ции обмена сообщениями между процессорами. Программиро­вание параллельной работы нескольких сотен процессоров и при этом обеспечение минимума затрат счетного времени на обмен данными между ними определяют высокую цену программного обеспечения для матрично-параплельных систем с раздельной памятью. При работе с МРР-системами используют так называ­емую Massive Passing Programming Paradigm — парадигму про­граммирования с передачей данных (MPI, PVM, BSPlib).

На основе сопоставления фон-неймановской ЭВМ и мно­гопроцессорной системы были сформулированы критерии оцен­ки производительности: закон Гроша и гипотеза Минского.

 

Рис. 2.4. Закон Гроша

 

Закон Гроша гласит, что производительность одного про­цессора увеличивается пропорционально квадрату его стоимо­сти (см. рис. 2.4, а). На практике в верхней области графика

 


Рис. 2.5. Гипотеза Минского

зависимость имеет совершен­но иной вид (см. рис. 2.4, о) и можно расходовать все боль­ше средств, не получая при этом скорости вычислений, предсказываемой законом Гроша.

Гипотеза Минского утвер­ждает, что в параллельной си­стеме с п процессорами, про­изводительность каждого из которых равна единице, об­щая производительность рас­тет лишь как log2AJ (рис. 2.5) из-за необходимости обмена дан­ными. Однако загруженность п процессоров может быть гораздо выше log2«за счет введения соответствующих механизмов уп­равления.

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

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

Чтобы получить более полное представление о многопро­цессорных вычислительных системах, помимо такой их характе­ристики, как высокая производительность, необходимо отме­тить и другие отличительные особенности. Прежде всего — это необычные архитектурные решения, направленные на повыше­ние производительности (работа с векторными операциями, организация быстрого обмена сообщениями между процессора­ми или организация глобальной памяти в многопроцессорных системах и др.). Понятие архитектуры высокопроизводительной системы является достаточно широким, поскольку под архитек­турой можно понимать и способ обработки данных, используе­мый в системе, и организацию памяти, и топологию связи меж­ду процессорами, и способ исполнения системой арифметических операций. Попытки систематизировать все множество архитектур начались в конце 1960-х годов и продолжаются по сей день. В 1966 году М. Флинном (Flynn) был предложен подход к клас­сификации архитектур вычислительных систем на основе поня­тий потока команд или данных, обрабатываемых процессором. Классификация описывает четыре архитектурных класса:

SISD = Single Instruction Single Data (ОКОД-одиночный по­ток команд и одиночный поток данных)

MISD = Multiple Instruction Single Оа1а(МКОД-множествен- ный поток команд и одиночный поток данных)

SIMD = Single Instruction Multiple Data (ОКМД-одиночный поток команд и множественный поток данных)

MIMD = Multiple Instruction Multiple Data (МКМД-множе- ственный поток команд и множественный поток данных)

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

Важное преимущество последовательного подхода, реали­зующего эту архитектуру, состоит в том, что для машин такого вида разработано большое число алгоритмов и пакетов приклад­ных программ, созданы обширные базы данных, накоплен бо­гатый опыт программирования, разработаны фундаментальные языки и технологии программирования. Поэтому дальнейшее совершенствование организации ЭВМ (мэйнфреймов и микро­процессоров) шло таким образом, что последовательная струк­тура сохранялась, а к ней добавлялись механизмы, позволяю­щие выполнять несколько команд одновременно. До последнего времени параллельная обработка на уровне команд (instruction- level-parallelism — ILP) принималась как единственный подход, позволяющий добиваться высокой производительности без из­менения программного обеспечения.

В классе машин MISD множество инструкций должно вы­полняться над единственным потоком данных. До сих пор ни одной реальной машины, попадающей в данный класс, не было создано. Косвенный аналог работы таких машин — обработка базы данных одновременно несколькими потребителями.

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

Каждой архитектуре системы можно сопоставить свой вид алгоритмической структуры организации высокоскоростных вычислений (рис. 2.6).

Последовательная структура и соответствующая ей S1SD архитектура является простейшей. В последовательно-групповой алгоритмической структуре вычислительные процедуры объеди­нены в группы, а отношение следования состоит в том, что процедуры внутри группы могут выполняться одновременно, а сами группы — последовательно. Вычислительные процедуры внутри одной группы могут быть одинаковыми или разными. Наиболее типичным является случай, когда одинаковые вычис­лительные процедуры образуют одиночный поток команд и множественный поток данных (SIMD).

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

Рис. 2.6. Алгоритмические структуры: а — последовательная; б— последовательно- групповая в — слабосвязанные потоки; г —■ параллельная структура общего вида

 

осуществлять взаимодействие с другими процессорами. Вычис­лительные системы, отвечающие особенностям данной алгорит­мической структуры, — это многопроцессорные системы архи­тектуры MIMD, особенностью которых является необходимость синхронизации взаимосвязи между процессами. Г1о этому прин­ципу все архитектуры MIMD делятся на два класса: взаимодей­ствующие через общую память (класс А) и путем обмена сооб­щениями (класс Б) (рис. 2.7). Класс архитектуры Б предназначен для систем с большим числом процессоров.

В архитектуре класса А, или SMP-архитектуре (symmetric multiprocessing) — симметричная многопроцессорная архитекту­ра, физическая память является общей для всех ПЭ. Это означа­ет, что здесь существуют задержки в коммутационном устрой­стве и при доступе в память. Таким образом, в таких системах требуется, чтобы коммутационное устройство имело высокое быстродействие, а при доступе в память количество конфлик­тов было минимальным.

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

 

Рис. 2.7. Схема архитектуры MIMD — класс А и класс Б

системной шины (SGI PowerPath, Sun Gigaplane, DECTurboLaser), к слотам которой подключаются функциональные блоки трех типов: процессоры (ЦП), операционная система (ОП) и под­система ввода/вывода (I/O) (рис. 2.8). Вся система работает под управлением единой ОС (обычно UNIX-подобной, но для Intel- платформ поддерживается Windows NT). ОС автоматически (в процессе работы) распределяет процессы по ЦП, но иногда возможна и явная привязка.

К преимуществам SMP-систем относится простота и уни­версальность для программирования. Архитектура SMP не на­кладывает ограничений на модель программирования, исполь­зуемую при создании приложения: обычно используется модель параллельных ветвей, когда все процессоры работают абсолют­но независимо друг от друга. Однако можно реализовать и моде­ли, использующие межпроцессорный обмен. Использование об­щей памяти увеличивает скорость такого обмена, пользователь также имеет доступ сразу ко всему объему памяти. Для SMP- систем существуют сравнительно эффективные средства авто­матического распараллеливания. Она легка в эксплуатации и относительно дешева.




Поделиться с друзьями:


Дата добавления: 2015-04-29; Просмотров: 431; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.