RU124009U1 - PARALLEL FLOW COMPUTING SYSTEM - Google Patents

PARALLEL FLOW COMPUTING SYSTEM Download PDF

Info

Publication number
RU124009U1
RU124009U1 RU2012127103/08U RU2012127103U RU124009U1 RU 124009 U1 RU124009 U1 RU 124009U1 RU 2012127103/08 U RU2012127103/08 U RU 2012127103/08U RU 2012127103 U RU2012127103 U RU 2012127103U RU 124009 U1 RU124009 U1 RU 124009U1
Authority
RU
Russia
Prior art keywords
vector
token
tokens
input
data
Prior art date
Application number
RU2012127103/08U
Other languages
Russian (ru)
Inventor
Николай Николаевич Левченко
Анатолий Семенович Окунев
Александр Леонидович Стемпковский
Original Assignee
Федеральное государственное бюджетное учреждение науки Институт проблем проектирования в микроэлектронике Российской академии наук (ИППМ РАН)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Федеральное государственное бюджетное учреждение науки Институт проблем проектирования в микроэлектронике Российской академии наук (ИППМ РАН) filed Critical Федеральное государственное бюджетное учреждение науки Институт проблем проектирования в микроэлектронике Российской академии наук (ИППМ РАН)
Priority to RU2012127103/08U priority Critical patent/RU124009U1/en
Application granted granted Critical
Publication of RU124009U1 publication Critical patent/RU124009U1/en

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

1. Параллельная потоковая вычислительная система, содержащая коммутатор токенов и соединенные с ним множество исполнительных устройств, множество векторных исполнительных устройств и множество модулей ассоциативной памяти, при этом каждое из исполнительных устройств непосредственно соединено с соответствующим ему модулем ассоциативной памяти, образуя одно вычислительное ядро, а каждое из векторных исполнительных устройств непосредственно соединено с соответствующим ему модулем ассоциативной памяти, образуя одно векторное вычислительное ядро.2. Вычислительная система по п.1, отличающаяся тем, что коммутатор токенов выполнен с возможностью принимать токены, или многовходовые токены, или векторные токены, передавать каждый токен, или многовходовый токен, или векторный токен сразу на все вычислительные ядра и векторные вычислительные ядра или в соответствии с указанным в одном из полей токена, или многовходового токена, или векторного токена номером вычислительного ядра или векторного вычислительного ядра, передавать токен, или многовходовый токен, или векторный токен в модуль ассоциативной памяти вычислительного ядра или векторного вычислительного ядра, соответствующего указанному номеру вычислительного ядра или векторного вычислительного ядра.3. Вычислительная система по п.1, отличающаяся тем, что каждый модуль ассоциативной памяти выполнен с возможностью принимать токены, или многовходовые токены, или векторные токены от коммутатора, выполнять сравнение токена, или многовходового токена, или векторного токена с учетом маскирования с ранее принятыми токенами, или многовходовыми токенами, или1. A parallel streaming computing system comprising a token switch and a plurality of actuators, a plurality of vector actuators and a plurality of associative memory modules, each of the actuators being directly connected to its corresponding associative memory module, forming one computational core, and each from vector actuators is directly connected to its corresponding associative memory module, forming one vector computation tion yadro.2. The computing system according to claim 1, characterized in that the token switch is configured to receive tokens, or multi-input tokens, or vector tokens, transmit each token, or multi-input token, or vector token to all computing cores and vector computing cores at once, or in accordance with with the number of the computing core or vector computing core indicated in one of the fields of the token, or multi-input token, or vector token, transfer the token, or multi-input token, or vector token to the ac module otsiativnoy computational kernel memory or computational kernel vector corresponding to said number of computational kernel or vector computing yadra.3. The computing system according to claim 1, characterized in that each associative memory module is configured to receive tokens, or multi-input tokens, or vector tokens from the switch, to compare the token, or multi-input token, or vector token, taking into account masking with previously received tokens, or multi-input tokens, or

Description

Область примененияApplication area

Заявленная полезная модель относится к вычислительной технике, в частности к вычислительным системам, основанным на модели вычислений с управлением потоком данных.The claimed utility model relates to computing, in particular to computing systems based on a computational model with data flow control.

Предшествующий уровень техникиState of the art

Известна, выбранная в качестве ближайшего аналога, система обработки информации с использованием подхода, основанного на управлении потоком данных, содержащая один или несколько модулей ассоциативной памяти, каждый из которых выполнен с возможностью хранить поступающие в них токены, содержащие поле данных и поле ключа, отыскивать среди хранящихся токенов токены, у которых ключ совпадает с ключом поступающего токена, запоминать поступающий токен в модулях ассоциативной памяти в случае неудачного поиска, формировать пару данных из поступающего в ассоциативную память токена и найденного в ассоциативной памяти токена при удачном поиске и направлять сформированную пару данных в любое из исполнительных устройств, одно или несколько исполнительных устройств, выполненных с возможностью выполнять инструкции, хранящиеся в доступной для исполнительного устройства памяти команд по адресам, указанным в паре данных, формировать токен, содержащий поле данных и поле ключа, в котором в поле данных помещается результат выполнения инструкции, а в поле ключа - информация об инструкции, для которой этот результат является параметром, вычислять хэш-функцию, определяющую номер модуля ассоциативной памяти, направлять сформированный токен в модуль ассоциативной памяти с любым номером в соответствии с вычисленной хэш-функцией, коммутатора токенов для направления токенов из любого исполнительного устройства в любой модуль ассоциативной памяти, и коммутатора пар данных для направления нары данных из любого модуля ассоциативной памяти в любое исполнительное устройство, при этом каждый модуль ассоциативной памяти выполнен с возможностью хранить токены в любой из своих К+1 секций, каждая из которых имеет свой фиксированный размер и пронумерованных от 0 до К, получать для хранения из исполнительных устройств токен, который в этом случае именуется входным, вычислять по информации во входном токене целое Ц, находящееся в интервале от 0 до К-1, осуществлять операцию «поиск токена» по ключу во входном токене одновременно в секциях с номерами Ц и К путем сравнения ключа входного токена с ключами всех хранящихся в секции токенов, при успешном выполнении операции «поиск токена» направлять найденный токен в устройство, выполняющее операцию «формирование пары данных» и направляющее сформированную пару данных в исполнительное устройство через коммутатор пар данных, при неуспешном выполнении операции «поиск токена» записывать токен в секцию с номером Ц, а в том случае, если количество токенов в этой секции равно максимально возможному для этой секции, записывать токен в секцию с номером К (публикация RU 2360279 C2, кл. МПК G06F 7/76, опубл. 27.06.2006 г. Бюл. №18).Known, selected as the closest analogue, is an information processing system using an approach based on a data flow control containing one or more associative memory modules, each of which is capable of storing tokens entering them containing a data field and a key field, to search among stored tokens tokens in which the key matches the key of the incoming token, remember the incoming token in the associative memory modules in case of an unsuccessful search, generate a pair of data from the post a token entering the associative memory and a token found in the associative memory upon successful search and sending the generated data pair to any of the actuators, one or more actuators configured to execute instructions stored in the instruction memory accessible to the actuator at the addresses specified in pair of data, generate a token containing the data field and the key field, in which the result of the instruction is placed in the data field, and information about the instruction in the key field and, for which this result is a parameter, calculate a hash function that determines the number of the associative memory module, send the generated token to the associative memory module with any number in accordance with the calculated hash function of the token switch to direct tokens from any executive device to any module associative memory, and a switch of data pairs for sending bunks of data from any associative memory module to any actuator, with each associative memory module with the ability to store tokens in any of its K + 1 sections, each of which has its own fixed size and numbered from 0 to K, receive a token for storage from executive devices, which in this case is called the input, calculate the whole from the information in the input token C, which is in the range from 0 to K-1, to perform the “token search” by key in the input token simultaneously in sections with numbers C and K by comparing the key of the input token with the keys of all stored in the token section, if the operation “by ck of the token "to send the found token to the device performing the operation" generating a data pair "and sending the generated data pair to the executive device through the switch of the data pairs, if the operation" token search "is unsuccessful, write the token to the section with the number C, and if if the number of tokens in this section is equal to the maximum possible for this section, record the token in the section with number K (publication RU 2360279 C2, cl. IPC G06F 7/76, publ. June 27, 2006 Bull. No. 18).

Наличие общего коммутатора пар данных делает невозможной аппаратную реализацию масштабируемой вычислительной системы, кроме того, имеется ограничение на количество входных данных выполняемой инструкции (программы) исполнительного устройства равное двум. Используемые форматы токенов и пары данных не допускают образование многовходовых конструкций. Отсутствует возможность реализации векторных операций, что не позволяет передавать массивы данных и, следовательно, уменьшает быстродействие системы в целом.The presence of a common switch of data pairs makes the hardware implementation of a scalable computing system impossible; in addition, there is a limitation on the amount of input data of an executable instruction (program) of an executive device equal to two. The used token formats and data pairs do not allow the formation of multi-input structures. There is no possibility of implementing vector operations, which does not allow the transfer of data arrays and, therefore, reduces the speed of the system as a whole.

Таким образом, недостатками известной системы является ее низкая производительность, невозможность масштабирования вычислительной системы, а также ограничение на количество входных данных программы узла, отсутствие векторных операций, что не позволяет добиться высокой производительности системы и ее быстродействия.Thus, the disadvantages of the known system are its low performance, the inability to scale the computing system, as well as the limitation on the number of input data of the node program, the absence of vector operations, which does not allow to achieve high system performance and its speed.

Раскрытие полезной моделиUtility Model Disclosure

Техническим результатом, который может быть получен в заявленной полезной модели, является устранение вышеуказанных недостатков.The technical result that can be obtained in the claimed utility model is to eliminate the above disadvantages.

Технический результат достигается тем, что параллельная потоковая вычислительная система, содержит коммутатор токенов и соединенные с ним множество исполнительных устройств, множество векторных исполнительных устройств и множество модулей ассоциативной памяти, при этом каждое из исполнительных устройств непосредственно соединено с соответствующим ему модулем ассоциативной памяти, образуя одно вычислительное ядро, а каждое из векторных исполнительных устройств непосредственно соединено с соответствующим ему модулем ассоциативной памяти, образуя одно векторное вычислительное ядро.The technical result is achieved in that the parallel streaming computing system comprises a token switch and a plurality of actuators, a plurality of vector actuators and a plurality of associative memory modules, each of the actuators being directly connected to its corresponding associative memory module, forming one computational the core, and each of the vector actuators is directly connected to its corresponding module associatively th memory, forming one vector computing core.

А также тем, что коммутатор токенов выполнен с возможностью принимать токены, или многовходовые токены, или векторные токены, передавать каждый токен, или многовходовой токен, или векторный токен сразу на все вычислительные ядра и векторные вычислительные ядра, или, в соответствии с указанным в одном из полей токена, или многовходового токена, или векторного токена номером вычислительного ядра или векторного вычислительного ядра, передавать токен, или многовходовый токен, или векторный токен в модуль ассоциативной памяти вычислительного ядра или векторного вычислительного ядра, соответствующего указанному номеру вычислительного ядра или векторного вычислительного ядра.And also the fact that the token switch is configured to receive tokens, or multi-input tokens, or vector tokens, transfer each token, or multi-input token, or vector token to all computing cores and vector computing cores at once, or, in accordance with one from the fields of the token, or multi-input token, or vector token with the number of the computing core or vector computing core, transfer the token, or the multi-input token, or vector token to the associative memory module of the computing nucleus or vector computational kernel corresponding to said computational kernel number or vector computing nucleus.

А также тем, что каждый модуль ассоциативной памяти выполнен с возможностью принимать токены, или многовходовые токены, или векторные токены от коммутатора токенов, выполнять сравнение токена, или многовходового токена, или векторного токена с учетом маскирования с ранее принятыми токенами, или многовходовыми токенами, или векторными токенами и при совпадении выполнять над токеном, или многовходовым токеном, или векторным токеном действие в соответствии с кодом операции совпавших токенов, или многовходовых токенов, или векторных токенов, формировать и передавать на исполнительное устройство пару данных или многовходовой пакет, содержащие соответственно данные токенов, или многовходовых токенов, или векторных токенов, или формировать и передавать на векторное исполнительное устройство векторный пакет, содержащий соответственно данные токенов, или многовходовых токенов, или векторных токенов, и хранить принятые токены, или многовходовые токены, или векторные токены.And also the fact that each associative memory module is capable of accepting tokens, or multi-input tokens, or vector tokens from a token switch, to compare a token, or a multi-input token, or a vector token, taking into account masking with previously received tokens, or multi-input tokens, or with vector tokens and, if coincidentally, perform actions on the token, or multi-input token, or vector token in accordance with the operation code of matching tokens, or multi-input tokens, or vector token c, generate and transmit to the actuator a data pair or multi-input packet containing respectively the data of tokens, or multi-input tokens, or vector tokens, or generate and transmit to the vector executive device a vector packet containing respectively data of tokens, or multi-input tokens, or vector tokens , and store the received tokens, or multi-input tokens, or vector tokens.

А также тем, что каждое исполнительное устройство выполнено с возможностью принимать пару данных или многовходовой пакет, извлекать из них информацию об адресе программы, хранящейся в исполнительном устройстве и которую следует выполнить над данными пары данных или многовходового пакета, выполнять указанную программу над данными пары данных или многовходового пакета, формировать новые токены, или многовходовые токены, или векторные токены и передавать их в коммутатор токенов.And also the fact that each actuator is configured to receive a pair of data or a multi-input packet, extract information from them about the address of the program stored in the actuator and which should be performed on the data of a pair of data or a multi-input packet, execute the specified program on the data of the data pair or multi-input packet, generate new tokens, or multi-input tokens, or vector tokens and transfer them to the token switch.

А также тем, что каждое векторное исполнительное устройство выполнено с возможностью принимать векторный пакет, извлекать из него информацию об адресе программы, хранящейся в векторном исполнительном устройстве и которую следует выполнить над данными векторного пакета, выполнять указанную программу над данными векторного пакета, формировать новые токены, или многовходовые токены, или векторные токены и передавать их в коммутатор токенов.And also the fact that each vector execution unit is configured to receive a vector package, extract information from it about the address of the program stored in the vector execution unit and which should be performed on the vector package data, execute the specified program on the vector package data, generate new tokens, or multi-input tokens, or vector tokens and transfer them to the token switch.

Описание чертежейDescription of drawings

Заявленная параллельная потоковая вычислительная система поясняется при помощи схем представленных на фиг.1-6.The claimed parallel streaming computing system is illustrated using the schemes presented in figures 1-6.

На фиг.1 представлена структурная схема заявленной параллельной потоковой вычислительной системы.Figure 1 presents the structural diagram of the claimed parallel streaming computing system.

На фиг.2 показана структура поля «признаки токена» токена, многовходового токена, векторного токена.Figure 2 shows the structure of the field "token signs" of the token, multi-input token, vector token.

На фиг.3 показана структура поля «признаки пакета» многовходового пакета, векторного пакета.Figure 3 shows the structure of the field "package signs" multi-input package, vector package.

На фиг.4 приведена схема формирования векторного токена, который используется в заявленной параллельной потоковой вычислительной системе.Figure 4 shows a diagram of the formation of a vector token, which is used in the claimed parallel streaming computing system.

На фиг.5 приведена схема формирования многовходового пакета, который используется в заявленной параллельной потоковой вычислительной системе.Figure 5 shows a diagram of the formation of a multi-input package, which is used in the claimed parallel streaming computing system.

На фиг.6 приведена схема формирования векторного пакета, который используется в заявленной параллельной потоковой вычислительной системе.Figure 6 shows a diagram of the formation of a vector package, which is used in the claimed parallel streaming computing system.

Осуществление полезной моделиUtility Model Implementation

Заявленная параллельная потоковая вычислительная система, представленная на фиг.1, содержит множество модулей 5 ассоциативной памяти, множество исполнительных устройств 3, множество векторных исполнительных устройств 10 и коммутатор 6 токенов. Каждое из исполнительных устройств 3 непосредственно соединено с соответствующим ему модулем 5 ассоциативной памяти, образуя одно вычислительное ядро 1, а каждое из векторных исполнительных устройств 10 непосредственно соединено с соответствующим ему модулем 5 ассоциативной памяти, образуя векторное вычислительное ядро 9. При этом множество модулей 5 ассоциативной памяти, множество исполнительных устройств 3 и множество векторных исполнительных устройств 10 соединены с коммутатором 6 токенов.The claimed parallel streaming computing system shown in figure 1, contains many modules 5 of associative memory, many actuators 3, many vector actuators 10 and switch 6 tokens. Each of the actuators 3 is directly connected to its associated module 5 of associative memory, forming one computing core 1, and each of the vector actuators 10 is directly connected to its corresponding module 5 of associative memory, forming a vector computing kernel 9. Moreover, many modules 5 are associative memory, many actuators 3 and many vector actuators 10 are connected to the switch 6 tokens.

По линиям 2а, соединяющим коммутатор 6 токенов с модулями 5 ассоциативной памяти, и по линиям 2b, соединяющим исполнительные устройства 3 и векторные исполнительные устройства 10 с коммутатором 6 токенов, передаются токены, или многовходовые токены, или векторные токены. По линиям 4а, соединяющим модули 5 ассоциативной памяти с исполнительными устройствами 3, передаются пары данных или многовходовые пакеты. По линиям 4b, соединяющим модули 5 ассоциативной памяти с векторными исполнительными устройствами 10, передаются векторные пакеты.The lines 2a connecting the token switch 6 with the associative memory modules 5, and the lines 2b connecting the actuators 3 and the vector actuators 10 with the token switch 6 transmit tokens, or multi-input tokens, or vector tokens. On lines 4a connecting the associative memory modules 5 with actuators 3, data pairs or multi-input packets are transmitted. The lines 4b connecting the modules 5 of the associative memory with vector actuators 10 transmit vector packets.

Как токены, многовходовые токены, так и векторные токены представляют собой структуру данных, состоящую из поля «признаки токена» (см. фиг.2), поля «данные» и поля «ключ», при этом поле «ключ» включает поле «контекст» и поле «адрес узла».В поле «признаки токена», показанном на фиг.2, записываются признаки глобальной передачи в модули 3 ассоциативной памяти (Глоб МАП) или номер модуля 3 ассоциативной памяти (Номер МАП), в который должен быть передан соответствующий токен, приоритет токена, номер маски, код операции (Коп), а для многовходового токена и векторного токена еще и количество входов (Квх) и номер входа (Нвх). Приоритет токена указывает на очередность обработки токена при наличии в любом из модулей 3 ассоциативной памяти, а также в коммутаторе 6 более одного токена. При наличии в любом из модулей 3 ассоциативной памяти, а также в коммутаторе 6 более одного токена сначала обрабатывается токен с более высоким приоритетом. Код операции - это внутренняя команда модуля 3 ассоциативной памяти, которая должна быть выполнена над данным токеном в случае совпадения двух токенов с учетом маскирования. В поле «данных» записываются данные для последующей обработки, в поле «ключ» записывают информацию, в которой указаны, какие действия должны быть выполнены в дальнейшем над результатом, при этом в поле «контекст» записывают информацию о контексте, в котором эти действия должны быть произведены, а в поле «адрес узла» записывают адрес программы, которая должна быть выполнена над данными.Both tokens, multi-input tokens, and vector tokens represent a data structure consisting of the “token attributes” field (see FIG. 2), the “data” field and the “key” field, while the “key” field includes the “context” field ”And the“ node address ”field. In the“ token attributes ”field shown in FIG. 2, the signs of global transmission are written to the associative memory modules 3 (MAP Glo) or the number of the associative memory module 3 (MAP number) to which corresponding token, token priority, mask number, operation code (Kop), and for multi-input current and a vector token is also the number of inputs (KBX) and the input number (NVH). The priority of the token indicates the order in which the token is processed if there is more than one token in any of the modules 3 of the associative memory, as well as in the switch 6. If there is more than one token in any of the modules 3 of associative memory, as well as in switch 6, the token with a higher priority is first processed. The operation code is an internal command of associative memory module 3, which must be executed on this token in case of coincidence of two tokens, taking into account masking. In the “data” field, data is recorded for subsequent processing, in the “key” field, information is recorded that indicates what actions should be performed in the future on the result, while information in the context field is written about the context in which these actions be produced, and in the field "node address" write the address of the program that must be executed on the data.

В данном описании под «многовходовыми токенами» понимаются токены, при помощи которых формируется многовходовой пакет. В отличие от токенов многовходовые токены содержат два дополнительных поля, расположенных в поле «признаки токена» - «номер входа» (Нвх) и «количество входов» (Квх). «Номер входа» указывает в какое из полей «данного» результирующего пакета должно попасть данное этого многовходового токена, а «количество входов» служит для контроля и указывает сколько данных должно быть в многовходовом пакете.In this description, “multi-input tokens” means tokens by which a multi-input packet is formed. Unlike tokens, multi-input tokens contain two additional fields located in the “token attributes” field - “input number” (Нвх) and “number of inputs” (Квх). The “entry number” indicates which of the fields of the “given” resulting packet the given of this multi-input token should fall into, and the “number of inputs” serves to control and indicates how much data should be in the multi-input packet.

Под «векторным токеном», представленным на фиг.4, в данном описании понимается структура данных, формируемая на основании многовходовых токенов и содержащая следующие поля: поле «признаки токена», поле «ключ», множество полей «данное». При этом поле «ключ» включает поле «контекст» и поле «адрес узла» (Аузл.).Under the "vector token", presented in figure 4, in this description refers to the data structure generated on the basis of multi-input tokens and containing the following fields: field "token attributes", field "key", many fields "this". In this case, the “key” field includes the “context” field and the “node address” field (Auzl.).

Поле «контекст» формируется, например, логическим сложением всех разрядов ноля «контекст» всех многовходовых токенов, принимающих участие в образовании указанного векторного токена с учетом маски каждого из них. Если поле «контекст» не замаскировано у совпавших многовходовых токенов, то это означает, что оно одинаковое у всех многовходовых токенов, и, соответственно, у векторного токена оно будет таким же.The “context” field is formed, for example, by the logical addition of all bits of the zero “context” of all the multi-input tokens participating in the formation of the specified vector token, taking into account the mask of each of them. If the “context” field is not masked for matching multi-input tokens, then this means that it is the same for all multi-input tokens, and, accordingly, for a vector token, it will be the same.

Поле «адрес узла» векторного токена формируется, например, логическим сложением всех разрядов поля «адрес узла» всех многовходовых токенов, принимающих участие в образовании векторного токена с учетом маски каждого из них. Если поле «адрес узла» не замаскировано у совпавших многовходовых токенов, то это означает, что оно одинаковое у всех многовходовых токенов, и, соответственно, у векторного токена оно будет таким же.The “node address” field of a vector token is formed, for example, by the logical addition of all bits of the “node address” field of all multi-input tokens participating in the formation of a vector token taking into account the mask of each of them. If the “node address” field is not masked for matching multi-input tokens, then this means that it is the same for all multi-input tokens, and, accordingly, for a vector token, it will be the same.

Поля «данных» векторного токена наполняются данными всех многовходовых токенов, принимающих участие в образовании векторного токена в зависимости от значения поля «номер входа» поля «признаки токена» многовходового токена.The “data” fields of the vector token are filled with the data of all the multi-input tokens participating in the formation of the vector token, depending on the value of the “input number” field of the “token attributes” field of the multi-input token.

Следует отметить, что данные полей «данных» векторного токена представляют собой одномерный массив однотипных данных, размещенных регулярным образом.It should be noted that the data of the “data” fields of the vector token are a one-dimensional array of the same type of data placed regularly.

Под «многовходовым пакетом», представленном на фиг.5, в данном описании понимается структура данных, содержащая следующие поля: поле «признаки пакета», поле «ключ», поля «данное», которых должно быть, по меньшей мере, одно. При этом поле «ключ» включает поле «контекст» и поле «адрес узла»,Under the "multi-input packet", presented in figure 5, in this description refers to a data structure containing the following fields: field "package features" field "key" field "this", which should be at least one. In this case, the "key" field includes the "context" field and the "node address" field,

В поле «признаки пакета», представленном на фиг.3, записывается признак приоритета и число, определяющее количество данных в пакете.In the field "signs of the package", presented in figure 3, is recorded a sign of priority and a number that determines the amount of data in the package.

Поле «контекст» формируется, например, логическим сложением всех разрядов поля «контекст» всех токенов, или многовходовых токенов, или векторных токенов, принимающих участие в образовании пакета с учетом маски каждого из них. Если поле «контекст» не замаскировано у совпавших токенов, то это означает, что оно одинаковое у всех токенов, и, соответственно, у пакета оно будет таким же.The “context” field is formed, for example, by the logical addition of all bits of the “context” field of all tokens, or multi-input tokens, or vector tokens participating in the formation of the package, taking into account the mask of each of them. If the “context” field is not masked for matching tokens, then this means that it is the same for all tokens, and, accordingly, the package will have the same.

Поле «адрес узла» формируется, например, логическим сложением всех разрядов поля «адрес узла» всех токенов, принимающих участие в образовании пакета с учетом маски каждого из них. Если поле «адрес узла» не замаскировано у совпавших токенов, то это означает, что оно одинаковое у всех токенов, и, соответственно, у пакета оно будет таким же.The "node address" field is formed, for example, by the logical addition of all the bits of the "node address" field of all tokens participating in the formation of the packet, taking into account the mask of each of them. If the “host address” field is not masked for matching tokens, then this means that it is the same for all tokens, and, accordingly, for the packet it will be the same.

Поля «данных» пакета наполняются данными всех токенов, принимающих участие в образовании пакета в зависимости от номера токена в многовходовом пакете.The “data” fields of the packet are filled with the data of all tokens participating in the formation of the packet, depending on the token number in the multi-input packet.

Под «векторным пакетом», представленном на фиг.6, в данном описании понимается структура данных, формируемая на основании векторных токенов, или многовходовых токенов, или токенов, и содержащая следующие поля: поле «признаки пакета», поле «ключ», множество полей «данное». При этом поле «ключ» включает поле «контекст» и поле «адрес узла» (Аузл.).Under the "vector package", presented in Fig.6, in this description refers to a data structure generated on the basis of vector tokens, or multi-input tokens, or tokens, and containing the following fields: field "package signs" field "key", many fields "Given." In this case, the “key” field includes the “context” field and the “node address” field (Auzl.).

В поле «признаки пакета» записывается признак приоритета и число, определяющее количество данных в данном векторном пакете.In the field “signs of the package” is recorded a sign of priority and a number that determines the amount of data in this vector package.

Поле «контекст» формируется, например, логическим сложением всех разрядов поля «контекст» всех векторных токенов, принимающих участие в образовании указанного векторного пакета с учетом маски каждого из них. Если поле «контекст» не замаскировано у совпавших векторных токенов, то это означает, что оно одинаковое у всех векторных токенов, и, соответственно, у векторного пакета оно будет таким же.The “context” field is formed, for example, by the logical addition of all the bits of the “context” field of all vector tokens participating in the formation of the specified vector packet, taking into account the mask of each of them. If the “context” field is not masked for coincident vector tokens, then this means that it is the same for all vector tokens, and, accordingly, for a vector package it will be the same.

Поле «адрес узла» векторного пакета формируется, например, логическим сложением всех разрядов поля «адрес узла» всех векторных токенов, принимающих участие в образовании векторного пакета с учетом маски каждого из них. Если поле «адрес узла» не замаскировано у совпавших векторных токенов, то это означает, что оно одинаковое у всех векторных токенов, и, соответственно, у векторного пакета оно будет таким же.The “node address” field of a vector packet is formed, for example, by the logical addition of all the bits of the “node address” field of all vector tokens participating in the formation of a vector packet taking into account the mask of each of them. If the “node address” field is not masked for matching vector tokens, then this means that it is the same for all vector tokens, and, accordingly, for a vector package it will be the same.

Поля «данных» векторного пакета наполняются данными всех векторных токенов, принимающих участие в образовании векторного пакета в зависимости от значения поля «номер входа» поля «признаки токена» в векторном токене.The “data” fields of the vector packet are filled with the data of all vector tokens participating in the formation of the vector packet, depending on the value of the “entry number” field of the “token attributes” field in the vector token.

Следует отметить, что данные полей «данных» векторного пакета представляют собой одномерный или многомерный массив однотипных данных, размещенных регулярным образом.It should be noted that the data of the “data” fields of the vector packet are a one-dimensional or multidimensional array of the same type of data placed regularly.

Заявленная параллельная потоковая вычислительная система работает следующим образом.The claimed parallel streaming computing system operates as follows.

В начале работы параллельной потоковой вычислительной системы оператор задает режим передачи данных в виде токенов, или многовходовых токенов, или векторных токенов от хост-машины 8 в параллельную потоковую вычислительную систему и приема данных в виде токенов, или многовходовых токенов, или векторных токенов хост-машиной 8 от параллельной потоковой вычислительной системы. Операции ввода/вывода данных с хост-машины 8 осуществляются посредством блока ввода/вывода 7.At the beginning of the parallel streaming computing system, the operator sets the data transfer mode in the form of tokens, or multi-input tokens, or vector tokens from the host machine 8 to the parallel streaming computing system, and receiving data in the form of tokens, or multi-input tokens, or vector tokens 8 from a parallel streaming computing system. Data input / output operations from the host machine 8 are carried out by means of the input / output unit 7.

Токены, или миоговходовые токены, или векторные токены, поступают от хост-машины 8 через блок ввода/вывода 7 на коммутатор 6 токенов, который принимает токены, или многовходовые токены, или векторные токены. Затем, если в поле «признаки токена» токена, или многовходового токена, или векторного токена имеется признак глобального токена, то коммутатор 6 токенов передает указанный принятый токен, или многовходовый токен, или векторный токен по линиям 2а передачи токенов сразу на все вычислительные ядра 1 и на векторные вычислительные ядра 9. В том случае, если в поле «признаки токена» токена, или многовходового токена, или векторного токена указан номер вычислительного ядра 1 или номер векторного вычислительного ядра 9, в которое должен быть передан этот токен, или многовходовой токен, или векторный токен, то коммутатор 6 токенов передает указанный принятый токен, или многовходовой токен, или векторный токен по линии 2а передачи токенов в модуль 5 ассоциативной памяти вычислительного ядра 1 или векторного вычислительного ядра 9, соответствующего указанному в поле «признаки токена» токена, или многовходового токена или векторного токена номеру вычислительного ядра 1 или векторного вычислительного ядра 9.Tokens, or multi-input tokens, or vector tokens, are received from the host 8 through the input / output unit 7 to the token switch 6, which accepts tokens, or multi-input tokens, or vector tokens. Then, if there is a global token in the “token signs” field of the token, or multi-input token, or vector token, then the token switch 6 transmits the specified received token, or multi-input token, or vector token along the token transmission lines 2a to all computing cores 1 and to vector computing cores 9. In the event that in the field “token attributes” of a token, or a multi-input token, or a vector token, the number of computing core 1 or the number of vector computing core 9 is indicated, to which the this token, or a multi-input token, or a vector token, the token switch 6 transmits the specified received token, or a multi-input token, or a vector token via the token transfer line 2a to the associative memory module 5 of the computing core 1 or the vector computing core 9 corresponding to that indicated in the field “Token signs” of a token, or a multi-input token or vector token, to the number of computing core 1 or vector computing core 9.

Один или все модули 5 ассоциативной памяти принимают указанный токен, или многовходовой токен, или векторный токен от коммутатора 6 токенов. Первый из перечисленных токенов, не имея объекта для сравнения, записывается в модуль 5 ассоциативной памяти в ожидании приема других токенов. Затем один или все модули 5 ассоциативной памяти принимают следующий токен, или многовходовый токен, или векторный токен от коммутатора 6 токенов и выполняют сравнение принятого указанного токена, или многовходового токена, или векторного токена с учетом маскирования с ранее принятыми токенами, или многовходовыми токенами, или векторными токенами. При этом сравнивают поле «ключ» или поля «адрес узла» и «контекст». При совпадении с учетом маскирования полей «ключ» или полей «адрес узла» и «контекст», выполняют над принятыми токенами, или многовходовыми токенами, или векторными токенами действие в соответствии с кодом операции совпавших токенов. В данном случае формируют пару данных или многовходовой пакет в вычислительных ядрах 1, или формируют векторный пакет в векторных вычислительных ядрах 9, или удаляют указанный принятый токен, или многовходовой токен, или векторный токен, или удаляют хранящийся токен, или многовходовой токен, или векторный токен, или сохраняют указанный принятый токен, или многовходовой токен, или векторный токен.One or all associative memory modules 5 receive the indicated token, or a multi-input token, or a vector token from the switch 6 of tokens. The first of these tokens, without an object for comparison, is written to associative memory module 5 in anticipation of receiving other tokens. Then one or all associative memory modules 5 receive the next token, or multi-input token, or vector token from token switch 6, and compare the received specified token, or multi-input token, or vector token, taking into account masking with previously received tokens, or multi-input tokens, or vector tokens. In this case, the “key” field or the “node address” and “context” fields are compared. If they coincide with the masking of the “key” fields or the “node address” and “context” fields, they perform the actions in accordance with the operation code of the matching tokens on the received tokens, or multi-input tokens, or vector tokens. In this case, a data pair or multi-input packet is formed in computing cores 1, or a vector packet is formed in vector computing cores 9, or the indicated received token, or multi-input token, or vector token is deleted, or a stored token, or multi-input token, or vector token is deleted , or save the specified received token, or multi-input token, or vector token.

Если токен, или многовходовой токен, или векторный токен направлен в вычислительное ядро 1, модуль 5 ассоциативной памяти формирует и передает на исполнительное устройство 3 по линии 4а передачи пару данных или многовходовой пакет, содержащий данные, по меньшей мере, одного токена, или многовходового токена, или векторного токена.If a token, or a multi-input token, or a vector token is directed to the computing core 1, the associative memory module 5 generates and transmits to the actuator 3 via a transmission line 4a a data pair or a multi-input packet containing data of at least one token or multi-input token , or vector token.

Если токен, или многовходовой токен, или векторный токен направлен в векторное вычислительное ядро 9, модуль 5 ассоциативной памяти формирует и передает на векторное исполнительное устройство 10 по линии 4b передачи векторный пакет, содержащий данные, по меньшей мере, одного токена, или многовходового токена, или векторного токена.If the token, or multi-input token, or vector token is directed to the vector computing core 9, the associative memory module 5 generates and transmits to the vector executive device 10 via the transmission line 4b a vector packet containing data of at least one token or multi-input token, or vector token.

При формировании многовходового пакета или векторного пакета, при совпадении токенов, или многовходовых токенов, или векторных токенов, поле «признаки пакета» заполняется на основе полей «признаки токена» соответствующих токенов, или многовходовых токенов, или векторных токенов, поля «адрес узла» и «контекст» формируются из соответствующих полей токенов, или многовходовых токенов, или векторных токенов путем их взаимного логического сложения с учетом маскирования. Поля «данные» содержат данные из полей «данное» соответствующих токенов, или многовходовых токенов, или векторных токенов, в соответствии с полем «номер входа» токена, или многовходового токена, или векторного токена. На фиг.5 представлена схема формирования многовходового пакета, который формируется в модуле 5 ассоциативной памяти из группы, например, многовходовых токенов. На фиг.6 представлена схема формирования векторного пакета, который формируется в модуле 5 ассоциативной памяти из группы, например, векторных токенов.When forming a multi-input package or vector package, if tokens or multi-input tokens or vector tokens coincide, the “package signs” field is filled on the basis of the “token attributes” fields of the corresponding tokens, or multi-input tokens, or vector tokens, the “node address” field and “Context” are formed from the corresponding fields of tokens, or multi-input tokens, or vector tokens by their mutual logical addition taking into account masking. The "data" fields contain data from the "given" fields of the corresponding tokens, or multi-input tokens, or vector tokens, in accordance with the "input number" field of the token, or multi-input token, or vector token. Figure 5 presents a diagram of the formation of a multi-input packet, which is formed in the module 5 of associative memory from a group of, for example, multi-input tokens. Figure 6 presents a diagram of the formation of a vector package, which is generated in the module 5 of associative memory from a group of, for example, vector tokens.

Исполнительное устройство 3 принимает пару данных или многовходовой пакет по линии 4а от модуля 5 ассоциативной памяти, а векторное исполнительное устройство 10 принимает векторный пакет по линии 4b от модуля 5 ассоциативной памяти.The actuator 3 receives a data pair or multi-input packet on line 4a from the associative memory module 5, and the vector actuator 10 receives a vector packet on line 4b from the associative memory module 5.

Исполнительное устройство 3 извлекает из пары данных или из многовходового пакета информацию об адресе программы, которая хранится в исполнительном устройстве 3 и которую следует выполнить над данными пары данных или многовходового пакета. Затем исполнительное устройство 3 запускает и выполняет указанную программу над указанными данными. В результате выполнения указанной программы получаются новые данные, на основании которых исполнительное устройство 3 формирует новые токены, или многовходовые токены, или векторные токены и по линии 2b передает указанные токены, или многовходовые токены, или векторные токены на коммутатор 6 токенов.The actuator 3 extracts from the data pair or from the multi-input packet information about the address of the program, which is stored in the executive device 3 and which should be performed on the data of the data pair or multi-input packet. Then, the actuator 3 starts and executes the specified program on the specified data. As a result of the execution of this program, new data is obtained, based on which the actuator 3 generates new tokens, or multi-input tokens, or vector tokens, and transfers the indicated tokens, or multi-input tokens, or vector tokens to the token switch 6 on line 2b.

Векторное исполнительное устройство 10 извлекает из векторного пакета информацию об адресе программы, которая хранится в исполнительном устройстве 10 и которую следует выполнить над данными векторного пакета. Затем векторное исполнительное устройство 10 запускает и выполняет указанную программу над указанными данными. В результате выполнения указанной программы получаются новые данные, на основании которых векторное исполнительное устройство 10 формирует новые токены, или многовходовые токены, или векторные токены и по линии 2b передает указанные токены, или многовходовые токены, или векторные токены на коммутатор 6 токенов.Vector execution device 10 extracts from the vector package information about the address of the program, which is stored in the executive device 10 and which should be performed on the data of the vector package. Then the vector actuator 10 starts and executes the specified program on the specified data. As a result of the execution of this program, new data is obtained, on the basis of which the vector executive device 10 generates new tokens, or multi-input tokens, or vector tokens, and transfers the indicated tokens, or multi-input tokens, or vector tokens to the token switch 6 on line 2b.

Далее коммутатор 6 токенов передает принятые токены, или многовходовые токены, или векторные токены по линиям 2а либо сразу на все вычислительные ядра 1 и векторные вычислительные ядра 9, если в одном из полей токена, или многовходового токена, или векторного токена присутствует признак глобального токена, либо на вычислительное ядро 1 или векторное вычислительное ядро 9, если в одном из полей токена, или многовходового токена, или векторного токена указан номер вычислительного ядра 1 или векторного вычислительного ядра 9, в которое должен быть передан указанный токен, или многовходовой токен, или векторный токен.Further, the token switch 6 transmits the received tokens, or multi-input tokens, or vector tokens via lines 2a, or immediately to all computing cores 1 and vector computing cores 9, if there is a global token in one of the fields of the token, or multi-input token, or vector token either to computing core 1 or vector computing core 9, if in one of the fields of the token, or multi-input token, or vector token, the number of computing core 1 or vector computing core 9 is indicated, in which s transmitting said token or multiinput token or token vector.

Процесс обработки данных завершается после того, как исполнительные устройства 3 и векторные исполнительные устройства 10 передадут окончательный результат обработки данных коммутатору 6 токенов, который через блок ввода/вывода 7 выдаст их на хост-машину 8.The data processing process ends after the actuators 3 and vector actuators 10 transmit the final result of the data processing to the token switch 6, which through the input / output unit 7 will issue them to the host machine 8.

Таким образом, за счет того, что каждое из исполнительных устройств и векторных исполнительных устройств непосредственно соединено с соответствующим ему модулем ассоциативной памяти, образуя одно вычислительное ядро и векторное вычислительное ядро соответственно, повышается производительность вычислительной системы, появляется возможность масштабирования вычислительной системы, а также снимается ограничение на количество входных данных программы узла, а также значительно возрастает производительность системы и ее быстродействие.Thus, due to the fact that each of the actuators and vector actuators are directly connected to the corresponding associative memory module, forming one computational core and vector computational core, respectively, the performance of the computing system is increased, the possibility of scaling the computing system appears, and the restriction is also removed by the amount of input data of the node program, and also significantly increases the system performance and its speed .

Claims (5)

1. Параллельная потоковая вычислительная система, содержащая коммутатор токенов и соединенные с ним множество исполнительных устройств, множество векторных исполнительных устройств и множество модулей ассоциативной памяти, при этом каждое из исполнительных устройств непосредственно соединено с соответствующим ему модулем ассоциативной памяти, образуя одно вычислительное ядро, а каждое из векторных исполнительных устройств непосредственно соединено с соответствующим ему модулем ассоциативной памяти, образуя одно векторное вычислительное ядро.1. A parallel streaming computing system comprising a token switch and a plurality of actuators, a plurality of vector actuators and a plurality of associative memory modules, each of the actuators being directly connected to its corresponding associative memory module, forming one computational core, and each from vector actuators is directly connected to its corresponding associative memory module, forming one vector computation tion core. 2. Вычислительная система по п.1, отличающаяся тем, что коммутатор токенов выполнен с возможностью принимать токены, или многовходовые токены, или векторные токены, передавать каждый токен, или многовходовый токен, или векторный токен сразу на все вычислительные ядра и векторные вычислительные ядра или в соответствии с указанным в одном из полей токена, или многовходового токена, или векторного токена номером вычислительного ядра или векторного вычислительного ядра, передавать токен, или многовходовый токен, или векторный токен в модуль ассоциативной памяти вычислительного ядра или векторного вычислительного ядра, соответствующего указанному номеру вычислительного ядра или векторного вычислительного ядра.2. The computing system according to claim 1, characterized in that the token switch is configured to receive tokens, or multi-input tokens, or vector tokens, transmit each token, or multi-input token, or vector token to all computing cores and vector computing cores at once in accordance with the number of the computing core or vector computing core indicated in one of the fields of the token, or multi-input token, or vector token, transfer the token, or multi-input token, or vector token to module a sociative memory of the computing core or vector computing core corresponding to the specified number of the computing core or vector computing core. 3. Вычислительная система по п.1, отличающаяся тем, что каждый модуль ассоциативной памяти выполнен с возможностью принимать токены, или многовходовые токены, или векторные токены от коммутатора, выполнять сравнение токена, или многовходового токена, или векторного токена с учетом маскирования с ранее принятыми токенами, или многовходовыми токенами, или векторными токенами и при совпадении выполнять над токеном, или многовходовым токеном, или векторным токеном действие в соответствии с кодом операции совпавших токенов, или многовходовых токенов, или векторных токенов, формировать и передавать на исполнительное устройство пару данных или многовходовый пакет, содержащие соответственно данные токенов, или многовходовых токенов, или векторных токенов, или формировать и передавать на векторное исполнительное устройство векторный пакет, содержащий соответственно данные токенов, или многовходовых токенов, или векторных токенов, и хранить принятые токены, или многовходовые токены, или векторные токены.3. The computing system according to claim 1, characterized in that each associative memory module is configured to receive tokens, or multi-input tokens, or vector tokens from the switch, to compare a token, or multi-input token, or vector token, taking into account masking with previously accepted tokens, or multi-input tokens, or vector tokens, and if matched, perform actions on the token, or multi-input token, or vector token in accordance with the operation code of the matching tokens, or multi-input tokens, or vector tokens, generate and transmit to the executive device a data pair or multi-input packet containing respectively the data of tokens, or multi-input tokens, or vector tokens, or generate and transfer to the vector executive device a vector packet containing respectively data of tokens, or multi-input tokens , or vector tokens, and store the received tokens, or multi-input tokens, or vector tokens. 4. Вычислительная система по п.1, отличающаяся тем, что каждое исполнительное устройство выполнено с возможностью принимать пару данных или многовходовый пакет, извлекать из них информацию об адресе программы, хранящейся в исполнительном устройстве, и которую следует выполнить над данными пары данных или многовходового пакета, выполнять указанную программу над данными пары данных или многовходового пакета, формировать новые токены, или многовходовые токены, или векторные токены и передавать их в коммутатор токенов.4. The computing system according to claim 1, characterized in that each actuator is configured to receive a pair of data or a multi-input packet, extract information from them about the address of the program stored in the actuator, and which should be performed on the data of a pair of data or a multi-input packet , execute the specified program on the data of a data pair or multi-input packet, generate new tokens, or multi-input tokens, or vector tokens and transfer them to the token switch. 5. Вычислительная система по п.1, отличающаяся тем, что каждое векторное исполнительное устройство выполнено с возможностью принимать векторный пакет, извлекать из него информацию об адресе программы, хранящейся в векторном исполнительном устройстве, и которую следует выполнить над данными векторного пакета, выполнять указанную программу над данными векторного пакета, формировать новые токены, или многовходовые токены, или векторные токены и передавать их в коммутатор токенов.
Figure 00000001
5. The computing system according to claim 1, characterized in that each vector execution unit is configured to receive a vector package, extract information from it about the address of the program stored in the vector execution unit, and which should be performed on the data of the vector package, execute the specified program over the data of the vector packet, generate new tokens, or multi-input tokens, or vector tokens and transfer them to the token switch.
Figure 00000001
RU2012127103/08U 2012-06-28 2012-06-28 PARALLEL FLOW COMPUTING SYSTEM RU124009U1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2012127103/08U RU124009U1 (en) 2012-06-28 2012-06-28 PARALLEL FLOW COMPUTING SYSTEM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2012127103/08U RU124009U1 (en) 2012-06-28 2012-06-28 PARALLEL FLOW COMPUTING SYSTEM

Publications (1)

Publication Number Publication Date
RU124009U1 true RU124009U1 (en) 2013-01-10

Family

ID=48807566

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2012127103/08U RU124009U1 (en) 2012-06-28 2012-06-28 PARALLEL FLOW COMPUTING SYSTEM

Country Status (1)

Country Link
RU (1) RU124009U1 (en)

Similar Documents

Publication Publication Date Title
US11269529B2 (en) Neural network data processing apparatus, method and electronic device
JP2019036298A (en) Intelligent high bandwidth memory system and logic dies therefor
US20160140243A1 (en) Scoped search engine
CN111382327B (en) Character string matching device and method
US9983876B2 (en) Non-deterministic finite state machine module for use in a regular expression matching system
US20150067273A1 (en) Computation hardware with high-bandwidth memory interface
CN105956666B (en) A kind of machine learning method and system
CN106776466A (en) A kind of FPGA isomeries speed-up computation apparatus and system
US11367498B2 (en) Multi-level memory hierarchy
CN103577161A (en) Big data frequency parallel-processing method
AU2019241002B2 (en) Transaction processing method and system, and server
CN106062749A (en) Providing prevalence information using query data
US11210105B1 (en) Data transmission between memory and on chip memory of inference engine for machine learning via a single data gathering instruction
CN106445472A (en) Character operation acceleration method and apparatus, chip, and processor
RU124009U1 (en) PARALLEL FLOW COMPUTING SYSTEM
RU124001U1 (en) PARALLEL FLOW COMPUTING SYSTEM
RU124008U1 (en) PARALLEL FLOW COMPUTING SYSTEM
RU123999U1 (en) PARALLEL FLOW COMPUTING SYSTEM
RU124010U1 (en) PARALLEL FLOW COMPUTING SYSTEM
RU124003U1 (en) PARALLEL FLOW COMPUTING SYSTEM
RU124007U1 (en) PARALLEL FLOW COMPUTING SYSTEM
RU124013U1 (en) STREAM COMPUTER SYSTEM
RU118453U1 (en) PARALLEL FLOW COMPUTING SYSTEM
RU124002U1 (en) PARALLEL FLOW COMPUTING SYSTEM
RU123997U1 (en) PARALLEL FLOW COMPUTING SYSTEM