RU2023292C1 - Device for redistribution of jobs between processors - Google Patents

Device for redistribution of jobs between processors Download PDF

Info

Publication number
RU2023292C1
RU2023292C1 SU4940192A RU2023292C1 RU 2023292 C1 RU2023292 C1 RU 2023292C1 SU 4940192 A SU4940192 A SU 4940192A RU 2023292 C1 RU2023292 C1 RU 2023292C1
Authority
RU
Russia
Prior art keywords
group
block
input
elements
register
Prior art date
Application number
Other languages
Russian (ru)
Inventor
А.А. Тарасов
А.Э. Клещенко
А.Н. Королев
М.А. Шевцов
Original Assignee
Войсковая Часть 25840
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 Войсковая Часть 25840 filed Critical Войсковая Часть 25840
Priority to SU4940192 priority Critical patent/RU2023292C1/en
Application granted granted Critical
Publication of RU2023292C1 publication Critical patent/RU2023292C1/en

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Abstract

FIELD: computer engineering, in particular, in fail-safe multiprocessor systems. SUBSTANCE: device has group of storage elements, NAND gate, decoder, unit of shift of job codes and unit of counters of cycles. Formation of versions of job distribution is accomplished by unit of shift of job codes. Test of serviceability of job distribution (rearrangement) between processors is conducted by information stored in group of storage elements. Unit of counters of cycles forms controlling pulses which are sent to proper inputs of unit of shift of job codes from outputs of unit of counters of cycles. In this case unit of shift of job codes generates next in order version of distribution of jobs. EFFECT: reduced number of units in equipment package. 4 dwg

Description

Изобретение относится к вычислительной технике и может найти применение в отказоустойчивых многопроцессорных системах для распределения нагрузки между процессорами. The invention relates to computer technology and may find application in fault-tolerant multiprocessor systems for load balancing between processors.

Известно устройство, содержащее блок памяти, регистры, шифраторы, узел опроса, счетчик, узлы анализа столбцов и строк, схемы сравнения, триггеры, логические элементы. Однако это устройство отличается сложностью [1]. A device is known that contains a memory block, registers, encoders, a polling node, a counter, nodes for analyzing columns and rows, comparison schemes, triggers, logic elements. However, this device is complex [1].

Наиболее близким по технической сущности к изобретению (прототипом) является устройство для распределения задач между процессорами, содержащее блок элементов памяти, дешифратор, элемент И-НЕ и блок перебора перестановок [2]. The closest in technical essence to the invention (prototype) is a device for distributing tasks between processors, containing a block of memory elements, a decoder, an NAND element and a block of enumeration of permutations [2].

Однако это устройство характеризуется большим объемом оборудования. However, this device is characterized by a large amount of equipment.

Действительно, для организации перераспределения нагрузки в вычислительной системе, содержащей n процессоров, постоянное запоминающее устройство блока перебора перестановок должно содержать (n-1) ! ячеек с кодами настроек процессоров. Indeed, to organize load balancing in a computer system containing n processors, the read-only memory of the permutation enumeration block must contain (n-1)! cells with processor settings codes.

Целью изобретения является снижение объема оборудования посредством организации поиска соответствующего распределения задач путем циклических сдвигов кодов задач. The aim of the invention is to reduce the amount of equipment by organizing a search for an appropriate distribution of tasks by cyclic shifts of task codes.

Указанная цель достигается тем, что в устройство для распределения задач между процессорами, содержащее группу элементов памяти, элемент И-НЕ, дешифратор, причем группа входов устройства соединена с группой входов дешифратора, каждый выход которого соединен с первым входом соответствующего элемента памяти, выход которого соединен с соответствующим входом элемента И-НЕ, введены блок сдвига кодов задач и блок счетчиков циклов, причем выход элемента И-НЕ соединен со входом блока счетчиков циклов, группа выходов которого соединена с группой входов блока сдвига кодов задач, группа выходов которого соединена со вторыми входами группы элементов памяти и выходом устройства. This goal is achieved by the fact that in a device for distributing tasks between processors containing a group of memory elements, an NAND element, a decoder, the group of device inputs connected to a group of decoder inputs, each output of which is connected to the first input of the corresponding memory element, the output of which is connected with the corresponding input of the AND-NOT element, a block for shifting task codes and a block of cycle counters are introduced, and the output of the AND-NOT element is connected to the input of the block of cycle counters, the group of outputs of which is connected to input unit code shift tasks, a group of whose output is connected to second inputs of memory elements of the group and the output device.

Введение в состав предлагаемого устройства упомянутых блоков и организация их связей с упомянутой совокупностью элементов является существенным признаком, так как позволяет снизить объем оборудования по сравнению с прототипом. The introduction of the said blocks into the composition of the proposed device and the organization of their relations with the mentioned set of elements is an essential feature, since it allows to reduce the amount of equipment compared to the prototype.

На фиг. 1 приведена структурная схема устройства; на фиг. 2 - возможный вариант реализации элемента памяти; на фиг. 3 - возможный вариант реализации блока сдвига кодов задач; на фиг. 4 - возможный вариант реализации блока счетчиков циклов. In FIG. 1 shows a structural diagram of a device; in FIG. 2 - a possible embodiment of a memory element; in FIG. 3 - a possible embodiment of a block of a shift of task codes; in FIG. 4 - a possible implementation of a block of cycle counters.

Устройство для распределения задач между процессорами содержит (см. фиг. 1) группу 1 элементов памяти, элемент И-НЕ 2, дешифратор 3, элементы памяти 4, блок сдвигов кодов задач 5 и блок счетчиков циклов 6. A device for distributing tasks between processors contains (see Fig. 1) a group of 1 memory elements, an NAND element 2, a decoder 3, memory elements 4, a block of shifts of task codes 5 and a block of cycle counters 6.

Элемент памяти 4 содержит (см. фиг. 2) дешифратор адреса 7, группу линий задержки 81...8n, группу двухвходовых элементов И 91...9n, группу триггеров 101...10n, группу двухвходовых элементов И 111...11n, элемент ИЛИ 12.Memory element 4 contains (see Fig. 2) an address decoder 7, a group of delay lines 8 1 ... 8 n , a group of two-input elements AND 9 1 ... 9 n , a group of triggers 10 1 ... 10 n , a group of two-input elements AND 11 1 ... 11 n , element OR 12.

Блок сдвигов кодов задач 5 содержит (см. фиг. 3) группы двухвходовых элементов И 131....13n-1 по m элементов в каждой (m = llog 2nl), группу из m (n-1)-входовых элементов ИЛИ 14, (n-1)-входовый элемент ИЛИ 15, m-разрядный буферный регистр 16, группу m-разрядных регистров 171...17n, группу линий задержки 181...18n, группу двухвходовых элементов ИЛИ 191...19n-2.The shift block of task codes 5 contains (see Fig. 3) groups of two-input elements AND 13 1 .... 13 n-1 with m elements in each (m = llog 2 nl), a group of m (n-1) input OR elements 14, (n-1) -input element OR 15, m-bit buffer register 16, group of m-bit registers 17 1 ... 17 n , group of delay lines 18 1 ... 18 n , group of two-input elements OR 19 1 ... 19 n-2 .

Блок счетчиков циклов 6 содержит (см. фиг. 4) двухвходовой элемент И 20, генератор импульсов 21, группу m-разрядных счетчиков 221...22n-2, группу m-разрядных регистров 231. . .23n-2, группу схем сравнения 241... 24n-2, группы элементов задержки 251...25n-2 и 261...26n-2.The block of cycle counters 6 contains (see Fig. 4) a two-input element And 20, a pulse generator 21, a group of m-bit counters 22 1 ... 22 n-2 , a group of m-bit registers 23 1 . . .23 n-2 , a group of comparison circuits 24 1 ... 24 n-2 , groups of delay elements 25 1 ... 25 n-2 and 26 1 ... 26 n-2 .

Совокупность введенных элементов может быть выполнена на микросхемах любой серии, имеющей в своем составе логические элементы счетчики, регистры (например, ИМС серий 133, 155, 106, 500 и пр.). Устройство работает следующим образом. Формирование вариантов распределения задач производится блоком сдвига кодов задач 5, код задачи fi на j-ом выходе которого соответствует настройка j-го процессора на выполнение задачи fi. Проверка работоспособности распределения задач (перестановки) между процессорами происходит по информации, хранимой в группе 1 элементов памяти. В группу 1 элементов памяти заносится матрица ||φ ij|| , элемент которой φ ij=1, если j-ый процессор способен решать задачу fi, в противном случае φ ij=0; j-й элемент памяти 4 соответствует j-ому столбцу матрицы ||φ ij|| .The set of input elements can be performed on any series of microcircuits, incorporating counters, registers (for example, IC series 133, 155, 106, 500, etc.). The device operates as follows. The formation of options for the distribution of tasks is performed by a task code shifting unit 5, the task code f i at the j-th output of which corresponds to the j-th processor setting for task f i . Checking the health of the distribution of tasks (permutation) between processors is based on the information stored in group 1 memory elements. The matrix || φ ij || is entered into group 1 memory elements whose element is φ ij = 1, if the j-th processor is able to solve the problem f i , otherwise φ ij = 0; the jth memory element 4 corresponds to the jth column of the matrix || φ ij || .

Запись "0" в ячейку φ ij происходит при потере j-ым процессором способности выполнения возложенной на него задачи fi. На входы дешифратора 3 подается код отказавшего процессора в конце цикла работы на котором произошел отказ этого процессора. Возбужденным выходом дешифратора 3 осуществляется выборка элемента памяти 4j. Адрес, соответствующий коду потерянной задачи, подается с j-го выхода блока сдвига кодов задач 5 на второй вход соответствующего элемента памяти 4.Writing "0" to the cell φ ij occurs when the j-th processor loses the ability to perform the task f i assigned to it. At the inputs of the decoder 3, the code of the failed processor is supplied at the end of the operation cycle on which this processor failed. The excited output of the decoder 3 is the selection of the memory element 4 j . The address corresponding to the code of the lost task is supplied from the jth output of the shift block of task codes 5 to the second input of the corresponding memory element 4.

При этом на выходе элемента памяти 4j устанавливается "0" (содержимое выбранной ячейки в случае потери процессором способности решать задачу). На выходе элемента И-НЕ 2 формируется "1", поступающая на вход блока счетчиков циклов 6.At the same time, “0” is set at the output of memory element 4 j (the contents of the selected cell in case the processor loses its ability to solve a problem). At the output of the AND-NOT 2 element, "1" is formed, which is input to the block of cycle counter 6.

В блоке счетчиков циклов 6 формируются управляющие импульсы, которые с выходов блока 6 выдаются на соответствующие входы блока сдвигов кодов задач 5, при этом блоком сдвигов кодов задач 5 вырабатывается следующий по порядку вариант распределения задач. Если сформированное распределение является работоспособным, то на выходы всех элементов памяти 41...4n выдаются логические "1" и на вход блока счетчиков циклов 6 поступает логический "0". Если выбранный вариант распределения задач не является работоспособным, то на выходе элемента И-НЕ 2 остается логическая "1", поступающая на вход блока счетчиков циклов 6, при этом через определенное время на выходах блока 6 появятся управляющие сигналы, которые поступят на входы блока сдвига кодов задач 5. При этом будет выработан следующий вариант распределения задач и т.д.In the block of cycle counters 6, control pulses are generated, which are output from the outputs of block 6 to the corresponding inputs of the block of task code shifts 5, while the block of shift codes of task 5 produces the next order distribution option for the tasks. If the generated distribution is workable, then the outputs of all memory elements 4 1 ... 4 n give a logical "1" and a logical "0" is sent to the input of the loop counter block 6. If the selected distribution of tasks is not workable, then the output of the AND-NOT 2 element remains logical "1", which is fed to the input of the block of cycle counters 6, and after a certain time, the control signals that arrive at the inputs of the shift block will appear at the outputs of block 6 task codes 5. The following distribution of tasks, etc. will be developed.

Для выработки всевозможных перестановок кодов задач предназначен блок сдвига кодов задач 5. В регистры 171...17n записаны коды задач f1...fn (первоначально в регистр 171 записан код f1, в регистр 172 - код f2, и т.д. ; в регистр 17n записан код fn). На выходе устройства будет выработан набор кодов f1,f2...fn. С приходом управляющего импульса на вход l1 блока сдвигов кодов задач 5 происходит следующее. Управляющий импульс подается на вторые входы группы элементов И 131, к первым входам которых подключены соответствующие выходы регистра 17n, при этом код задачи fn, записанный в регистре 17n, через группу элементов И 131 и группу элементов ИЛИ 14 подается на информационный вход буферного регистра 16, на вход разрешения записи которого с входа l1 блока через элемент ИЛИ 15 подается управляющий импульс. При этом происходит запись кода fn в буферный регистр 16. Управляющий импульс, с входа l1 блока, кроме того, через линию задержки 18n подается на вход разрешения записи регистра 17n, информационные входы которого соединены с соответствующими выходами регистра 17n-1; при этом код fn-1 из регистра 17n-1 переписывается в регистр 17n. Управляющий импульс далее последовательно через элементы задержки 18n-1...181 подается на входы разрешения записи регистров 17n-1...172; при этом в каждый регистр 17i записывается код, находящийся в регистре 17i-1, в регистр 171 записывается код fn из буферного регистра 16. Таким образом формируется распределение кодов fn, f1, f2... fn-1. Следующим управляющим импульсом, приходящим на вход l1, аналогичным образом формируется распределение кодов fn-1, fn, f1, f2...fn-2, и т.д. Через n импульсов, появившихся на входе l1, в регистрах 171...17n будет записано исходное распределение кодов f1,f2...fn, после чего приходит управляющий импульс на вход l2, при этом код fn-1, записанный в регистр 17n-1, записывается в буферный регистр 16, а в регистры 17n-1...172 записываются коды задач, которые находятся в регистрах с номером на единицу меньше. В регистр 171 записывается содержимое буферного регистра 16. Таким образом будет сформировано распределение кодов fn-1, f1, f2...fn-2, fn. Управляющий импульс, приходящий на вход l1, формирует циклический сдвиг n кодов, импульс, приходящий на вход l2, формирует циклический сдвиг n-1 кода, и т. д. Импульсы формируются таким образом, что через каждые n импульсов, появившихся на входе l1, появляется импульс на входе l2, через каждый n-1 импульс, появившийся на входе l2, появляется импульс на входе l3, через каждые n-2 импульса на входе l3, появляется импульс на входе l4, и т.д. Таким образом формируются все возможные n! распределений кодов.To generate every possible permutation unit intended tasks shift codes 5. The task code registers 17 1 ... 17 n tasks codes recorded f 1 ... f n (originally in register 17 1 code f 1 recorded in the register 17 2 - code f 2 , etc.; the code f n ) is written in the register 17 n . At the output of the device, a set of codes f 1 , f 2 ... f n will be generated. With the arrival of a control pulse at the input l 1 of the block of shifts of task codes 5, the following occurs. The control pulse is fed to the second inputs of the group of elements AND 13 1 , to the first inputs of which the corresponding outputs of the register 17 n are connected, while the task code f n recorded in the register 17 n , through the group of elements AND 13 1 and the group of elements OR 14 is fed to the information the input of the buffer register 16, to the recording permission input of which from the input l 1 of the block, a control pulse is supplied through the OR element 15. In this case, the code f n is recorded in the buffer register 16. The control pulse from the input l 1 of the block is also fed through the delay line 18 n to the write enable input of the register 17 n , the information inputs of which are connected to the corresponding outputs of the register 17 n-1 ; the code f n-1 from the register 17 n-1 is copied to the register 17 n . The control pulse is then sequentially through the delay elements 18 n-1 ... 18 1 is fed to the recording enable inputs of the registers 17 n-1 ... 17 2 ; at the same time, a code located in register 17 i-1 is written to each register 17 i , code f n from buffer register 16 is written to register 17 1. Thus, the distribution of codes f n , f 1 , f 2 ... f n- is formed 1 . The next control pulse arriving at the input l 1 similarly forms the distribution of codes f n-1 , f n , f 1 , f 2 ... f n-2 , etc. After n pulses appearing at input l 1 , in the registers 17 1 ... 17 n the initial distribution of codes f 1 , f 2 ... f n will be written, after which a control pulse arrives at input l 2 , and the code f n -1 , recorded in the register 17 n-1 , is recorded in the buffer register 16, and in the registers 17 n-1 ... 17 2 are written the task codes that are in the registers with the number one less. In the register 17 1 is written the contents of the buffer register 16. Thus, the distribution of codes f n-1 , f 1 , f 2 ... f n-2 , f n will be generated. The control pulse arriving at input l 1 forms a cyclic shift of n codes, the pulse arriving at input l 2 forms a cyclic shift of n-1 code, etc. Pulses are formed in such a way that every n pulses appearing at the input l 1 , a pulse appears at the input l 2 , through each n-1 pulse that appears at the input l 2 , a pulse appears at the input l 3 , every n-2 pulses at the input l 3 , a pulse appears at the input l 4 , and t .d. Thus, all possible n! code distributions.

Все управляющие импульсы для блока сдвига кодов задач 5 формируются блоком счетчиков циклов 6, который работает следующим образом. Если с выхода элемента И-НЕ 2 на вход блока сдвига кодов задач 5 поступает логическая "1", то импульс, формируемый генератором импульсов 21, через элемент И 20 поступает на счетный вход счетчика 221 и на первый выход блока счетчиков циклов 6, который подключен к входу l1 блока сдвига кодов задач 5. При этом блоком сдвига кодов задач 5 формируется новое распределение кодов. Если это распределение кодов оказывается неработоспособным, то на выходе элемента И-НЕ 2 остается логическая "1" и следующий импульс с генератора 21 через элемент И 20 подается на счетный вход счетчика 221 и на первый выход блока 6. Если новое распределение кодов является работоспособным, то на выходе элемента И-НЕ 2 формируется логический "0" и подается на вход блока 6, при этом логический "0" оказывается на первом входе элемента И 20 и, следовательно, импульсы с выхода генератора импульсов 21 не проходят через элемент И 20. Количество пришедших импульсов подсчитывается в счетчике 221 и сравнивается в схеме сравнения 241 с числом "n", которое записано заранее в регистре 231. Если число импульсов равно n, то на выходе схемы сравнения 241 появляется логическая "1", которая через линию задержки 251 подается на счетный вход счетчика 222, на второй выход блока 6, который подключен к входу l2 блока 5, и через линию задержки 261, - на вход "сброс" счетчика 221. При этом cчетчик 221 устанавливается в нулевое состояние. Линия задержки 251 предназначена для задержки сигнала на время, требуемое для срабатывания элементов блока 5 по управляющему импульсу с входа l1. Содержимое счетчика 222 сравнивается в схеме сравнения 242 с числом "n-1", записанным в регистр 232. При совпадении на выходе схемы сравнения 242 появляется логическая единица, которая через линию задержки 252 подается на счетный вход счетчика 223, на третий выход блока 6, который подключен к третьему входу l3 блока 5, и через линию задержки 263 - на вход "сброс" счетчика 222 и т. д. В регистр 233 записано число "n-2", в регистр 234 - "n-3" и т.д.All control pulses for the shift block of task codes 5 are generated by the block of cycle counters 6, which operates as follows. If logical “1” is supplied from the output of the AND-NOT 2 element to the input of the task code shift block 5, then the pulse generated by the pulse generator 21 passes through the And 20 element to the counting input of the counter 22 1 and to the first output of the cycle counter 6, which connected to the input l 1 of the block of the shift of task codes 5. In this case, the block of the shift of the codes of tasks 5 forms a new distribution of codes. If this distribution of codes turns out to be inoperative, then the logical "1" remains at the output of the AND-NOT 2 element and the next pulse from the generator 21 is supplied through the AND 20 element to the counting input of the counter 22 1 and to the first output of block 6. If the new distribution of codes is operational , then at the output of the AND-NOT 2 element a logical "0" is formed and fed to the input of block 6, while the logical "0" is at the first input of the And 20 element and, therefore, the pulses from the output of the pulse generator 21 do not pass through the And 20 element . The number of momentum s is counted in the counter 22 January and compared in the comparison circuit 24 January with "n" number, which is recorded in advance in the register 23 January. If the number of pulses is n, then at the output of the comparison circuit 24 1 a logical “1” appears, which is fed through the delay line 25 1 to the counting input of the counter 22 2 , to the second output of block 6, which is connected to input l 2 of block 5, and through delay line 26 1 , - to the input "reset" of the counter 22 1 . In this case, the counter 22 1 is set to zero. The delay line 25 1 is designed to delay the signal for the time required for the operation of the elements of block 5 according to the control pulse from the input l 1 . The contents of the counter 22 2 are compared in the comparison circuit 24 2 with the number "n-1" recorded in the register 23 2 . If the match occurs at the output of the comparison circuit 24 2 , a logical unit appears, which is supplied through the delay line 25 2 to the counting input of the counter 22 3 , to the third output of block 6, which is connected to the third input l 3 of block 5, and through the delay line 26 3 to input "reset" of the counter 22 2 , etc. The number "n-2" is written in the register 23 3 , the number "n-3" in the register 23 4 , etc.

Элемент памяти работает следующим образом. На второй вход какого-либо элемента памяти подается код задачи fj, на который настроен i-тый процессор. Со входа элемента памяти 4i код fj подается на дешифратор 7, при этом на j-том выходе дешифратора 7 появляется логическая "1", которая через линию задержки 8j подается на первые входы элементов И 9j и 11j. На второй вход элемента И 11j подается логическая "1", с прямого выхода триггера 10j, который в исходном положении находится в единичном состоянии. С выхода элемента 11j логическая "1" через элемент ИЛИ 12 подается на выход элемента памяти. При отказе i-го процессора, код неисправного процессора подается на вход дешифратора 3, на i-том выходе которого появляется логическая "1", которая поступает на первый вход элемента памяти 4i. Со входа элемента памяти 4i логическая "1" поступает на вторые входы элементов И 91...9n, при этом на выходе элемента И 9j появляется логическая "1", которая поступает на вход R-триггера 10j, который переходит в нулевое состояние, в результате чего на выходе элемента памяти 4i появится логический "0".The memory element works as follows. The second input of a memory element is supplied with the task code f j , on which the ith processor is configured. From the input of the memory element 4 i, the code f j is supplied to the decoder 7, and at the j-th output of the decoder 7 a logical “1” appears, which is fed through the delay line 8 j to the first inputs of the elements And 9 j and 11 j . Logic "1" is supplied to the second input of the And 11 j element, from the direct output of the trigger 10 j , which in the initial position is in a single state. From the output of element 11 j logical "1" through the element OR 12 is fed to the output of the memory element. In case of failure of the i-th processor, the code of the faulty processor is fed to the input of the decoder 3, on the i-th output of which a logical "1" appears, which is fed to the first input of the memory element 4 i . From the input of the memory element 4 i, the logical "1" goes to the second inputs of the elements And 9 1 ... 9 n , while the output of the element And 9 j appears logical "1", which goes to the input of the R-trigger 10 j , which goes to the zero state, as a result of which the logical "0" appears at the output of the memory element 4 i .

Технико-экономическая эффективность предлагаемого устройства заключается в сокращении объема оборудования по сравнению с прототипом. Блок перебора перестановок прототипа содержит (n-1)! ячеек памяти ПЗУ и n регистров (по количеству возможных вариантов распределения, хранящихся в ПЗУ). В предлагаемом устройстве возможные варианты распределения не хранятся в ПЗУ, а формируются посредством циклических сдвигов кодов задач в блоке сдвигов кодов задач. Таким образом, в связи с отсутствием необходимости хранения возможных вариантов распределения аппаратурные затраты при реализации предлагаемого устройства меньше примерно в (n-1) раз, чем при реализации прототипа. При достаточно больших значениях n (n - количество процессоров и решаемых задач в системе) выигрыш по сравнению с прототипом оказывается существенным. Feasibility study of the proposed device is to reduce the amount of equipment compared to the prototype. The prototype permutation enumeration block contains (n-1)! ROM memory cells and n registers (according to the number of possible distribution options stored in the ROM). In the proposed device, the possible distribution options are not stored in the ROM, but are formed by cyclic shifts of the task codes in the block of shifts of the task codes. Thus, due to the lack of the need to store possible distribution options, the hardware costs during the implementation of the proposed device are approximately (n-1) times less than when implementing the prototype. With sufficiently large values of n (n is the number of processors and tasks in the system), the gain in comparison with the prototype is significant.

Данное устройство может найти применение при проектировании отказоустойчивых вычислительных систем, в которых восстановление работоспособности после отказа достигается перераспределением функций, возложенных на процессоры. This device can find application in the design of fault-tolerant computing systems in which the recovery from failure is achieved by redistributing the functions assigned to the processors.

Claims (1)

УСТРОЙСТВО ДЛЯ ПЕРЕРАСПРЕДЕЛЕНИЯ ЗАДАЧ МЕЖДУ ПРОЦЕССОРАМИ, содержащее группу элементов памяти, элемент И - НЕ, дешифратор, входы которого являются входами отказавшего процессора устройства, i-й (i = 1, ... , n, n - число процессоров) выход дешифратора соединен с первым входом элемента памяти группы, выход которого соединен с i-м входом элемента И - НЕ, отличающееся тем, что оно содержит блок сдвига кодов задач и блок счетчиков циклов, причем выход элемента И - НЕ соединен со счетным входом блока счетчиков цикла, группа выходов которого соединена с группой входов блока сдвига кодов задач, группа выходов которого соединена с вторыми входами элементов памяти группы и является выходом кода задач устройства, причем блок сдвига кодов задач содержит группу из n-1 блоков элементов И по m(m = ]log2n[) элементов И в каждом блоке, блок из m элементов ИЛИ, элемент ИЛИ, буферный регистр, группу регистров, группу элементов задержки, группу элеметов ИЛИ, причем первый вход группы входов блока соединен с первыми входами первого блока элементов И группы и элемента ИЛИ, а через первый элемент задержки группы - с входом разрешения записи первого регистра группы и с первым входом первого элемента ИЛИ группы, выход K-го (K = 1, ... , n - 1) элемента ИЛИ группы соединен через (K + 1)-й элемент задержки группы с входом размещения записи (K + 1)-го регистра группы и с первым входом (K + 1)-го элемента ИЛИ группы, j-й (j = 2, ... , n - 1) вход группы входов блока соединен с вторым входом (j - 1)-го элемента ИЛИ и с первым входом j-го блока элементов И групп и с j-м входом элемента ИЛИ, выход (n - 2)-го элемента ИЛИ группы соединен через (n - 1)-й элемент задержки группы с входом разрешения записи (n - 1)-го регистра группы и с входом n-го элемента задержки группы, выход которого соединен с входом разрешения записи n-го регистра группы, группа выходов j-го регистра группы соединена с группой информационных входов (j - 1)-го регистра группы, с группой входов j-го блока элементов И группы и с j-й группой выходов блока, группа выходов первого регистра группы соединена с группой входов первого блока элементов И группы и с первой группой выходов блока, группа выходов n-го регистра группы соединена с группой информационных входов (n - 1)-го регистра группы и с n-й группой выходов блока, группа информационных входов n-го регистра группы соединена с группой выходов буферного регистра, информационный вход и вход разрешения записи которого соединены соответственно с выходами блока элементов ИЛИ и элемента ИЛИ, выход k-го блока элементов И группы соединен с K-м входом блока элементов ИЛИ.DEVICE FOR REDISTRIBUTING TASKS BETWEEN PROCESSORS, containing a group of memory elements, AND element - NOT, a decoder, the inputs of which are inputs of a failed processor of the device, the i-th (i = 1, ..., n, n is the number of processors) decoder output is connected to the first input of the group memory element, the output of which is connected to the i-th input of the AND element - NOT, characterized in that it contains a block of task code shift and a block of cycle counters, and the output of the AND element is NOT connected to the counting input of the cycle counter block, the group of outputs which is connected with gro the solder of the inputs of the block of task code shift, the group of outputs of which is connected to the second inputs of the group memory elements and is the output of the device task code, and the task code shift block contains a group of n-1 block of elements And by m (m =] log 2 n [) elements And in each block, a block of m OR elements, an OR element, a buffer register, a group of registers, a group of delay elements, a group of OR elements, and the first input of the group of inputs of the block is connected to the first inputs of the first block of AND elements of the group and OR element, and through the first group delay element - s by the resolution of writing the first register of the group and with the first input of the first element of the OR group, the output of the Kth (K = 1, ..., n - 1) element of the OR group is connected via the (K + 1) -th element of the group delay to the placement input records of the (K + 1) -th register of the group and with the first input of the (K + 1) -th element of the OR group, the j-th (j = 2, ..., n - 1) input of the group of inputs of the block is connected to the second input ( j - 1) th OR element and with the first input of the jth block of elements AND groups and with the jth input of the OR element, the output of the (n - 2) th OR element is connected through the (n - 1) th delay element groups with write permission input (n - 1 ) of the group register and with the input of the nth group delay element, the output of which is connected to the write enable input of the nth group register, the group of outputs of the jth group register is connected to the group of information inputs of the (j - 1) group register, with the group of inputs of the jth block of elements of the AND group and with the jth group of outputs of the block, the group of outputs of the first register of the group is connected to the group of inputs of the first block of elements of the group And with the first group of outputs of the block, the group of outputs of the nth register of the group is connected to the group information inputs of the (n - 1) -th group register and with the nth group of outputs of the block, the group of information inputs of the nth register of the group is connected to the group of outputs of the buffer register, the information input and the recording permission of which are connected respectively to the outputs of the block of OR elements and the OR element, the output of the kth block of elements AND groups connected to the Kth input of the block of elements OR.
SU4940192 1991-05-29 1991-05-29 Device for redistribution of jobs between processors RU2023292C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
SU4940192 RU2023292C1 (en) 1991-05-29 1991-05-29 Device for redistribution of jobs between processors

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SU4940192 RU2023292C1 (en) 1991-05-29 1991-05-29 Device for redistribution of jobs between processors

Publications (1)

Publication Number Publication Date
RU2023292C1 true RU2023292C1 (en) 1994-11-15

Family

ID=21576612

Family Applications (1)

Application Number Title Priority Date Filing Date
SU4940192 RU2023292C1 (en) 1991-05-29 1991-05-29 Device for redistribution of jobs between processors

Country Status (1)

Country Link
RU (1) RU2023292C1 (en)

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
1. Авторское свидетельство СССР N 696471, G 06F 15/20, 1976. *
2. Авторское свидетельство СССР N 982005, G 06F 9/46, 1989. *

Similar Documents

Publication Publication Date Title
US3636519A (en) Information processing apparatus
RU2023292C1 (en) Device for redistribution of jobs between processors
US3845282A (en) Apparatus and method for unambiguous counter reading
US4866718A (en) Error tolerant microprocessor
US4069473A (en) Associative memory
RU2153699C1 (en) Device for relocating tasks among processor units
US3714634A (en) Method and system for sorting without comparator
SU1474645A1 (en) Device for distribution of tasks between processors
RU2051412C1 (en) Device for solving systems of linear algebraic equations
RU1807499C (en) Matrix multiplier
SU1716514A2 (en) Device for assigning jobs to processors
SU1254490A1 (en) Device for checking operations with common data field
SU1410053A1 (en) Device for asynchronous associative loading of multiprocessor computing system
SU767766A1 (en) Device for determining data parity
SU1562966A1 (en) Device for selection of asynchronous signals on basis of criterion "m out of n"
RU1807448C (en) Program control unit
RU2024969C1 (en) Redundancy storage device
SU840887A1 (en) Extremum number determining device
RU2045787C1 (en) Associative storage
RU1815634C (en) Device for computation of minimal cover
SU437072A1 (en) Firmware Control
RU1795460C (en) Device for determining number of unities in binary code
SU1444769A1 (en) Multichannel arrangement for distributing tasks among processors
RU2049350C1 (en) Device for solving systems of linear algebraic equations
SU1439535A1 (en) Program control device