ВЫЧИСЛИТЕЛЬНЫЙ МОДУЛЬ ДЛЯ МНОГОЗАДАЧНЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
COMPUTING MODULE FOR MULTITASKING COMPUTING SYSTEMS

ОБЛАСТЬ ТЕХНИКИ
Изобретение относится к области вычислительной техники, в частности, к высокопроизводительным реконфигурируемым вычислительным устройствам, предназначенным для решения сложных, трудоемких задач и высокоскоростной обработки больших информационных массивов в многозадачных вычислительных системах с использованием распараллеливания и конвейеризации вычислительных процессов.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
В реконфигурируемых вычислительных системах на ПЛИС, использующих для обмена с управляющей ЭВМ интерфейс PCI-Express, распределение вычислительных ресурсов между пользователями (задачами) осуществляется с точностью до одной рабочей ПЛИС, если у всех рабочих ПЛИС имеется независимое питание и загрузка выполняемыми программами может осуществляется в режиме автоконфигурирования с использованием собственных (отдельных) памятей конфигурации. В случае, когда у рабочих ПЛИС используется общее питание и конфигурирование выполняемыми программами осуществляется исключительно системной ПЛИС, распределение вычислительных ресурсов между пользователями (задачами) осуществляется только с точностью до одного вычислительного модуля.
С появлением более мощных вычислительных компонент заказных СБИС и развитием технологии создания мощных ПЛИС, когда их вычислительных ресурсов становится достаточно для размещения в них нескольких вычислительных устройств (как одинаковых, так и в общем случае разных) и вычислительных каналов, актуальным становится более дифференцированное распределение вычислительных ресурсов между задачами.
1
М
1
М
1
М
1
М
1
М
1
М
1
М
1
М
1
N
Известно реконфигурируемое вычислительное устройство (РВУ 13) приведенное в реконфигурируемой вычислительной системы (RU №2713757 С1, МПК G06F15/17, заявлено 29.04.2019, опубликовано 07.02.2020 Бюл. №4), содержащее коммутатор PCI-Express 19, группу из М унифицированных посадочных мест 17, …, 17 с установленными соответствующими вычислительными ПЛИС 20, …, 20, интерфейсную ПЛИС 22, группа из М унифицированных посадочных мест 18, …, 18 с установленными соответствующими вычислительными СБИС 33, …, 33, с установленным над ними единым радиатором прямоугольной формы 27, блок конфигурирования и мониторинга 23, блок управления режимом 30 коммутатора PCI-Express 19, память 24 конфигураций ПЛИС, группу из М блоков индивидуального мониторинга и управления 15, …, 15, группу из М памятей стартовых конфигураций 35, …, 35, группу из М буферных памятей 37, …, 37, группу из М контроллеров 38, …, 38 прямого доступа в память реконфигурируемых вычислительных устройств 13, …, 13, входной 16 и выходной 28 высокоскоростные последовательные интерфейсы PCI-Express.
Недостатками данного реконфигурируемого вычислительного устройства (РВУ 13) являются не эффективное использование его вычислительной мощности при решении вычислительно сложных задач и задач требующих высокой интенсивности обмена информацией вычислительных ПЛИС по высокоскоростным последовательным интерфейсам PCI-Express.
Причиной, препятствующей достижению технического результата, является то, что у реконфигурируемого вычислительного устройства (РВУ 13) имеется возможность распределять вычислительные ресурсы между задачами только с точностью до одной вычислительной ПЛИС с соответствующей СБИС, а мониторинг состояния компонент вычислительного модуля осуществляется, как и обмен данными, по интерфейсу 16 PCI-Express, что снижает скорость обмена данными и результатами задач пользователей и приводит к простоям вычислительные СБИС.
1
М
1
М
1
М
1
М
1
М
1
М
1
М
1
М
1
М
1
М
1
М
Известен вычислительный модуль (ВМ 11) приведенный в реконфигурируемой вычислительной системы с многоуровневой подсистемой мониторинга и автоматическим управлением (RU №2748454 С1, МПК G06F 15/16, G06F 15/80, заявлено 02.10.2020, опубликовано 25.05.2021 Бюл. №15), содержащий коммутатор PCI-Express 12, группу из М вычислительных ПЛИС 16, …, 16, системную ПЛИС 25, блок 20 управления режимом коммутатора 12 PCI-Express, память 24 стартовой конфигураций системной ПЛИС 25, группу из М памятей 13, …, 13 стартовых конфигураций вычислительных ПЛИС 16, …, 16, группу из М совычислителей 19, …, 19 с индивидуальным питанием, группу из М блоков 18, …, 18 управления режимом совычислителей 19, …, 19, блок 21 мониторинга и управления, блок 26 конфигурирования вычислительных ПЛИС 16, …, 16 и их памятей 13, …, 13 стартовых конфигураций, блок 23 управления охлаждением и питанием вычислительного модуля, блок 22 автоматического управления, группы из М блоков 17, …, 17 автоматического управления вычислительными ПЛИС и совычислителями, буферных памятей 14, …, 14 и контроллеров 15, …, 15 прямого доступа в память выполняемых задач, входной 35 высокоскоростной последовательный интерфейс PCI-Express, выходной 36 высокоскоростной последовательный интерфейс PCI-Express, шину 51 управления охлаждением и питанием и шину 52 мониторинга и управления состоянием модуля.
Недостатком данного вычислительного модуля (ВМ 11) является не эффективное использование его вычислительной мощности при решении вычислительно сложных задач, если в некоторых задачах имеются неиспользуемые вычислительные мощности вычислительных ПЛИС и совычислителей.
Причиной, препятствующей достижению технического результата, является то, что у вычислительного модуля имеется возможность распределять вычислительные ресурсы между задачами только с точностью до одной вычислительной ПЛИС с совычислителем.
1
N
1
N
1
N
Наиболее близким устройством того же назначения, к заявленному изобретению, по совокупности признаков является принятый за прототип вычислительный модуль (RU №2643622 С1, МПК G06F 15/163, заявлено 25.05.2017, опубликовано 02.02.2018, БИ №4), содержащий группу из N вычислительных ядер 6, …, 6, интерфейсный блок 1, блок разделения заданий 2, блок памяти заголовков заданий 3, блок памяти данных заданий 4, арбитр заданий 5, группу из N блоков памяти номеров заданий вычислительных ядер 7, …, 7, блок мультиплексоров результатов 8, арбитр результатов 9, блок памяти заголовков результатов 10, блок памяти данных результатов 11, внешний интерфейс 12, при этом каждое вычислительное ядро 6, …, 6 состоит из входной буферной памяти 6-1, операционного блока 6-2, выходной буферной памяти 6-3 и блока управления 6-4.
Недостатками данного вычислительного модуля являются не эффективное использование его вычислительной мощности при решении вычислительно сложных задач, если в некоторых задачах имеются неиспользуемые вычислительные ядра, и отсутствие подсистемы мониторинга состояния.
Причиной, препятствующей достижению технического результата, является то, что вычислительный модуль предназначен для применения только при решении трудоемкой задачи одного пользователя с использованием распараллеливания по данным на множество независимых однотипных подзадач, объединенных общими режимами и параметрами работы.
ЗАДАЧА ИЗОБРЕТЕНИЯ
Задача, на решение которой направлено предлагаемое изобретение, заключается в создании вычислительного модуля для многозадачных вычислительных систем.
Техническим результатом предлагаемого изобретения является обеспечение возможности одновременного решения различных задач на одной рабочей ПЛИС и совычислителе.
КРАТКОЕ ОПИСАНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
1
М
Указанный технический результат при осуществлении изобретения достигается тем, что вычислительный модуль для многозадачных вычислительных систем содержит входной порт 1 интерфейса PCI-Express, выходной порт 2 интерфейса PCI-Express, коммутатор 3 PCI-Express, блок 4 управления коммутатором PCI-Express, память 5 стартовой конфигурации системной ПЛИС 7, память 6 стартовой конфигурации рабочих ПЛИС, системная ПЛИС 7, порт 8 контроля и управления системной ПЛИС 7, блок 10 конфигурирования рабочих ПЛИС, блок 11 мониторинга, порт 12 мониторинга, блок 13 управления питанием и охлаждением, порт 14 управления питанием и охлаждением и группу из М вычислительных каналов 9, …, 9, каждый из которых содержит рабочую ПЛИС 15 и совычислитель 26,
1
К
1
К
причем рабочая ПЛИС 15 содержит контроллер 16 PCI-Express, память 17 конфигурации, блок 18 управления коммутатором 23 рабочей ПЛИС 15, адаптер 19 совычислителя 26, буферную память 20 данных, буферную память 21 результата, контроллер 22 прямого доступа в память, коммутатор 23 рабочей ПЛИС 15, группу из К адаптеров 24, …, 24 исполнительных устройств, группу из К исполнительных устройств 25, …, 25,
1
N
а совычислитель 26 содержит интерфейсный блок 27, коммутатор 28 совычислителя и группу из N вычислительных ядер 29, …, 29, каждое из которых содержит память 30 программы и параметров, блок 31 управления, память 32 данных, операционный блок 33 и память 34 результата,
1
М
1
M
1
М
причем коммутатор PCI-Express 3 соединен с входным портом 1 интерфейса PCI-Express, выходным портом 2 интерфейса PCI-Express, блоком 4 управления коммутатором PCI-Express, контроллерами 16 PCI-Express группы из М вычислительных каналов 9, …, 9 и системной ПЛИС 7, которая соединена с блоком 4 управления коммутатором PCI-Express, портом 8 контроля и управления системной ПЛИС 7, памятью 5 стартовой конфигурации системной ПЛИС 7, памятью 6 стартовой конфигурации рабочих ПЛИС 15 и с блоком 10 конфигурирования рабочих ПЛИС 15, который соединен с рабочими ПЛИС 15 группы из М вычислительных каналов 9, …, 9 мшинами 35, …, 35 конфигурирования,
1
М
1
М
1
М
1
М
кроме того системная ПЛИС 7 соединена с блоком 11 мониторинга, который соединен с портом 12 мониторинга, группой из М вычислительных каналов 9, …, 9 шинами 36, …, 36 мониторинга состояния и блоком 13 управления питанием и охлаждением, который соединен с портом 14 управления охлаждением и шинами 37, …, 37 управления питанием с группой из М вычислительных каналов 9, …, 9,
1
К
1
К
в каждой из рабочих ПЛИС 15 контроллер 16 PCI-Express соединен с контроллером 22 прямого доступа в память и с памятью 17 конфигурации, которая соединена с блоком 18 управления коммутатором 23 рабочей ПЛИС 15 и контроллером 22 прямого доступа в память, который соединен с буферной памятью 20 данных, буферной памятью 21 результата и коммутатором 23 рабочей ПЛИС 15, который соединен с блоком 18 управления коммутатором рабочей ПЛИС 15, группой из К адаптеров исполнительных устройств 24, …, 24, соединенных с соответствующими одноименными исполнительными устройствами 25, …, 25, и с адаптером 19 совычислителя 26,
1
N
причем адаптер 19 совычислителя 26 соединен с интерфейсным блоком 27 совычислителя 26, в котором интерфейсный блок 27 соединен с коммутатором 28, который соединен с группой из N вычислительных ядер 29, …, 29.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
На фиг. 1 приведена функциональная схема вычислительного модуля для многозадачных вычислительных систем.
На фиг. 1 и в тексте приняты следующие сокращения и обозначения:
1 - входной порт интерфейса PCI-Express;
2 - выходной порт интерфейса PCI-Express;
3 - коммутатор PCI-Express;
4 - блок управления коммутатором PCI-Express;
5 - память стартовой конфигурации системной ПЛИС;
6 - память стартовой конфигурации рабочих ПЛИС;
7 - системная ПЛИС;
8 - порт контроля и управления системной ПЛИС;
1
М
9, …, 9 - группа из М вычислительных каналов;
10 - блок конфигурирования рабочих ПЛИС;
11 - блок мониторинга;
12 - порт мониторинга;
13 - блок управления питанием и охлаждением;
14 - порт управления охлаждением;
15 - рабочая ПЛИС;
16 - контроллер PCI-Express;
17 - память конфигурации;
18 - блок управления коммутатором рабочей ПЛИС;
19 - адаптер совычислителя;
20 - буферная память данных;
21 - буферная память результата;
22 - контроллер прямого доступа в память;
23 - коммутатор рабочей ПЛИС;
1
К
24, …, 24 - группа из К адаптеров исполнительных устройств;
1
К
25, …, 25 - группа из К исполнительных устройств;
26 - совычислитель;
27 - интерфейсный блок;
28 - коммутатор совычислителя;
1
N
29, …, 29 - группа из N вычислительных ядер;
30 - память программы и параметров;
31 - блок управления;
32 - память данных;
33 - операционный блок;
34 - память результатов;
1
M
35, …,35 - группа из М шин конфигурирования рабочих ПЛИС;
1
M
36, …, 36 - группа из М шин мониторинга состояния вычислительных каналов;
1
М
37, …, 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.
1
M
Блок 11 мониторинга предназначен для сбора и обработки информации о состоянии (температура, напряжение питания) вычислительных каналов 9, …, 9, организации взаимодействия с внешней системой мониторинга по порту 12 мониторинга, управления блоком 13 управления питанием и охлаждением.
1
M
Блок 13 управления питанием и охлаждением предназначен для организации независимого управления питанием в каждом из вычислительных каналов 9, …, 9 (включить/выключить питание рабочей ПЛИС 15, совычислителя 26) и взаимодействия с системой управления скоростью вращения вентиляторов охлаждения по порту 14.
1
M
Группа из М вычислительных каналы 9, …, 9, каждый из которых состоит из рабочей ПЛИС 15 и совычислителя 26, предназначена для решения трудоемких фрагментов задач пользователей.
Контроллер 16 PCI-Express и контроллер 22 прямого доступа в память с буферными памятями 20 данных и 21 результатов рабочей ПЛИС 15, предназначены для организации высокоскоростной связи с памятью управляющей ЭВМ через коммутатор 3 PCI-Express.
1
К
Память 17 конфигурации предназначена для хранения характеристик исполнительных устройств 25, …, 25 рабочей ПЛИС 15 и совычислителя 26, а также параметров их взаимодействия с задачами пользователя.
1
К
Группы из К исполнительные устройства 25, …, 25 в рабочих ПЛИС 15 предназначены для решения трудоемких фрагментов задач пользователей.
1
К
1
К
Адаптеры 24, …, 24 исполнительных устройств пользователей предназначены для согласования протокола коммутатора 23 рабочей ПЛИС, работающего под управлением блока 18, с протоколами конкретных исполнительных устройств группы из К 25, …, 25.
Адаптер 19 совычислителя 26 предназначен для согласования протокола совычислителя 26 с протоколом коммутатора 23 рабочей ПЛИС.
Интерфейсный блок 27 совычислителя 26, предназначен для согласования протокола адаптера 19 совычислителя 26 с протоколом коммутатора 28 совычислителя 26.
1
N
Группы из N вычислительных ядер 29, …, 29, состоящие из памяти 30 программы и параметров, блока 31 управления, памяти 32 данных, операционного блока 33 и памяти 34 результата, предназначены для решения трудоемких фрагментов задач пользователей.
Предлагаемый вычислительный модуль для многозадачных вычислительных систем работает в составе вычислительной системы с управляющей ЭВМ следующим образом.
После подключения вычислительного модуля к вычислительной системе по портам 1 и 2 интерфейса PCI-Express и к подсистемам мониторинга (порт 12) и управления охлаждением (порт 14), осуществляется централизованное включение питания на вычислительном модуле (на фиг. 1 не показано) и выполняется загрузка стартовой конфигурации системной ПЛИС 7 из памяти 5. После этого системная ПЛИС 7 включает питание на рабочих ПЛИС 15 и осуществляет загрузку в них стартовой конфигурации из памяти 6, а также установку начальных порогов температурной защиты рабочих ПЛИС 15 и совычислителей 26 в блоке 11 мониторинга.
Включение питания совычислителей 26 осуществляется соответствующей рабочей ПЛИС только в случае использования их вычислительных ресурсов задачами пользователей (на фиг. 1 не показано).
1
M
По окончании начальной подготовки предлагаемого вычислительного модуля к работе осуществляется загрузка операционной системы управляющей ЭВМ и выполняется привязка контроллеров 16 PCI-Express рабочих ПЛИС 15 вычислительных каналов 9, …, 9 к адресному пространству управляющей ЭВМ (номер вычислительного модуля в вычислительной системе и номер контроллера 16 PCI-Express в коммуникационной среде первого уровня коммутатора 3 вычислительного модуля).
1
M
1
К
1
N
После этого в каждом из вычислительных каналов 9, …, 9, осуществляется считывание содержания памяти 17 конфигурации рабочих ПЛИС 15, выделение требуемых буферов в памяти управляющей ЭВМ и привязка последних к вычислительным ресурсам исполнительных устройств 25, …, 25 рабочих ПЛИС 15 и вычислительных ядер 29, …, 29 совычислителей 26. Привязка осуществляется путем записи в память 17 конфигурации рабочих ПЛИС 15 прямых (физических) адресов буферов обмена, выделенных для них вычислительной системой.
1
К
1
N
На каждое исполнительное устройство 25, …, 25 и вычислительное ядро 29, …, 29 в памяти управляющей ЭВМ выделяются:
- буфер для обрабатываемых данных;
- буфер для результатов обработки;
- буфер для выполняемой программы, параметров и текущего состояния исполнительного устройства и вычислительного ядра.
1
К
1
N
Для каждого исполнительного устройства 25, …, 25 рабочих ПЛИС 15 и вычислительного ядра 29, …, 29 совычислителей 26 память 17 конфигурации содержит следующую информацию:
- признак исполнительного устройства (0) или номер адаптера 19 (не равен 0) совычислителя 26 (содержится в памяти 17 конфигурации);
1
К
1
N
- номер (тип) выполняемой задачи в исполнительным устройством 25, …, 25 или вычислительным ядром 29, …, 29 совычислителя 26 из общего списка задач (содержится в памяти 17 конфигурации);
1
К
1
N
- номер (адрес) адаптера исполнительного устройства 24, …, 24 или вычислительного ядра 29, …, 29 совычислителя 26 (содержится в памяти 17 конфигурации);
- начальные (физические) адреса буферов в адресном пространстве управляющей ЭВМ (записываются в память 17 конфигурации после привязки);
1
К
1
N
- объемы буферов необходимые для выполнения задачи в исполнительных устройствах 25, …, 25 или ядрах 29, …, 29 совычислителя 26 (содержится в памяти 17 конфигурации).
К
1
К
1
N
Исполнительные устройства 241, …, 24 рабочих ПЛИС 15 и вычислительные ядра 291, …, 29n могут быть как однотипные, так и нет. Загрузка тех или иных исполнительных устройств 24, …, 24 рабочих ПЛИС 15 осуществляется в процессе обработки текущего потока задач пользователей, в зависимости от его состава. Задачи, выполняемые вычислительными ядрами 29, …, 29 совычислителя 26 зависят как от программ и параметров, так и от операционных блоков 33.
Память 17 конфигурации по всем исполнительным устройствам и вычислительным ядрам содержит следующую информацию:
J
{(X)(Z)(J)(A)(B)(C)(Na)(Nb)(Nc)},
где X - признак исполнительного устройства (0) или номер адаптера совычислителя;
J
Z - номер (тип) задачи из общего списка задач исполнительных устройств и вычислительных ядер вычислительной системы;
J - номер адаптера исполнительного устройства (1, …, К) в рабочей ПЛИС 15 или вычислительного ядра (1, …, N) в совычислителе 26;
А, В, С - начальные (физические) адреса буферов в памяти управляющей ЭВМ;
Na, Nb, Nc - объем буферов в памяти управляющей ЭВМ.
Алгоритм взаимодействия задачи пользователя с операционной системой управляющей ЭВМ реализует:
- выделение массивов под переменные задачи;
1
N
1
N
- выделение исполнительных устройств 24, …, 24 и вычислительных ядер 29, …, 29 совычислителей 26 из имеющихся в наличие и свободных на текущий момент;
1
N
1
N
- привязка адресов массивов логических переменных обрабатываемых данных, результатов, выполняемой программы, параметров и текущего состояния к буферам, выделенным исполнительным устройствам 25, …, 25 и соответствующим вычислительным ядрам 29, …, 29;
1
N
1
N
- загрузку программ и параметров в соответствующие исполнительные устройства 25, …, 25 и вычислительные ядра 29, …, 29, после чего исполнительные устройства и
вычислительные ядра активизируются и выставляют запросы на получения данных для обработки или новых программ и параметров;
1
N
1
N
-выполнение задачи пользователя исполнительными устройствами 25, …, 25 и соответствующими вычислительными ядрами 29, …, 29.
Алгоритм выполнения задачи осуществляет следующее:
1
N
1
N
- загрузка данных в соответствующие буфера исполнительных устройств 25, …, 25 и вычислительных ядер 29, …, 29 из массива данных задачи;
1
N
1
N
- старт и анализ завершения обработки данных соответствующими исполнительными устройствами 25, …, 25 и вычислительными ядрами 29, …, 29 по состоянию буфера выполняемой программы, параметров и текущего состояния;
1
N
1
N
- выгрузка результатов из соответствующих буферов исполнительных устройств 25, …, 25 и вычислительных ядер 29, …, 29 в массив результатов задачи;
1
N
1
N
- анализ продолжения или окончания задачи, освобождение выделенных исполнительных устройств 25, …, 25, вычислительных ядер 29, …, 29 массивов переменных задачи.
1
N
1
N
После окончания задачи исполнительные устройства 25, …, 25 рабочих ПЛИС 15 и вычислительные ядра 29, …, 29 совычислителей 26 остаются активными и после перезагрузки программ и параметров от другой задачи могут принимать участие в ее решении. А так как изменение программ и параметров осуществляется независимо в каждом исполнительном устройстве и вычислительном ядре, то в предлагаемом вычислительном модуле на рабочих ПЛИС 15 и совычислителях 26 могут одновременно выполняться фрагменты различных задач пользователей.
1
N
1
N
Контроллер 22 прямого доступа в память, в соответствии с состоянием памяти 17 конфигурации, отрабатывает все запросы исполнительных устройств 25, …, 25 и вычислительных ядер 29, …, 29 на доступ к выделенным буферам для получения новых программ, данных и записи полученных результатов, к которым с другой стороны можно обращаются из задач (программ) пользователя в режиме разделения памяти.
Таким образом, задачам пользователей нет необходимости резервировать за собой рабочие ПЛИС 15, так как они выполняются на свободных исполнительных устройствах 24 и вычислительных ядрах 29, которые могут физически находиться даже в различных рабочих ПЛИС 15 и совычислителях 29, тем самым на одной рабочей ПЛИС 15 могут решаться одновременно различные задачи пользователей.
1
N
1
N
Деактивация исполнительных устройств 25, …, 25 и вычислительных ядер 29, …, 29 осуществляется путем переконфигурирования рабочих ПЛИС при которой обнуляются начальные (физические) адреса буферов в ее памяти 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. Вышеизложенные сведения позволяют сделать вывод, что предлагаемый
вычислительный модуль для многозадачных вычислительных систем решает поставленную задачу и соответствует заявляемому техническому результату - обеспечение возможности одновременного решения различных задач на одной рабочей ПЛИС и совычислителе.