Основной проблемой при организации распределённых вычислительных систем является обеспечение бесконфликтного быстрого доступа к виртуальной общей памяти системы. Под виртуальной памятью распределённой системы понимается виртуальное адресное пространство, разделяемое всеми узлами (процессорами) системы. В таких системах данные между оперативной (локальной) памятью различных ЭВМ (узлов) передаются также как между оперативной и внешней памятью одного компьютера.
Особенность реализации такой операции заключается в том, что данные, передаваемые между локальной памятью разных ЭВМ, физически перемещаются через множество различных внутренних и внешних интерфейсов ЭВМ. Каждый интерфейс реализуется свой специфичный алгоритм передачи данных. Следовательно, современные кластерные системы характеризуются наличием иерархически-неоднородных коммутационных сред [1, 2, 3], от пропускной способности которых непосредственно зависит производительность всей системы.
Уровни иерархии коммутационных сред могут быть различными. Их состав и число зависят от архитектуры системных плат ЭВМ и организации системы внешней коммутационной среды (рис. 1). В частности коммутационная среда распределенной вычислительной системы (кластера) может быть реализована следующим образом:
• ядра процессора обмениваются данными через локальную память;
• в рамках одной ЭВМ связь между процессорами осуществляется через высокоскоростную процессорную шину, например, AMDHyperTransport;
• связь между другими территориально удалёнными ЭВМ осуществляется с помощью системной сети, например, InfiniBand, FibreChannel и др.;
• связь между локально расположенными ЭВМ и элементами внешней памяти (в пределах 8-15 м) осуществляется по высокоскоростным шинам, таким как PCI Express, Ultra-320 SCSI и SAS-2;
• связь с глобальной сетью реализуется на основе вспомогательной сети GigabitEthernet.
Каждый уровень этой иерархии предназначен для взаимодействия определённых компонент системы. Следовательно, набор реализуемых коммутационных интерфейсов зависит от задач, решаемых кластерной системой.
В такой системе с неоднородными средствами коммутации выделяют три основных проблемы, возникающих при реализации виртуального адресного пространства:
1. Обеспечение актуальности информации о расположении удалённых данных.
2. Снижение коммуникационных задержек и больших накладных расходов при доступе к удалённым данным, связанным с выполнением коммуникационных протоколов.
3. Организация одновременного доступа нескольких узлов к разделяемым данным для повышения производительности системы.
В литературе рассматриваются несколько основных алгоритмов реализации распределённой общей памяти (алгоритм с центральным сервером, миграционный алгоритм, алгоритм размножения для чтения, алгоритм полного размножения), которые считаются неэффективными на практике, но могут иметь место в сочетании с другими алгоритмическими и архитектурными решениями.
Кроме того, одним из путей решения первых двух задач является использование алгоритма распределённого прямого доступа к памяти (RDMA), который позволяет исключить процесс многочисленного каскадного буферирования-копирования данных, который используется при связи узлов по протоколам TCP/IP. Эта технология поддерживается в сети InfiniBand.
Основная идея концепции RDMA заключается в том, чтобы размещать нужные данные непосредственно в память приложения, минуя многочисленное буферирование из буферов сетевого адаптера в буферы сетевого протокола, операционной системы, дисков, и так далее. Технология RDMA позволяет осуществлять удаленный прямой доступ к памяти без участия центрального процессора. В формате пакетов, передаваемых с помощью технологий RDMA, указан буфер памяти приложения, в который должны быть доставлены входящие данные.
Использование RDMA технологий позволяет на 40% разгрузить работу процессора и повысить эффективность и быстродействие сети в целом.
Однако реализация данной технологии требует больших накладных расходов и дорогостоящих интеллектуальных сетевых адаптеров, что сужает область её применения. Поэтому сети InfiniBand используются в основном для связи с вычислителями кластера, удалёнными на значительные расстояния (табл. 1).
Таблица 1
Сравнительная характеристика шин
InfiniBand |
SATAv3.0 |
Fibre Channel |
Ultra-320 SCSI |
Ultra-640 SCSI |
SAS-2 |
|
Тип протокола |
Послед. |
Послед. |
Послед. |
Паралл. |
Паралл. |
Послед. |
Пропускная способность |
От 2,5 до 25 Гбит/с на канал |
6000 Мбит/сек |
От 1 до 20 Гбит/с |
2560 Мбит/сек |
5120 Мбит/сек |
6000 Мбит/сек |
Кодирование |
64/66 или 8/10 |
8/10 |
64/66 или 8/10 |
- |
- |
8/10 |
Скорость передачи |
От 250 до 2500 Мбайт/сек |
600 Мбайт/сек |
От 250 до 2000 Мбайт/сек |
320 Мбайт/сек |
640 Мбайт/сек |
600 Мбайт/сек |
Максимальная длина кабеля |
До 100 метров |
1 метр |
До 2 км |
12 метров |
До 1 метра |
8 метров |
Для связи модулей внешней памяти и ЭВМ, удалённых на небольшие расстояния, высокие накладные расходы на передачу данных, характерные для сети InfiniBand, являются неприемлемыми. Для этого случая более подходит связь через высокоскоростную системную шину, например PCI Express, имеющую кабельную реализацию протокола.
При осуществлении связи узлов по кабельному варианту шины PCI Express быстрый доступ к удалённой памяти реализуется за счёт механизма окон перекрёстного доступа и специальной настройки портов внешних и внутренних коммутаторов PCI Express. Такое решение не требует использования дорогостоящего оборудования, однако сужает радиус действия коммутационной среды до 15 метров.
Таким образом, сочетание всех перечисленных уровней реализации коммутационной среды в рамках одной кластерной системы требует разработки особых алгоритмов управления семантикой обращений к памяти и решения задач когерентности памяти и оптимизации распределения данных по разным типам памяти системы.
Библиографический список
1. Джад, Д. Основы проектирования SAN / Д. Джад – Сан-Хосе: Infinity Publishing, 2008. – 589 с.
2. Кластеры на многоядерных процессорах / И.И. Ладыгин, А.В. Логинов, А.В. Филатов, С.Г. Яньков. – М.: Издательский дом МЭИ, 2008. – 112 с.
3. Корнеев, В.В., Параллельные высилительные системы / В.В. Корнеев – М.: «Нолидж», 1999. – 320 с.