[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

SU1290320A1 - Device for distributing jobs to processors - Google Patents

Device for distributing jobs to processors Download PDF

Info

Publication number
SU1290320A1
SU1290320A1 SU853885274A SU3885274A SU1290320A1 SU 1290320 A1 SU1290320 A1 SU 1290320A1 SU 853885274 A SU853885274 A SU 853885274A SU 3885274 A SU3885274 A SU 3885274A SU 1290320 A1 SU1290320 A1 SU 1290320A1
Authority
SU
USSR - Soviet Union
Prior art keywords
output
input
memory block
processor
pulse generator
Prior art date
Application number
SU853885274A
Other languages
Russian (ru)
Inventor
Владимир Анатольевич Богатырев
Original Assignee
Предприятие П/Я М-5308
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 Предприятие П/Я М-5308 filed Critical Предприятие П/Я М-5308
Priority to SU853885274A priority Critical patent/SU1290320A1/en
Application granted granted Critical
Publication of SU1290320A1 publication Critical patent/SU1290320A1/en

Links

Landscapes

  • Multi Processors (AREA)

Abstract

Устройство дл  распределени  заданий процессорам относитс  к вычислительной технике и может быть использовано в многомашинных и мультипроцессорных системах дл  распределени  нагрузки. Изобретение может быть использовано в отказоустойчивых мультипроцессорных системах. Цель изобретени  - упрощение устройства . Устройство содержит два блока пам ти, счетчик, генератор импульсов , элемент задержки, дешифратор, элемент НЕ. Сущность изобретени  заключаетс  в том, что дл  упрощени  в-него введены блок пам ти, дешифратор и элемент НЕ. 1 илA device for distributing tasks to processors is related to computing and can be used in multi-machine and multiprocessor systems for load distribution. The invention can be used in fault-tolerant multiprocessor systems. The purpose of the invention is to simplify the device. The device contains two memory blocks, a counter, a pulse generator, a delay element, a decoder, a NOT element. The essence of the invention is that, for simplicity, a memory block, a decoder and a NOT element are inserted in it. 1 silt

Description

Изобретение относитс  к вычислительной технике и может найти применение в многомашинных и многопроцессорных системах дл  распределени  нагрузки между процессорами.The invention relates to computing and can be used in multi-machine and multiprocessor systems for distributing the load between processors.

На чертеже пре;цставлена структурна  схема устройства.The drawing shows the structural diagram of the device.

Устройство содержит блок пам ти 1, счетчик 2, генератор импульсов 3 элемент задержки 4, блок пам ти 5, дешифратор 6 и элемент НЕ 7, информационную магистраль 8, вход 9 запуска , сигнальный выход 10, группу кодовых выходов 11, информационные выходы 12.The device contains a memory block 1, a counter 2, a pulse generator 3 delay element 4, a memory block 5, a decoder 6 and a HE element 7, an information highway 8, a start input 9, a signal output 10, a group of code outputs 11, information outputs 12.

Работа устройства заключаетс  в том, что оно осуществл ет динамическое распределение запросов по процессорам (ЭВМ) с учетом их функне был загружен в предьщущем цикле, то сигналом с выхода блока пам ти 5 производитс  выборка дешифратора 6, подключенного к выходу счетчика 2, задаюш;его адрес выбираемого процессора . Унитарным кодом с выхода дешифратора 6 производитс  выборка загружаемого процессора. При этом сигнал с выхода дешифратора подаетс  на вход прерывани  процессора. Код запрашиваемой функции (вектор прерывани ) воспринимаетс  процессором ЭВМ с магистрали 8 (выходы 12). После загрузки выбранного процессора с некоторой задержкой на элементе 4 формируетс  сигнал подтверждени  завершени  распределени  очередного запроса. По этому сигналу на вькоде 10 источник нагрузки подаетThe operation of the device consists in the fact that it performs the dynamic distribution of requests among the processors (computers), taking into account their functionally loaded in the previous cycle, then the output from the memory unit 5 selects the decoder 6 connected to the output of the counter 2 and sets it selectable processor address. The unitary code from the output of the decoder 6 selects the loadable processor. In this case, the signal from the output of the decoder is fed to the input of the processor interrupt. The code of the requested function (interrupt vector) is received by the computer processor from trunk 8 (outputs 12). After loading the selected processor with some delay, element 4 generates a signal confirming the completion of the distribution of the next request. At this signal in code 10, the load source delivers

циональных возможностей. Функциональ-20л в устройство следующий предназначенные возможности процессоров отображаютс  в блоке пам ти 1. При этом если данный процессор способен выполнить данную функцию, в соответствующую  чейку блока пам ти 1 заноситс  М, если нет, то О.national opportunities. Functional-20l into the device the following intended capabilities of the processors are displayed in memory block 1. If this processor is able to perform this function, M is entered into the corresponding cell of memory 1, if not, then O.

Дл  обеспечени  равномерности загрузки процессоров преимущество по загрузке даетс  процессорам, которые при распределении предыдущих запросов не были загружены. Дл  реализации этого принципа распределени  в устройство вводитс  блок пам ти 5, в соответствующей  чейке ко- ,. торого записываетс  О, если в предьщущих циклах загрузки он не был загружен. В противном случае в  чейке блока пам ти 5 записана 1.To ensure uniformity of processor loadings, the advantage of loading is given to processors that were not loaded when distributing previous queries. To implement this distribution principle, a memory block 5 is inserted into the device, in the corresponding cell,. Secondly, O is recorded if it has not been loaded in the previous loading cycles. Otherwise, the cell of memory block 5 is written 1.

Рассмотрим более подробно процесс распределени  запросов, поступающих на магистраль 8 и сопровождаемых сигналом на входе 9. По сигналу на входе 9 происходит запуск генератора импульсов 3, св занного с тактовым входом .счетчика 2, содержимое которого определ ет выбор процессора , провер емого на возможность загрузки. Выход счетчика 2 св зан с адресными входами блоков пам ти 5 и 1. Код запрашиваемой функции по магистрали 8 одновременно  вл етс  адресом строки блока пам ти 1. Если выбранный процессор способен выполнить запрашиваемую функцию, то на выходе блока пам ти 1 формируетс  1, осуществл юща  выборку блока пам ти 5. Если в  чейке блока пам - .ти 5 содержитс  О, т.е. процессорLet us consider in more detail the process of distributing requests to trunk 8 and accompanied by a signal at input 9. Signal at input 9 triggers a pulse generator 3 connected to a clock input of counter 2, the contents of which determine the choice of processor that can be checked for loading. . The output of counter 2 is associated with the address inputs of memory blocks 5 and 1. The code of the requested function on line 8 is simultaneously the address of the row of memory 1. If the selected processor is capable of performing the requested function, then 1 is generated at the output of memory 1 memory block sample 5. If the cell of the memory block 5 contains O, i.e. CPU

2525

30thirty

3535

ный дл  распределени  запрос. Сигналом с выхода элемента задержки 4 производитс  остановка генератора импульсов 3, по заднему фронту импульса с которого (поступающего на вход записи блока пам ти 5) при наличии сигнала на выходе блока пам ти 5 в соответствующую  чейку блока пам ти заноситс  1.distribution request. A signal from the output of the delay element 4 stops the pulse generator 3, at the falling edge of the pulse from which (input to the recording input of the memory block 5), if there is a signal at the output of the memory block 5, is put into the corresponding cell of the memory block 1.

Если выбранный процессор способен выполнить запрашиваемую функцию, но в соответствующей  чейке блока пам ти 5 находитс  1 (данный процессор был загружен на предьщущем цикле), то при выборке блока пам ти 5 на его выходе сигнал не формируетс  и процессор не загружаетс . Сигнал подтверждени  на выходе 10 в этом случае также не вырабатываетс , поэтому по заднему фронту импульса,. с генератора 3 происходит запись О в соответствующую  чейку блока пам ти 5, в результате чего при следую- 45 щем цикле выборки данного процессора он будет иметь преимущественное право по загрузке. При следующем импульсе с генератора 3 содержимое счетчика 2 увеличиваетс  и происхо- 50 дит проверка следующего процессора на возможность загрузки в него запрашиваемой функции. Если данный процессор не способен выполнить запрашиваемую функцию, то на выходе 55 блока пам ти 1 формируетс  О иIf the selected processor is able to perform the requested function, but there is 1 in the corresponding cell of memory block 5 (this processor was loaded on the previous loop), when selecting memory block 5, no output is generated at its output and the processor is not loaded. A confirmation signal at the output 10 in this case is also not generated, therefore, at the falling edge of the pulse ,. From generator 3, O is written to the corresponding cell of memory block 5, as a result of which, at the next sampling cycle of this processor, it will have a preferential right to load. During the next pulse from generator 3, the contents of counter 2 are increased, and the next processor is checked for the possibility of loading the requested function into it. If this processor is not able to perform the requested function, then at output 55 of memory 1, O is generated and

выборки блока пам ти 5 не происходит, сигнал на его выходе не формируетс  и загрузки процессора не происходит. В этом случае, как и раньше, приsampling of memory block 5 does not occur, a signal is not generated at its output, and no processor is loaded. In this case, as before, with

4040

не был загружен в предьщущем цикле, то сигналом с выхода блока пам ти 5 производитс  выборка дешифратора 6, подключенного к выходу счетчика 2, задаюш;его адрес выбираемого процессора . Унитарным кодом с выхода дешифратора 6 производитс  выборка загружаемого процессора. При этом сигнал с выхода дешифратора подаетс  на вход прерывани  процессора. Код запрашиваемой функции (вектор прерывани ) воспринимаетс  процессором ЭВМ с магистрали 8 (выходы 12). После загрузки выбранного процессора с некоторой задержкой на элементе 4 формируетс  сигнал подтверждени  завершени  распределени  очередного запроса. По этому сигналу на вькоде 10 источник нагрузки подаетwas not loaded in the previous loop, the signal from the output of the memory unit 5 selects the decoder 6 connected to the output of the counter 2 and sets its address of the selected processor. The unitary code from the output of the decoder 6 selects the loadable processor. In this case, the signal from the output of the decoder is fed to the input of the processor interrupt. The code of the requested function (interrupt vector) is received by the computer processor from trunk 8 (outputs 12). After loading the selected processor with some delay, element 4 generates a signal confirming the completion of the distribution of the next request. At this signal in code 10, the load source delivers

в устройство следующий предназначен5Into the device the following is intended5

00

5five

ный дл  распределени  запрос. Сигналом с выхода элемента задержки 4 производитс  остановка генератора импульсов 3, по заднему фронту импульса с которого (поступающего на вход записи блока пам ти 5) при наличии сигнала на выходе блока пам ти 5 в соответствующую  чейку блока пам ти заноситс  1.distribution request. A signal from the output of the delay element 4 stops the pulse generator 3, at the falling edge of the pulse from which (input to the recording input of the memory block 5), if there is a signal at the output of the memory block 5, is put into the corresponding cell of the memory block 1.

Если выбранный процессор способен выполнить запрашиваемую функцию, но в соответствующей  чейке блока пам ти 5 находитс  1 (данный процессор был загружен на предьщущем цикле), то при выборке блока пам ти 5 на его выходе сигнал не формируетс  и процессор не загружаетс . Сигнал подтверждени  на выходе 10 в этом случае также не вырабатываетс , поэтому по заднему фронту импульса,. с генератора 3 происходит запись О в соответствующую  чейку блока пам ти 5, в результате чего при следую- 5 щем цикле выборки данного процессора он будет иметь преимущественное право по загрузке. При следующем импульсе с генератора 3 содержимое счетчика 2 увеличиваетс  и происхо- 0 дит проверка следующего процессора на возможность загрузки в него запрашиваемой функции. Если данный процессор не способен выполнить запрашиваемую функцию, то на выходе 5 блока пам ти 1 формируетс  О иIf the selected processor is able to perform the requested function, but there is 1 in the corresponding cell of memory block 5 (this processor was loaded on the previous loop), when selecting memory block 5, no output is generated at its output and the processor is not loaded. A confirmation signal at the output 10 in this case is also not generated, therefore, at the falling edge of the pulse ,. From generator 3, O is written to the corresponding cell of memory block 5, as a result of which, during the next sampling cycle of this processor, it will have a preferential right to load. During the next pulse from generator 3, the contents of counter 2 increase and the next processor is checked for the possibility of loading the requested function into it. If this processor is not able to perform the requested function, then at output 5 of memory 1, O is generated and

выборки блока пам ти 5 не происходит, сигнал на его выходе не формируетс  и загрузки процессора не происходит. В этом случае, как и раньше, приsampling of memory block 5 does not occur, a signal is not generated at its output, and no processor is loaded. In this case, as before, with

00

поступлении очередного импульса с генератора 3 производитс  проверка возможности загрузки следующего по очереди процессора и т.д. ,When the next pulse arrives from generator 3, the possibility of loading the next processor in turn is performed, etc. ,

Таким образом, осуществл етс  циклический (круговой) опрос процессоров до нахождени  первого процессора , способного выполнить запрос и имек цего преимущественное право загрузки , после чего начинаетс  распре деление следующего по очереди запроса .Thus, a cyclical (round-robin) polling of the processors is carried out until the first processor is able to fulfill the request and has the right of first priority, after which the distribution of the next request in turn begins.

Claims (1)

Формула изобретени Invention Formula Устройство дл  распределени  заданий процессорам, содержащее первьй блок пам ти, счетчик, генератор импульсов , элемент задержки, при этом информационна  магистраль устройства подключена к первому адресному входу первого блока пам ти, счетный вход счетчика подключен к выходу генератора импульсов, вход запуска которого подключен к входу запуска устройства, вход останова генератора импульсов подключен к выходу уст8A device for assigning processors to the first memory block, a counter, a pulse generator, a delay element, the device’s information line being connected to the first address input of the first memory block, the counter count input connected to the output of the pulse generator, the trigger input of which is connected to the input start the device, the stop input of the pulse generator is connected to the output of the device 8 . 0  . 0 5five 00 5five ройства и к выходу элемента задержки , отличающеес  тем, что, с целью упрощени , устройство содержит второй блок пам ти, дешифратор и элемент НЕ,-при этом выход генератора импульсов подключен к входу управлени  записью второго блока пам ти, выход которого подключен к входу элемента задержки и к управл ющему входу дешифратора, выход счетчика подключен к второму адресному входу первого и к адресному входу второго блоков пам ти и к вхо- ду дищифратора, выходы которого  вл ютс  группой кодовых выходов устройства , выход первого блока пам ти подключен к входу управлени  чтением второго блока пам ти, информационный вход которого подключен к выходу элемента НЕ, подключенного входом к выходу элемента задержки, вход управлени  чтением первого блока пам ти подключен к входу запуск а устройства , группа информационных выходов которого подключена к информационной магистрали устройства.and to the output of the delay element, characterized in that, for the sake of simplicity, the device contains a second memory block, a decoder and a NOT element, while the output of the pulse generator is connected to the write control input of the second memory block whose output is connected to the input of the element delays and to the control input of the decoder, the output of the counter is connected to the second address input of the first and to the address input of the second memory blocks and to the input of the digitizer, whose outputs are a group of code outputs of the device, the output of the first memory block connected to the read control input of the second memory block, whose information input is connected to the output of the NOT element connected to the output of the delay element; the read control input of the first memory block is connected to the start input of the device whose information output group is connected to the information highway of the device.
SU853885274A 1985-04-18 1985-04-18 Device for distributing jobs to processors SU1290320A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
SU853885274A SU1290320A1 (en) 1985-04-18 1985-04-18 Device for distributing jobs to processors

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SU853885274A SU1290320A1 (en) 1985-04-18 1985-04-18 Device for distributing jobs to processors

Publications (1)

Publication Number Publication Date
SU1290320A1 true SU1290320A1 (en) 1987-02-15

Family

ID=21173518

Family Applications (1)

Application Number Title Priority Date Filing Date
SU853885274A SU1290320A1 (en) 1985-04-18 1985-04-18 Device for distributing jobs to processors

Country Status (1)

Country Link
SU (1) SU1290320A1 (en)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Авторское свидетельство СССР 913377, кл. G 06 F 9/00, 1978. Авторское свидетельство СССР № 1205144, кл. G 06 F 9/46, 12.06.84, *

Similar Documents

Publication Publication Date Title
CA1081857A (en) Apparatus for processing interrupts in microprocessing systems
KR100275407B1 (en) Fast access to a shared resource on a computer bus
EP0132158A2 (en) Method of performing a sequence of related activities in multiple independent digital processors
JPS5812611B2 (en) Data Tensou Seigiyohoushiki
JP7039631B2 (en) Methods, devices, devices, and storage media for managing access requests
EP0473714A1 (en) Parallel multithreaded data processing system
JPH0612503B2 (en) Dedicated service processor with communication function between channels
US5317745A (en) Minimal interrupt latency scheme using multiple program counters
JPS6319854Y2 (en)
JPH01269142A (en) Buffer memory control system
SU1290320A1 (en) Device for distributing jobs to processors
US7584464B2 (en) Software processing method and software processing system
EP0132995A2 (en) Controller for controlling access to a plurality of records that can be accessed and changed by several independent processors
US7711874B1 (en) Usage of EHCI companion USB controllers for generating periodic events
SU1317438A1 (en) Device for distributing jobs among processors
US5023774A (en) Data I/O transaction method and system
Barklow et al. SLAC Scanner Processor applications in the data acquisition system for the upgraded Mark II detector
Drótos et al. Interrupt driven parallel processing
US4567571A (en) Memory control for refreshing in a step mode
JPS63310060A (en) Multiprocessor system
JPS5931736B2 (en) Queue management method
SU1285474A1 (en) Device for distributing jobs among processors
GB1348171A (en) Status marking of variables
KR930003993B1 (en) Method of transmitting data in multi-processor
JP2567833B2 (en) Interrupt detection method