2011. Машбук (1114722), страница 21
Текст из файла (страница 21)
То есть характеристики доступа любогопроцессорного элемента в любую точку ОЗУ не зависят от конкретного элемента и адреса(Все процессоры равноценны относительно доступа к памяти). Подвидом UMA-системявляется модель SMP (symmetric multiprocessor — симметричная мультипроцессорнаясистема). В этой модели (Рис. 60) к общей системной шине, или магистрали,подсоединяются несколько процессоров и блок общей оперативной памяти. У данногорешения можно отметить следующие недостатки. Во-первых, это централизованнаясистема, и общая шина в ней является «узким горлом», поэтому данная модельнакладывает существенные ограничения на количество подключаемых процессорныхэлементов (обычно 2, 4, 8, вплоть до 32).
Во-вторых, возникают дополнительныепроблемы синхронизации КЭШей первого уровня каждого процессора. Решений тут какминимум два: либо не использовать КЭШ, либо реализовать КЭШ-память со слежением.В последнем случае каждый КЭШ слушает шину и реагирует на ситуацию в системе.Различные ситуации поведения кэш-памяти с отслеживанием при чтении/записиприведены в следующей таблице:72При промахе при чтении в локальный КЭШ происходит запись соответствующегоблока; эта операция проходит через общую магистраль, которую слушают другие КЭШи;никаких действий КЭШи других процессоров не производят. При попадании при чтениимы используем КЭШ, и эта операция не даёт никакой нагрузки на общую шину. Припромахе при записи осуществляется запись в память; все другие КЭШи информацию озаписи слушают и проверяют наличие соответствующего блока у себя – если блок есть, тоони удаляют его из своих КЭШей.
То есть при промахе по записи производится толькообновление памяти, т.к. реализуется стратегия, ориентированная на преимущественноечтение. При попадании при записи ситуация аналогичная, только запись осуществляетсяещё и в локальный КЭШ.Рис. 60. Схема SMP-системы.Иной подход к реализации систем с общей оперативной памятью предлагаетархитектура NUMA (non-uniform memory access — система с неоднородным доступом кпамяти). Степень параллелизма в NUMA-системах выше, чем в SMP. Для NUMA-систем(Рис. 61) характерны следующие свойства:процессорные элементы работают на общем адресном пространстве;характеристики доступа процессора к области оперативной памяти зависят от того, ккаким областям идет обращение (к локальной или нелокальной памяти).Контроллерпамятипозволяетосуществлятьвзаимодействиемеждувычислительными узлами.
Доступ процессора к своей ОП осуществляется через свойконтроллер, к чужой – через два контроллера. При обращении не к своей памятиконтроллер выбрасывает запрос на общую шину, целевой контроллер его принимает ивозвращает результат.В NUMA-системах остаётся проблема синхронизации КЭШа. Существуетнесколько способов её решения:использовать процессоры без КЭШа (использовать только Cache L2);использовать модель ccNUMA (Cache coherent NUMA) – это NUMA-система скогерентными КЭШами.CcNUMA-системы позволяют отслеживать соответствие локальных КЭШей другдругу и состояние всей системы в целом. CcNUMA-системы подключают несколько сотенпроцессоров, но остаются ограничения, связанные с централизацией – использованиемсистемной шины, а также возникают ограничения, связанные с cc-архитектурой:появляются системные потоки служебной информации, что ведет к дополнительнымнакладным расходам – загрузке общей шины служебной информацией.Рис.
61. Схема NUMA-системы73Теперь рассмотрим системы с распределенной оперативной памятью. Этисистемы представляются как объединение вычислительных узлов, каждый из которыхсостоит из процессора и ОЗУ, непосредственный доступ к которой имеет только «свой»процессорный элемент. Данный класс систем является наиболее перспективным с точкизрения их массового распространения и использования. Среди них можно выделить дваосновных класса: MPP (Massively Parallel Processors — процессоры с массовымпараллелизмом) и COW (Cluster of Workstations — кластеры рабочих станций).Преимуществом MPP-систем является высокая эффективность при решенииопределённого класса задач.
Однако MPP обычно являются дорогостоящимиузкоспециализированными многопроцессорными системами, поэтому не находятмассового применения. Системы данного класса имеют разнообразные топологииархитектур (Рис. 62): это могут быть макроконвейерные архитектуры, кубы и гиперкубы.Рис. 62. Примеры топологий MPP-систем.Что касается COW, то это многомашинные системы, состоящие из множестваузлов, каждый из которых может быть обыкновенным компьютером. В качествеминимального узла может выступать процессор со своей локальной оперативной памятьюи аппаратурой сопряжения с другими вычислительными узлами.
Для сопряжениявычислительных узлов в кластере используются специализированные компьютерные сети.Кластеры могут использоваться для достижения следующих основных целей:построение кластера, обеспечивающего надежность. Создаются программноаппаратные комплексы для обеспечения устойчивого функционирования системы.Данный тип кластеров строится для решения конкретной прикладной задачи(например, сервер базы данных авиабилетов), при этом выход из строя некоторыхузлов не означает отказ всей системы: система продолжает функционировать, пусть исо сниженной производительностью;построение кластера как высокопроизводительной вычислительной системы, т.е.вычислительного кластера (критерием эффективности выступает скорость обработкиинформации).
Это многопроцессорная система, состоящая из вычислительных узлов.Каждый вычислительный узел – это компьютер традиционной архитектуры. Все узлысвязаны друг с другом через специальные высокоскоростные сети, и вся система вцелом используется для достижения максимальной производительности.Для построения вычислительных кластеров зачастую используют Unix-системы, адля кластеров надежности — Windows-системы. На сегодняшний день кластеры — этоспециализированные системы с соответствующей архитектурой (например, alphaсистемы), при этом речь идет о супервычислительных кластерах, включающих в себясотни – тысячи узлов. Преимуществом кластерных систем является высокаяэффективность при решении широкого круга задач (за приемлемую цену); кластерныесистемы используют унифицированные средства программирования (типа MPI).Основными проблемами кластерных систем являются отвод тепла и коммуникация (еслибудет использоваться единственная магистраль, то она «захлебнется» от потоковпередаваемой информации, а большинство узлов будут простаивать).74Напоследок хочется отметить, что в рейтингах наиболее высокоскоростныхвычислительных систем (Top100, Top500 и пр.) верхние строчки занимают именнокластерные системы.Теперь рассмотрим проблемы сетевого взаимодействия.1.2.8 Терминальные комплексы (ТК)Современные многопроцессорные системы строятся как специализированныекомпьютерные сети.
Основой современных компьютерных сетей было появлениетерминальных комплексов. Терминальный комплекс — это многомашинная ассоциация,предназначенная для организации массового доступа удаленных и локальныхпользователей к ресурсам некоторой вычислительной системы.Суть ТК заключается в следующем. Пусть имеется некая вычислительная система.Ставится задача организовать массовый доступ к ее ресурсам. Под ресурсами в данномслучае могут пониматься, например, высокая производительность рассматриваемойсистемы или же информационный ресурс (информационное наполнение, интересное длямассового пользователя, такое как электронная библиотека).Рис.
63. Структура терминального комплекса.Терминальные комплексы предполагают наличие в своем составе следующихкомпонентов (Рис. 63):основная вычислительная система (к которой обеспечивается доступ);локальные мультиплексоры;локальные терминалы;модемы;удаленные терминалы;удаленные мультиплексоры.Считается, что пользователь может использовать терминальное устройство(алфавитно-цифровой терминал, т.е. дисплей с клавиатурой), печатающее устройство,внешнее запоминающее устройство (например, магнитная лента). Изначально всетерминальные устройства располагались на незначительном расстоянии отвычислительного комплекса.Терминальные комплексы можно разделить на локальные и удаленные.Локальные терминальные устройства имеют либо непосредственное подключение к ВС полокальному каналу связи, либо подключение через мультиплексор (устройство,позволяющее через один высокоскоростной канал связи подключить N менее скоростныхканалов).
Удаленные терминальные устройства подключаются к ВС черезкоммуникационную среду. Изначально этой средой являлись обычные телефонные сети,которые исторически основывались на аналоговом способе передачи информации;компьютерные сети основаны на цифровом (дискретном) способе передачи данных. Дляпередачи цифровой информации через аналоговые сети необходимы аналогово-цифровой75и цифро-аналоговый преобразователи (модем — модулятор-демодулятор). Такимобразом, для удаленного соединения необходимы, как минимум, два модема. Удалённыетерминалы могут также мультиплексироваться, и это мультиплексирование может бытьмногоуровневым.Линии связи/каналы.
Существуют три критерия, по которым можноклассифицировать каналы.Во-первых, с точки зрения организации канала все каналы можно поделить накоммутируемые и выделенные.Коммутируемый канал — это линия, выделяемая на весь сеанс работытерминального устройства. Физически коммутируемая линия может иметь различныетопологии. Примером коммутируемого канала может служить телефонный разговор.Выделенный канал обеспечивает связь терминального устройства с ВС напостоянной основе.
И здесь существуют два подхода: с одной стороны, можно протянутьмежду терминальным устройством и ВС физический провод (это дорого, но этонаилучший способ обеспечить выделенный канал), а с другой стороны, можно взять одиниз коммутируемых маршрутов телефонной сети (этот подход несколько дешевлепредыдущего, но он особенно плох тем, что уменьшает количество коммутируемыхмаршрутов в телефонной сети, что, в конечном счете, негативно сказывается на качествеее работы «по прямому назначению» — на обеспечении телефонной (голосовой) связи).Преимущества выделенного канала: постоянная готовность (отсутствие отказа насоединение), детерминированное качество соединения.Во-вторых, все каналы можно поделить по количеству участников общения:канал точка-точка —одно устройство общается с одним устройством (подключениек удалённому терминалу без мультиплексирования);многоточечный канал — общение многих устройств (например, примультиплексировании): подключение терминала осуществляется через локальныймультиплексор.И, наконец, каналы можно делить с точки зрения направления движенияинформации в канале:симплексный — канал позволяет осуществлять передачу информации только в одномнаправлении (например, репродуктор громкой связи на вокзале или в организациях;идеальная лекция);дуплексный (двунаправленный) — канал передаёт информацию в двух направлениях(например, телефон);полудуплексный — канал позволяет передавать информацию в двух направлениях, нов каждый момент времени возможна передача информации лишь в одномнаправлении (например, рация).1.2.9 Компьютерные сетиРазвитие терминальных комплексов положило основу развития компьютерныхсетей.
И первым шагом к сетям стала замена терминальных устройств компьютерами.Компьютерная сеть — это объединение компьютеров (или вычислительныхсистем), взаимодействующих через коммуникационную среду (Рис. 64).Коммуникационная среда — каналы и средства передачи данных.76Рис. 64. Компьютерная сеть.Можно выделить следующие свойства компьютерных сетей.