КАТЕГОРИИ: Архитектура-(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; Просмотров: 458; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |