RU2027219C1 - Device for distributing tasks by processor - Google Patents
Device for distributing tasks by processor Download PDFInfo
- Publication number
- RU2027219C1 RU2027219C1 SU4891854A RU2027219C1 RU 2027219 C1 RU2027219 C1 RU 2027219C1 SU 4891854 A SU4891854 A SU 4891854A RU 2027219 C1 RU2027219 C1 RU 2027219C1
- Authority
- RU
- Russia
- Prior art keywords
- group
- inputs
- input
- outputs
- elements
- Prior art date
Links
Images
Landscapes
- Hardware Redundancy (AREA)
Abstract
Description
Изобретение относится к автоматике и вычислительной технике, а именно к приоритетным устройствам для распределения заданий процессорам, и предназначено для использования в высокопроизводительных многопроцессорных и многомашинных системах. The invention relates to automation and computer technology, namely, priority devices for distributing tasks to processors, and is intended for use in high-performance multiprocessor and multi-machine systems.
Известно устройство для распределения заданий процессорам, содержащее блок памяти, блок выделения наименьшего кода, узел приоритета, группу реверсивных счетчиков и группу элементов И [1]. A device for distributing tasks to processors, comprising a memory block, a block for allocating the smallest code, a priority node, a group of reversible counters, and a group of AND elements [1].
Недостатком устройства является низкая достоверность функционирования из-за отсутствия контроля соответствия загрузки процессоров их производительности. The disadvantage of this device is the low reliability of operation due to the lack of control of the conformity of the processor load of their performance.
Наиболее близким по технической сущности к изобретению является устройство распределения заданий процессорам, содержащее блок памяти, узел приоритета, группу реверсивных счетчиков, первую группу элементов И, первую группу триггеров, группу мультиплексоров, счетчик, элемент задержки, генератор тактовых импульсов, вторую группу триггеров, вторую и третью группы элементов И, регистр, первый и второй элементы ИЛИ, группу элементов ИЛИ-НЕ, первый-шестой элементы И, формирователь импульсов, элемент РАВНОЗНАЧНОСТЬ, элемент ИЛИ-НЕ, первый и второй триггеры [2]. The closest in technical essence to the invention is a device for distributing tasks to processors, containing a memory unit, priority unit, a group of reversible counters, a first group of AND elements, a first group of triggers, a group of multiplexers, a counter, a delay element, a clock generator, a second group of triggers, a second and a third group of AND elements, a register, the first and second OR elements, a group of OR-NOT elements, the first to sixth AND elements, a pulse shaper, an UNIVERSITY element, an OR-NOT element, the first and second oh triggers [2].
Недостатком устройства является низкое быстродействие функционирования. The disadvantage of this device is the low performance.
Целью изобретения является увеличение быстродействия функционирования устройства путем измерения режима его работы. The aim of the invention is to increase the speed of operation of the device by measuring the mode of its operation.
Цель достигается тем, что в устройство для распределения заданий процессорам, содержащее генератор тактовых импульсов, элементы ИЛИ, блок памяти, узел приоритета, группу реверсивных счетчиков, две группы триггеров, первую группу мультиплексоров, счетчик, формирователь импульсов, элемент ИЛИ-НЕ, три группы элементов И, четыре элемента И, причем вход кода задания устройства соединен с адресным входом блока памяти, выходы которого соединены с первыми входами соответствующих элементов И первой группы, вход пуска устройства соединен с информационным входом первого триггера, вход сброса устройства соединен с входами сброса первого и второго триггеров, группы реверсивных счетчиков и триггеров первой группы, вход запроса устройства соединен с информационным входом второго триггера, прямой выход которого соединен с первыми входами первого и второго элементов И, входом запуска формирователя импульсов и является выходом "Занято" устройства, выход первого элемента И соединен с суммирующим входом счетчика, а выход формирователя импульсов соединен с входом сброса счетчика, прямые выходы которого соединены с адресными входами мультиплексоров первой группы, группа входов признака выполнения заданий устройства соединена с вычитающими входами соответствующих счетчиков, информационные выходы которых соединены с информационными входами соответствующих мультиплексоров первой группы, а выходы переноса - с вторыми входами соответствующих элементов И первой группы, каждый вход группы входов "Отказ" процессора соединен с информационным входом соответствующего триггера первой группы, инверсные выходы которых соединены с третьими входами соответствующих элементов И первой группы, прямой выход первого триггера соединен с входом запуска генератора тактовых импульсов, выход которого соединен с вторым входом первого элемента И и первым входом третьего элемента И, выход первого элемента ИЛИ соединен с тактовыми входами триггеров первой группы, выходы узла приоритета соединены с суммирующими входами счетчиков группы и являются выходами признака выбранного процессора устройства, выход элемента ИЛИ-НЕ соединен с вторым входом второго элемента И, выход которого соединен с первым входом второго элемента ИЛИ и является сигнальным выходом устройства, введены вторая группа мультиплексоров, две группы элементов ИЛИ, причем выход второго элемента ИЛИ соединен с вторыми входами третьего элемента И, выход которого соединен с синхровходом второго триггера, информационные выходы счетчиков группы соединены с информационными входами соответствующих мультиплексоров второй группы, выходы элементов И второй и третьей групп соединены соответственно с первым и вторым входами соответствующих элементов ИЛИ первой группы, выходы первого элемента И и формирователя импульсов соединены соответственно с первым и вторым входами первого элементов ИЛИ, выход которого соединен с синхровходами триггеров второй группы, инверсные выходы счетчика соединены с адресными входами мультиплексоров второй группы, выходы мультиплексоров первой и второй групп соответственно соединены с первыми входами соответствующих элементов И второй и третьей групп, выходы элементов И первой группы соединены с соответствующими входами элемента ИЛИ-НЕ и с вторыми входами соответствующих элементов И второй и третьей групп, выходы элементов ИЛИ соединены с входами первой группы узла приоритета, третьи выходы элементов И третьей группы соединены с выходами четвертого элемента И, выходы мультиплексоров второй группы соединены с прямыми входами соответствующих элементов ИЛИ второй группы, выходы элементов И первой группы соединены с инверсными входами соответствующих элементов ИЛИ второй группы, выходы которых соединены с информационными входами соответствующих триггеров второй группы, входы сброса устройства и выход элемента ИЛИ соединены соответственно с входами сброса и синхровходами триггеров второй группы, прямые выходы которых соединены с входами четвертого элемента И, второй вход второго элемента ИЛИ соединен с входом запроса устройства, выходы узла приоритета соединены с соответствующими входами группы входов второго элемента ИЛИ. The goal is achieved in that in a device for distributing tasks to processors containing a clock generator, OR elements, a memory block, a priority node, a group of reversible counters, two groups of triggers, a first group of multiplexers, a counter, a pulse shaper, an OR-NOT element, three groups elements And, four elements And, and the input of the device task code is connected to the address input of the memory block, the outputs of which are connected to the first inputs of the corresponding elements of the first group, the device start input is connected to the input of the first trigger, the reset input of the device is connected to the reset inputs of the first and second triggers, a group of reversible counters and triggers of the first group, the request input of the device is connected to the information input of the second trigger, the direct output of which is connected to the first inputs of the first and second elements AND, the trigger input the pulse former is the output of the Busy device, the output of the first element And is connected to the summing input of the counter, and the output of the pulse former is connected to the reset input of the counter, direct the outputs of which are connected to the address inputs of the multiplexers of the first group, the group of inputs of the sign of fulfilling tasks of the device is connected to the subtracting inputs of the corresponding counters, the information outputs of which are connected to the information inputs of the corresponding multiplexers of the first group, and the transfer outputs to the second inputs of the corresponding elements of the first group, each input group of inputs "Failure" of the processor is connected to the information input of the corresponding trigger of the first group, the inverse outputs of which are connected s with the third inputs of the corresponding AND elements of the first group, the direct output of the first trigger is connected to the trigger input of the clock generator, the output of which is connected to the second input of the first AND element and the first input of the third AND element, the output of the first OR element is connected to the clock inputs of the triggers of the first group, the outputs of the priority node are connected to the summing inputs of the group counters and are the outputs of the characteristic of the selected processor of the device, the output of the OR element is NOT connected to the second input of the second element AND, the output to It is connected to the first input of the second OR element and is the signal output of the device, a second group of multiplexers, two groups of OR elements are introduced, the output of the second OR element connected to the second inputs of the third AND element, the output of which is connected to the clock input of the second trigger, the information outputs of the group counters are connected with the information inputs of the corresponding multiplexers of the second group, the outputs of the elements And the second and third groups are connected respectively with the first and second inputs of the corresponding element OR of the first group, the outputs of the first AND element and the pulse shaper are connected respectively to the first and second inputs of the first OR element, the output of which is connected to the sync inputs of the triggers of the second group, the inverse outputs of the counter are connected to the address inputs of the multiplexers of the second group, the outputs of the multiplexers of the first and second groups, respectively connected to the first inputs of the respective elements of the second and third groups, the outputs of the elements of the first group are connected to the corresponding inputs of the element OR NOT and to the second by the strokes of the respective AND elements of the second and third groups, the outputs of the OR elements are connected to the inputs of the first group of the priority node, the third outputs of the elements of the third group are connected to the outputs of the fourth element AND, the outputs of the multiplexers of the second group are connected to the direct inputs of the corresponding OR elements of the second group, the outputs of AND elements the first group are connected to the inverse inputs of the corresponding elements OR of the second group, the outputs of which are connected to the information inputs of the corresponding triggers of the second group, the inputs are reset The devices and the output of the OR element are connected respectively to the reset inputs and sync inputs of the triggers of the second group, the direct outputs of which are connected to the inputs of the fourth AND element, the second input of the second OR element is connected to the device request input, the outputs of the priority node are connected to the corresponding inputs of the group of inputs of the second OR element .
Предлагаемое устройство для распределения заданий процессорам имеет следующие признаки, отличающие его от прототипа. Для поиска наименее загруженного процессора, способного выполнить запрашиваемую функцию (таких процессоров может быть несколько), с помощью счетчика одновременно формируются последовательности состояний очереди заданий, начиная с максимального и минимального (нулевого). Таким образом, поиск идет как от наименее загруженного процессора к наиболее загруженному, так и от наиболее загруженного к наименее загруженному. Данный режим позволяет ускорить поиск наименее загруженного процессора, способного выполнить запрашиваемую функцию, и тем самым повысить быстродействие функционирования устройства. The proposed device for distributing tasks to processors has the following features that distinguish it from the prototype. To search for the least loaded processor capable of performing the requested function (there may be several such processors), a sequence of states of the job queue is simultaneously generated using the counter, starting from the maximum and minimum (zero). Thus, the search goes both from the least loaded processor to the most loaded, and from the most loaded to the least loaded. This mode allows you to speed up the search for the least loaded processor that can perform the requested function, and thereby improve the performance of the device.
На чертеже изображена функциональная схема устройства. The drawing shows a functional diagram of the device.
Устройство содержит первый и второй триггеры 1 и 2, генератор 3 тактовых импульсов, элементы И 4, 5, 20 и 23, формирователь 6 импульсов, блок 7 памяти, счетчик 8, элементы ИЛИ 9 и 24, группу реверсивных счетчиков 10, первую и вторую группы мультиплексоров 11 и 12, триггеров 13 и 16, первую, вторую и третью группы элементов И 15, 17 и 18, первую и вторую группы элементов ИЛИ 14 и 19, узел 21 приоритета, элемент ИЛИ-НЕ 22, вход 25 пуска, вход 26 сброса, вход 27 запроса, вход 28 кода задания, группу входов 29 признака выполнения задания, группу сигнальных входов "Отказ" 30 процессора, сигнальный выход 31 занятости, группу сигнальных выходов 32 признака выбранного процессора, сигнальный выход 33. The device comprises first and second triggers 1 and 2, a clock generator 3, AND 4, 5, 20 and 23 elements, a pulse shaper 6, a memory unit 7, a counter 8, OR elements 9 and 24, a group of reversible counters 10, the first and second groups of multiplexers 11 and 12, triggers 13 and 16, the first, second and third groups of elements AND 15, 17 and 18, the first and second groups of elements OR 14 and 19, node 21 priority, element OR-NOT 22, input 25 start, input 26 reset, request
Устройство работает следующим образом. The device operates as follows.
Перед началом работы подачей нулевого импульса на вход 26 устройство переводится в исходное состояние. При этом триггеры 1 и 2, счетчики группы 10, триггеры группы 13 и группы 16 переводятся в нулевое состояние. Нулевой уровень сигнала на прямом выходе триггера 2 индицирует состояние "свободно" устройства (выход 31) и запрещает прохождение тактовых импульсов через элемент И 5. Нулевой уровень сигнала на прямом выходе триггера 1 запрещает работу генератора 3 тактовых импульсов. На сигнальном выходе 33 и выходах группы 32 нулевые уровни сигналов. Before starting work by applying a zero pulse to input 26, the device is reset. In this case, triggers 1 and 2, counters of group 10, triggers of group 13 and group 16 are transferred to the zero state. A zero level signal at the direct output of trigger 2 indicates the "free" state of the device (output 31) and prevents the passage of clock pulses through element And 5. A zero level signal at the direct output of trigger 1 prohibits the operation of the generator 3 clock pulses. The
Подачей единичного импульса на вход 25 триггер 1 переводится в единичное состояние и высоким уровнем сигнала на прямом выходе запускает генератор 3 тактовых импульсов. By supplying a single pulse to input 25, trigger 1 is converted to a single state and, with a high level signal at the direct output, it starts the generator 3 clock pulses.
Управляющий монитор системы устанавливает на входе 28 код запрашиваемой функции. На выход блока 7 памяти выдается содержание некой строки, при этом разряды, содержащие "1", соответствуют процессорам, способным выполнить запрашиваемую функцию. The control monitor of the system sets the input code 28 of the requested function. The output of the memory unit 7 contains the contents of a certain line, while the bits containing "1" correspond to processors capable of performing the requested function.
Через время, определяемое быстродействием блока 7 памяти, управляющий монитор устанавливает единичный сигнал "Запрос" на входе 27. При этом единичный сигнал на выходе элемента ИЛИ 24 разрешает прохождение тактовых импульсов через элемент И 4 на синхровход триггера 2, который переводится в единичное состояние, индицирует состояние "занято" устройства (выход 31), разрешает прохождение тактовых импульсов через элемент И 5 и запускает формирователь 6 импульсов. По импульсному сигналу с выхода формирователя импульсов счетчик 8 обнуляется, в триггеры группы 13 заносится информация об отказавших процессорах ("1" на входе группы 30). При этом на выходе соответствующего элемента И группы 15 устанавливается единичный сигнал при условии, что соответствующий процессор не в отказе (нулевое состояние триггера группы 13), его очередь не переполнена (нет сигнала переноса счетчика группы 10) и он способен выполнить запрашиваемую функцию ("1" на выходе блока памяти). Эта информация через элементы ИЛИ группы 14 заносится в триггеры группы 16. Одновременно с установлением сигнала "Занято" на выходе 31 управляющий монитор снимает сигнал "Запрос" с входа 27. After a time determined by the speed of the memory unit 7, the control monitor sets a single signal “Request” at
Если нет процессора, способного выполнить поступившую заявку из-за своей специализации, отказа или переполнения очереди, единичный сигнал с выхода элемента ИЛИ-НЕ 22 проходит через элемент И 23 и индицирует сигнал "Отказ по функции" на выходе 33, который проходит через элемент ИЛИ 24 и разрешает прохождение тактовых импульсов на синхровход триггера 2. Триггер 2 переводится в нулевое состояние (состояние "свободно" устройства). Управляющий монитор, получив сигнал "Свободно", снимает код запрашиваемой функции с входа 28. Через некоторое время может быть проведена повторная попытка распределить данный запрос. If there is no processor capable of fulfilling the application due to its specialization, failure or queue overflow, a single signal from the output of the OR-NOT 22 element passes through the And 23 element and indicates the signal "Function Failure" at the
Если есть процессоры, способные выполнить запрашиваемую функцию, то происходит процесс распределения запроса на наименее загруженный из них. Распределение ведется следующим образом. If there are processors capable of performing the requested function, then the process of distributing the request to the least loaded of them occurs. The distribution is as follows.
Счетчик 8 под воздействием тактовых импульсов, поступающих на суммирующий вход с выхода элемента И 5, отсчитывает состояние очереди одновременно начиная с минимальной (00...0 на прямых выходах счетчика) и максимальной (11. . .1 на инверсных выходах). Мультиплексоры группы 11 и группы 12 сравнивают действительное состояние очереди, поступающее с выходов счетчиков группы 10, с отсчитываемыми. Если мультиплексор группы 11 обнаруживает совпадение очереди, то единичный сигнал на его выходе разрешает прохождение через элемент И группы 17 информации в соответствующем процессоре. Если процессор способен выполнить запрашиваемую функцию, то единичный сигнал на выходе соответствующего элемента И группы 17 проходит через элемент ИЛИ группы 19 и поступает на вход узла 21 приоритета. Таких процессоров может быть несколько. Узел 21 приоритета выбирает один из них. Counter 8, under the influence of clock pulses arriving at the summing input from the output of AND element 5, counts the state of the queue simultaneously starting from the minimum (00 ... 0 at the direct outputs of the counter) and maximum (11. ... .1 at the inverted outputs). The multiplexers of group 11 and group 12 compare the actual state of the queue coming from the outputs of the counters of group 10 with the counted ones. If the multiplexer of group 11 detects the coincidence of the queue, then a single signal at its output allows the information through the element And of group 17 to pass through the information in the corresponding processor. If the processor is capable of performing the requested function, then a single signal at the output of the corresponding AND element of group 17 passes through the OR element of group 19 and is input to the priority node 21. There may be several such processors. The priority node 21 selects one of them.
Если совпадение очередей зафиксировал мультиплексор 12 группы, то информация об этом заносится через соответствующий элемент ИЛИ группы 14 в триггер группы 16. Если при этом все триггеры оказываются в нулевом состоянии, то данная очередь минимальна для всех процессоров, способных выполнить запрашиваемую функцию. Тогда на выходе элемента И 20 будет единичный сигнал, который совместно с единичным сигналом от мультиплексора, соответствующего выбранному процессору, разрешает прохождение информации о нем через элемент И группы 18, а дальше через элемент ИЛИ группы 19 на вход узла 21 приоритета. If the coincidence of the queues is recorded by the group 12 multiplexer, then information about this is entered through the corresponding OR element of group 14 into the trigger of group 16. If at the same time all the triggers are in the zero state, then this queue is minimal for all processors capable of performing the requested function. Then, the output of the And 20 element will be a single signal, which, together with a single signal from the multiplexer corresponding to the selected processor, allows information about it to pass through the And element of group 18, and then through the OR element of group 19 to the input of the priority node 21.
Единичный сигнал с выхода узла 21 приоритета поступает на вычитающий вход соответствующего счетчика и модифицирует очередь выбранного процессора. Одновременно элемент ИЛИ 24 переводится через элемент И 4 на синхровход триггера 2, который переводится при этом в нулевое состояние (состояние "свободно" устройства). Выбранный процессор получает из системы магистрали код запрашиваемой функции, управляющий монитор, получив от устройства сигнал "свободно", снимает код функции входа 28 устройства. Нулевой уровень сигнала на прямом выходе триггера 2 запрещает прохождение тактовых импульсов через элемент И 5, модификация счетчика 8 прекращается. На этом процессе распределения задания завершается. В дальнейшем устройство работает аналогично выше описанному. Таким образом, в предлагаемом устройстве поиск идет как от наименее загруженного процессора к наиболее загруженному процессору, так и от наиболее загруженного процессора к наименее загруженному. Данный режим позволяет ускорить поиск наименее загруженного процессора, способного выполнить запрашиваемую функцию, и тем самым повысить быстродействие функционирования устройства. A single signal from the output of the priority node 21 is fed to the subtracting input of the corresponding counter and modifies the queue of the selected processor. At the same time, the OR 24 element is transferred through the And 4 element to the trigger input of the trigger 2, which is then transferred to the zero state (the state is “free” of the device). The selected processor receives the code of the requested function from the trunk system, the control monitor, having received a “free” signal from the device, removes the code of the input function of the device 28. A zero level signal at the direct output of trigger 2 prohibits the passage of clock pulses through the element And 5, the modification of the counter 8 is stopped. At this process, the distribution of the task is completed. In the future, the device operates similarly to the above. Thus, in the proposed device, the search proceeds both from the least loaded processor to the most loaded processor, and from the most loaded processor to the least loaded. This mode allows you to speed up the search for the least loaded processor that can perform the requested function, and thereby improve the performance of the device.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU4891854 RU2027219C1 (en) | 1990-12-17 | 1990-12-17 | Device for distributing tasks by processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU4891854 RU2027219C1 (en) | 1990-12-17 | 1990-12-17 | Device for distributing tasks by processor |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2027219C1 true RU2027219C1 (en) | 1995-01-20 |
Family
ID=21550564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SU4891854 RU2027219C1 (en) | 1990-12-17 | 1990-12-17 | Device for distributing tasks by processor |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2027219C1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2453901C2 (en) * | 2006-06-19 | 2012-06-20 | Дискипер Корпорейшн | Hard-wired method to plan tasks (versions), system to plan tasks and machine-readable medium |
RU2454704C2 (en) * | 2006-06-19 | 2012-06-27 | Дискипер Корпорейшн | Method and system for executing program applications and machine-readable medium |
-
1990
- 1990-12-17 RU SU4891854 patent/RU2027219C1/en active
Non-Patent Citations (2)
Title |
---|
1. Авторское свидетельство СССР N 1205144, кл. G 06F 9/46, 1986. * |
2. Авторское свидетельство СССР N 1444770, кл. G 06F 9/46, 1988. * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2453901C2 (en) * | 2006-06-19 | 2012-06-20 | Дискипер Корпорейшн | Hard-wired method to plan tasks (versions), system to plan tasks and machine-readable medium |
RU2454704C2 (en) * | 2006-06-19 | 2012-06-27 | Дискипер Корпорейшн | Method and system for executing program applications and machine-readable medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4989131A (en) | Technique for parallel synchronization | |
US4387427A (en) | Hardware scheduler/dispatcher for data processing system | |
US4991084A (en) | N×M round robin order arbitrating switching matrix system | |
EP0052713B1 (en) | A process management system for scheduling work requests in a data processing system | |
RU2027219C1 (en) | Device for distributing tasks by processor | |
KR920008602A (en) | Computer system with multiple input / output devices sharing address space and communication management method between input / output device and processor | |
RU2006930C1 (en) | Multiprocessor system for input and preliminary processing of information | |
SU1756889A1 (en) | Device for distribution tasks among processors | |
SU1444770A1 (en) | Arrangement for distributing tasks among processors | |
SU1275443A1 (en) | Multichannel priority device | |
GB2030331A (en) | Real-time Data Processing System for Processing Time Period Commands | |
SU1474646A1 (en) | Device for routing tasks to processors | |
RU2042191C1 (en) | Device for allocation processes in computing system | |
SU1711171A2 (en) | Multichannel yob scheduler | |
SU1735851A1 (en) | Device for checking distribution of resources | |
SU1345194A1 (en) | Device for priority connection of users to common lines | |
SU1619287A1 (en) | Multichannel device for distributing tasks among processors | |
JPH0434629A (en) | Busy check system for memory access control device | |
SU1594537A2 (en) | Multichannel priority device for connection to common trunk line | |
SU1285473A1 (en) | Device for distributing jobs among processors | |
SU750488A1 (en) | Control device | |
SU1413630A1 (en) | Device for distributing tasks among processors | |
SU682898A1 (en) | Apparatus for priority access of processors to a data memory unit | |
RU1798783C (en) | Device for allocation of requests to processors | |
SU864288A1 (en) | Device for servicing requests |