RU124000U1 - PARALLEL FLOW COMPUTING SYSTEM - Google Patents
PARALLEL FLOW COMPUTING SYSTEM Download PDFInfo
- Publication number
- RU124000U1 RU124000U1 RU2012127105/08U RU2012127105U RU124000U1 RU 124000 U1 RU124000 U1 RU 124000U1 RU 2012127105/08 U RU2012127105/08 U RU 2012127105/08U RU 2012127105 U RU2012127105 U RU 2012127105U RU 124000 U1 RU124000 U1 RU 124000U1
- Authority
- RU
- Russia
- Prior art keywords
- token
- vector
- tokens
- input
- data
- Prior art date
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 associative memory modules and a plurality of actuators connected to it, each of which is designed as a control device connected to the token switch and a vector functional device and a scalar functional device connected to it, each the associative memory module is connected to one corresponding control device of the actuator and forms with this actuator the construction of the computing core. 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, transfer each token, or multi-input token, or vector token to all computing cores at once or in accordance with one from the fields of a token, or a multi-input token, or a vector token by the number of the computing core, transfer the token, or a multi-input token, or a vector token to the associative memory module of the computing core corresponding to the specified computational core number. 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 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 with multi-input tokens, or vector tokens and, if matched, execute over the token, or multi-input token, or vector token
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 a data pair 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” operation but using the key in the input token simultaneously in the sections with the 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
Наличие общего коммутатора пар данных делает невозможной аппаратную реализацию масштабируемой вычислительной системы, кроме того, имеется ограничение на количество входных данных выполняемой инструкции (программы) исполнительного устройства равное двум. Используемые форматы токенов и пары данных не допускают образование многовходовых конструкций. Отсутствует возможность реализации векторных операций, что не позволяет передавать массивы данных и, следовательно уменьшает быстродействие системы в целом.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 associative memory modules and a plurality of actuating devices connected to it, each of which is made in the form of a control device connected to the token switcher and a vector functional device and a scalar functional device connected to it , wherein each associative memory module is connected to one corresponding executive control device OPERATION AND forms with it an actuating device processing 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 at once, or, in accordance with one of the token fields, or a multi-input token, or vector token with the number of the computing core, transfer the token, or multi-input token, or vector token to the associative memory module of the computing core corresponding to the specified number of the computing core.
А также тем, что каждый модуль ассоциативной памяти выполнен с возможностью принимать токены, или многовходовые токены, или векторные токены от коммутатора токенов, выполнять сравнение токена, или многовходового токена, или векторного токена с учетом маскирования с ранее принятыми токенами, или многовходовыми токенами, или векторными токенами и при совпадении выполнять над токеном, или многовходовым токеном, или векторным токеном действие в соответствии с кодом операции совпавших токенов, или многовходовых токенов, или векторных токенов, формировать и передавать на устройство управления исполнительного устройства пару данных, или многовходовой пакет, или векторный пакет, содержащий соответственно данные токенов, или многовходовых токенов, или векторных токенов, и хранить принятые токены, или многовходовые токены, или векторные токены.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 in, generate and transmit to the device the executive device control data pair or multiinput packet or a vector packet, comprising data tokens respectively, or of multi tokens, tokens or vector, and storing received tokens, or multi-input tokens or tokens vector.
А также тем, что скалярные функциональные устройства являются целочисленными арифметико-логическими устройствами или целочисленными умножителями, или целочисленными делителями, или вещественными арифметическими устройствами, или вещественными умножителями, или вещественными делителями, или устройствами предсказания переходов и ветвления.And also the fact that scalar functional devices are integer arithmetic-logic devices or integer multipliers, or integer divisors, or real arithmetic devices, or real multipliers, or real dividers, or branch and branch prediction devices.
А также тем, что векторные функциональные устройства являются целочисленными арифметико-логическими векторными устройствами или целочисленными векторными умножителями, или целочисленными векторными делителями, или вещественными арифметическими векторными устройствами, или вещественными векторными умножителями, или вещественными векторными делителями.And also the fact that vector functional devices are integer arithmetic-logical vector devices or integer vector multipliers, or integer vector dividers, or real arithmetic vector devices, or real vector multipliers, or real vector dividers.
А также тем, что каждое устройство управления исполнительного устройства выполнено с возможностью принимать пару данных, или многовходовой пакет, или векторный пакет от модуля ассоциативной памяти того же вычислительного ядра, обрабатывать пару данных, или многовходовой пакет, или векторный пакет в соответствии с программой, хранящейся в указанном устройстве управления, и которую следует выполнить над данными пары данных, или многовходового пакета, или векторного пакета, передавать данные пары данных или многовходового пакета на скалярное функциональное устройство, передавать данные векторного пакета на векторное функциональное устройство, принимать от скалярного функционального устройства и от векторного функционального устройства данные, формировать новые токены, или многовходовые токены, или векторные токены и передавать их в коммутатор токенов.And also by the fact that each control device of the executive device is configured to receive a data pair, or a multi-input packet, or a vector packet from an associative memory module of the same computational core, to process a data pair, or a multi-input packet, or a vector packet in accordance with the program stored in the specified control device, and which should be performed on the data of a data pair, or a multi-input packet, or a vector packet, to transmit data of a data pair or a multi-input packet to a scal a functional unit, transfer vector packet data to a vector functional unit, receive data from a scalar functional unit and vector functional unit, 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 и коммутатор 6 токенов. Каждое исполнительное устройство 3 выполнено в виде устройства 9 управления и соединенных с ним векторного функционального устройства 10 и скалярного функционального устройства 11. Все модули 5 ассоциативной памяти и все устройства 9 управления соединены с коммутатором 6 токенов. Каждый модуль 5 ассоциативной памяти соединен с одним соответствующим ему устройством 9 управления исполнительного устройства 3 и образует с этим исполнительным устройством 3 одно вычислительное ядро 1.The claimed parallel streaming computing system shown in figure 1, contains
По линиям 2а, соединяющим коммутатор 6 токенов с модулями 5 ассоциативной памяти, и по линиям 2b, соединяющим устройства 9 управления исполнительных устройств 3 с коммутатором 6 токенов, передаются токены, или многовходовые токены, или векторные токены. По линиям 4, соединяющим модули 5 ассоциативной памяти с устройствами управления 9 исполнительных устройств 3, передаются пары данных, или многовходовые пакеты, или векторные пакеты.The
Устройство 9 управления исполнительного устройства 3 передает на векторное функциональное устройство 10 данные векторного пакета и принимает от векторного функционального устройства 10 новые данные. Устройство 9 управления исполнительного устройства 3 передает на скалярное функциональное устройство 11 данные пары данных или многовходового пакета и принимает от скалярного функционального устройства 11 новые данные.The
Как токены, многовходовые токены, так и векторные токены представляют собой структуру данных, состоящую из поля «признаки токена» (см. фиг.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 Signs” field shown in FIG. 2, the signs of global transmission are recorded in associative memory modules 3 (MAP Glo) or the number of associative memory module 3 (MAP Number), to which the corresponding token, token priority, mask number should be transferred , operation code (Kop), and for a multi-input token and vector token, also the number of inputs (Kvh) and the size of the input (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
В данном описании под «многовходовыми токенами» понимаются токены, при помощи которых формируется многовходовой пакет. В отличие от токенов многовходовые токены содержат два дополнительных поля, расположенных в поле «признаки токена» - «номер входа» (Нвх) и «количество входов» (Квх). «Номер входа» указывает в какое из полей «данного» результирующего пакета должно попасть данное этого многовходового токена, а «количество входов» служит для контроля и указывает сколько данных должно быть в многовходовом пакете.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 “context” field of all 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 bits of the zero “context” 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 /
Токены, или многовходовые токены, или векторные токены, поступают от хост-машины 8 через блок ввода/вывода 7 на коммутатор 6 токенов, который принимает токены, или многовходовые токены, или векторные токены. Затем, если в поле «признаки токена» токена, или многовходового токена, или векторного токена имеется признак глобального токена, то коммутатор 6 токенов передает указанный принятый токен, или многовходовый токен, или векторный токен по линиям 2а передачи токенов сразу на все вычислительные ядра 1. В том случае, если в поле «признаки токена» токена, или многовходового токена, или векторного токена указан номер вычислительного ядра 1, в которое должен быть передан этот токен, или многовходовой токен, или векторный токен, то коммутатор 6 токенов передает указанный принятый токен, или многовходовой токен, или векторный токен по линии 2а передачи токенов в модуль 5 ассоциативной памяти вычислительного ядра 1, соответствующего указанному в поле «признаки токена» токена, или многовходового токена или векторного токена номеру вычислительного ядра 1.Tokens, or multi-input tokens, or vector tokens, are received from the host 8 through the input /
Один или все модули 5 ассоциативной памяти принимают указанный токен, или многовходовой токен, или векторный токен от коммутатора 6 токенов. Первый из перечисленных токенов, не имея объекта для сравнения, записывается в модуль 5 ассоциативной памяти в ожидании приема других токенов. Затем один или все модули 5 ассоциативной памяти принимают следующий токен, или многовходовый токен, или векторный токен от коммутатора 6 токенов и выполняют сравнение принятого указанного токена, или многовходового токена, или векторного токена с учетом маскирования с ранее принятыми токенами, или многовходовыми токенами, или векторными токенами. При этом сравнивают поле «ключ» или поля «адрес узла» и «контекст». При совпадении с учетом маскирования нолей «ключ» или полей «адрес узла» и «контекст», выполняют над принятыми токенами, или многовходовыми токенами, или векторными токенами действие в соответствии с кодом операции совпавших токенов. В данном случае формируют пару данных, или многовходовой пакет, или векторный пакет, или удаляют указанный принятый токен, или многовходовой токен, или векторный токен, или удаляют хранящийся токен, или многовходовой токен, или векторный токен, или сохраняют указанный принятый токен, или многовходовой токен, или векторный токен.One or all
Модуль 5 ассоциативной памяти формирует пару данных, или многовходовой пакет, или векторный пакет, содержащий данные, по меньшей мере, одного токена, или многовходового токена, или векторного токена, и затем передает на устройство 9 управления исполнительного устройства 3 по линии 4 передачи сформированную пару данных, или многовходовой пакет, или векторный пакет.The
При формировании многовходового пакета или векторного пакета, при совпадении токенов, или многовходовых токенов, или векторных токенов, поле «признаки пакета» заполняется на основе полей «признаки токена» соответствующих токенов, или многовходовых токенов, или векторных токенов, поля «адрес узла» и «контекст» формируются из соответствующих полей токенов, или многовходовых токенов, или векторных токенов путем их взаимного логического сложения с учетом маскирования. Поля «данные» содержат данные из полей «данное» соответствующих токенов, или многовходовых токенов, или векторных токенов, в соответствии с полем «номер входа» токена, или многовходового токена, или векторного токена. На фиг.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
Устройство 9 управления принимает пару данных, или многовходовой пакет, или векторный пакет по линии 4 от модуля 5 ассоциативной памяти. Затем устройство 9 управления извлекает из пары данных, или многовходового пакета, или векторного пакета информацию об адресе программы, которая хранится в устройстве 9 управления исполнительного устройства 3, и которую следует выполнить над данными пары данных, или многовходового пакета, или векторного пакета. Затем устройство 9 управления запускает и выполняет указанную программу над указанными данными. При этом в процессе выполнения указанной программы устройство 9 управления направляет данные на векторное функциональное устройство 10, если указанная программа выполняется над данными векторного пакета, или на скалярное функциональное устройство 11, в том случае если указанная программа выполняется над данными пары данных или многовходового пакета.The
Векторные функциональные устройства 10 являются целочисленными арифметико-логическими векторными устройствами или целочисленными векторными умножителями, или целочисленными векторными делителями, или вещественными арифметическими векторными устройствами, или вещественными векторными умножителями, или вещественными векторными делителями. Скалярные функциональные устройства 11 являются целочисленными арифметико-логическими устройствами или целочисленными умножителями, или целочисленными делителями, или вещественными арифметическими устройствами, или вещественными умножителями, или вещественными делителями, или устройствами предсказания переходов и ветвления. Векторное функциональное устройство 10 или скалярное функциональное устройство 11 выполняют с данными простые действия, например, сложение, или вычитание, или умножение, или деление, или другие операции, в результате чего получаются новые данные поступающие на устройство 9 управления.Vector
Далее, в результате выполнения указанной программы получаются другие новые данные, на основе которых устройство 9 управления формирует новые токены, или многовходовые токены, или векторные токены и по линии 2b передает указанные токены, или многовходовые токены, или векторные токены на коммутатор 6 токенов.Further, as a result of the execution of this program, other new data is obtained, on the basis of which the
Далее коммутатор 6 токенов передает принятые токены, или многовходовые токены, или векторные токены по линиям 2а либо сразу на все вычислительные ядра 1, если в одном из полей токена, или многовходового токена, или векторного токена присутствует признак глобального токена, либо на вычислительное ядро 1, если в одном из полей токена, или многовходового токена, или векторного токена указан номер вычислительного ядра 1, в которое должен быть передан указанный токен, или многовходовой токен, или векторный токен.Further, the
Процесс обработки данных завершается после того, как устройства управления 9 исполнительных устройств 3 передадут окончательный результат обработки данных коммутатору 6 токенов, который через блок ввода/вывода 7 выдаст их на хост-машину 8.The data processing process is completed after the
Таким образом, за счет того, что коммутатор токенов соединен со множеством модулей ассоциативной памяти и множеством исполнительных устройств, каждое из которых выполнено в виде соединенного с коммутатором токенов устройства управления и соединенных с ним векторного функционального устройства и скалярного функционального устройства, при этом каждый модуль ассоциативной памяти соединен с одним соответствующим ему устройством управления исполнительного устройства и образует с этим исполнительным устройством вычислительное ядро, повышается производительность вычислительной системы, появляется возможность масштабирования вычислительной системы, а также снимается ограничение на количество входных данных программы узла, а также значительно возрастает производительность системы и ее быстродействие.Thus, due to the fact that the token switch is connected to many associative memory modules and many actuators, each of which is made in the form of a control device connected to the token switch and a vector functional device and a scalar functional device connected to it, each module being associative memory is connected to one corresponding control device of the actuator and forms a computational core with this actuator, according to yshaetsya performance computing system, there is the ability to scale computing system, and also removes the restriction on the number of the input node of the program, as well as significantly increasing system performance and its performance.
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2012127105/08U RU124000U1 (en) | 2012-06-28 | 2012-06-28 | PARALLEL FLOW COMPUTING SYSTEM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2012127105/08U RU124000U1 (en) | 2012-06-28 | 2012-06-28 | PARALLEL FLOW COMPUTING SYSTEM |
Publications (1)
Publication Number | Publication Date |
---|---|
RU124000U1 true RU124000U1 (en) | 2013-01-10 |
Family
ID=48807557
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2012127105/08U RU124000U1 (en) | 2012-06-28 | 2012-06-28 | PARALLEL FLOW COMPUTING SYSTEM |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU124000U1 (en) |
-
2012
- 2012-06-28 RU RU2012127105/08U patent/RU124000U1/en active
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6977239B2 (en) | Matrix multiplier | |
US11294599B1 (en) | Registers for restricted memory | |
EP3846040A1 (en) | Neural network data processing apparatus, method and electronic device | |
US20150067273A1 (en) | Computation hardware with high-bandwidth memory interface | |
US9983876B2 (en) | Non-deterministic finite state machine module for use in a regular expression matching system | |
CN103440246A (en) | Intermediate result data sequencing method and system for MapReduce | |
Fang et al. | SIFO: secure computational infrastructure using FPGA overlays | |
US11210105B1 (en) | Data transmission between memory and on chip memory of inference engine for machine learning via a single data gathering instruction | |
CN110890120B (en) | Universal block chain application processing acceleration method and system based on resistive random access memory | |
RU124000U1 (en) | PARALLEL FLOW COMPUTING SYSTEM | |
RU124011U1 (en) | PARALLEL FLOW COMPUTING SYSTEM | |
RU124008U1 (en) | PARALLEL FLOW COMPUTING SYSTEM | |
RU123996U1 (en) | PARALLEL FLOW COMPUTING SYSTEM | |
RU124009U1 (en) | PARALLEL FLOW COMPUTING SYSTEM | |
RU124010U1 (en) | PARALLEL FLOW COMPUTING SYSTEM | |
RU124002U1 (en) | PARALLEL FLOW COMPUTING SYSTEM | |
RU123999U1 (en) | PARALLEL FLOW COMPUTING SYSTEM | |
RU124001U1 (en) | PARALLEL FLOW COMPUTING SYSTEM | |
RU124013U1 (en) | STREAM COMPUTER SYSTEM | |
RU124003U1 (en) | PARALLEL FLOW COMPUTING SYSTEM | |
RU124007U1 (en) | PARALLEL FLOW COMPUTING SYSTEM | |
RU118453U1 (en) | PARALLEL FLOW COMPUTING SYSTEM | |
RU123997U1 (en) | PARALLEL FLOW COMPUTING SYSTEM | |
RU123998U1 (en) | PARALLEL FLOW COMPUTING SYSTEM | |
RU124012U1 (en) | STREAM COMPUTER SYSTEM |