SU1290320A1 - Device for distributing jobs to processors - Google Patents
Device for distributing jobs to processors Download PDFInfo
- 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
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)
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) |
-
1985
- 1985-04-18 SU SU853885274A patent/SU1290320A1/en active
Non-Patent Citations (1)
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 |