RU2780169C1 - Вычислительный модуль для многозадачных вычислительных систем - Google Patents

Вычислительный модуль для многозадачных вычислительных систем Download PDF

Info

Publication number
RU2780169C1
RU2780169C1 RU2021134921A RU2021134921A RU2780169C1 RU 2780169 C1 RU2780169 C1 RU 2780169C1 RU 2021134921 A RU2021134921 A RU 2021134921A RU 2021134921 A RU2021134921 A RU 2021134921A RU 2780169 C1 RU2780169 C1 RU 2780169C1
Authority
RU
Russia
Prior art keywords
fpga
memory
computing
working
pci
Prior art date
Application number
RU2021134921A
Other languages
English (en)
Inventor
Ольга Анатольевна Будкина
Константин Игоревич Воротников
Федор Вячеславович Демин
Илья Александрович Морозов
Виктор Викторович Парамонов
Аркадий Васильевич Симонов
Александр Альбертович Цыбов
Original Assignee
Федеральное государственное унитарное предприятие "Научно-исследовательский институт "Квант"
Filing date
Publication date
Application filed by Федеральное государственное унитарное предприятие "Научно-исследовательский институт "Квант" filed Critical Федеральное государственное унитарное предприятие "Научно-исследовательский институт "Квант"
Application granted granted Critical
Publication of RU2780169C1 publication Critical patent/RU2780169C1/ru

Links

Images

Abstract

Изобретение относится к вычислительному модулю для многозадачных вычислительных систем. Технический результат заключается в возможности одновременного решения различных задач на одной рабочей ПЛИС и совычислителе. Модуль содержит входной порт 1 интерфейса PCI-Express, выходной порт 2 интерфейса PCI-Express, коммутатор 3 PCI-Express, блок 4 управления коммутатором PCI-Express, память 5 стартовой конфигурации системной ПЛИС 7, память 6 стартовой конфигурации рабочих ПЛИС, системную ПЛИС 7, порт 8 контроля и управления системной ПЛИС 7, блок 10 конфигурирования рабочих ПЛИС, блок 11 мониторинга, порт 12 мониторинга, блок 13 управления питанием и охлаждением, порт 14 управления питанием и охлаждением и группу из М вычислительных каналов 91, …, 9М, каждый из которых содержит рабочую ПЛИС 15 и совычислитель 26, причем рабочая ПЛИС 15 содержит контроллер 16 PCI-Express, память 17 конфигурации, блок 18 управления коммутатором 23 рабочей ПЛИС 15, адаптер 19 совычислителя 26, буферную память 20 данных, буферную память 21 результата, контроллер 22 прямого доступа в память, коммутатор 23 рабочей ПЛИС 15, группу из К адаптеров 241, …, 24К исполнительных устройств, группу из К исполнительных устройств 251, …, 25К, а совычислитель 26 содержит интерфейсный блок 27, коммутатор 28 совычислителя и группу из N вычислительных ядер 291, …, 29М, каждое из которых содержит память 30 программы и параметров, блок 31 управления, память 32 данных, операционный блок 33 и память 34 результата. 1 ил.

Description

ОБЛАСТЬ ТЕХНИКИ
Изобретение относится к области вычислительной техники, в частности, к высокопроизводительным реконфигурируемым вычислительным устройствам, предназначенным для решения сложных, трудоемких задач и высокоскоростной обработки больших информационных массивов в многозадачных вычислительных системах с использованием распараллеливания и конвейеризации вычислительных процессов.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
В реконфигурируемых вычислительных системах на ПЛИС, использующих для обмена с управляющей ЭВМ интерфейс PCI-Express, распределение вычислительных ресурсов между пользователями (задачами) осуществляется с точностью до одной рабочей ПЛИС, если у всех рабочих ПЛИС имеется независимое питание и загрузка выполняемыми программами может осуществляется в режиме автоконфигурирования с использованием собственных (отдельных) памятей конфигурации. В случае, когда у рабочих ПЛИС используется общее питание и конфигурирование выполняемыми программами осуществляется исключительно системной ПЛИС, распределение вычислительных ресурсов между пользователями (задачами) осуществляется только с точностью до одного вычислительного модуля.
С появлением более мощных вычислительных компонент заказных СБИС и развитием технологии создания мощных ПЛИС, когда их вычислительных ресурсов становится достаточно для размещения в них нескольких вычислительных устройств (как одинаковых, так и в общем случае разных) и вычислительных каналов, актуальным становится более дифференцированное распределение вычислительных ресурсов между задачами.
Известно реконфигурируемое вычислительное устройство (РВУ 13) приведенное в реконфигурируемой вычислительной системы (RU №2713757 С1, МПК G06F15/17, заявлено 29.04.2019, опубликовано 07.02.2020 Бюл. №4), содержащее коммутатор PCI-Express 19, группу из М унифицированных посадочных мест 171, …, 17М с установленными соответствующими вычислительными ПЛИС 201, …, 20М, интерфейсную ПЛИС 22, группа из М унифицированных посадочных мест 181, …, 18М с установленными соответствующими вычислительными СБИС 331, …, 33М, с установленным над ними единым радиатором прямоугольной формы 27, блок конфигурирования и мониторинга 23, блок управления режимом 30 коммутатора PCI-Express 19, память 24 конфигураций ПЛИС, группу из М блоков индивидуального мониторинга и управления 151, …, 15М, группу из М памятей стартовых конфигураций 351, …, 35М, группу из М буферных памятей 371, …, 37М, группу из М контроллеров 381, …, 38М прямого доступа в память реконфигурируемых вычислительных устройств 131, …, 13N, входной 16 и выходной 28 высокоскоростные последовательные интерфейсы PCI-Express.
Недостатками данного реконфигурируемого вычислительного устройства (РВУ 13) являются не эффективное использование его вычислительной мощности при решении вычислительно сложных задач и задач требующих высокой интенсивности обмена информацией вычислительных ПЛИС по высокоскоростным последовательным интерфейсам PCI-Express.
Причиной, препятствующей достижению технического результата, является то, что у реконфигурируемого вычислительного устройства (РВУ 13) имеется возможность распределять вычислительные ресурсы между задачами только с точностью до одной вычислительной ПЛИС с соответствующей СБИС, а мониторинг состояния компонент вычислительного модуля осуществляется, как и обмен данными, по интерфейсу 16 PCI-Express, что снижает скорость обмена данными и результатами задач пользователей и приводит к простоям вычислительные СБИС.
Известен вычислительный модуль (ВМ 11) приведенный в реконфигурируемой вычислительной системы с многоуровневой подсистемой мониторинга и автоматическим управлением (RU №2748454 С1, МПК G06F 15/16, G06F 15/80, заявлено 02.10.2020, опубликовано 25.05.2021 Бюл. №15), содержащий коммутатор PCI-Express 12, группу из М вычислительных ПЛИС 161, …, 16М, системную ПЛИС 25, блок 20 управления режимом коммутатора 12 PCI-Express, память 24 стартовой конфигураций системной ПЛИС 25, группу из М памятей 131, …, 13М стартовых конфигураций вычислительных ПЛИС 161, …, 16М, группу из М совычислителей 191, …, 19М с индивидуальным питанием, группу из М блоков 181, …, 18М управления режимом совычислителей 191, …, 19М, блок 21 мониторинга и управления, блок 26 конфигурирования вычислительных ПЛИС 161, …, 16М и их памятей 131, …, 13М стартовых конфигураций, блок 23 управления охлаждением и питанием вычислительного модуля, блок 22 автоматического управления, группы из М блоков 171, …, 17М автоматического управления вычислительными ПЛИС и совычислителями, буферных памятей 141, …, 14М и контроллеров 151, …, 15М прямого доступа в память выполняемых задач, входной 35 высокоскоростной последовательный интерфейс PCI-Express, выходной 36 высокоскоростной последовательный интерфейс PCI-Express, шину 51 управления охлаждением и питанием и шину 52 мониторинга и управления состоянием модуля.
Недостатком данного вычислительного модуля (ВМ 11) является не эффективное использование его вычислительной мощности при решении вычислительно сложных задач, если в некоторых задачах имеются неиспользуемые вычислительные мощности вычислительных ПЛИС и совычислителей.
Причиной, препятствующей достижению технического результата, является то, что у вычислительного модуля имеется возможность распределять вычислительные ресурсы между задачами только с точностью до одной вычислительной ПЛИС с совычислителем.
Наиболее близким устройством того же назначения, к заявленному изобретению, по совокупности признаков является принятый за прототип вычислительный модуль (RU №2643622 С1, МПК G06F 15/163, заявлено 25.05.2017, опубликовано 02.02.2018, БИ №4), содержащий группу из N вычислительных ядер 61, …, 6N, интерфейсный блок 1, блок разделения заданий 2, блок памяти заголовков заданий 3, блок памяти данных заданий 4, арбитр заданий 5, группу из N блоков памяти номеров заданий вычислительных ядер 71, …, 7N, блок мультиплексоров результатов 8, арбитр результатов 9, блок памяти заголовков результатов 10, блок памяти данных результатов 11, внешний интерфейс 12, при этом каждое вычислительное ядро 61, …, 6N состоит из входной буферной памяти 6-1, операционного блока 6-2, выходной буферной памяти 6-3 и блока управления 6-4.
Недостатками данного вычислительного модуля являются не эффективное использование его вычислительной мощности при решении вычислительно сложных задач, если в некоторых задачах имеются неиспользуемые вычислительные ядра, и отсутствие подсистемы мониторинга состояния.
Причиной, препятствующей достижению технического результата, является то, что вычислительный модуль предназначен для применения только при решении трудоемкой задачи одного пользователя с использованием распараллеливания по данным на множество независимых однотипных подзадач, объединенных общими режимами и параметрами работы.
ЗАДАЧА ИЗОБРЕТЕНИЯ
Задача, на решение которой направлено предлагаемое изобретение, заключается в создании вычислительного модуля для многозадачных вычислительных систем.
Техническим результатом предлагаемого изобретения является обеспечение возможности одновременного решения различных задач на одной рабочей ПЛИС и совычислителе.
КРАТКОЕ ОПИСАНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
Указанный технический результат при осуществлении изобретения достигается тем, что вычислительный модуль для многозадачных вычислительных систем содержит входной порт 1 интерфейса PCI-Express, выходной порт 2 интерфейса PCI-Express, коммутатор 3 PCI-Express, блок 4 управления коммутатором PCI-Express, память 5 стартовой конфигурации системной ПЛИС 7, память 6 стартовой конфигурации рабочих ПЛИС, системная ПЛИС 7, порт 8 контроля и управления системной ПЛИС 7, блок 10 конфигурирования рабочих ПЛИС, блок 11 мониторинга, порт 12 мониторинга, блок 13 управления питанием и охлаждением, порт 14 управления питанием и охлаждением и группу из М вычислительных каналов 91, …, 9М, каждый из которых содержит рабочую ПЛИС 15 и совычислитель 26,
причем рабочая ПЛИС 15 содержит контроллер 16 PCI-Express, память 17 конфигурации, блок 18 управления коммутатором 23 рабочей ПЛИС 15, адаптер 19 совычислителя 26, буферную память 20 данных, буферную память 21 результата, контроллер 22 прямого доступа в память, коммутатор 23 рабочей ПЛИС 15, группу из К адаптеров 241, …, 24К исполнительных устройств, группу из К исполнительных устройств 251, …, 25К,
а совычислитель 26 содержит интерфейсный блок 27, коммутатор 28 совычислителя и группу из N вычислительных ядер 291, …, 29N, каждое из которых содержит память 30 программы и параметров, блок 31 управления, память 32 данных, операционный блок 33 и память 34 результата,
причем коммутатор PCI-Express 3 соединен с входным портом 1 интерфейса PCI-Express, выходным портом 2 интерфейса PCI-Express, блоком 4 управления коммутатором PCI-Express, контроллерами 16 PCI-Express группы из М вычислительных каналов 91, …, 9М и системной ПЛИС 7, которая соединена с блоком 4 управления коммутатором PCI-Express, портом 8 контроля и управления системной ПЛИС 7, памятью 5 стартовой конфигурации системной ПЛИС 7, памятью 6 стартовой конфигурации рабочих ПЛИС 15 и с блоком 10 конфигурирования рабочих ПЛИС 15, который соединен с рабочими ПЛИС 15 группы из М вычислительных каналов 91, …, 9M мшинами 351, …, 35М конфигурирования,
кроме того системная ПЛИС 7 соединена с блоком 11 мониторинга, который соединен с портом 12 мониторинга, группой из М вычислительных каналов 91, …, 9М шинами 361, …, 36М мониторинга состояния и блоком 13 управления питанием и охлаждением, который соединен с портом 14 управления охлаждением и шинами 371, …, 37М управления питанием с группой из М вычислительных каналов 91, …, 9М,
в каждой из рабочих ПЛИС 15 контроллер 16 PCI-Express соединен с контроллером 22 прямого доступа в память и с памятью 17 конфигурации, которая соединена с блоком 18 управления коммутатором 23 рабочей ПЛИС 15 и контроллером 22 прямого доступа в память, который соединен с буферной памятью 20 данных, буферной памятью 21 результата и коммутатором 23 рабочей ПЛИС 15, который соединен с блоком 18 управления коммутатором рабочей ПЛИС 15, группой из К адаптеров исполнительных устройств 241, …, 24К, соединенных с соответствующими одноименными исполнительными устройствами 251, …, 25К, и с адаптером 19 совычислителя 26,
причем адаптер 19 совычислителя 26 соединен с интерфейсным блоком 27 совычислителя 26, в котором интерфейсный блок 27 соединен с коммутатором 28, который соединен с группой из N вычислительных ядер 291, …, 29N.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
На фиг. 1 приведена функциональная схема вычислительного модуля для многозадачных вычислительных систем.
На фиг. 1 и в тексте приняты следующие сокращения и обозначения:
1 - входной порт интерфейса PCI-Express;
2 - выходной порт интерфейса PCI-Express;
3 - коммутатор PCI-Express;
4 - блок управления коммутатором PCI-Express;
5 - память стартовой конфигурации системной ПЛИС;
6 - память стартовой конфигурации рабочих ПЛИС;
7 - системная ПЛИС;
8 - порт контроля и управления системной ПЛИС;
91, …, 9М - группа из М вычислительных каналов;
10 - блок конфигурирования рабочих ПЛИС;
11 - блок мониторинга;
12 - порт мониторинга;
13 - блок управления питанием и охлаждением;
14 - порт управления охлаждением;
15 - рабочая ПЛИС;
16 - контроллер PCI-Express;
17 - память конфигурации;
18 - блок управления коммутатором рабочей ПЛИС;
19 - адаптер совычислителя;
20 - буферная память данных;
21 - буферная память результата;
22 - контроллер прямого доступа в память;
23 - коммутатор рабочей ПЛИС;
241, …, 24К - группа из К адаптеров исполнительных устройств;
251, …, 25К - группа из К исполнительных устройств;
26 - совычислитель;
27 - интерфейсный блок;
28 - коммутатор совычислителя;
291, …, 29N - группа из N вычислительных ядер;
30 - память программы и параметров;
31 - блок управления;
32 - память данных;
33 - операционный блок;
34 - память результатов;
351, …,35M - группа из М шин конфигурирования рабочих ПЛИС;
361, …, 36M - группа из М шин мониторинга состояния вычислительных каналов;
371, …, 37М - группа из М шин управления питанием вычислительных каналов.
ПОДРОБНОЕ ОПИСАНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
Трудоемкие задачи, предназначенные для решения на высокопроизводительных реконфигурируемых вычислительных системах, содержат некоторые трудоемкие фрагменты, которые определяют трудоемкость задачи в целом, и к которым, прежде всего, относятся вычисления некоторых сложных функций или функций с большим числом повторений (переборов). При решении таких задач осуществляется их декомпозиция на отдельные фрагменты, при которой наиболее трудоемкие фрагменты выполняются при помощи различных ускорителей вычислений.
К ускорителям вычислений в реконфигурируемых вычислительных системах относятся аппаратные ускорители, синтезированные на ресурсах рабочих ПЛИС, и программно-аппаратные ускорители, реализуемые на различного типа заказных СБИС.
Исполнительное устройство 25 - это ускоритель вычислений, предназначенный для аппаратной реализации трудоемкого фрагмента задачи пользователя и реализованный на ресурсах рабочих ПЛИС 15.
Вычислительное ядро 29 - это ускоритель вычислений, предназначенный для программно-аппаратной реализации трудоемкого фрагмента задачи пользователя и реализованный на ресурсах совычислителя 26.
Коммуникационная среда - это система, предназначенная для обмена информацией между вычислительными компонентами модуля и внешними портами. В предлагаемом вычислительном модуле реализована трехуровневая коммуникационная среда, обеспечивающая взаимодействие программы пользователя (задачи) с исполнительными устройствами и вычислительными ядрами.
Первый уровень коммуникационной среды реализован на коммутаторе 3 PCI-Express, основан на использовании стандартного протокола PCI-Express, обеспечивает унифицированное объединение контроллеров 16 PCI-Express рабочих ПЛИС 15 и простое подключение предлагаемого вычислительного модуля к внешней управляющей ЭВМ вычислительной системы.
Второй уровень коммуникационной среды - это коммутатор 23, реализованный на внутренних ресурсах рабочих ПЛИС, который использует как стандартные, так и специализированные протоколы, наиболее эффективные для подключения конкретных исполнительных устройств в рабочих ПЛИС.
Третий уровень коммуникационной среды - это коммутатор 28 совычислителя, который также использует как стандартные, так и специализированные протоколы, наиболее эффективные для подключения конкретных вычислительных ядер и реализован на внутренних ресурсах совычислителя.
Входной порт 1 интерфейса PCI-Express предназначен для связи с управляющей ЭВМ.
Выходной порт 2 интерфейса PCI-Express предназначен для подключения аналогичных вычислительных модулей к управляющей ЭВМ и объединения с другой управляющей ЭВМ.
Блок 4 управления коммутатором PCI-Express предназначен для управления режимами работы коммутатора 3 PCI-Express по входному 1 и выходному 2 портам при подключении дополнительных вычислительных модулей или объединении с другой управляющей ЭВМ.
Память 5 стартовой конфигурации системной ПЛИС 7 предназначена для хранения стартовой программы системной ПЛИС 7, загружающейся в нее по включению питания.
Память 6 стартовой конфигурации рабочей ПЛИС предназначена для хранения стартовой программы рабочих ПЛИС 15, загружающейся в них по включению питания.
Системная ПЛИС 7 взаимодействует со служебными программами управляющей ЭВМ посредством коммутатора 3 PCI-Express и предназначена для управления коммутатором 3 PCI-Express посредством блока 4, записи памяти 6 стартовой конфигурации рабочей ПЛИС и собственной памяти 5 стартовой конфигурации, и обеспечивает управление блоком 10 конфигурирования рабочих ПЛИС и блоком 11 мониторинга.
Порт 8 контроля и управления системной ПЛИС 7 предназначен для работы в режиме настройки и стартового конфигурирования программными средствами САПР системной ПЛИС 7 и памяти 5 стартовой конфигурации системной ПЛИС 7.
Блок 10 конфигурирования рабочих ПЛИС предназначен для организации одновременного конфигурирования всех рабочих ПЛИС 15 из памяти 6 стартовой конфигурации и независимого конфигурирования рабочих ПЛИС 15 под управлением системной ПЛИС 7.
Блок 11 мониторинга предназначен для сбора и обработки информации о состоянии (температура, напряжение питания) вычислительных каналов 91, …, 9M, организации взаимодействия с внешней системой мониторинга по порту 12 мониторинга, управления блоком 13 управления питанием и охлаждением.
Блок 13 управления питанием и охлаждением предназначен для организации независимого управления питанием в каждом из вычислительных каналов 91, …, 9M (включить/выключить питание рабочей ПЛИС 15, совычислителя 26) и взаимодействия с системой управления скоростью вращения вентиляторов охлаждения по порту 14.
Группа из М вычислительных каналы 91, …, 9M, каждый из которых состоит из рабочей ПЛИС 15 и совычислителя 26, предназначена для решения трудоемких фрагментов задач пользователей.
Контроллер 16 PCI-Express и контроллер 22 прямого доступа в память с буферными памятями 20 данных и 21 результатов рабочей ПЛИС 15, предназначены для организации высокоскоростной связи с памятью управляющей ЭВМ через коммутатор 3 PCI-Express.
Память 17 конфигурации предназначена для хранения характеристик исполнительных устройств 251, …, 25К рабочей ПЛИС 15 и совычислителя 26, а также параметров их взаимодействия с задачами пользователя.
Группы из К исполнительные устройства 251, …, 25К в рабочих ПЛИС 15 предназначены для решения трудоемких фрагментов задач пользователей.
Адаптеры 241, …, 24К исполнительных устройств пользователей предназначены для согласования протокола коммутатора 23 рабочей ПЛИС, работающего под управлением блока 18, с протоколами конкретных исполнительных устройств группы из К 251, …, 25К.
Адаптер 19 совычислителя 26 предназначен для согласования протокола совычислителя 26 с протоколом коммутатора 23 рабочей ПЛИС.
Интерфейсный блок 27 совычислителя 26, предназначен для согласования протокола адаптера 19 совычислителя 26 с протоколом коммутатора 28 совычислителя 26.
Группы из N вычислительных ядер 291, …, 29N, состоящие из памяти 30 программы и параметров, блока 31 управления, памяти 32 данных, операционного блока 33 и памяти 34 результата, предназначены для решения трудоемких фрагментов задач пользователей.
Предлагаемый вычислительный модуль для многозадачных вычислительных систем работает в составе вычислительной системы с управляющей ЭВМ следующим образом.
После подключения вычислительного модуля к вычислительной системе по портам 1 и 2 интерфейса PCI-Express и к подсистемам мониторинга (порт 12) и управления охлаждением (порт 14), осуществляется централизованное включение питания на вычислительном модуле (на фиг. 1 не показано) и выполняется загрузка стартовой конфигурации системной ПЛИС 7 из памяти 5. После этого системная ПЛИС 7 включает питание на рабочих ПЛИС 15 и осуществляет загрузку в них стартовой конфигурации из памяти 6, а также установку начальных порогов температурной защиты рабочих ПЛИС 15 и совычислителей 26 в блоке 11 мониторинга.
Включение питания совычислителей 26 осуществляется соответствующей рабочей ПЛИС только в случае использования их вычислительных ресурсов задачами пользователей (на фиг. 1 не показано).
По окончании начальной подготовки предлагаемого вычислительного модуля к работе осуществляется загрузка операционной системы управляющей ЭВМ и выполняется привязка контроллеров 16 PCI-Express рабочих ПЛИС 15 вычислительных каналов 91, …, 9M к адресному пространству управляющей ЭВМ (номер вычислительного модуля в вычислительной системе и номер контроллера 16 PCI-Express в коммуникационной среде первого уровня коммутатора 3 вычислительного модуля).
После этого в каждом из вычислительных каналов 91, …, 9M, осуществляется считывание содержания памяти 17 конфигурации рабочих ПЛИС 15, выделение требуемых буферов в памяти управляющей ЭВМ и привязка последних к вычислительным ресурсам исполнительных устройств 251, …, 25К рабочих ПЛИС 15 и вычислительных ядер 291, …, 29N совычислителей 26. Привязка осуществляется путем записи в память 17 конфигурации рабочих ПЛИС 15 прямых (физических) адресов буферов обмена, выделенных для них вычислительной системой.
На каждое исполнительное устройство 251, …, 25К и вычислительное ядро 291, …, 29N в памяти управляющей ЭВМ выделяются:
- буфер для обрабатываемых данных;
- буфер для результатов обработки;
- буфер для выполняемой программы, параметров и текущего состояния исполнительного устройства и вычислительного ядра.
Для каждого исполнительного устройства 251, …, 25К рабочих ПЛИС 15 и вычислительного ядра 291, …, 29N совычислителей 26 память 17 конфигурации содержит следующую информацию:
- признак исполнительного устройства (0) или номер адаптера 19 (не равен 0) совычислителя 26 (содержится в памяти 17 конфигурации);
- номер (тип) выполняемой задачи в исполнительным устройством 251, …, 25К или вычислительным ядром 291, …, 29N совычислителя 26 из общего списка задач (содержится в памяти 17 конфигурации);
- номер (адрес) адаптера исполнительного устройства 241, …, 24К или вычислительного ядра 291, …, 29N совычислителя 26 (содержится в памяти 17 конфигурации);
- начальные (физические) адреса буферов в адресном пространстве управляющей ЭВМ (записываются в память 17 конфигурации после привязки);
- объемы буферов необходимые для выполнения задачи в исполнительных устройствах 251, …, 25К или ядрах 291, …, 29N совычислителя 26 (содержится в памяти 17 конфигурации).
Исполнительные устройства 241, …, 24К рабочих ПЛИС 15 и вычислительные ядра 291, …, 29n могут быть как однотипные, так и нет. Загрузка тех или иных исполнительных устройств 241, …, 24К рабочих ПЛИС 15 осуществляется в процессе обработки текущего потока задач пользователей, в зависимости от его состава. Задачи, выполняемые вычислительными ядрами 291, …, 29N совычислителя 26 зависят как от программ и параметров, так и от операционных блоков 33.
Память 17 конфигурации по всем исполнительным устройствам и вычислительным ядрам содержит следующую информацию:
{(X)(ZJ)(J)(A)(B)(C)(Na)(Nb)(Nc)},
где X - признак исполнительного устройства (0) или номер адаптера совычислителя;
ZJ - номер (тип) задачи из общего списка задач исполнительных устройств и вычислительных ядер вычислительной системы;
J - номер адаптера исполнительного устройства (1, …, К) в рабочей ПЛИС 15 или вычислительного ядра (1, …, N) в совычислителе 26;
А, В, С - начальные (физические) адреса буферов в памяти управляющей ЭВМ;
Na, Nb, Nc - объем буферов в памяти управляющей ЭВМ.
Алгоритм взаимодействия задачи пользователя с операционной системой управляющей ЭВМ реализует:
- выделение массивов под переменные задачи;
- выделение исполнительных устройств 241, …, 24N и вычислительных ядер 291, …, 29N совычислителей 26 из имеющихся в наличие и свободных на текущий момент;
- привязка адресов массивов логических переменных обрабатываемых данных, результатов, выполняемой программы, параметров и текущего состояния к буферам, выделенным исполнительным устройствам 251, …, 25N и соответствующим вычислительным ядрам 291, …, 29N;
- загрузку программ и параметров в соответствующие исполнительные устройства 251, …, 25N и вычислительные ядра 291, …, 29N, после чего исполнительные устройства и
вычислительные ядра активизируются и выставляют запросы на получения данных для обработки или новых программ и параметров;
-выполнение задачи пользователя исполнительными устройствами 251, …, 25N и соответствующими вычислительными ядрами 291, …, 29N.
Алгоритм выполнения задачи осуществляет следующее:
- загрузка данных в соответствующие буфера исполнительных устройств 251, …, 25N и вычислительных ядер 291, …, 29N из массива данных задачи;
- старт и анализ завершения обработки данных соответствующими исполнительными устройствами 251, …, 25N и вычислительными ядрами 291, …, 29N по состоянию буфера выполняемой программы, параметров и текущего состояния;
- выгрузка результатов из соответствующих буферов исполнительных устройств 251, …, 25N и вычислительных ядер 291, …, 29N в массив результатов задачи;
- анализ продолжения или окончания задачи, освобождение выделенных исполнительных устройств 251, …, 25N, вычислительных ядер 291, …, 29N массивов переменных задачи.
После окончания задачи исполнительные устройства 251, …, 25N рабочих ПЛИС 15 и вычислительные ядра 291, …, 29N совычислителей 26 остаются активными и после перезагрузки программ и параметров от другой задачи могут принимать участие в ее решении. А так как изменение программ и параметров осуществляется независимо в каждом исполнительном устройстве и вычислительном ядре, то в предлагаемом вычислительном модуле на рабочих ПЛИС 15 и совычислителях 26 могут одновременно выполняться фрагменты различных задач пользователей.
Контроллер 22 прямого доступа в память, в соответствии с состоянием памяти 17 конфигурации, отрабатывает все запросы исполнительных устройств 251, …, 25N и вычислительных ядер 291, …, 29N на доступ к выделенным буферам для получения новых программ, данных и записи полученных результатов, к которым с другой стороны можно обращаются из задач (программ) пользователя в режиме разделения памяти.
Таким образом, задачам пользователей нет необходимости резервировать за собой рабочие ПЛИС 15, так как они выполняются на свободных исполнительных устройствах 24 и вычислительных ядрах 29, которые могут физически находиться даже в различных рабочих ПЛИС 15 и совычислителях 29, тем самым на одной рабочей ПЛИС 15 могут решаться одновременно различные задачи пользователей.
Деактивация исполнительных устройств 251, …, 25N и вычислительных ядер 291, …, 29N осуществляется путем переконфигурирования рабочих ПЛИС при которой обнуляются начальные (физические) адреса буферов в ее памяти 17 конфигурации.
ПРИМЕР ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
Предлагаемый вычислительный модуль для многозадачных вычислительных систем может быть реализован на следующих элементах:
- системная ПЛИС 7 - на микросхеме фирмы Xilinx типа XC7A15T-FGG484;
- коммутатор PCI-Express 3 - на микросхеме коммутатора РЕХ8732 фирмы PLX Technology;
- блок конфигурирования 10 - на микросхемах CPLD ХС2С64А;
- блок мониторинга 11 - на микросхемах МАХ1239 и 570FCA000133DG;
- памяти 5 и 6 стартовых конфигураций - на микросхемах SPI-памяти М25Р64;
- рабочие ПЛИС 15 - на микросхемах фирмы Xilinx типа ХС7А100 в корпусе FGG484. Вышеизложенные сведения позволяют сделать вывод, что предлагаемый
вычислительный модуль для многозадачных вычислительных систем решает поставленную задачу и соответствует заявляемому техническому результату - обеспечение возможности одновременного решения различных задач на одной рабочей ПЛИС и совычислителе.

Claims (7)

  1. Вычислительный модуль для многозадачных вычислительных систем содержит входной порт 1 интерфейса PCI-Express, выходной порт 2 интерфейса PCI-Express, коммутатор 3 PCI-Express, блок 4 управления коммутатором PCI-Express, память 5 стартовой конфигурации системной ПЛИС 7, память 6 стартовой конфигурации рабочих ПЛИС, системную ПЛИС 7, порт 8 контроля и управления системной ПЛИС 7, блок 10 конфигурирования рабочих ПЛИС, блок 11 мониторинга, порт 12 мониторинга, блок 13 управления питанием и охлаждением, порт 14 управления питанием и охлаждением и группу из М вычислительных каналов 91, …, 9М, каждый из которых содержит рабочую ПЛИС 15 и совычислитель 26,
  2. причем рабочая ПЛИС 15 содержит контроллер 16 PCI-Express, память 17 конфигурации, блок 18 управления коммутатором 23 рабочей ПЛИС 15, буферную память 20 данных, буферную память 21 результата, контроллер 22 прямого доступа в память, коммутатор 23 рабочей ПЛИС 15, группу из К адаптеров 241, …, 24К исполнительных устройств, адаптер 19 совычислителя 26, группу из К исполнительных устройств 251, …, 25К,
  3. а совычислитель 26 содержит интерфейсный блок 27, коммутатор 28 совычислителя и группу из N вычислительных ядер 291, …, 29М, каждое из которых содержит память 30 программы и параметров, блок 31 управления, память 32 данных, операционный блок 33 и память 34 результата,
  4. причем коммутатор PCI-Express 3 соединен с входным портом 1 интерфейса PCI-Express, выходным портом 2 интерфейса PCI-Express, блоком 4 управления коммутатором PCI-Express, контроллерами 16 PCI-Express группы из М вычислительных каналов 91, …, 9М и системной ПЛИС 7, которая соединена с блоком 4 управления коммутатором PCI-Express, портом 8 контроля и управления системной ПЛИС 7, памятью 5 стартовой конфигурации системной ПЛИС 7, памятью 6 стартовой конфигурации рабочих ПЛИС 15 и с блоком 10 конфигурирования рабочих ПЛИС 15, который соединен с рабочими ПЛИС 15 группы из М вычислительных каналов 91, …, 9М шинами 351, …, 35М конфигурирования,
  5. кроме того, системная ПЛИС 7 соединена с блоком 11 мониторинга, который соединен с портом 12 мониторинга, группой из М вычислительных каналов 91, …, 9М шинами 361, …, 36М мониторинга состояния и блоком 13 управления питанием и охлаждением, который соединен с портом 14 управления охлаждением и шинами 371, …, 37М управления питанием с группой из М вычислительных каналов 91, …, 9М,
  6. в каждой из рабочих ПЛИС 15 контроллер 16 PCI-Express соединен с контроллером 22 прямого доступа в память и с памятью 17 конфигурации, которая соединена с блоком 18 управления коммутатором 23 рабочей ПЛИС 15 и контроллером 22 прямого доступа в память, который соединен с буферной памятью 20 данных, буферной памятью 21 результата и коммутатором 23 рабочей ПЛИС 15, который соединен с блоком 18 управления коммутатором рабочей ПЛИС 15, группой из К адаптеров исполнительных устройств 241, …, 24К, соединенных с соответствующими исполнительными устройствами 251, …, 25К, и с адаптером 19 совычислителя 26,
  7. причем адаптер 19 совычислителя 26 соединен с интерфейсным блоком 27 совычислителя 26, в котором интерфейсный блок 27 соединен с коммутатором 28, который соединен с группой из N вычислительных ядер 291, …, 29N.
RU2021134921A 2021-11-29 Вычислительный модуль для многозадачных вычислительных систем RU2780169C1 (ru)

Publications (1)

Publication Number Publication Date
RU2780169C1 true RU2780169C1 (ru) 2022-09-20

Family

ID=

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2823113C1 (ru) * 2023-11-14 2024-07-18 Федеральное государственное унитарное предприятие "Научно-исследовательский институт "Квант" Вычислительный модуль с динамическим перераспределением вычислительных ресурсов

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140149715A1 (en) * 2012-11-28 2014-05-29 Los Alamos National Security, Llc Scalable and programmable computer systems
RU156778U1 (ru) * 2015-04-10 2015-11-20 Федеральное государственное унитарное предприятие "Научно-исследовательский институт "Квант" Реконфигурируемая вычислительная система
RU168565U1 (ru) * 2016-11-21 2017-02-08 Федеральное государственное унитарное предприятие "Научно-исследовательский институт "Квант" Реконфигурируемый вычислительный модуль
US20170052801A1 (en) * 2009-08-28 2017-02-23 Advanced Green Computing Machines-Ip, Limited High density multi node computer with improved efficiency, thermal control, and compute performance
RU2643622C1 (ru) * 2017-05-25 2018-02-02 Федеральное государственное унитарное предприятие "Научно-исследовательский институт "Квант" Вычислительный модуль
RU2677363C1 (ru) * 2017-07-24 2019-01-16 Федеральное государственное унитарное предприятие "Научно-исследовательский институт "Квант" Реконфигурируемая вычислительная система
RU2686004C1 (ru) * 2018-07-26 2019-04-23 Федеральное государственное унитарное предприятие "Научно-исследовательский институт "Квант" Вычислительный модуль
RU2699254C1 (ru) * 2018-10-30 2019-09-04 Федеральное государственное унитарное предприятие "Научно-исследовательский институт "Квант" Реконфигурируемая вычислительная система с многоуровневой подсистемой мониторинга и управления
RU2713757C1 (ru) * 2019-04-29 2020-02-07 Федеральное государственное унитарное предприятие "Научно-исследовательский институт "Квант" Реконфигурируемая вычислительная система
RU2748454C1 (ru) * 2020-10-02 2021-05-25 Федеральное государственное унитарное предприятие "Научно-исследовательский институт "Квант" Реконфигурируемая вычислительная система с многоуровневой подсистемой мониторинга и автоматическим управлением

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170052801A1 (en) * 2009-08-28 2017-02-23 Advanced Green Computing Machines-Ip, Limited High density multi node computer with improved efficiency, thermal control, and compute performance
US20140149715A1 (en) * 2012-11-28 2014-05-29 Los Alamos National Security, Llc Scalable and programmable computer systems
RU156778U1 (ru) * 2015-04-10 2015-11-20 Федеральное государственное унитарное предприятие "Научно-исследовательский институт "Квант" Реконфигурируемая вычислительная система
RU168565U1 (ru) * 2016-11-21 2017-02-08 Федеральное государственное унитарное предприятие "Научно-исследовательский институт "Квант" Реконфигурируемый вычислительный модуль
RU2643622C1 (ru) * 2017-05-25 2018-02-02 Федеральное государственное унитарное предприятие "Научно-исследовательский институт "Квант" Вычислительный модуль
RU2677363C1 (ru) * 2017-07-24 2019-01-16 Федеральное государственное унитарное предприятие "Научно-исследовательский институт "Квант" Реконфигурируемая вычислительная система
RU2686004C1 (ru) * 2018-07-26 2019-04-23 Федеральное государственное унитарное предприятие "Научно-исследовательский институт "Квант" Вычислительный модуль
RU2699254C1 (ru) * 2018-10-30 2019-09-04 Федеральное государственное унитарное предприятие "Научно-исследовательский институт "Квант" Реконфигурируемая вычислительная система с многоуровневой подсистемой мониторинга и управления
RU2713757C1 (ru) * 2019-04-29 2020-02-07 Федеральное государственное унитарное предприятие "Научно-исследовательский институт "Квант" Реконфигурируемая вычислительная система
RU2748454C1 (ru) * 2020-10-02 2021-05-25 Федеральное государственное унитарное предприятие "Научно-исследовательский институт "Квант" Реконфигурируемая вычислительная система с многоуровневой подсистемой мониторинга и автоматическим управлением

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2823113C1 (ru) * 2023-11-14 2024-07-18 Федеральное государственное унитарное предприятие "Научно-исследовательский институт "Квант" Вычислительный модуль с динамическим перераспределением вычислительных ресурсов

Similar Documents

Publication Publication Date Title
US6438737B1 (en) Reconfigurable logic for a computer
CN110232036B (zh) 主机系统及其方法和加速模块
Choi et al. Hbm connect: High-performance hls interconnect for fpga hbm
US9710310B2 (en) Dynamically configurable hardware queues for dispatching jobs to a plurality of hardware acceleration engines
US5765198A (en) Transparent relocation of real memory addresses in the main memory of a data processor
USRE41293E1 (en) Multiprocessor computer having configurable hardware system domains
US11079958B2 (en) Apparatus, system and method for offloading data transfer operations between source and destination storage devices to a hardware accelerator
CN108121672A (zh) 一种基于NandFlash存储器多通道的存储阵列控制方法与装置
GB2396711A (en) Memory controller with programmable timing and control registers for data transfers which have a distinct sequence of phases.
CN101133386A (zh) 用于主机控制器上的独立和并发数据传送的方法和装置
Jung {OpenExpress}: Fully hardware automated open research framework for future fast {NVMe} devices
Zha et al. Hetero-ViTAL: A virtualization stack for heterogeneous FPGA clusters
US6615295B2 (en) Relaxed read completion ordering in a system using transaction order queue
US7647485B2 (en) Data processing system for debugging utilizing halts in a parallel device
Vu et al. Enabling partial reconfiguration for coprocessors in mixed criticality multicore systems using PCI Express Single-Root I/O Virtualization
RU2780169C1 (ru) Вычислительный модуль для многозадачных вычислительных систем
Zou et al. DirectNVM: Hardware-accelerated NVMe SSDs for high-performance embedded computing
US7370139B2 (en) Methods and structures for efficient storage of task file information in serial ATA environments
US9176669B2 (en) Address resource mapping in a shared memory computer system
CN101639692B (zh) 多可编程逻辑器件的控制方法、设备和系统
RU2713757C1 (ru) Реконфигурируемая вычислительная система
Bougioukou et al. Prototyping and performance evaluation of a dynamically adaptable block device driver for PCIe-based SSDs
CA2504713C (en) A method for direct memory access, related architecture and computer program product
RU2823113C1 (ru) Вычислительный модуль с динамическим перераспределением вычислительных ресурсов
KR102671340B1 (ko) 시스템 온 칩 장치