Максимов Н.В., Партыка Т.Л., Попов И.И. Архитектура ЭВМ и вычислительных систем (2005) (1186253), страница 60
Текст из файла (страница 60)
В настоящее время для образования кластерных систем используются либо специализированныефирменные средства (например, MEMORY CHANNEL фирмыDEC), либо универсальные локальные и глобальные сетевые технологии, такие, как Ethernet, FDDI (Fiber Distributed DataInterface), и другие сети, например, с протоколами TCP/IP(Transmission Control Protocol/Internet Protocol), либо дисковыемассивы с высокоскоростными широкими двойными (Wide/Fast) иквадро PCI SCSI-контроллерами. Размер кластера варьируется отнескольких модулей до нескольких десятков модулей.Массово-параллельные системы, в отличие от кластеров, имеютболее скоростные, как правило, специализированные каналы связимежду ВМ, а также широкие возможности по масштабированию.Кроме того, в МРР фиксируется некоторый достаточно высокийуровень интерфейса прикладных программ (API), поддерживаемыйраспределенной ОС. Однако поддержка работоспособности и оптимизация загрузки процессоров в МРР менее развита по сравнению скластерами в силу разнообразности исполняемых программ и отсутствия функциональных связей между программами.Начиная с 1980 г.
идея SMP-архитектур, подкрепленная широким распространением микропроцессоров, стимулировала многихразработчиков на создание небольших мультипроцессоров, в которых несколько процессоров разделяют одну физическую память, соединенную с ними с помощью разделяемой шины. Из-за малогоразмера процессоров и заметного сокращения требуемой полосыпропускания шины, достигнутого за счет возможности реализациидостаточно большой кэш-памяти, такие машины стали исключительно эффективными по стоимости.
В первых разработках подобного рода машин удавалось разместить весь процессор и кэш на одной плате, которая затем вставлялась в заднюю панель, с помощьюкоторой реализовывалась шинная архитектура. Современные конструкции позволяют разместить до четырех процессоров на однойплате, предел количества процессоров в SMP — не более 32.Многопроцессорная ВС с общим кэшем и общей памятью. Общийвид такой многопроцессорной ВС представлен на рис. 3.38. Здесь303J.5.
Системы памятиВМ 1ВМ24U7Кэш-памятьik1гВНУ 1ii>гВНУ ki \.\гВНУ 2i1\гАШина1Г[ Основная память |Рис. 3.38. Многопроцессорная ВС с общим кэшем и общей памятьюВМ — вычислительный модуль (процессор), всего п штук, ВНУ —внешние устройства, всего k штук.В качестве основной памяти может использоваться память с горизонтальным расслоением или же для повышения надежности —блочно-модульная память.Основными проблемами в данной архитектуре являются следующие: скорость работы кэш-памяти, блокировка при совместномдоступе нескольких процессоров на одновременную запись или запись/чтение данных по одному и тому же адресу. Кэш-памятьдолжна работать с тактовой частотой в п раз большей тактовой частоты процессора, так как она должна обеспечивать данными процессоры с частотой один раз в такт. В противном случае каждыйпроцессор должен быть блокирован до момента получения (или записи) им требуемых данных, что снижает производительность многопроцессорной ВС.Вообще такая структура сходна с однопроцессорной ВС с кэшем.
Она недостаточно эффективна и, как правило, практически неприменяется.Многопроцессорная ВС с раздельными кэшами и общей памятью.Данная модель мультипроцессорной системы наиболее распространена в настоящее время. Структурная схема многопроцессорной ВСс раздельными кэшами и общей памятью представлена на рис.
3.39.Каждый ВМ имеет собственную локальную кэш-память, имеется общая разделяемая основная память, все вычислительные модули(ВМ) подсоединены к основной памяти посредством шины. К шинеподключены также внешние устройства. Все действия с использованием транзакций шины, производимые ВМ и внешними устройствами, с копиями строк, как в каждой кэш-памяти, так и в основнойпамяти, доступны для отслеживания всем ВМ. Это является следствием того, что в каждый момент на шине передает только один, авоспринимают все абоненты, подключенные к шине.304Глава 3. Вычислительные системыВМ 1Кэшпамять 1Кэшпамять 2ШинаОсновная памятьРис. 3.39. Многопроцессорная ВС с раздельными кэшами и общей памятьюПо сравнению с многопроцессорными ВС с общим кэшам и общей памятью в данной системе наряду с проблемой пропускнойспособности шины возникает еще и проблема когерентностикэш-памяти.В такой вычислительной системе кэши могут содержать как разделяемые, так и частные данные.
Частные данные — это данные,которые используются одним процессором, в то время как разделяемые данные используются многими процессорами, по существуобеспечивая обмен между ними Когда кэшируется элемент частныхданных, их значение переносится в кэш для сокращения среднеговремени доступа, а также требуемой полосы пропускания. Поскольку никакой другой процессор не использует эти данные, этот процесс идентичен процессу для однопроцессорной машины с кэш-памятью. Если кэшируются разделяемые данные, то разделяемое значение реплицируется и может содержаться в нескольких кэшах.Кроме сокращения задержки доступа и требуемой полосы пропускания такая репликация данных способствует также общему сокращению количества обменов.
Таким образом, кэширование разделяемых данных вызывает проблему когерентности кэш-памяти.3.6. Коммуникационные средыПринципы построения коммуникационных средВ самом общем смысле архитектуру компьютера можно определить как способ соединения процессоров между собой, с памятью ис внешними устройствами. Реализация этого соединения можетидти различными путями. Конкретная реализация соединений такого рода называется коммуникационной средой компьютера.3.6. Коммуникационные среды305Одна из самых простых реализаций — это использование общейшины, к которой подключаются как процессоры, так и память.
Самашина состоит из определенного числа линий связи, необходимыхдля передачи адресов, данных и управляющих сигналов между процессором и памятью. Этот способ реализован в SMP-системах. Основным недостатком таких систем, как было указано ранее, является плохая масштабируемость Увеличение, даже незначительное,числа устройств на шине вызывает заметные задержки при обмене спамятью и катастрофическое падение производительности системыв целом. Необходимы другие подходы для построения коммуникационной среды, и одним из них является разделение памяти на независимые модули и обеспечение возможности доступа разных процессоров к различным модулям одновременно посредством использования различного рода коммутаторов.При этом возможны различные конфигурации получающихсясистем связи. Так, в компьютерах семейства Cray T3D/T3E все процессоры были объединены специальными высокоскоростными каналами в трехмерный тор, в котором каждый вычислительный узелимел непосредственные связи с шестью соседями.
В компьютерахIBM SP/2 взаимодействие процессоров происходит через иерархическую систему коммутаторов, также обеспечивающую возможностьсоединения каждого процессора с любым другим. Эти оригинальныеуникальные решения значительно увеличивают цену компьютеров.Существенно более простым и более дешевым оказалось использование системы связи на базе Ethernet, разработанной фирмойXerox. Первоначально использовалась обычная 10-мегабитная сеть,затем стали применять Fast Ethernet, а в последнее время — GigabitEthernet Однако для Fast Ethernet характерна большая латентность(задержка в передаче данных), оцениваемая в 160—180 мкс, аGigabit Ethernet отличается высокой стоимостью. Поэтому при создании многопроцессорных вычислительных систем часто предпочтение отдается технологиям SCI, Myrinet или Raceway.Примеры построения коммуникационных сред на основемасштабируемого когерентного интерфейса SCISCI (Scalable Coherent Interface) принят как стандарт в 1992 г.(ANSI/IEEE Std 1596—1992). Предназначен для достижения высоких скоростей передачи с малым временем задержки, при этомобеспечивая масштабируемую архитектуру, позволяющую строитьсистемы, состоящие из множества блоков.
Представляет собой комбинацию шины и локальной сети, обеспечивает реализацию коге-306Глава 3. Вычислительные системырентности кэш-памяти, размещаемой в узле SCI, посредством механизма распределенных директорий, который улучшает производительность, скрывая затраты на доступ к удаленным данным вмодели с распределенной разделяемой памятью. Производительность передачи данных обычно находится в пределах от 200 до1000 Мбайт/с на расстояниях десятков метров с использованиемэлектрических кабелей и километров с использованием оптоволокна. SCI уменьшает время межузловых коммуникаций по сравнениюс традиционными схемами передачи данных в сетях путем устранения обращений к программным уровням — операционной системеи библиотекам времени выполнения; коммуникации представляются как часть простой операции загрузки данных процессором (командами load или store).Обычно обращение к данным, физически расположенным в памяти другого вычислительного узла и не находящимся в кэше, приводит к формированию запроса на удаленный узел для получениянеобходимых данных, которые в течение нескольких микросекунддоставляются в локальный кэш, и выполнение программы продолжается.
Старый подход требовал формирования пакетов на программном уровне с последующей передачей их аппаратному обеспечению. Точно также происходил и прием, в результате чего задержки были в сотни раз больше, чем у SCI. Однако, для совместимостиSCI имеет возможность переносить пакеты других протоколов. Другое преимущество SCI — использование простых протоколов типаRISC, которые обеспечивают большую пропускную способность(табл. 3.5). Узлы с адаптерами SCI могут использовать для соединения коммутаторы или же соединяться в кольцо.
Обычно каждыйузел оказывается включенным в два кольца (рис. 3.40).Данная технология оптимизирована для работы с динамическимтрафиком, однако может быть менее эффективна при работе с большими блоками данных. Протокол SCI достаточно сложен, он содержит большие возможности по управлению трафиком, но использование этих возможностей предполагает наличие развитого программного обеспечения. На коммуникационной технологии SCIРис. 3.40. Матрица узлов кластера на основе сети SC13.6. Коммуникационные среды307Таблица 3 5 Основные характеристики SCI (Scalable Coherent Interface)Производители оборудованияDolphin Interconnect Solutions и дрПоказателипроизводительностиДля продуктов Dolphin пиковая пропускная способность 667 Мбайт/с Аппаратная латентность - 1 ,46 мксПрограммная поддержкаДрайверы для Linux, Windows NT, Solaris ScaMPI - реализация MPI компании Scali Computer для систем на базе SCI.