×
28.02.2020
220.018.06a6

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

Вид РИД

Изобретение

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

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

Известно устройство для распределения заданий между ЭВМ в многомашинной вычислительной системе [АС СССР №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 (сетей доставки контента), а более конкретно, к способу распределения нагрузки между серверами только в таких сетях.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник поступления информации: Роспатент

Показаны записи 1-1 из 1.
20.11.2014
№216.013.08ef

Вычислительная система

Изобретение относится к вычислительной технике и может быть использовано при построении многомашинных, многопроцессорных вычислительных систем (ВС) высокой производительности и надежности. Технический результат заключается в обеспечении возможности управления работой нескольких ЭВМ системы при...
Тип: Изобретение
Номер охранного документа: 0002533688
Дата охранного документа: 20.11.2014
Показаны записи 1-10 из 10.
27.10.2014
№216.013.032a

Способ иодидного рафинирования циркония и устройство для его осуществления

Группа изобретений относится к области иодидного рафинирования циркония в замкнутых металлических аппаратах и может быть использовано при иодидном рафинировании других металлов, например титана и гафния. Проводят осаждение металла на раскаленную нить из циркония по заданной вольт-амперной...
Тип: Изобретение
Номер охранного документа: 0002532208
Дата охранного документа: 27.10.2014
20.11.2014
№216.013.08ef

Вычислительная система

Изобретение относится к вычислительной технике и может быть использовано при построении многомашинных, многопроцессорных вычислительных систем (ВС) высокой производительности и надежности. Технический результат заключается в обеспечении возможности управления работой нескольких ЭВМ системы при...
Тип: Изобретение
Номер охранного документа: 0002533688
Дата охранного документа: 20.11.2014
27.02.2016
№216.014.c167

Способ получения интерметаллидных сплавов на основе алюминида титана с повышенным содержанием ниобия

Изобретение относится к области металлургии, а именно к способам выплавки титановых сплавов и может быть использовано при производстве полуфабрикатов, предназначенных для изготовления деталей газотурбинных двигателей, силовых установок, агрегатов авиационного, топливно-энергетического и...
Тип: Изобретение
Номер охранного документа: 0002576288
Дата охранного документа: 27.02.2016
10.08.2016
№216.015.53c5

Способ получения слитков гафния вакуумно-дуговым переплавом

Изобретение относится к получению слитков гафния. Прессуют брикеты из шихтового гафниевого материала с плотностью брикета не менее ρ=7,2 г/см. Формируют расходуемый электрод путем электронно-лучевой сварки брикетов. Проводят первый вакуумно-дуговой переплав полученного расходуемого электрода с...
Тип: Изобретение
Номер охранного документа: 0002593807
Дата охранного документа: 10.08.2016
20.01.2018
№218.016.13a3

Эндопротез силиконовый армированный сухожилий пальцев кисти

Изобретение относится к медицине и предназначено для использования в травматологических и ортопедических отделениях клиник и больниц, а также в реконструктивной хирургии при формировании сухожильных каналов при заболеваниях и повреждениях сухожилий пальцев кисти. Эндопротез сухожилий пальцев...
Тип: Изобретение
Номер охранного документа: 0002634628
Дата охранного документа: 02.11.2017
11.03.2019
№219.016.db64

Способ управления процессом иодидного рафинирования циркония и система для его осуществления

Группа изобретений относится к иодидному рафинированию циркония. Проводят регулирование температуры нити осаждения циркония в аппарате для иодидного рафинирования циркония изменением напряжения на ней по расчетной вольтамперной характеристике и регулирование температуры в аппарате в ходе...
Тип: Изобретение
Номер охранного документа: 0002421530
Дата охранного документа: 20.06.2011
29.04.2019
№219.017.45f8

Способ получения слитков гафния в электронно-лучевой печи

Изобретение относится к получению слитков гафния и может быть использовано для получения слитков тугоплавких металлов в электронно-лучевой печи. Способ включает загрузку шихты и плавку металла электронным лучом с электромагнитным перемешиванием расплава, плавку проводят в тигле с гарнисажем в...
Тип: Изобретение
Номер охранного документа: 0002443789
Дата охранного документа: 27.02.2012
15.06.2019
№219.017.8353

Станция очистки сточных вод

Изобретение предназначено для очистки сточных вод. Станция очистки сточных вод содержит вертикальный цилиндрический двухкорпусный активационный резервуар, в центральной части которого расположены две взаимно параллельные разделительные стенки (19), ограничивающие находящуюся между ними...
Тип: Изобретение
Номер охранного документа: 0002691511
Дата охранного документа: 14.06.2019
02.10.2019
№219.017.cfdc

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

Изобретение относится к получению слитков из сплавов циркония на основе циркониевой магниетермической губки, содержащих легирующие элементы. Способ включает получение таблеток лигатуры, формирование расходуемых электродов и выплавку слитков. Таблетки лигатуры получают смешиванием и прессованием...
Тип: Изобретение
Номер охранного документа: 0002700892
Дата охранного документа: 23.09.2019
29.01.2020
№220.017.fb0d

Композиционная сырьевая смесь для изготовления дорожных покрытий

Изобретение относится к строительным материалам и может быть использовано в дорожном строительстве. Предложена композиционная сырьевая смесь для изготовления дорожных покрытий, содержащая (в мас.%): промышленный отход металлургического производства - доменный основной гранулированный шлак...
Тип: Изобретение
Номер охранного документа: 0002712215
Дата охранного документа: 27.01.2020
+ добавить свой РИД