Способ диспетчеризации распределения нагрузки процессоров в вычислительной системе

Изобретение относится к области вычислительной техники. Техническим результатом является обеспечение распределения нагрузки между процессорами в вычислительной системе. Раскрыт способ диспетчеризации распределения нагрузки процессоров в вычислительной системе, при котором производится постоянный мониторинг всех процессоров системы для определения их активности посредством обнаружения отказов и процессор лишается статуса активного, если он удовлетворяет условию отказа: недоступен или же перегружен, при этом дополнительно введены следующие действия: каждый процессор, входящий в состав вычислительной системы, выполняет независимую программу, все характеристики вычислительного процесса каждого процессора через определенные фиксированные промежутки времени поступают на вход диспетчера, диспетчер, в качестве которого может использоваться более мощный процессор или сервер, отслеживает их работу, в диспетчере периодически запускается диагностическая (контрольная) программа, предназначенная для определения состояния каждого процессора: степень загрузки, время выполнения программы и другие состояния, при этом каждый процессор формирует внутренние сигналы соответствия или несоответствия правильной работы, которые передаются диспетчеру, при поступлении сигнала несоответствия диспетчер определяет, от какого процессора пришел сигнал и какому состоянию он соответствует: неисправность, аварийный останов, превышено заданное время выполнения программы, сбой в работе или недостаточность памяти, после поступления сигнала несоответствия диспетчер определяет, какой процессор менее загружен и возможность перераспределения нагрузки между другими процессорами, кроме того, диспетчер через определенный промежуток времени производит поочередный опрос всех процессоров на предмет загруженности, процессор лишается статуса активного, если он удовлетворяет условию отказа: недоступен, или же перегружен, эта информация вносится в базу данных диспетчера, при этом в ходе работы системы в каждом процессоре через определенные заданные промежутки времени выполняется подпрограмма сохранения промежуточных результатов выполнения программы, результаты выполнения программы на данный момент времени каждого процессора запоминаются и поступают в память диспетчера; при возникновении неисправности в результате сбоев последние сохраненные промежуточные результаты выполнения программы, которые были записаны в базе промежуточных результатов для данного процессора, передаются другому менее загруженному процессору системы или, если все процессоры загружены, дополнительному резервному процессору, который может быть предусмотрен в системе; при этом если резервный процессор не занят выполнением программы, то процесс выполнения программы неисправного процессора продолжится в резервном; если резервный процессор окажется занятым выполнением программы, то процесс выполнения программы неисправного процессора продолжится в диспетчере; после устранения сигнала несоответствия, поступившего от соответствующего процессора, диспетчер переводит его в статус активного и работа системы продолжается.

 

Изобретение относится к вычислительной технике и может быть использовано для построения мультипроцессорных супер-ЭВМ.

Известно устройство для распределения заданий между ЭВМ в многомашинной вычислительной системе [АС СССР №1163325 A, G06F 9/00, 23.06.1985], содержащее группу элементов ИЛИ и элемент И, реверсивный счетчик минимального числа заданий, два элемента И, два элемента ИЛИ, элемент задержки, п схем сравнения (где п - количество ЭВМ в системе), п реверсивных счетчиков количества заданий, первую группу из п блоков элементов И, вторую группу из (п-1). блоков элементов И, причем группа входов первого блока элементов И первой группы соединена с группой входов кодов заданий устройства и с входами первого элемента ИЛИ, выход которого соединен с первым входом второго элемента ИЛИ, второй вход которого соединен с выходом третьего элемента ИЛИ и с вычитающим входом реверсивного счетчика минимального числа заданий, суммирующий вход которого соединен с выходом первого элемента И, первый вход которого через элемент задержки соединен с выходом второго элемента ИЛИ, а второй вход первого элемента И соединен с выходом второго элемента И, входы которого соединены с первыми входами соответствующих схем сравнения, второй выход каждой из- которых соединен с входом соответствующего блока элементов И первой группы, группа выходов', блоков элементов И второй группы соединена с соответствующей группой выходов устройства и с группой входов соответствующего элемента ИЛИ группы, выход которого соединен с суммирующим входом соответствующего реверсивного счетчика количества заданий, вычитающий вход которого соединен с соответствующим ответным входом устройства и с соответствующим входом третьего элемента ИЛИ устройства, а группа выходов каждого реверсивного

счетчика количества заданий соединена с первой группой входов соответствующей схемы сравнения, вторая группа входов которой соединена с выходом реверсивного счетчика минимального числа заданий, при этом группа входов каждого i-го (где i=1,…,п-1) блока элементов И второй группы соединена с группой входов i-го блока элементов И первой группы, а вход i-го блока элементов И второй группы соединен с вторым выходом i-й схемы сравнения, причем группа выходов каждого i-го (i=1, …,п-1) блока элементов И первой группы соединена с группой входов (i+1)-го блока элементов И первой группы.

Недостатком устройства является то, что оно может использоваться только в многомашинных вычислительных системах, работающих в режиме мультипрограммирования и имеет низкое быстродействие.

Наиболее близким к заявляемому является «Способ распределения нагрузки между серверами сети доставки контента (CDN)» [РФ №2454711 C1, G06F 17/00, 27.06.2012], при котором принимают запрос на услугу от, по меньшей мере, одного терминала пользователя на, по меньшей мере, одном сервере, определяют адрес пользователя, приводят в соответствие адресу пользователя адрес CDN-сервера, выбранный из множества адресов CDN-серверов и выбирают маршрут для связи пользователя с соответствующим CDN-сервером, приведение в соответствие осуществляют посредством, по меньшей мере, одной базы данных маршрутов-кандидатов, сформированной на, по меньшей мере, одном сервере, при этом выбор маршрута осуществляют на основании, по меньшей мере, одной метрики маршрута, выбранной из группы: задержки, вариации задержки, нагрузки, процента (или числа) потери пакетов, количества хопов, количества автономных систем, Q-критерия, при этом дополнительно предусматривают интервал допустимых значений для каждой метрики маршрута и, в случае, если метрика маршрута не входит в указанный интервал, исключают соответствующий маршрут из соответствующей базы данных маршрутов-кандидатов и,

кроме того, производят мониторинг активности всех CDN-серверов в режиме реального времени при помощи средства обнаружения отказов, соединенного с, по меньшей мере, одним сервером, при этом в случае обнаружения условия отказа CDN-сервера, информацию о статусе и адресе такого CDN-сервера заносят в соответствующую базу данных, по меньшей мере, одного сервера и далее не учитывают при выборе маршрута.

Недостатком данного устройства является то, что он относится только к области сетей CDN (сетей доставки контента), а более конкретно, к способу распределения нагрузки между серверами только в таких сетях.

Техническим результатом является обеспечение распределения нагрузки между процессорами в вычислительной системе.

Технический результат достигается тем, что в «Способе диспетчеризации распределения нагрузки процессоров в вычислительной системе», при котором производиться постоянный мониторинг всех процессоров системы для определения их активности посредством обнаружения отказов и процессор лишается статуса активного, если он удовлетворяет условию отказа: недоступен, или же перегружен, дополнительно введены следующие действия: каждый процессор, входящий в состав вычислительной системы, выполняет независимую программу, все характеристики вычислительного процесса каждого процессора через определенные фиксированные промежутки времени поступают на вход диспетчера, диспетчер, в качестве которого может использоваться более мощный процессор или сервер, отслеживает их работу, в диспетчере периодически запускается диагностическая (контрольная) программа, предназначенная для определения состояния каждого процессора: степени загрузки, время выполнения программы и другие состояния, при этом каждый процессор формирует внутренние сигналы соответствия или несоответствия правильной работы, которые передаются диспетчеру, при поступлении сигнала несоответствия диспетчер определяет от какого

процессора пришел сигнал и какому состоянию он соответствует: неисправность, аварийный останов, превышено заданное время выполнения программы, сбой в работе или недостаточность памяти, после поступления сигнала несоответствия диспетчер определяет какой процессор менее загружен и возможность перераспределения нагрузки между другими процессорами, кроме того диспетчер через определенный промежуток времени производит поочередный опрос всех процессоров на предмет загруженности, процессор лишается статуса активного, если он удовлетворяет условию отказа: недоступен, или же перегружен, эта информация вносится в базу данных диспетчера, при этом в ходе работы системы в каждом процессоре через определенные заданные промежутки времени выполняется подпрограмма сохранения промежуточных результатов выполнения программы, результаты выполнения программы на данный момент времени каждого процессора запоминаются и поступают в память диспетчера;

при возникновении неисправности в результате сбоев последние сохраненные промежуточные результаты выполнения программы, которые были записаны в базе промежуточных результатов для данного процессора, передаются другому менее загруженному процессору системы или, если все процессоры загружены, дополнительному резервному процессору, который может быть предусмотрен в системе;

при этом если резервный процессор не занят выполнением программы, то процесс выполнения программы неисправного процессора продолжится в резервном;

если резервный процессор окажется занятым выполнением программы, то процесс выполнения программы неисправного процессора продолжится в диспетчере;

после устранения сигнала несоответствия, поступившего от соответствующего процессора, диспетчер переводит его в статус активного и работа системы продолжается.

Способ содержит следующие действия.

Каждый процессор, входящий в состав вычислительной системы, выполняет независимую программу, все характеристики вычислительного процесса каждого процессора через определенные фиксированные промежутки времени поступают на вход диспетчера, диспетчер, в качестве которого может использоваться более мощный процессор или сервер, отслеживает их работу, в диспетчере периодически запускается диагностическая (контрольная) программы, предназначенная для определения состояния каждого процессора: степени загрузки, время выполнения программы и другие состояния, при этом каждый процессор формирует внутренние сигналы соответствия или несоответствия правильной работы, которые передаются диспетчеру, при поступлении сигнала несоответствия диспетчер определяет от какого процессора пришел сигнал и какому состоянию он соответствует: неисправность, аварийный останов, превышено заданное время выполнения программы, сбой в работе или недостаточность памяти, после поступления сигнала несоответствия диспетчер определяет какой процессор менее загружен и возможность перераспределения нагрузки между другими процессорами, кроме того диспетчер через определенный промежуток времени производит поочередный опрос всех процессоров на предмет загруженности, процессор лишается статуса активного, если он удовлетворяет условию отказа: недоступен, или же перегружен, эта информация вносится в базу данных диспетчера, при этом в ходе работы системы в каждом процессоре через определенные заданные промежутки времени выполняется подпрограмма сохранения промежуточных результатов выполнения программы, результаты выполнения программы на данный момент времени каждого процессора запоминаются и поступают в память диспетчера;

при возникновении неисправности в результате сбоев последние сохраненные промежуточные результаты выполнения программы, которые были записаны в базе промежуточных результатов для данного процессора,

передаются другому менее загруженному процессору системы или, если все процессоры загружены, дополнительному резервному процессору, который может быть предусмотрен в системе;

при этом если резервный процессор не занят выполнением программы, то процесс выполнения программы неисправного процессора продолжится в резервном;

если резервный процессор окажется занятым выполнением программы, то процесс выполнения программы неисправного процессора продолжится в диспетчере;

после устранения сигнала несоответствия, поступившего от соответствующего процессора, диспетчер переводит его в статус активного и работа системы продолжается.

Работа системы заключается в следующем.

Во время работы системы каждый процессор выполняет независимую программу или независимый элемент одной программы, а диспетчер отслеживает их работу за счет периодического запуска диагностической (контрольной) программы. Если при выполнении диагностической программы от каждого процессора поступают сигналы соответствия правильности работы, система работает в штатном режиме.

Если же время работы системы на диспетчер от какого-либо процессора поступает какой либо сигнал несоответствия, то диспетчер определяет от какого процессора пришел сигнал и тип сигнала несоответствия. Для обеспечения обращения к диспетчеру в коды команд процессоров вводится дополнительная команда, при появлении которой и выдается сигнал обращения.

А каждая подпрограмма диспетчера начинается с команды обмена, по которой из памяти выбирается соответствующая подпрограмма обмена. Набор таких подпрограмм хранится в памяти диспетчера и предназначен для гибкого управления обменом информацией между диспетчером и другими процессорами системы. После каждого цикла

выполнения стандартной подпрограммы и обмена информацией диспетчера переходит в исходное состояние.

В ходе работы системы по мере необходимости (необходимость определяется конкретным алгоритмом работы системы) в каждом процессоре через определенные заданные промежутки времени выполняется подпрограмма сохранения промежуточных результатов выполнения программы. Результаты выполнения программы на данный момент времени каждого процессора запоминаются и поступают в память диспетчера. Это позволяет в любой момент времени вернуться к выполнению прерванной программы на момент последнего запомненного результата.

При поступлении, например, сигнала сбоя от какого-либо процессора на вход диспетчера, то проверяется от какого по номеру процессора поступил сигнал и его периодичность.

Обычно практика показывает, что проверку на сбой можно осуществлять до трех или пяти раз. И если после этого сбой повторяется, то считается, что устройство неисправно в противном случае исправно.

Для обеспечения проверки на исправность диспетчер осуществляет повторный запуск процессора, от которого поступил сигнал сбоя. И если сигнал сбоя поступил менее трех или пяти раз подряд, то процессор считается исправным и работа системы осуществляется в штатном режиме. Если количество подряд поступивших сбоев оказалось более трех или пяти раз, то процессор считается неисправным и лишается статуса активный до устранения неисправности.

При возникновении неисправности в результате сбоев необходимо последние сохраненные промежуточные результаты выполнения программы, которые были записаны в базе промежуточных результатов для данного процессора передать другому менее загруженному процессору системы или, если все процессоры загружены, дополнительному резервному процессору, который может быть

предусмотрен в системе. Обычно резервный процессор бывает предусмотрен.

При этом, если резервный процессор не занят выполнением программы, то процесс выполнения программы неисправного процессора продолжится в резервном.

Если резервный процессор окажется занятым выполнением программы, то процесс выполнения программы неисправного резервный процессора продолжится в диспетчере.

После устранения неисправности и передачи промежуточных результатов выполнения программы, которая выполнялась в менее загруженном процессоре, резервном или диспетчере сигналом исправности выполнение программы продолжится.

Кроме того, при возникновении и поступлении на вход диспетчера сигнала несоответствия, который соответствует нештатной ситуации в работе одного из процессоров и, наиболее вероятно может быть вызвано перегрузкой, связанной, например, с недостаточностью памяти или времени выполнения заданной программы, по команде диспетчера часть программы (возможно часть программных модулей) может быть после получения последних сохраненных промежуточных результатов передана для выполнения в менее загруженном процессоре, резервном или диспетчере.

Данная ситуация в работе системы может быть реализована при условии возможности параллельного выполнения.

После устранения несоответствий система будет функционировать в штатном режиме.

Прерывание программ производится следующим образом.

По сигналу прерывания, поступающему от диспетчера, производится запоминание состояния прерываемой программы путем одновременной передачи содержимого всех регистров в ячейки памяти запоминающих устройств и запись этой информации в память, например, в вершину

соответствующего стека конкретного процессора. Этот же сигнал устанавливает время записи информации в запоминающее устройство и поступает на вход указателя стека и увеличивает его содержимое на единицу, формируя тем самым в указателе стека код адреса следующей свободной ячейки памяти запоминающих устройств. В результате этого в общие регистры конкретного процессора будет загружен вектор прерывания, который будет использоваться процессором для перехода к прерывающей программе. Прерывающая программа заканчивается командой "Восстановить", по которой устройство управления процессора формирует сигнал восстановления. Этот сигнал поступает на вход указателя стека и уменьшает его содержимое на единицу, формируя тем самым код адреса последней занятой ячейки памяти, который поступает на адресные входы всех запоминающих устройств. В результате этого в общих регистрах будет восстановлено состояние прерванной программы и процессор продолжит ее выполнение.

Если при выполнении контроля хода программ каждого процессора, а процессоры работают в штатном режиме, то сигналы "несоответствия" в диспетчер выдаваться не будут. Если же по какой-либо причине процессе выполнения программы будут выдавать сигналы "несоответствия", то ВС будет работать, как описано выше, в соответствии с выданным сигналом.

Таким образом, обеспечивается распределение нагрузки между процессорами в вычислительной системе.

Способ диспетчеризации распределения нагрузки процессоров в вычислительной системе, при котором производится постоянный мониторинг всех процессоров системы для определения их активности посредством обнаружения отказов и процессор лишается статуса активного, если он удовлетворяет условию отказа: недоступен, или же перегружен, отличающийся тем, что дополнительно введены следующие действия: каждый процессор, входящий в состав вычислительной системы, выполняет независимую программу, все характеристики вычислительного процесса каждого процессора через определенные фиксированные промежутки времени поступают на вход диспетчера, диспетчер, в качестве которого может использоваться более мощный процессор или сервер, отслеживает их работу, в диспетчере периодически запускается диагностическая (контрольная) программа, предназначенная для определения состояния каждого процессора: степень загрузки, время выполнения программы и другие состояния, при этом каждый процессор формирует внутренние сигналы соответствия или несоответствия правильной работы, которые передаются диспетчеру, при поступлении сигнала несоответствия диспетчер определяет, от какого процессора пришел сигнал и какому состоянию он соответствует: неисправность, аварийный останов, превышено заданное время выполнения программы, сбой в работе или недостаточность памяти, после поступления сигнала несоответствия диспетчер определяет, какой процессор менее загружен и возможность перераспределения нагрузки между другими процессорами, кроме того, диспетчер через определенный промежуток времени производит поочередный опрос всех процессоров на предмет загруженности, процессор лишается статуса активного, если он удовлетворяет условию отказа: недоступен или же перегружен, эта информация вносится в базу данных диспетчера, при этом в ходе работы системы в каждом процессоре через определенные заданные промежутки времени выполняется подпрограмма сохранения промежуточных результатов выполнения программы, результаты выполнения программы на данный момент времени каждого процессора запоминаются и поступают в память диспетчера;

при возникновении неисправности в результате сбоев последние сохраненные промежуточные результаты выполнения программы, которые были записаны в базе промежуточных результатов для данного процессора, передаются другому менее загруженному процессору системы или, если все процессоры загружены, дополнительному резервному процессору, который может быть предусмотрен в системе;

при этом если резервный процессор не занят выполнением программы, то процесс выполнения программы неисправного процессора продолжится в резервном;

если резервный процессор окажется занятым выполнением программы, то процесс выполнения программы неисправного процессора продолжится в диспетчере;

после устранения сигнала несоответствия, поступившего от соответствующего процессора, диспетчер переводит его в статус активного и работа системы продолжается.



 

Похожие патенты:

Изобретение относится к области вычислительной техники. Технический результат заключается в обеспечении защиты среды аппаратной виртуализации от угроз, связанных с компьютерной безопасностью.

Группа изобретений относится к средствам планирования операций ввода/вывода (I/O) в накопителях. Технический результат – обеспечение возможности сбалансированного управления накопителем за счет планирования операций I/O.

Изобретение относится к средствам планирования передачи множества операций ввода/вывода (I/O), предназначенных для выполнения устройством хранения данных. Технический результат заключается в уменьшении времени реакции при выполнении задачи, направленной в устройство хранения и сокращение времени зависание задач.

Изобретение относится к цифровой технике в области обработки цифровой информации. Технический результат заключается в расширении арсенала средств того же назначения.

Группа изобретений относится к средствам обработки данных. Технический результат – повышение производительности обработки после переключения на целевой процессор.

Изобретение относится к вычислительной технике и может быть использовано в цифровых вычислительных устройствах, в устройствах цифровой обработки сигналов, а также в криптографических приложениях.

Группа изобретений относится к цифровым помощникам. Технический результат – обеспечение возможности совершения задачи в цифровом помощнике без монитора.

Группа изобретений относится к области вычислительной техники и может быть использована в устройствах обработки информации для осуществления сортировки исходных данных.

Изобретение относится к области обработки информации. Техническим результатом является создание устройства формирования приоритетов, включение которого в управляющую машину позволит повысить скорость обработки данных при одновременном обращении к общей памяти (ОП) нескольких устройств.

Изобретение относится к системам информации в области гидрогеологии и предназначено для оперативного информационного обеспечения процессов мониторинга экологических рисков.

Группа изобретений относится к средствам обработки данных. Технический результат – повышение производительности обработки после переключения на целевой процессор.

Изобретение относится к области вычислительной техники для обработки потоковых данных. Технический результат заключается в повышении скорости обработки потоковых данных.

Изобретение относится к способу, системе и машиночитаемому носителю информации для управления программным контейнером. Технический результат заключается в управлении запуском программного контейнера.

Изобретение относится к области информационных технологий и может быть использовано в инфокоммуникационных системах (ИКС). Техническим результатом является повышение интенсивности обслуживания заявок и пропускной способности служб по среднему числу своевременно проведенных операций, поддерживаемых сервером типовой службы транспортных ТСР-соединений в случае наличия множества разнотипных ресурсов и при неполной априорной информации о необходимых для процессов ресурсах.

Изобретения относятся к многорежимному игровому серверу, который может функционировать в режиме видеокодирования и режиме игры. Техническим результатом является повышение эффективности управления многорежимными игровыми серверами в режиме пикового использования.

Изобретение относится к области вычислительной техники. Техническим результатом является более экономное использование вычислительных ресурсов при обработке рабочей нагрузки при сбое связи.

Изобретение относится к области вычислительной техники. Техническим результатом является более экономное использование вычислительных ресурсов при обработке рабочей нагрузки при сбое связи.

Изобретение относится к управлению производственным процессом. Устройство переключения входных аналоговых сигналов бурового оборудования содержит контроллер, состоящий из модуля контроллера, модуля входных и модуля выходных дискретных сигналов, модуля входных и модуля выходных аналоговых сигналов.

Изобретение относится к вычислительной технике. Технический результат заключается в повышении точности конфигурирования первичного вычислительного устройства пользователя посредством дополнительного вычислительного устройства.

Изобретение относится к средствам соединения частных вычислительных ресурсов с внешними сервисами. Технический результат заключается в обеспечении надежной операции с динамическими изменениями в доступности частного облака.
Наверх