Способ, устройство и система для переноса ресурса



Способ, устройство и система для переноса ресурса
Способ, устройство и система для переноса ресурса
Способ, устройство и система для переноса ресурса
Способ, устройство и система для переноса ресурса
Способ, устройство и система для переноса ресурса
Способ, устройство и система для переноса ресурса
Способ, устройство и система для переноса ресурса
Способ, устройство и система для переноса ресурса
Способ, устройство и система для переноса ресурса
Способ, устройство и система для переноса ресурса
Способ, устройство и система для переноса ресурса

 


Владельцы патента RU 2571562:

ХУАВЭЙ ТЕКНОЛОДЖИЗ КО., ЛТД. (CN)

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

 

ССЫЛКИ НА РОДСТВЕННЫЕ ЗАЯВКИ

Данная заявка является продолжением международной заявки №·PCT/CN2011/079266, поданной 1 сентября 2011 года, полностью включенной в настоящий документ посредством ссылки.

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ

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

ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ

В ситуации, когда осуществляется функционирование серверной системы, когда в систему вставляется или из системы удаляется устройство или узел, нормальное функционирование системы не может подвергаться воздействию. На сегодняшний день ядро Linux осуществляет операцию вставки или удаления на логическом центральном процессоре (CPU), а также выполняет вставку или удаление в памяти, принимая секцию (section) в качестве блока. На сегодняшний день к процедуре, когда осуществляется удаление узла, применяются два технических решения, и когда узел удаляется, информация о памяти в узле переносится в другие свободные блоки памяти, принимая секцию в качестве блока; одновременно с этим процесс в логическом центральном процессоре в узле переносится в другие логические центральные процессоры. Перенос информации о памяти и процессе осуществляется отдельно.

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

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

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

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

Способ переноса ресурса включает в себя этапы, на которых:

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

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

осуществляют перенос процесса в узле и соответствующей процессу памяти на узел назначения.

Устройство для переноса ресурса включает в себя:

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

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

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

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

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

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

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

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

Фиг.1 представляет собой блок-схему последовательности операций способа переноса ресурса, обеспечиваемого посредством варианта 1 осуществления настоящего изобретения;

Фиг.2 представляет собой блок-схему последовательности операций способа переноса ресурса, обеспечиваемого посредством варианта 2 осуществления настоящего изобретения;

Фиг.3 представляет собой блок-схему последовательности операций одного другого способа переноса ресурса, обеспечиваемого посредством варианта 2 осуществления настоящего изобретения;

Фиг.4 представляет собой блок-схему последовательности операций одного другого способа переноса ресурса, обеспечиваемого посредством варианта 2 осуществления настоящего изобретения;

Фиг.5 представляет собой схематическую диаграмму одного примера способа переноса ресурса, обеспечиваемого посредством варианта 2 осуществления настоящего изобретения;

Фиг.6 представляет собой структурную диаграмму строения устройства для переноса ресурса, обеспечиваемого посредством варианта 3 осуществления настоящего изобретения;

Фиг.7 представляет собой структурную диаграмму строения одного другого устройства для переноса ресурса, обеспечиваемого посредством варианта 3 осуществления настоящего изобретения;

Фиг.8 представляет собой структурную диаграмму строения одного другого устройства для переноса ресурса, обеспечиваемого посредством варианта 3 осуществления настоящего изобретения;

Фиг.9 представляет собой структурную диаграмму строения одного другого устройства для переноса ресурса, обеспечиваемого посредством варианта 3 осуществления настоящего изобретения;

Фиг.10 представляет собой структурную диаграмму строения одного другого устройства для переноса ресурса, обеспечиваемого посредством варианта 3 осуществления настоящего изобретения; и

Фиг.11 представляет собой структурную диаграмму строения системы для переноса ресурса, обеспечиваемой посредством варианта 3 осуществления настоящего изобретения.

ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ

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

Вариант осуществления 1

Один вариант осуществления настоящего изобретения обеспечивает способ переноса ресурса, и, как продемонстрировано на фиг.1, данный способ включает в себя следующие этапы.

Этап 101: Когда осуществляется удаление узла, получают информацию о процессе в узле, причем информация о процессе включает в себя отображение между процессом и соответствующей процессу памятью и привязку процесса. Процесс может обнаруживать соответствующую процессу память в соответствии с отображением VMA (Virtual Memory Area, области виртуальной памяти); привязка представляет собой характеристику того, что процесс выполняется принудительно на некоторых конкретных центральных процессорах на некоторых конкретных узлах.

Этап 102: Определяют узел назначения, на который осуществляется перенос процесса и памяти, соответствующей процессу, в соответствии с отображением между процессом и памятью, соответствующей процессу, и привязкой процесса.

Этап 103: Осуществляют перенос процесса в узле и соответствующей процессу памяти на узел назначения.

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

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

Вариант осуществления 2

Один вариант осуществления настоящего изобретения обеспечивает способ переноса ресурса, и, как продемонстрировано на фиг.2, взяв конкретно фиг.5 в качестве примера для иллюстрации, данный способ включает в себя следующие этапы.

Этап 201: Когда осуществляется удаление узла, получают информацию о процессе в узле, причем информация о процессе включает в себя отображение между процессом и соответствующей процессу памятью и привязку процесса.

Конкретным образом, на фиг.5, узел 6 представляет собой назначенный к удалению узел, а процесс 1000, процесс 1001, процесс 1005, процесс 2001, процесс 2003, процесс 2004 и процесс 2006 представляют собой процессы в узле.

Этап 202: Осуществляют анализ отображения между процессом и памятью, соответствующей процессу.

Конкретным образом, на фиг.5, память, соответствующая процессу 1000, процессу 1001 и процессу 1005, является расположенной в памяти 1; память, соответствующая процессу 2001 и процессу 2003, является расположенной в памяти 1; память, соответствующая процессу 2004 и процессу 2006, является расположенной в памяти узла 1.

Этап 203: Если обнаруживается, что соответствующая память используется посредством множества процессов, группируют данное множество процессов в группу.

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

Конкретным образом, на фиг.5, часть памяти в памяти 1 используется посредством процесса 1000, процесса 1001 и процесса 1005, поэтому процесс 1000, процесс 1001 и процесс 1005 группируются в группу и идентифицируются в качестве группы 1; часть памяти в памяти 1 используется посредством процесса 2001 и процесса 2003, поэтому процесс 2001 и процесс 2003 группируются в группу и идентифицируются в качестве группы 2.

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

Конкретным образом, на фиг.5, узел 6 и узел 5 представляют собой узлы, удовлетворяющие привязке процесса 1000, процесса 1001 и процесса 1005 в группе 1; узел 6 и узел 4 представляют собой узлы, удовлетворяющие привязке процесса 2001 и процесса 2003 в группе 2.

Предпочтительно, в целях исключения того, чтобы перенос процесса в узле 6 и соответствующей процессу памяти осуществлялся в узле 6, узел 5 выбирается в качестве узла, удовлетворяющего привязке процесса 1000, процесса 1001 и процесса 1005 в группе 1, и определяется в качестве узла назначения, на который осуществляется перенос процессов в группе 1; узел 4 выбирается в качестве узла, удовлетворяющего привязке процесса 2001 и процесса 2003 в группе 2, и определяется в качестве узла назначения, на который осуществляется перенос процессов в группе 2.

Этап 205: Сначала осуществляют перенос соответствующей процессу памяти в узле на узел назначения, а затем осуществляют перенос процесса в узле на узел назначения.

Конкретным образом, на фиг.5, осуществляется перенос процесса 2001 и процесса 2003 в группе 2 на узел 4; сначала осуществляется перенос части памяти в памяти 1, соответствующей процессу 1000, процессу 1001 и процессу 1005 в группе 1 на узел 5, и затем осуществляется перенос процесса 1000, процесса 1001 и процесса 1005 в группе 1 на узел 5.

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

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

Этап 301: Если обнаруживают, что память, соответствующая множеству процессов, располагается на каком-либо другом узле, отличном от узла, группируют данное множество процессов в группу.

Конкретным образом, на фиг.5, память, соответствующая процессу 2004 и процессу 2006, располагается на узле 1, поэтому процесс 2004 и процесс 2006 группируются в группу, помечаемую как группа 3.

Этап 302: Если данный какой-либо другой узел удовлетворяет привязке множества процессов, сгруппированных в группу, выполняют этап 303; в противном случае выполняют этап 305.

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

Конкретным образом, на фиг.5, если узел 1 удовлетворяет привязке процесса 2004 и процесса 2006, узел 1 определяется в качестве узла назначения, на который осуществляется перенос процессов в группе 3.

Этап 304: Осуществляют перенос множества процессов, сгруппированных в группу, на узел назначения.

Конкретным образом, на фиг.5, перенос процесса 2004 и процесса 2006 в группе 3 осуществляется на узел 4.

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

Конкретным образом, на фиг.5, если узел 1 не удовлетворяет привязке процесса 2004 и процесса 2006, помимо этого узла, осуществляется поиск узла, удовлетворяющего привязке процессов в группе 3, и данный узел определяется в качестве узла назначения, на который осуществляется перенос процессов в группе 3.

Этап 306: Осуществляют перенос множества процессов, сгруппированных в группу, а также соответствующей памяти, на узел назначения.

Конкретным образом, на фиг.5, сначала на узел назначения осуществляется перенос памяти, располагающейся на узле 1 и соответствующей процессу 2004 и процессу 2006 в группе 3, а затем на узел назначения осуществляется перенос процесса 2004 и процесса 2006 в группе 3.

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

Дополнительно, в целях обеспечения того, чтобы, когда осуществляется удаление узла, осуществлялась эмиграция всех процессов и блоков памяти в узле, после окончания переноса всех процессов в узле и соответствующих процессам блоков памяти, как продемонстрировано на фиг.4, взяв конкретно фиг.5 в качестве примера для иллюстрации, способ дополнительно включает в себя следующие этапы.

Этап 401: Сканируют все блоки памяти в узле и получают необработанную память.

Конкретным образом, на фиг.5, память 2 и память 3 представляют собой необработанные блоки памяти.

Этап 402: Получают состояние функционирования процесса, соответствующего необработанной памяти, в соответствии с отображением между необработанной памятью и соответствующим памяти процессом; если обработка состояния функционирования осуществляется, выполняют этап 403; а если состояние функционирования блокируется, выполняют этап 405.

Этап 403: Определяют узел, где располагается процесс, соответствующий необработанной памяти, в качестве узла назначения, на который осуществляется перенос необработанной памяти.

Конкретным образом, на фиг.5, процесс, соответствующий памяти 3, находится на узле 2, узел 2 определяется в качестве узла назначения, на который осуществляется перенос памяти 3.

Этап 404: Осуществляют перенос необработанной памяти на узел назначения.

Конкретным образом, на фиг.5, перенос памяти осуществляется на узел 2.

Этап 405: Осуществляют поиск узла, удовлетворяющего привязке процесса, соответствующего необработанной памяти, и определяют данный узел в качестве узла назначения, на который осуществляется перенос необработанной памяти.

Конкретным образом, на фиг.5, процесс, соответствующий памяти 2, находится в состоянии блокировки, осуществляется поиск узла, удовлетворяющего привязке процесса, соответствующего памяти 2; если осуществляется поиск узла 3 в качестве узла, удовлетворяющего привязке процесса, соответствующего памяти 2, данный узел 3 определяется в качестве узла назначения, на который осуществляется перенос памяти 2.

Этап 406: Осуществляют перенос необработанной памяти на узел назначения.

Конкретным образом, на фиг.5, осуществляется перенос памяти на узел 3.

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

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

Вариант 3 осуществления

Один вариант осуществления настоящего изобретения обеспечивает устройство для переноса ресурса, и, как продемонстрировано на фиг.6, данное устройство включает в себя: первый блок 51 получения, первый блок 52 определения и первый блок 53 переноса.

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

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

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

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

Один вариант осуществления настоящего изобретения обеспечивает устройство для переноса ресурса, и, как продемонстрировано на фиг.7, первый блок 52 определения включает в себя: первый модуль 521 анализа, первый модуль 522 группирования и первый модуль 523 определения.

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

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

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

Один вариант осуществления настоящего изобретения обеспечивает устройство для переноса ресурса, и, как продемонстрировано на фиг.8, первый блок 52 определения дополнительно включает в себя: второй модуль 524 группирования, второй модуль 525 определения и третий модуль 526 определения.

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

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

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

Один вариант осуществления настоящего изобретения обеспечивает устройство для переноса ресурса, и, как продемонстрировано на фиг.9, первый блок 53 переноса включает в себя: первый модуль 531 переноса и второй модуль 532 переноса.

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

Второй модуль 532 переноса является сконфигурированным с возможностью, когда соответствующая процессу память в узле является расположенной на узле назначения, определенном посредством первого блока 52 определения, переноса процесса в узле на узел назначения, определенный посредством первого блока 52 определения.

Один вариант осуществления настоящего изобретения обеспечивает устройство для переноса ресурса, и, как продемонстрировано на фиг.10, данное устройство дополнительно включает в себя: второй блок 54 получения, третий блок 55 получения, второй блок 56 определения, третий блок 57 определения и второй блок 58 переноса.

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

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

Второй блок 56 определения является сконфигурированным с возможностью, когда осуществляется обработка состояния функционирования, полученного посредством третьего блока 55 получения, определения узла, где располагается процесс, соответствующий необработанной памяти, в качестве узла назначения, на который осуществляется перенос необработанной памяти.

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

Второй блок 58 переноса является сконфигурированным с возможностью переноса необработанной памяти на узел назначения, определенный посредством второго блока 56 определения или третьего блока 57 определения.

Один вариант осуществления настоящего изобретения обеспечивает систему для переноса ресурса, причем система включает в себя множество узлов, и каждый узел включает в себя центральный процессор и память. Как продемонстрировано на фиг.11, система включает в себя: назначенный к иммиграции узел 61, назначенный к эмиграции узел 62 и узел 63 управления.

Центральный процессор на узле 63 управления является сконфигурированным с возможностью, когда осуществляется удаление назначенного к эмиграции узла 62, получения информации о процессе в назначенном к эмиграции узле 62, причем информация о процессе включает в себя отображение между процессом и соответствующей процессу памятью и привязку процесса; определения назначенного к иммиграции узла 61, на который осуществляется перенос процесса и памяти, соответствующей процессу, в соответствии с отображением между процессом и памятью, соответствующей процессу, и привязкой процесса; и переноса процесса в назначенном к эмиграции узле 62 и соответствующей процессу памяти на назначенный к иммиграции узел 61.

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

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

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

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

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

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

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

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

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

3. Способ переноса ресурса по п. 1, в котором этап, на котором осуществляют перенос процесса в узле и соответствующей процессу памяти на узел назначения, содержит этап, на котором:
осуществляют перенос процесса в узле и соответствующей процессу памяти на узел назначения в соответствии с приоритетом, поддерживаемым в процессе.

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

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

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

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

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

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



 

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

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

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

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

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

Изобретение относится к средствам обработки данных. .

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

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

Изобретение относится к вычислительной технике. .

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

Настоящее изобретение реализует мобильное вычислительное устройство, которое управляет множеством совместно функционирующих и независимых сред операционной системы в общем ядре. Технический результат, заключающийся в обеспечении возможности функционирования в одном устройстве нескольких независимых операционных систем, достигается за счет использования средства для сопряжения по меньшей мере двух средств для выполнения приложений, соединенных со средством для сопряжения, причем каждое из упомянутых средств для выполнения приложений имеет соответствующий компонент приложения. Средства для выполнения приложений одновременно работают со средством для сопряжения. Кроме того, различные варианты осуществления настоящего изобретения включают в себя процессы для управления переключением между одной средой операционной системы и второй средой операционной системы. 5 н. и 17 з.п. ф-лы, 12 ил.

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

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