МНОГОФУНКЦИОНАЛЬНЫЙ ВЫЧИСЛИТЕЛЬНЫЙ МОДУЛЬ

Полезная модель относится к области вычислительной техники, в частности, к вычислительным устройствам с перестраиваемой архитектурой, использующим программируемые логические интегральные схемы (ПЛИС), и может быть использована в качестве базового модуля вычислительных узлов многопользовательских кластерных систем, предназначенных для решения трудоемких задач и обработки больших информационных массивов и потоков, с использованием распараллеливания и конвейеризации вычислительных процессов. Вычислительный узел (ВУ) таких систем содержит управляющую ЭВМ с выходным интерфейсом PCI-Express и несколько вычислительных модулей на ПЛИС.
Известно вычислительное устройство (http://www.dinigroup.com/new/DNV6F6PCIe.php), содержащее внешний порт устройства для обмена информацией, интерфейсную ПЛИС и N вычислительных ПЛИС, каждая из которых содержит высокоскоростной последовательный интерфейс PCI-Express и по два независимых высокоскоростных последовательных канала обмена информацией.
Недостатком данного устройства является ограничение числа вычислительных ПЛИС взаимодействующих с интерфейсной ПЛИС при обеспечении высокой скорости обмена информацией и отсутствие возможности взаимодействия между собой вычислительных ПЛИС, расположенных не в непосредственной близости друг от друга.
Причинами, препятствующими достижению технического результата, является ограниченное число доступных контактов как у интерфейсной ПЛИС, так и у вычислительных ПЛИС, обеспечивающих высокоскоростное взаимодействие между ПЛИС.
Известно вычислительное устройство (Современные технологии автоматизации, №3, 2013, с. 70-72, рис. 3, http://www.cta.ru/) содержащее два внешних порта блока для обмена информацией, коммутатор PCI-Express, интерфейсную и N вычислительных ПЛИС, каждая из которых содержит высокоскоростной последовательный интерфейс PCI-Express, причем порты коммутатора PCI-Express соединены с внешними портами блока и с интерфейсами PCI-Express ПЛИС.
Недостатком данного блока является недостаточно высокая скорость обмена информацией вычислительных ПЛИС по внешним портам.
max
Причинами, препятствующими достижению технического результата, является большой уровень накладных расходов на арбитраж и установку взаимодействия, а также последовательный характер обслуживания вычислительных ПЛИС через внешние порты. Максимальная скорость обмена V для каждой из вычислительных ПЛИС по внешним портам определяется накладными расходами и количеством вычислительных ПЛИС, как , где N - число вычислительных ПЛИС,  - максимальная скорость обмена внешнего порта, а коэффициент 0.5 с большой степенью точности учитывает все накладные расходы при N>1.
Наиболее близким устройством того же назначения, к заявленной полезной модели, по совокупности признаков является, принятый за прототип, вычислительный модуль (RU №137137 U1, МПК G06F 15/16, заявлен 07.10.2013, опубликован 21.01.2014, БИ №3), содержащий два внешних порта блока для обмена информацией, коммутатор PCI-Express, интерфейсную и N вычислительных ПЛИС, каждая из которых содержит высокоскоростной последовательный интерфейс PCI-Express, причем порты коммутатора PCI-Express соединены с внешними портами модуля и с интерфейсами PCI-Express интерфейсной ПЛИС и N вычислительных ПЛИС, объединенных кольцевым высокоскоростным последовательным каналом обмена информацией между интерфейсной ПЛИС и N вычислительными ПЛИС, организованным на базе двух дополнительных независимых высокоскоростных последовательных портов обмена информацией, введенных у интерфейсной ПЛИС и каждой из N вычислительных ПЛИС.
Недостатками данного модуля являются отсутствие системы оперативного управления интерфейсной и вычислительными ПЛИС в зависимости от предполагаемого режима работы, недостаточно высокая надежность и малая функциональность.
Причинами, препятствующими достижению технического результата, является отсутствие систем стартового конфигурирования и текущего реконфигурирования вычислительных ПЛИС, а также мобильного (в зависимости от выполняемой задачи) реконфигурирования интерфейсной ПЛИС, и отсутствие независимой системы контроля и управления температурным режимом работы вычислительных ПЛИС.
Кроме того, использование при работе высокоскоростных последовательных интерфейсов PCI-Express накладывает ограничения на увеличение суммарной вычислительной мощности узлов, а использование при работе кольцевого высокоскоростного последовательного канала обмена приводит с одной стороны к уменьшению надежности работы в связи с последовательным включением и уменьшением эффективности работы, так как освобождаемые ресурсы в кольце не могут быть использованы другими пользователями до окончания всех текущих процессов в кольце, при этом прерывается связь по кольцевому каналу для еще не законченных фрагментов задач, что может приводить к потере уже наработанных результатов.
Задача, на решение которой направлено предлагаемая полезная модель, заключается в создании высокоэффективного вычислительного модуля для использования в ВУ многопользовательских кластерных систем.
Техническим результатом предлагаемой полезной модели являются увеличение суммарной вычислительной мощности ВУ за счет увеличения количества в них вычислительных модулей на ПЛИС, повышение эффективности использования вычислительной мощности ВУ, связанное с уменьшением временных затрат на реконфигурирование ПЛИС, а также гибкость архитектуры ВУ в зависимости от характера выполняемого пакета заданий, степени взаимосвязанности фрагментов отдельных задач и интенсивности взаимодействия в многопользовательской среде.
Для решения данной задачи в многофункциональный вычислительный модуль, содержащий два внешних порта для обмена информацией, коммутатор PCI-Express, интерфейсную и N вычислительных ПЛИС, каждая из которых содержит высокоскоростной последовательный интерфейс PCI-Express, причем порты коммутатора PCI-Express соединены с внешними портами модуля и с интерфейсами PCI-Express интерфейсной ПЛИС и N вычислительными ПЛИС, объединенных кольцевым высокоскоростным последовательным каналом обмена информацией между интерфейсной ПЛИС и N вычислительными ПЛИС, организованным на базе двух дополнительных независимых высокоскоростных последовательных портов обмена информацией, введенных у интерфейсной ПЛИС и каждой из N вычислительных ПЛИС, дополнительно введены блок оперативного конфигурирования ПЛИС, память стартовых конфигураций вычислительных ПЛИС, сетевой порт контроля и управления Ethernet, буферная память управления, блок контроля и управления питанием и блок мониторинга соединенные соответствующими двунаправленными шинами с интерфейсной ПЛИС, порт контроля и управления JTAG и память стартовой конфигурации интерфейсной ПЛИС соединенные соответствующими двунаправленными шинами с блоком оперативного конфигурирования ПЛИС, а также введены блок управления ROOT и порт объединения устройств по контролю и управлению, соединенные соответствующими двунаправленными шинами с интерфейсной ПЛИС, память стартовой настройки коммутатора PCI-Express и группа из N высокоскоростных индивидуальных последовательных каналов обмена информацией между интерфейсной и вычислительными ПЛИС, причем интерфейсная ПЛИС также соединена двунаправленной общей шиной с N вычислительными ПЛИС, которые соединены двунаправленной шиной мониторинга с блоком мониторинга, а над N вычислительными ПЛИС установлен единый радиатор прямоугольной формы, а также блок управления ROOT соединен двунаправленной шиной управления режимом с коммутатором PCI-Express и двунаправленной шиной с памятью стартовой настройки, которая соединена с коммутатором PCI-Express двунаправленной шиной стартовой настройки.
На фиг. 1 приведена функциональная схема предлагаемого многофункционального вычислительного модуля с восьмью вычислительными ПЛИС.
На фиг. 1 приняты следующие обозначения:
1 - коммутатор PCI-Express;
2 - интерфейсная ПЛИС;
1
2
N
3, 3, …, 3 - Ν вычислительных ПЛИС;
4 - высокоскоростной входной порт последовательного интерфейса PCI-Express 4;
5 - высокоскоростной последовательный интерфейс PCI-Express между коммутатором PCI-Express 1 и интерфейсной ПЛИС 2;
1
2
N
1
2
N
6, 6, …, 6 - группа из N высокоскоростных последовательных интерфейсов PCI-Express между коммутатором PCI-Express 1 и вычислительными ПЛИС 3, 3, …, 3;
1
2
N
7 - кольцевой высокоскоростной последовательный канал обмена информацией между интерфейсной ПЛИС и вычислительными ПЛИС 3, 3, …, 3;
8 - высокоскоростной выходной порт последовательного интерфейса PCI-Express;
9 - блок оперативного конфигурирования ПЛИС;
1
2
N
10 - память стартовых конфигураций вычислительных ПЛИС 3, 3, …, 3;
11 - порт контроля и управления JTAG;
12 - сетевой порт контроля и управления Ethernet;
13 - буферная память управления;
14 - общая шина;
15 - блок контроля и управления питанием;
16 - память стартовой конфигурации интерфейсной ПЛИС 2;
17 - блок мониторинга;
18 - шина мониторинга;
1
2
N
19 - группа высокоскоростных индивидуальных последовательных каналов обмена информацией между интерфейсной 2 и вычислительными ПЛИС 3, 3, …, 3;
20 - блок управления ROOT;
21 - шина управления режимом коммутатора PCI-Express 1;
22 - память стартовой настройки коммутатора PCI-Express 1;
23 - шина стартовой настройки коммутатора PCI-Express 1;
24 - порт объединения устройств по контролю и управлению.
1
2
N
1
2
N
1
2
N
1
2
N
1
2
N
Коммутатор PCI-Express 1 предназначен для организации обмена информацией с управляющей ЭВМ интерфейсной ПЛИС 2 и вычислительными ПЛИС 3, 3, …, 3 по входному порту 4, подключения дополнительного оборудования по выходному порту 8 и организации взаимодействия вычислительных ПЛИС 3, 3, …, 3 между собой по интерфейсам PCI-Express 6, 6, …, 6. Коммутатор PCI-Express 1 содержит N+3 высокоскоростных порта, которые соединены с входным портом PCI-Express 4, с интерфейсной ПЛИС 2 по интерфейсу PCI-Express 5, с N вычислительными ПЛИС 3, 3, …, 3 по N интерфейсам PCI-Express 6, 6, …, 6 и выходным портом PCI-Express 8.
1
2
N
Вычислительные ПЛИС 3, 3, …, 3 предназначены для аппаратной реализации трудоемких алгоритмов вычислительных задач и осуществляют высокопроизводительную обработку поступающих входных данных.
1
2
N
1
2
N
Интерфейсная ПЛИС 2 предназначена для организации обмена информацией N вычислительных ПЛИС 3, 3, …, 3 по кольцевому высокоскоростному последовательному каналу 7 и N высокоскоростным индивидуальным последовательным каналам обмена информацией 19, по входному порту PCI-Express 4 посредством ресурсов высокоскоростного последовательного интерфейса PCI-Express 5, поддержки сетевого канала контроля и управления 12, конфигурирования вычислительных ПЛИС 3, 3, …, 3, а также поддержки работы автономной ROOT системы.
1
2
N
1
2
N
Блок оперативного конфигурирования ПЛИС 9 предназначен для организации конфигурирования N вычислительных ПЛИС 3, 3, …, 3 по сетевому порту Ethernet 12, интерфейсу PCI-Express 5, порту JTAG 11 и из памяти стартовых конфигураций 10, предназначенной для хранения начальной конфигурации для N вычислительных ПЛИС 3, 3, …, 3, а также конфигурирования интерфейсной ПЛИС 2 порту JTAG 11 и из памяти стартовой конфигурации 16, предназначенной для хранения начальной конфигурации для интерфейсной ПЛИС 2.
1
2
N
Порт контроля и управления JTAG 11 предназначен для организации конфигурирования вычислительных ПЛИС 3, 3, …, 3 и интерфейсной ПЛИС 2 средствами САПР от управляющего компьютера.
Сетевой порт контроля и управления Ethernet 12 предназначен для обеспечения взаимодействия управляющего компьютера с интерфейсной ПЛИС 2 по сетевому каналу Ethernet.
1
2
N
1
2
N
Буферная память управления 13 предназначена для хранения текущих конфигураций, предназначенных для вычислительных ПЛИС 3, 3, …, 3. По общей шине 14 выполняется управление конфигурированием вычислительных ПЛИС 3, 3, …, 3.
1
2
N
Блок контроля и управления питанием 15 предназначен для контроля напряжений питания и управления их подключения к N вычислительным ПЛИС 3, 3, …, 3.
1
2
N
1
2
N
Блок мониторинга 17 предназначен для контроля и управления температурным режимом N вычислительных ПЛИС 3, 3, …, 3 по шине мониторинга 18, с использованием термодатчиков, встроенных в вычислительные ПЛИС 3, 3, …, 3.·
1
2
N
Блок управления ROOT 20 предназначен для организации автономного (без управляющей ЭВМ) распределения ресурсов конечных устройств PCI-Express вычислительных ПЛИС 3, 3, …, 3 и интерфейсной ПЛИС 2 и режима работы коммутатора PCI-Express 1 с использованием ресурсов интерфейсной ПЛИС 2, доступных по сетевому интерфейсу Ethernet 12.
Память стартовой настройки коммутатора PCI-Express 22 предназначена для хранения стартовой настройки коммутатора PCI-Express 1 необходимой для начального запуска модуля в работу.
Порт объединения устройств по контролю и управлению 24 предназначен для объединения вычислительных модулей при наращивании вычислительного ресурса по управлению с использованием сетевого порта контроля и управления Ethernet 12.
Предлагаемый многофункциональный вычислительный модуль работает следующим образом.
После включения питания сначала осуществляется загрузка стартовой конфигурации в интерфейсную ПЛИС 2 блоком оперативного конфигурирования ПЛИС 9 из памяти стартовых конфигураций интерфейсной ПЛИС 16 и происходит инициализация сетевого порта контроля и управления 12, по которому происходит инициализация одного из следующих базовых режимов работы модуля в вычислительном узле, которые в дальнейшем определяют режимы его работы в вычислительном узле:
1
2
N
1
2
N
1
2
N
1
2
N
1 - Работа N вычислительных ПЛИС 3, 3, …, 3 по интерфейсам PCI-Express 6, 6, …, 6 с использованием (или нет) обменных операций по кольцевому высокоскоростному последовательному каналу 7 и ресурсов интерфейсной ПЛИС 2. Данный режим работы полностью соответствует режиму работы прототипа, и позволяет сократить до N раз количество конечных устройств PCI-Express в вычислительном узле при работе только по кольцевому высокоскоростному последовательному каналу 7. Однако переконфигурирование вычислительных ПЛИС возможно только по окончании работы всех N вычислительных ПЛИС 3, 3, …, 3, что понижает эффективность работы устройства с точки зрения простаивания вычислительных ПЛИС 3, 3, …, 3, уже закончивших свою работу.
1
2
8
1
2
N
2 - Работа вычислительных ПЛИС 3, 3, …, 3 по кольцевому высокоскоростному последовательному каналу 7 и (или) по высокоскоростным индивидуальным последовательным каналам 19 с использованием только ресурсов интерфейсной ПЛИС 2. Данный режим работы также позволяет сократить до N раз количество конечных устройств PCI-Express в вычислительном узле, однако при работе только по высокоскоростным индивидуальным последовательным каналам 19 возможна индивидуальная и независимая перезагрузка конфигураций в вычислительных ПЛИС 3, 3, …, 3, уже закончивших свою работу, что повышает эффективность работы устройства.
1
2
N
1
2
N
1
2
N
3 - Работа всех или группы вычислительных ПЛИС 3, 3, …, 3 по интерфейсам PCI-Express 6, 6, …, 6 или по высокоскоростным индивидуальным последовательным каналам 19 с использованием ресурсов интерфейсной ПЛИС 2. Данный режим работы позволяет сократить до N раз количество конечных устройств в вычислительном узле и расширить функциональные возможности работы модуля из-за наличия возможности индивидуальной и независимой перезагрузки конфигураций в вычислительные ПЛИС 3, 3, …, 3, что также повышает эффективность работы устройства.
1
2
N
4 - Работа модуля в условиях автономной ROOT системы во всех трех вышеперечисленных режимах работы вычислительных ПЛИС 3, 3, …, 3. При использовании данного режима работы количество конечных устройств PCI-Express при управляющей ЭВМ сокращается до 2*N раз, что позволяет также увеличивать и вычислительную мощность узла, при этом объединение аналогичных модулей по обмену осуществляется по портам 4 и 8, а по контролю и управлению по портам 12 и 24.
1
2
N
При условии работы модуля в режимах 1, 2 или 3 осуществляется перезагрузка интерфейсной ПЛИС 2 конфигурацией, поддерживающей соответствующий протокол работы из памяти стартовых конфигураций интерфейсной 16 и памяти стартовых конфигураций вычислительных ПЛИС 10. После этого при загрузке ОС в управляющем модуле вычислительного узла осуществляется распределение ресурсов конечных устройств PCI-Express коммутатора 1, вычислительных ПЛИС 3, 3, …, 3 и интерфейсной ПЛИС 2.
1
2
N
После загрузки ОС в управляющем модуле устанавливаются программные средства доступа (драйвер и сервисные программы) к конечным устройствам PCI-Express при помощи которых осуществляется конфигурирование вычислительных ПЛИС 3, 3, …, 3, в зависимости от выполняемой задачи и выполнение обменных операций при выполнении трудоемких алгоритмов вычислительными ПЛИС по прямым адресам определенными ОС управляющего модуля вычислительного узла. При этом суммарный вычислительный ресурс одного узла может достигнуть 256 ресурсов одной вычислительной ПЛИС.
1
2
N
При условии работы модуля в режиме 4 вначале осуществляется конфигурирование вычислительных ПЛИС 3, 3, …, 3 из памяти стартовых конфигураций 10 и осуществляется стартовая настройка коммутатора PCI-Express 1 из памяти стартовой настройки 22 по шине стартовой настройки 23 блоком управления ROOT 20 по шине управления режимом коммутатора 21. При этом основными параметрами настройки являются настройка входного порта 4, как «непрозрачного» (NT) порта для управляющего модуля вычислительного узла и размера адресного окна, необходимого для работы конечных устройств PCI-Express автономной ROOT системы, которые должны быть закреплены в памяти управляющего модуля вычислительного узла. Только после этого перезагружается интерфейсная ПЛИС 2 из памяти стартовых конфигураций интерфейсной ПЛИС 16 конфигурацией, поддерживающей протокол работы ROOT системы, который осуществляет распределение всех устройств модуля в адресном пространстве ROOT системы, после чего осуществляется подстройка параметров работы коммутатора PCI-Express 1 под данную систему адресов.
1
2
N
При загрузке ОС в управляющем модуле вычислительного узла осуществляется распределение ресурсов всех входных «непрозрачных» (NT) портов 4 PCI-Express коммутатора 1, через которые в дальнейшем осуществляется работа с вычислительными ПЛИС 3, 3, …, 3, в соответствующем разделе выделенного адресного окна.
1
2
N
1
2
N
После загрузки ОС в управляющем модуле устанавливаются программные средства доступа к конечным устройствам PCI-Express при помощи которых осуществляется конфигурирование вычислительных ПЛИС 3, 3, …, 3, в зависимости от выполняемой задачи и выполнение обменных операций при выполнении трудоемких алгоритмов вычислительными ПЛИС по прямым адресам NT портов с учетом соответствующих разделов выделенного адресного окна, смещаемых коммутатором PCI-Express 1 в соответствующее адресное пространство автономной ROOT системы. При этом суммарный вычислительный ресурс одного узла будет не менее 64 ресурсов одного NT порта, к которому в зависимости от свойств автономной ROOT системы могут быть подключены N вычислительных ПЛИС 3, 3, …, 3. Например, при N=8 суммарный ресурс может доходить до 512 ресурсов одной вычислительной ПЛИС.
1
2
N
Для повышения скорости и надежности конфигурирования вычислительных ПЛИС 3, 3, …, 3 используется буферная память 13, в которую заранее, на фоне выполнения текущей задачи, могут подкачиваться следующие конфигурационные последовательности. Это приводит к снижению простоев вычислительных ресурсов при конфигурировании ПЛИС.
Предлагаемый многофункциональный вычислительный модуль поддерживает следующие системы обмена данными:
1
2
N
1
2
N
- обмен индивидуальными данными по входному порту 4 непосредственно с вычислительными ПЛИС 3, 3, …, 3 через коммутатор PCI-Express 1 с максимальной скоростью обмена , где  - максимальная скорость обмена внешнего порта 4, а коэффициент 0.5 соответствует накладным расходам на арбитраж между восьмью вычислительными ПЛИС 3, 3, …, 3;
1
2
N
- обмен индивидуальными данными по входному порту 4 с вычислительными ПЛИС 3, 3, …, 3 через коммутатор PCI-Express 1, интерфейсную ПЛИС 2 и кольцевой высокоскоростной последовательный канал обмена информацией 7 с максимальной скоростью обмена  при условии, что скорость передачи информации по кольцевому каналу 7 не меньше , где коэффициент 1.0 соответствует отсутствию накладных расходов на арбитраж, так как взаимодействие осуществляется посредством интерфейсной ПЛИС 2;
1
2
N
передача в вычислительные ПЛИС 3, 3, … 3 одного и того же входного потока информации по входному порту 4 через коммутатор PCI-Express 1, интерфейсную ПЛИС 2 и кольцевой высокоскоростной последовательный канал обмена информацией 7 с максимальной скоростью потока , при условии равенства потоков входной и выходной информации вычислительных ПЛИС.
1
2
N
1
2
N
В соответствии с этим ожидаемая скорость обмена информацией N вычислительных ПЛИС 3, 3, …, 3 через входной порт 4 будет находиться в диапазоне от  до , в зависимости от текущего соотношения различных способов обмена N вычислительных ПЛИС 3, 3, …, 3 по входному порту.
1
2
N
1
2
N
1
2
N
В предлагаемом модуле имеется возможность установить индивидуальные пороги тепловой защиты для вычислительных ПЛИС 3, 3, …, 3. После запуска задачи модуль переходит в режим контроля температурного режима с возможностью индивидуального отключения рабочего напряжения от вычислительных ПЛИС 3, 3, …, 3, на основании информации получаемой с блока мониторинга 17 по шине 18 соединенной N вычислительными ПЛИС 3, 3, …, 3. Введение единого радиатора прямоугольной формы установленного над N вычислительными ПЛИС обеспечивает эффективное и равномерное охлаждение, путем перераспределения тепла между ними, за счет введения секций ребер, выполненных из медной ленты и напаянных на плиту радиатора, и введения тепловых трубок, впаянных вдоль продольной оси плиты единого радиатора.
1
2
N
Предлагаемый многофункциональный вычислительный модуль может быть выполнен на следующих элементах: коммутатор PCI-Express 1 на базе микросхемы коммутатора РЕХ8648 фирмы PLX Technology, интерфейсная ПЛИС 2 - микросхеме фирмы Xilinx типа XC6VLX75T-1FFG784C, вычислительные ПЛИС 3, 3, …, 3 - микросхемах фирмы Xilinx типа XC7K480T-1FFG1156C, блок оперативного конфигурирования ПЛИС 9 - с использованием CPLD ХС2С64А, память стартовых конфигураций вычислительных ПЛИС 10 - с использованием Flash-памяти S29GL512P, порт контроля и управления JTAG 11 - CPLD ХС2С64А, сетевой порт контроля и управления Ethernet 12 - на микросхеме DP83865DVH, буферная память управления 13 - DDR3 SDRAM, память стартовой конфигурации интерфейсной ПЛИС 16 - на SPI-памяти М25Р64, блок мониторинга 17 - на микросхемах МАХ6656, память стартовой настройки коммутатора PCI-Express 22 - на микросхеме последовательного ПЗУ CAT25128LI с управлением по протоколу SPI, порт объединения устройств по контролю и управлению 24 - на микросхеме ILC3232CAZ преобразователе уровней для последовательного порта RS232.
1
2
N
Таким образом, вышеизложенные сведения позволяют сделать вывод, что предлагаемый многофункциональный вычислительный модуль позволяет наращивать вычислительный ресурс узлов кластерных систем, и эффективно его использовать, передавая уже отработавшие вычислительные ПЛИС 3, 3, …, 3 другим «Задачам» или «Пользователям», так как обеспечена возможность их независимого переконфигурирования и выполнения за счет этого вычислений больших объемов, при распределении вычислительных ресурсов между пользователями с точностью до одного вычислительного ПЛИС в многопользовательских кластерных системах.