ЖУРНАЛ СТА 4/2015
го, в разработке находится вычисли- тельный модуль на базе отечественной архитектуры Эльбрус с использованием процессора Эльбрус-4С, который также можно будет применять совместно с модулями других типов в рамках гете- рогенных конфигураций ГРИФОН. Из рис. 8 видно, что вычислительные модули взаимодействуют посредством шины PCIe, при этом каждый из моду- лей на базе разных микроархитектур (FPGA, x86, Эльбрус, графические про- цессоры) имеет свои особенности взаи- модействия по шине PCIe с централь- ным процессором, с другими вычисли- тельными модулями. Кроме того, каж- дый из модулей на базе различных ар- хитектур имеет собственную парадигму программирования для этой архитекту- ры, и далеко не всегда это коррелирует с компетенциями разработчиков при- кладных систем. В концепции ГРИФОН под гетеро- генностью понимается не просто воз- можность построения конфигурации изделий с одновременным использова- нием модулей на базе различных архи- тектур, но и возможность ведения эф- фективной разработки прикладного программного обеспечения, не ослож- нённой множеством особенностей и нюансов программирования гетероген- ных конфигураций. Для этого необходимо решение сле- дующих задач: ● абстрагировать разработчиков при- кладных систем от особенностей низ- коуровневого взаимодействия моду- лей на базе различных архитектур; ● предоставить максимально стандарт- ные интерфейсы для организации взаимодействия между вычислителя- ми; ● предоставить возможность по орга- низации прямого межмодульного взаимодействия без участия цент- рального процессора или других вы- числительных модулей. Для решения этих задач для каждого из типов межмодульного взаимодей- ствия были разработаны программные средства, являющиеся неотъемлемыми программными компонентами плат- формы ГРИФОН. Взаимодействие модулей на базе центрального процессора (CPU-CPU) Основой для построения мультипро- цессорных систем на PCIe является виртуальный механизм непрозрачных мостов (NTB – Non-Trasparent Bridge), которые позволяют работать с разде- лённым адресным пространством. NTB имеют две области конфигурационных регистров (для внутреннего и внешнего адресного пространства). NTB виден и со стороны внутренней, и со стороны внешней шины как отдельное перифе- рийное устройство. Этот механизм применяется и для ор- ганизации взаимодействий для плат- формы ГРИФОН. Для взаимодействий модулей на базе центрального процессора (CPU-CPU) реализовано три основных механизма: 1. Сетевой драйвер с транспортом IP по PCIe. В основе этого метода лежит принцип туннелирования IP-пакетов по PCIe. Разработан драйвер вирту- ального сетевого устройства с ис- пользованием непрозрачных мостов, осуществляющий функции трансля- ции адресов с транзакцией IP-паке- тов по шине PCIe. Основным пре- имуществом этого метода является прозрачность для приложений поль- зователя. Для запуска прикладного ПО на изделиях ГРИФОН не потре- буется перекомпиляция. Будут рабо- тать и библиотеки высокого уровня, такие как MPI или QT. Главным недо- статком является дополнительная на- грузка на процессор, которая возни- кает в связи с необходимостью фор- мирования сетевых пакетов и обра- ботки стека протоколов TCP/IP. 2. Библиотека сокетов (Sockets), совме- стимых с сокетами Беркли, с транспор- том по PCIe. Спецификацией PCIe, так же как и протоколом TCP, гаран- тируется доставка данных в строгом порядке их отправки. Поэтому не обя- зательно работать со стеком TCP/IP. Вызовы Sockets API перехватываются с последующим перенаправлением «чистых» данных сразу для транспор- та по PCIe. Данные будут доставлены без искажений и в правильном поряд- ке. Преимуществом данного способа является отсутствие затрат ресурсов центрального процессора при обра- 22 СТА 4/2015 ОБ ЗОР / В С Т РАИВ А ЕМЫЕ СИС Т ЕМЫ www.cta.ru 10 Gigabit Корневой узел PCIe Gen3 Коммутатор PCIe Gen3 с интегрированным контроллером DMA 10 Gigabit Ethernet Внешний интерфейс PCIe NTB KIC552 DIC551 CPU/GPU/FPU CPU/GPU/FPU CPU/GPU/FPU CPU/GPU/FPU Коммутатор PCIe Gen3 ЦП Корневой узел PCIe Gen3 Коммутатор PCIe Gen3 с интегрированным контроллером DMA ЦП Рис. 7. Вычислительные модули ГРИФОН на основе трёх базовых архитектур Условные обозначения: CPU – вычислительный модуль на базе центрального процессора; GPU – вычислительный модуль на базе графического процессора; FPU – вычислительный модуль на базе ПЛИС; PCIe – высокопроизводительная шина передачи данных; NTB – Non-Trasparent Bridge (контроллер непрозрачных мостов); DIC551 – мезонинный модуль ввода; KIC552 – модуль расширения PCIe. Рис. 8. Структурная схема базового вычислительного блока ГРИФОН
Made with FlippingBook
RkJQdWJsaXNoZXIy MTQ4NjUy