RU2565519C2 - Способ управления памятью вычислительной системы, блок управления памятью и вычислительная система - Google Patents

Способ управления памятью вычислительной системы, блок управления памятью и вычислительная система Download PDF

Info

Publication number
RU2565519C2
RU2565519C2 RU2013142946/08A RU2013142946A RU2565519C2 RU 2565519 C2 RU2565519 C2 RU 2565519C2 RU 2013142946/08 A RU2013142946/08 A RU 2013142946/08A RU 2013142946 A RU2013142946 A RU 2013142946A RU 2565519 C2 RU2565519 C2 RU 2565519C2
Authority
RU
Russia
Prior art keywords
memory
mode
offline
marker
transfer
Prior art date
Application number
RU2013142946/08A
Other languages
English (en)
Other versions
RU2013142946A (ru
Inventor
Цзян ЛЮ
Вэй Ван
Сиши ЦЮ
Original Assignee
Хуавэй Текнолоджиз Ко., Лтд.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Хуавэй Текнолоджиз Ко., Лтд. filed Critical Хуавэй Текнолоджиз Ко., Лтд.
Publication of RU2013142946A publication Critical patent/RU2013142946A/ru
Application granted granted Critical
Publication of RU2565519C2 publication Critical patent/RU2565519C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

Abstract

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

Description

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к области вычислительной техники, и в частности к способу управления памятью вычислительной системы, блоку управления памятью и вычислительной системе в области вычислительной техники.
УРОВЕНЬ ТЕХНИКИ
Для достижения определенной эксплуатационной гибкости требуется сервер средней или высокой производительности, при этом важной частью эксплуатационной гибкости является функция «горячей» замены устройства. То есть сервер может осуществлять динамическое подключение или отключение устройства без прерывания работы вычислительной системы для достижения целей наращивания емкости и обнаружения неисправностей, благодаря чему достигается соответствие требованиям надежности, работоспособности или энергосбережения вычислительной системы.
Как правило, устройства с функцией «горячей» замены включают в себя, к примеру, процессор, память или периферийное устройство ввода-вывода (IO), причем память является одной из важнейших частей, входящих в состав устройств с функцией «горячей» замены, поскольку память является одним из важных ресурсов вычислительной системы. «Горячее» подключение памяти относится к запоминающему устройству, которое подключается без прерывания работы вычислительной системы, а «горячее» отключение памяти относится к запоминающему устройству, которое отключается без прерывания работы вычислительной системы. При «горячем» отключении памяти должен выполняться перенос и восстановление занятой памяти в целевой памяти. Однако в вычислительной системе присутствует не переносимая страница, включающая в себя физическую страницу, которая занята ядром, и физическую страницу, которая блокируется пользовательским процессом.
В прикладном процессе, в связи с тем, что физическая страница, которая занята ядром, отмечается вычислительной системой в качестве не переносимой страницы, в процессе обращения ядра к памяти вычислительная система может выделить физическую память из определенной области (области не переносимой памяти) для достижения цели перевода целевой памяти в автономный режим. Когда пользовательский процесс обращается к памяти, память принадлежит общей переносимой памяти, но после того, как пользовательский процесс указывает блокировку памяти, память помечается в качестве не переносимой страницы, что является препятствием при переводе целевой памяти в автономный режим. Возможность перевода памяти, которая блокируется пользовательским процессом, в автономный режим является одним из ключевых факторов в процессе реализации «горячей» замены памяти.
При наличии проблемы, заключающейся в затруднении перевода памяти, которая блокируется пользовательским процессом, в автономный режим, могут неоднократно предприниматься попытки переноса памяти в ожидании того, что память будет разблокирована пользовательским процессом в процессе выполнения повторных попыток. Однако способ переноса посредством выполнения повторных попыток не может гарантировать того, что память будет переведена в автономный режим в связи с тем, что разблокировка памяти, которая блокируется пользовательским процессом, вовсе не будет затронута попытками переноса памяти, при этом между ними не будет существовать необходимая взаимосвязь. Исходя из вышесказанного, в процессе выполнения попыток перевода памяти в автономный режим память, которая блокируется пользовательским процессом, может постоянно находиться в заблокированном состоянии.
Исходя из вышесказанного, существует потребность в надлежащем решении для управления памятью вычислительной системы для перевода памяти, которая блокируется пользовательским процессом, в автономный режим, благодаря чему реализуется «горячая» замена памяти.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Варианты осуществления настоящего изобретения обеспечивают способ управления памятью вычислительной системы, блок управления памятью и вычислительную систему для перевода памяти, которая блокируется пользовательским процессом, в автономный режим, благодаря чему реализуется «горячая» замена памяти.
В одном аспекте вариант осуществления настоящего изобретения обеспечивает способ управления памятью вычислительной системы, включающий в себя этапы: приема запроса на выделение, отправляемого пользовательским процессом, причем запрос на выделение используется для запроса выделения памяти вычислительной системы для пользовательского процесса; выделения памяти для пользовательского процесса в соответствии с запросом на выделение и установки маркера автономного режима для памяти, причем маркер автономного режима используется для указания автономного режима памяти; приема запроса на блокировку, отправляемого пользовательским процессом, причем запрос на блокировку используется для запроса блокировки памяти; блокировки памяти в соответствии с запросом на блокировку и маркером автономного режима памяти; и перевода памяти в автономный режим в соответствии с маркером автономного режима памяти.
В другом аспекте вариант осуществления настоящего изобретения обеспечивает блок управления памятью, включающий в себя: первый приемный модуль, выполненный с возможностью приема запроса на выделение, отправляемого пользовательским процессом, причем запрос на выделение используется для запроса выделения памяти вычислительной системы для пользовательского процесса; модуль выделения, выполненный с возможностью выделения памяти для пользовательского процесса в соответствии с запросом на выделение, который принимается первым приемным модулем, и установки маркера автономного режима для памяти, причем маркер автономного режима используется для указания автономного режима памяти; второй приемный модуль, выполненный с возможностью приема запроса на блокировку, отправляемого пользовательским процессом, причем запрос на блокировку используется для запроса блокировки памяти вычислительной системы; модуль блокировки, выполненный с возможностью блокировки памяти в соответствии с запросом на блокировку, принимаемым вторым приемным модулем, и маркером автономного режима памяти; и модуль перевода в автономный режим, выполненный с возможностью перевода памяти, которая блокируется модулем блокировки, в автономный режим в соответствии с маркером автономного режима памяти.
Еще в одном аспекте вариант осуществления настоящего изобретения обеспечивает вычислительную систему, включающую в себя по меньшей мере одно запоминающее устройство и блок управления памятью в соответствии с вариантом осуществления настоящего изобретения, который выполнен с возможностью управления по меньшей мере одним запоминающим устройством. Блок управления памятью включает в себя: первый приемный модуль, выполненный с возможностью приема запроса на выделение, отправляемого пользовательским процессом, причем запрос на выделение используется для запроса выделения памяти вычислительной системы для пользовательского процесса; модуль выделения, выполненный с возможностью выделения памяти для пользовательского процесса в соответствии с запросом на выделение, принимаемым первым приемным модулем, и установки маркера автономного режима для памяти, причем маркер автономного режима используется для указания автономного режима памяти; второй приемный модуль, выполненный с возможностью приема запроса на блокировку, отправляемого пользовательским процессом, причем запрос на блокировку используется для запроса блокировки памяти вычислительной системы; модуль блокировки, выполненный с возможностью блокировки памяти в соответствии с запросом на блокировку, принимаемым вторым приемным модулем, и маркером автономного режима памяти; и модуль перевода в автономный режим, выполненный с возможностью перевода памяти, блокированной модулем блокировки, в автономный режим в соответствии с маркером автономного режима памяти.
На основании вышеупомянутых технических решений, в способе управления памятью вычислительной системы, блоке управления памятью и вычислительной системе в соответствии с вариантами осуществления настоящего изобретения, после приема запроса на выделение, который отправляется пользовательским процессом, и используется для запроса выделения памяти вычислительной системы, ядро, операционная система или блок управления памятью вычислительной системы выделяет память для пользовательского процесса, и устанавливает маркер автономного режима для памяти, для указания автономного режима памяти, и после приема запроса, который направляется пользовательским процессом и используется для запроса блокировки памяти, ядро или операционная система могут блокировать память в соответствии с запросом блокировки пользовательского процесса и маркером автономного режима памяти, и могут переводить память в автономный режим в соответствии маркером автономного режима памяти, когда требуется перевести блокированную память в автономный режим так, что память, блокированная пользовательским процессом, переводится в автономный режим, благодаря чему реализуется «горячая» замена памяти.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Для более ясной иллюстрации технических решений в соответствии с вариантами осуществления настоящего изобретения далее будут приведены сопровождающие чертежи для описания вариантов осуществления. Сопровождающие чертежи в нижеследующем описании иллюстрируют некоторые варианты осуществлениянастоящего изобретения, при этом специалисты в данной области техники могут без труда вывести из сопровождающих чертежей другие чертежи.
Фиг. 1А схематически изображает блок-схему последовательности операций способа управления памятью вычислительной системы в соответствии с вариантом осуществления настоящего изобретения;
Фиг. 1В схематически изображает блок-схему последовательности операций способа управления памятьювычислительной системы в соответствии с другим вариантом осуществления настоящего изобретения;
Фиг.1C схематически изображает блок-схему последовательности операций способа управления памятью вычислительной системы в соответствии с еще одним вариантом осуществления настоящего изобретения;
Фиг.2 схематически изображает блок-схему последовательности операций способа изменения автономного режима памяти в соответствии с вариантом осуществления настоящего изобретения;
Фиг.3 схематически изображает блок-схему последовательности операций способа блокировки памяти в соответствии с вариантом осуществления настоящего изобретения;
Фиг.4 схематически изображает блок-схему последовательности операций способа перевода заблокированной памяти в автономный режим в соответствии с вариантом осуществления настоящего изобретения;
Фиг.5 схематически изображает блок-схему последовательности операций способа разблокировки памяти в соответствии с вариантом осуществления настоящего изобретения;
Фиг.6 схематически изображает блок-схему блока управления памятью в соответствии с вариантом осуществления настоящего изобретения;
Фиг.7 схематически изображает блок-схему блока управления памятью в соответствии с другим вариантом осуществления настоящего изобретения;
Фиг.8 схематически изображает блок-схему блока управления памятью в соответствии с еще одним вариантом осуществления настоящего изобретения;
Фиг.9 схематически изображает блок-схему модуля блокировки в соответствии с вариантом осуществления настоящего изобретения;
Фиг.10 схематически изображает блок-схему модуля перевода в автономный режим в соответствии с вариантом осуществления настоящего изобретения;
Фиг.11 схематически изображает блок-схему модуля определения в соответствии с вариантом осуществления настоящего изобретения; и
Фиг.12 схематически изображает блок-схему вычислительной системы в соответствии с вариантом осуществления настоящего изобретения.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Далее со ссылкой на сопровождающие чертежи в вариантах осуществления настоящего изобретения будут ясно описаны технические решения в соответствии с вариантами осуществления настоящего изобретения. Очевидно, что описываемые варианты осуществления являются лишь некоторыми вариантами осуществления настоящего изобретения среди множества возможных. Все остальные варианты осуществления, выводимые специалистами в данной области техники на основе вариантов осуществления настоящего изобретения, безусловно должны находиться в рамках объема защиты настоящего изобретения.
Следует отметить, что технические решения в соответствии с вариантами осуществления настоящего изобретения могут быть использованы применительно к различным вычислительным системам, включающим в себя персональный компьютер (PC), большую вычислительную систему или различные сверхмощные компьютеры. В вариантах осуществления настоящего изобретения в качестве примера для описания берется вычислительная система, включающая в себя по меньшей мере одно запоминающее устройство, при этом варианты осуществления настоящего изобретения не ограничиваются этим.
Фиг.1A схематически изображает блок-схему последовательности операций способа 100 управления памятью вычислительной системы в соответствии с вариантом осуществления настоящего изобретения. Как изображено на Фиг.1А, способ 100 включает в себя следующие этапы:
S110: Прием запроса на выделение, который отправляется пользовательским процессом, причем запрос на выделение используется для запроса выделения памяти вычислительной системы для пользовательского процесса.
S120: Выделение памяти для пользовательского процесса в соответствии с запросом на выделение и установка маркера автономного режима для памяти, причем маркер автономного режима используется для указания автономного режима памяти.
S130: Прием запроса на блокировку, который отправляется пользовательским процессом, причем запрос на блокировку используется для запроса блокировки памяти.
S140: Блокировка памяти в соответствии с запросом на блокировку и маркером автономного режима памяти.
S150: Перевод памяти в автономный режим в соответствии с маркером автономного режима памяти.
После приема запроса на выделение, который отправляется пользовательским процессом и используется для запроса выделения памяти вычислительной системы, ядро, операционная система или блок управления памятью вычислительной системы выделяет память для пользовательского процесса и устанавливает маркер автономного режима для памяти для указания автономного режима памяти; а после приема запроса (на блокировку), который отправляется пользовательским процессом и используется для запроса блокировки памяти, ядро или операционная система может заблокировать память в соответствии с запросом на блокировку пользовательского процесса и маркером автономного режима памяти, а также может перевести память в автономный режим в соответствии с маркером автономного режима памяти, когда требуется перевести заблокированную память в автономный режим.
Исходя из вышесказанного, в способе управления памятью вычислительной системы в соответствии с вариантом осуществления настоящего изобретения посредством взаимодействия между ядром и пользовательским процессом, а также посредством установки автономного режима для памяти, ядро может соответствующим образом перевести память в автономный режим в соответствии с автономным режимом памяти для перевода памяти, которая блокируется пользовательским процессом, в автономный режим, благодаря чему реализуется «горячая» замена памяти, а также устраняются потери системных ресурсов.
В варианте осуществления настоящего изобретения автономный режим или автономная политика может включать в себя по меньшей мере один из следующих режимов: режим по умолчанию, режим переноса, режим уведомления и режим принудительной разблокировки. При необходимости автономный режим включает в себя режим по умолчанию, режим переноса, режим уведомления и режим принудительной разблокировки.
В режиме по умолчанию пользовательский процесс может указывать на то, что память переводится в автономный режим посредством режима по умолчанию, и если пользовательский процесс не указывает автономную политику, то такой режим также может быть использован. В режиме переноса, перед блокировкой памяти, она должна быть перенесена в не переносимую область, а затем заблокирована. В режиме уведомления, перед тем как ядро затребует перевод памяти в автономный режим, оно побуждает пользовательский процесс к разблокировке памяти. В режиме принудительной разблокировки ядро может принудительно разблокировать память, когда ядро затребует перевод памяти в автономный режим, а затем переводит память в автономный режим. Следует отметить, что названия и краткое описание четырех автономных режимов, представленных в варианте осуществления настоящего изобретения, приведены попросту для упрощения понимания варианта осуществления настоящего изобретения, при этом вариант осуществления настоящего изобретения не ограничивается ими. Кроме того, конкретный смысл этих четырех автономных режимов должен быть воспринят с учетом конкретных операций, которые описаны в варианте осуществления настоящего изобретения.
В варианте осуществления настоящего изобретения пользовательский процесс может изменить автономный режим задействованной памяти в соответствии с требованием, то есть пользовательский процесс может установить автономный режим памяти. Исходя из вышесказанного, как изображено на Фиг.1B, способ 100 управления памятью вычислительной системы в соответствии с вариантом осуществления настоящего изобретения, может дополнительно включать в себя следующие этапы:
S160: Прием запроса на изменение, который включает в себя информацию о режиме и отправляется пользовательским процессом, причем информация о режиме указывает автономный режим, который устанавливается пользовательским процессом для памяти.
S170: Изменение в соответствии с информацией о режиме маркера автономного режима памяти для указания автономного режима, установленного пользовательским процессом.
То есть после обращения пользовательского процесса к памяти, пользовательский процесс может установить автономный режим для задействованной памяти в соответствии с требованием и отправляет запрос на изменение, включающий в себя информацию о режиме, в ядро для того, чтобы ядро в соответствии с информацией о режиме изменило маркер автономного режима памяти для указания автономного режима, установленного пользовательским процессом.
В варианте осуществления настоящего изобретения, после того, как ядро приняло запрос на блокировку, который отправляется пользовательским процессом, ядро может определить автономный режим памяти в соответствии с маркером автономного режима памяти, и если автономный режим памяти является режимом по умолчанию, то ядро может повторно установить желаемый автономный режим памяти. То есть, как изображено на Фиг.1B, способ 100 в соответствии с вариантом осуществления настоящего изобретения может дополнительно включать в себя следующие этапы:
S180: Если автономный режим памяти является режимом по умолчанию, то автономный режим памяти определяется повторно в соответствии с требованием вычислительной системы, а также изменяется маркер автономного режима памяти для указания повторно определенного автономного режима.
При необходимости, если вычислительная система требует выполнения работы системы, то ядро определяет автономный режим памяти в качестве режима по умолчанию; а если вычислительная система требует выполнения «горячей» замены, то ядро определяет автономный режим памяти в качестве режима переноса.
Следует отметить, что способ в соответствии с вариантом осуществления настоящего изобретения может быть выполнен ядром, операционной системой или блоком управления памятью. Для упрощения дальнейшего описания ядро будет использовано в качестве исполнительного объекта, при этом вариант осуществления настоящего изобретения не ограничивается этим.
В частности, на этапе S110, пользовательский процесс в соответствии с требованием пользовательского процесса, может отправить запрос на выделение ядру для запроса выделения памяти.
На этапе S120 ядро в соответствии с запросом на выделение, выделяет память для пользовательского процесса, а также устанавливает маркер автономного режима для памяти, причем маркер автономного режима используется для указания автономного режима памяти. При необходимости ядро устанавливает маркер автономного режима, который указывает режим по умолчанию, для выделенной памяти. К примеру, ядро может добавить маркер PG_flag автономного режима для памяти, а также присвоить маркеру автономного режима значение «DEFAULT» («ПО УМОЛЧАНИЮ»), то есть PG_flag = DEFAULT. Разумеется, ядро также может установить и другие автономные режимы для памяти, при этом вариант осуществления настоящего изобретения не ограничивается вышеупомянутым.
При необходимости пользовательский процесс может установить или составить автономный режим или автономную политику для задействованной памяти при помощи интерфейса, который обеспечивается ядром. В частности, на этапе S160 пользовательский процесс в соответствии с требованием пользовательского процесса, может отправить запрос на изменение ядру для изменения автономного режима памяти, причем запрос на изменение включает в себя информацию о режиме для указания автономного режима, который устанавливается пользовательским процессом для памяти. К примеру, запрос на изменение может включать в себя параметр «BEHAVIOR» («РЕЖИМ»), причем параметру «BEHAVIOR» («РЕЖИМ») можно присвоить значение, такое как «DEFAULT» («ПО УМОЛЧАНИЮ»), «MIGRATE» («ПЕРЕНОС»), «NOTIFY» («УВЕДОМЛЕНИЕ») и «UNLOCK» («РАЗБЛОКИРОВКА»), которые соответствующим образом указывают на то, что пользовательский процесс устанавливает автономный режим памяти в качестве режима по умолчанию, режима переноса, режима уведомления и режима принудительной разблокировки.
На этапе S170 ядро в соответствии с информацией о режиме, изменяет автономный режим памяти. В частности, ядро в соответствии с параметром «BEHAVIOR» («РЕЖИМ»), который обеспечивается в запросе на изменение, может изменить маркер автономного режима памяти для указания автономного режима, который устанавливается пользовательским процессом.
В частности, к примеру, для памяти А, автономный режим которой должен быть изменен, ядро может проанализировать параметр «BEHAVIOR» («РЕЖИМ»), который включается в запрос на изменение. Если параметр «BEHAVIOR» («РЕЖИМ») имеет значение «DEFAULT» («ПО УМОЛЧАНИЮ»), то ядро может определить, что пользовательский процесс устанавливает автономный режим памяти А в качестве режима по умолчанию. При этом ядро может изменить маркер PG_flag автономного режима памяти A, то есть присвоить маркеру автономного режима значение «DEFAULT» («ПО УМОЛЧАНИЮ»), то есть PG_flag = «DEFAULT» («ПО УМОЛЧАНИЮ»). Если параметр «BEHAVIOR» («РЕЖИМ») имеет значение «MIGRATE» («ПЕРЕНОС»), то ядро может определить, что пользовательский процесс устанавливает автономный режим памяти А в качестве режима переноса, при этом ядро может присвоить маркеру автономного режима памяти A значение «MIGRATE» («ПЕРЕНОС»), то есть PGflag = «MIGRATE» («ПЕРЕНОС»). Аналогичным образом, если параметр «BEHAVIOR» («РЕЖИМ») имеет значение «NOTIFY» («УВЕДОМЛЕНИЕ»), то ядро может определить, что пользовательский процесс устанавливает автономный режим памяти А в качестве режима уведомления, при этом ядро может присвоить маркеру автономного режима памяти A значение «NOTIFY» («УВЕДОМЛЕНИЕ»), то есть PG_flag = «NOTIFY» («УВЕДОМЛЕНИЕ»). Если параметр «BEHAVIOR» («РЕЖИМ») имеет значение «UNLOCK» («РАЗБЛОКИРОВКА»), то ядро может определить, что пользовательский процесс устанавливает автономный режим памяти А в качестве режима принудительной разблокировки, при этом ядро могут присвоить маркеру автономного режима памяти A значение «UNLOCK» («РАЗБЛОКИРОВКА»), то есть PG_flag = «UNLOCK» («РАЗБЛОКИРОВКА»).
На этапе S130 в соответствии с требованием пользовательского процесса, пользовательский процесс может запросить ядро о блокировке памяти вычислительной системы.
На этапе S140, после того, как ядро приняло запрос на блокировку, который отправляется пользовательским процессом, ядро должно определить автономный режим памяти, в отношении которой запрашивается блокировка, и блокирует память в соответствии с конкретным автономным режимом и запросом на блокировку.
В частности, ядро может определить автономный режим памяти посредством анализа маркера автономного режима памяти. К примеру, если ядро определяет, что маркер автономного режима памяти является PG_flag = «DEFAULT» («ПО УМОЛЧАНИЮ»), то автономный режим памяти является режимом по умолчанию. Аналогичным образом, если ядро определяет, что маркер автономного режима памяти является PG_flag = «MIGRATE» («ПЕРЕНОС»), «NOTIFY» («УВЕДОМЛЕНИЕ») или «UNLOCK» («РАЗБЛОКИРОВКА»), то ядро может определить, что автономный режим памяти является режимом переноса, режимом уведомления или режимом принудительной разблокировки.
При необходимости, если маркер автономного режима памяти указывает режим по умолчанию, режим уведомления или режим принудительной разблокировки, то память блокируется. Если маркер автономного режима памяти указывает режим переноса, то память переносится, при этом если память переносится успешно, то перенесенная память блокируется и для перенесенной памяти устанавливается маркер автономного режима, указывающий режим переноса. Если память переносится неудачно, то память блокируется, а маркер автономного режима памяти изменяется для указания режима по умолчанию.
При необходимости, если ядро определяет, что автономный режим памяти является режимом по умолчанию, то ядро может повторно определить более подходящий автономный режим для памяти. То есть на этапе S180 ядро повторно определяет автономный режим памяти в соответствии с требованием вычислительной системы, и изменяет маркер автономного режима памяти для указания повторно определенного автономного режима.
На этапе S150, если ядро должно перевести память, которая блокируется пользовательским процессом, в автономный режим, то ядро может определить автономный режим памяти посредством анализа маркера автономного режима памяти, и переводит память в автономный режим в соответствии с автономным режимом.
При необходимости, если маркер автономного режима памяти указывает режим по умолчанию или режим переноса, то память ожидает разблокировки и переносится после разблокировки памяти. Если маркер автономного режима памяти указывает режим уведомления, то инициируется пользовательский процесс для разблокировки памяти, память переносится после разблокировки памяти, а пользовательский процесс инициируется для блокировки перенесенной памяти после переноса памяти. Если маркер автономного режима памяти указывает режим принудительной разблокировки, то осуществляется разблокировка памяти и память переноса после разблокировки памяти, перенесенная память блокируется, и для перенесенной памяти устанавливается маркер автономного режима, указывающий режим принудительной разблокировки.
Исходя из вышесказанного, в способе управления памятью вычислительной системы в соответствии с вариантом осуществления настоящего изобретения, посредством взаимодействия между ядром и пользовательским процессом, а также посредством установки автономного режима для памяти, ядро может соответствующим образом перевести память в автономный режим в соответствии с автономным режимом памяти для перевода памяти, которая блокируется пользовательским процессом, в автономный режим, благодаря чему реализуется «горячая» замена памяти, а также устраняются потери системных ресурсов.
В варианте осуществления настоящего изобретения, при необходимости, если пользовательский процесс запрашивает разблокировку заблокированной памяти, как изображено на Фиг.1С, то способ 100 в соответствии с вариантом осуществления настоящего изобретения дополнительно включает в себя следующие этапы:
S190: Прием запроса на разблокировку, который отправляется пользовательским процессом, причем запрос на разблокировку используется для запроса разблокировки памяти.
S195: В соответствии с запросом на разблокировку, если маркер автономного режима памяти указывает режим переноса, то осуществляется повторный перенос памяти на узел, на котором выполняется пользовательский процесс.
То есть в процессе, в котором пользовательский процесс активно запрашивает разблокировку заблокированной памяти, если маркер автономного режима памяти указывает на то, что автономный режим памяти является режимом переноса, то перед разблокировкой заблокированной памяти ядро может запросить локальную память для повторного переноса заблокированной памяти на узел, на котором выполняется пользовательский процесс. В случае, когда заблокированная память имеет автономный режим, являющийся режимом по умолчанию, режимом уведомления или режимом принудительной разблокировки, ядро может напрямую разблокировать заблокированную память в соответствии с приложением пользовательского процесса. К примеру, в данном случае, когда заблокированная память имеет маркер автономного режима «MIGRATE» («ПЕРЕНОС»), перед разблокировкой память повторно переносится на узел, на котором выполняется пользовательский процесс, что может дополнительно повысить рабочие характеристики системы.
Следует отметить, что последовательные номера вышеупомянутых этапов не подразумевают последовательность выполнения, при этом последовательность выполнения этапов должна быть определена в соответствии с функциями и внутренней логикой, при этом она в любом случае не предназначается для ограничения процесса реализации варианта осуществления настоящего изобретения.
Исходя из вышесказанного, в способе управления памятью вычислительной системы в соответствии с вариантом осуществления настоящего изобретения, посредством взаимодействия между ядром и пользовательским процессом, а также посредством установки автономного режима для памяти, ядро может соответствующим образом перевести память в автономный режим в соответствии с автономным режимом памяти для перевода памяти, которая блокируется пользовательским процессом, в автономный режим, благодаря чему реализуется «горячая» замена памяти, улучшаются рабочие характеристики системы, а также устраняются потери системных ресурсов.
Далее со ссылкой на конкретные варианты осуществления, изображенные на Фиг.2-5, будет подробно описан способ изменения автономного режима памяти, способ блокировки памяти, способ перевода заблокированной памяти в автономный режим и способ разблокировки памяти в соответствии с вариантами осуществления настоящего изобретения.
Как изображено на Фиг.2, способ 200 установки автономного режима памяти в соответствии с вариантом осуществления настоящего изобретения включает в себя следующие этапы:
S201: Пользовательский процесс запрашивает память А в соответствии с требованием пользовательского процесса.
S202: Ядро выделяет память для пользовательского процесса в соответствии с запросом на выделение, который отправляется пользовательским процессом, и устанавливает маркер автономного режима для памяти, причем маркер автономного режима используется для указания автономного режима памяти. При необходимости ядро задает маркер PG_flag автономного режима памяти значение режима по умолчанию «DEFAULT» («ПО УМОЛЧАНИЮ»), то есть PG_flag = DEFAULT («ПО УМОЛЧАНИЮ»).
При необходимости после того, как пользовательский процесс запросил и получил память A, пользовательский процесс может установить автономный режим памяти А при помощи интерфейса, обеспеченного ядром, причем автономный режим включает в себя режим по умолчанию, режим переноса, режим уведомления и режим принудительной разблокировки.
S203: Пользовательский процесс отправляет запрос на изменение к ядру для запроса изменения автономного режима памяти, причем запрос на изменение включает в себя информацию о режиме для указания автономного режима, который устанавливается пользовательским процессом для памяти, при этом информации о режиме является, к примеру, параметром «BEHAVIOR» («РЕЖИМ»).
S204: Ядро определяет автономный режим, который устанавливается пользовательским процессом для памяти А посредством анализа информации о режиме, такой как параметр «BEHAVIOR» («РЕЖИМ»), которая передается пользовательским процессом.
Если автономный режим, который устанавливается пользовательским процессом для памяти A, является режимом по умолчанию, то процесс переходит на этап S205; а если автономный режим, который устанавливается пользовательским процессом для памяти A, не является режимом по умолчанию, то процесс переходит на этап S206, S207 или S208. В частности, если автономный режим, который устанавливается пользовательским процессом для памяти A, является режимом переноса, то процесс переходит на этап S206; если автономный режим, который устанавливается пользовательским процессом для памяти A, является режимом уведомления, то процесс переходит на этап S207; а если автономный режим, который устанавливается пользовательским процессом для памяти A, является режимом принудительной разблокировки, то процесс переходит на этап S208.
S205: Ядро присваивает маркеру автономного режима памяти значение «DEFAULT» («ПО УМОЛЧАНИЮ»), то есть PGflag = «DEFAULT» («ПО УМОЛЧАНИЮ»). При этом автономный режим памяти А, который устанавливается пользовательским процессом, является режимом по умолчанию, и процесс установки автономного режима памяти A завершается.
S206: Ядро присваивает маркеру автономного режима памяти A значение «MIGRATE» («ПЕРЕНОС»), то есть PG_flag = «MIGRATE» («ПЕРЕНОС»). При этом автономный режим памяти А, устанавливаемый пользовательским процессом, является режимом переноса, и процесс установки автономного режима для памяти A завершается.
S207: Ядро присваивает маркеру автономного режима памяти A значение «NOTIFY» («УВЕДОМЛЕНИЕ»), то есть PG_flag = «NOTIFY» («УВЕДОМЛЕНИЕ»). При этом автономный режим памяти А, устанавливаемый пользовательским процессом, является режимом уведомления, и процесс установки автономного режима для памяти A завершается.
S208: Ядро присваивает маркеру автономного режима памяти A значение «UNLOCK» («РАЗБЛОКИРОВКА»), то есть PG_flag = «UNLOCK» («РАЗБЛОКИРОВКА»). При этом автономный режим памяти А, который устанавливается пользовательским процессом, является режимом принудительной разблокировки, и процесс установки автономного режима для памяти A завершается.
Следует отметить, что последовательные номера вышеупомянутых этапов не подразумевают последовательность выполнения, при этом последовательность выполнения этапов должна быть определена в соответствии с функциями и внутренней логикой, при этом она в любом случае не предназначается для ограничения процесса реализации варианта осуществления настоящего изобретения.
Исходя из вышесказанного, посредством взаимодействия между ядром и пользовательским процессом, а также посредством установки автономного режима для памяти, ядро может соответствующим образом заблокировать память и перевести память в автономный режим в соответствии с автономным режимом памяти для перевода памяти, которая блокируется пользовательским процессом, в автономный режим.
Фиг.3 схематически изображает блок-схему последовательности операций способа 300 для блокировки памяти в соответствии с вариантом осуществления настоящего изобретения. Как изображено на Фиг.3, способ 300 включает в себя следующие этапы:
S301: Пользовательский процесс в соответствии с требованием может запросить ядро о блокировке памяти A.
S302: Ядро определяет автономный режим, который устанавливается для памяти А, посредством анализа маркера PG_flag автономного режима памяти A.
Если ядро определяет, автономный режим памяти A является режимом по умолчанию, то есть PG_flag = «DEFAULT» («ПО УМОЛЧАНИЮ»), то процесс переходит на этап S303; а если ядро определяет, автономный режим памяти A не является режимом по умолчанию, то есть PG_flag ≠ «DEFAULT» («ПО УМОЛЧАНИЮ»), то процесс переходит на этап S305, S309 или S310. В частности, если ядро определяет, автономный режим памяти A является режимом переноса, то есть PG_flag = «MIGRATE» («ПЕРЕНОС»), то процесс переходит на этап S305; если ядро определяет, что автономный режим памяти A является режимом уведомления, то есть PG_flag = «NOTIFY» («УВЕДОМЛЕНИЕ»), то процесс переходит на этап S309; а если ядро определяет, что автономный режим памяти A является режимом принудительной разблокировки, то есть PG_flag = «UNLOCK» («РАЗБЛОКИРОВКА»), то процесс переходит на этап S310.
S303: Ядро определяет конфигурацию или требования вычислительной системы. Если ядро определяет, что вычислительной системе требуется выполнение системы, то процесс переходит на этап S304; а если вычислительной системе требуется выполнение «горячей» замены, то процесс переходит на этап S305.
S304: Если автономный режим памяти A является режимом по умолчанию, то ядро блокирует память A и присваивает маркеру автономного режима памяти значение «DEFAULT» («ПО УМОЛЧАНИЮ»), то есть PG_flag = «DEFAULT» («ПО УМОЛЧАНИЮ»). При этом автономный режим памяти А является режимом по умолчанию, и процесс блокировки памяти A завершается.
S305: Если автономный режим памяти A является режимом переноса, то ядро повторно запрашивает память В в намеченной области системы, причем намеченная область является не переносимой областью памяти и в общем ограничивается на основном узле.
S306: Ядро переносит память А в память B и отключает память A.
S307: Ядро определяет, была ли память A перенесена успешно. Если память A была перенесена успешно, то процесс переходит на этап S308; в противном случае процесс переходит на этап S304.
S308: Ядро блокирует память B, устанавливает маркер PG_flag автономного режима для памяти B и присваивает маркеру автономного режима значение «MIGRATE» («ПЕРЕНОС»), то есть PG_flag = «MIGRATE» («ПЕРЕНОС»). При этом автономный режим памяти А является режимом переноса, и процесс блокировки памяти A завершается.
S309: Если автономный режим памяти A является режимом уведомления, то ядро блокирует память A. При этом автономный режим памяти А является режимом уведомления, и процесс блокировки памяти A завершается.
S310: Если автономный режим памяти A является режимом принудительной разблокировки, то ядро блокирует память A. При этом автономный режим памяти А является режимом принудительной разблокировки, и процесс блокировки памяти A завершается.
Следует отметить, что последовательные номера вышеупомянутых этапов не подразумевают последовательность выполнения, при этом последовательность выполнения этапов должна быть определена в соответствии с функциями и внутренней логикой, при этом она в любом случае не предназначается для ограничения процесса реализации варианта осуществления настоящего изобретения.
Фиг.4 схематически изображает блок-схему последовательности операций способа 400 перевода заблокированной памяти в автономный режим в соответствии с вариантом осуществления настоящего изобретения. Как изображено на Фиг.4, способ 400 включает в себя следующие этапы:
S401: Ядро определяет перевод памяти А в автономный режим в соответствии с требованием.
S402: Ядро определяет автономный режим, который устанавливается для памяти А, посредством анализа маркера PG_flag автономного режима памяти A.
Если ядро определяет, что автономный режим памяти A является режимом по умолчанию, то есть PGflag = «DEFAULT» («ПО УМОЛЧАНИЮ»), то процесс переходит на этап S403; а если ядро определяет, что автономный режим памяти A не является режимом по умолчанию, то есть PG_flag ≠ «DEFAULT» («ПО УМОЛЧАНИЮ»), то процесс переходит на этап S403, S406 или S408. В частности, если ядро определяет, что автономный режим памяти A является режимом переноса, то есть PG_flag = «MIGRATE» («ПЕРЕНОС»), то процесс переходит на этап S403; если ядро определяет, что автономный режим памяти A является режимом уведомления, то есть PG_flag = «NOTIFY» («УВЕДОМЛЕНИЕ»), то процесс переходит на этап S406; а если ядро определяет, что автономный режим памяти A является режимом принудительной разблокировки, то есть PG_flag = «UNLOCK» («РАЗБЛОКИРОВКА»), то процесс переходит на этап S408.
S403: Если автономный режим памяти A является режимом по умолчанию или режимом переноса, то ядро ожидает разблокировки памяти пользовательским процессом.
S404: Ядро проверяет, была ли память A разблокирована пользовательским процессом. Если память A была разблокирована, то процесс переходит на этап S405; в противном случае процесс переходит на этап S403, то есть ядро продолжает ожидать разблокировки памяти А.
S405: Если память A была разблокирована пользовательским процессом, то ядро переносит память A. Следует отметить, что перенос памяти A является переносом памяти А в другие элементы памяти. Для новой памяти после переноса ядро может установить маркер автономного режима новой памяти со значением «DEFAULT» («ПО УМОЛЧАНИЮ»), то есть PG_flag = «DEFAULT» («ПО УМОЛЧАНИЮ»). При этом автономный режим памяти А является режимом по умолчанию или режимом переноса, и процесс перевода памяти А в автономный режим завершается.
S406: Если автономный режим памяти A является режимом уведомления, то ядро побуждает пользовательский процесс к разблокировке памяти и переносит память А после разблокировки памяти A пользовательским процессом. То есть в случае, когда автономный режим памяти A является режимом уведомления, процесс переходит с этапа S406 на этап S404, S405 и S407.
S407: После переноса памяти A ядро побуждает пользовательский процесс к блокировке новой памяти после переноса. Для новой памяти после переноса ядро может установить маркер автономного режима новой памяти со значением «NOTIFY» («УВЕДОМЛЕНИЕ»), то есть PG_flag = «NOTIFY» («УВЕДОМЛЕНИЕ»). При этом автономный режим памяти А является режимом уведомления, и процесс перевода памяти А в автономный режим завершается.
S408: Если автономный режим памяти A является режимом принудительной разблокировки, то ядро осуществляет разблокировку памяти A.
S409: Ядро проверяет, была ли память A разблокирована успешно. Если память A была разблокирована, то процесс переходит на этап S410; в противном случае процесс переходит на этап S408, то есть ядро продолжает осуществлять разблокировку памяти A.
S410: После разблокировки памяти A ядро переносит память A, к примеру ядро переносит память А в память B.
S411: Ядро блокирует новую память B и устанавливает маркер автономного режима для новой памяти B для идентификации того, что автономный режим новой памяти В является режимом принудительной разблокировки, то есть значением, присвоенным маркеру автономного режима, является значение «UNLOCK» («РАЗБЛОКИРОВКА»), то есть PG_flag = «UNLOCK» («РАЗБЛОКИРОВКА»). При этом автономный режим памяти А является режимом принудительной разблокировки, и процесс перевода памяти А в автономный режим завершается.
Фиг.5 схематически изображает блок-схему последовательности операций способа 500 разблокировки памяти в соответствии с вариантом осуществления настоящего изобретения. Как изображено на Фиг.5, способ 500 включает в себя следующие этапы:
S501: Пользовательский процесс запрашивает ядро о разблокировке заблокированной памяти A.
S502: Ядро определяет автономный режим памяти А посредством анализа маркера автономного режима памяти A.
Если ядро определяет, что автономный режим памяти A является режимом по умолчанию, то есть PG_flag = = «DEFAULT» («ПО УМОЛЧАНИЮ»), то процесс переходит на этап S504; а если ядро определяет, что автономный режим памяти A не является режимом по умолчанию, то есть PGflag ≠ «DEFAULT» («ПО УМОЛЧАНИЮ»), то процесс переходит на этап S503 или S504. В частности, если ядро определяет, что автономный режим памяти A является режимом переноса, то есть PG_flag = «MIGRATE» («ПЕРЕНОС»), то процесс переходит на этап S503 и S504; а если ядро определяет, что в автономный режим памяти A является режимом уведомления, то есть PG_flag = «NOTIFY» («УВЕДОМЛЕНИЕ»); или режимом принудительной разблокировки, то есть PG_flag = «UNLOCK» («РАЗБЛОКИРОВКА»), то процесс переходит непосредственно на этап S504.
S503: Ядро повторно переносит память на узел, на котором выполняется пользовательский процесс, для дополнительного повышения рабочих характеристик системы.
S504: Ядро осуществляет разблокировку памяти A. При этом процесс разблокировки памяти А, которая блокируется пользовательским процессом, завершается.
Следует отметить, что последовательные номера вышеупомянутых этапов не подразумевают последовательность выполнения, при этом последовательность выполнения этапов должна быть определена в соответствии с функциями и внутренней логикой, при этом она в любом случае не предназначается для ограничения процесса реализации варианта осуществления настоящего изобретения.
Исходя из вышесказанного, в способе управления памятью вычислительной системы в соответствии с вариантом осуществления настоящего изобретения, посредством взаимодействия между ядром и пользовательским процессом, а также посредством установки автономного режима для памяти, ядро может соответствующим образом перевести память в автономный режим в соответствии с автономным режимом памяти для перевода памяти, которая блокируется пользовательским процессом, в автономный режим, благодаря чему реализуется «горячая» замена памяти, повышаются рабочие характеристики системы, а также устраняются потери системных ресурсов.
Выше со ссылкой на Фиг.1А-5 был подробно описан способ управления памятью вычислительной системы в соответствии с вариантами осуществления настоящего изобретения, а ниже, со ссылкой на Фиг.6-12, будет подробно описываться блок управления памятью и вычислительная система в соответствии с вариантами осуществления настоящего изобретения.
Фиг.6 схематически изображает блок-схему блока 700 управления памятью в соответствии с вариантом осуществления настоящего изобретения. Как изображено на Фиг.6, блок 700 управления памятью включает в себя: первый приемный модуль 710, выполненный с возможностью приема запроса на выделение, отправляемого пользовательским процессом, причем запрос на выделение используется для запроса выделения памяти вычислительной системы для пользовательского процесса; модуль 720 выделения, выполненный с возможностью выделения памяти для пользовательского процесса в соответствии с запросом на выделение, который принимается первым приемным модулем 710, и для установки маркера автономного режима для памяти, причем маркер автономного режима используется для указания автономного режима памяти; второй приемный модуль 730, приема запроса на блокировку, отправляемого пользовательским процессом, причем запрос на блокировку используется для запроса блокировки памяти вычислительной системы; модуль 740 блокировки, блокировки памяти в соответствии с запросом на блокировку, который принимается вторым приемным модулем 730, а также в соответствии с маркером автономного режима памяти; и модуль 750 перевода в автономный режим, перевода памяти, которая блокируется модулем блокировки, в автономный режим в соответствии с маркером автономного режима памяти.
В блоке управления памятью в соответствии с вариантом осуществления настоящего изобретения посредством взаимодействия между ядром и пользовательским процессом, а также посредством установки автономного режима для памяти, ядро может соответствующим образом перевести память в автономный режим в соответствии с автономным режимом памяти, для перевода памяти, которая блокируется пользовательским процессом, в автономный режим, благодаря чему реализуется «горячая» замена памяти, повышаются рабочие характеристики системы, а также устраняются потери системных ресурсов.
При необходимости в варианте осуществления настоящего изобретения автономный режим или автономная политика может включать в себя по меньшей мере один из следующих режимов: режим «DEFAULT» («ПО УМОЛЧАНИЮ»), режим «MIGRATE» («ПЕРЕНОС»), режим «NOTIFY» («УВЕДОМЛЕНИЕ») и режим «UNLOCK» (принудительная «РАЗБЛОКИРОВКА»). При необходимости автономный режим включает в себя режим по умолчанию, режим переноса, режим уведомления и режим принудительной разблокировки.
При необходимости в варианте осуществления настоящего изобретения, как изображено на Фиг.7, блок 700 управления памятью дополнительно включает в себя: третий приемный модуль 760, выполненный с возможностью приема запроса на изменение, который включает в себя информацию о режиме и отправляется посредством пользовательского процесса, причем информация о режиме указывает автономный режим, который устанавливается посредством пользовательского процесса для памяти; и модуль 770 изменения, выполненный с возможностью изменения маркера автономного режима памяти в соответствии с информацией о режиме, которая принимается третьим приемным модулем 760, для указания автономного режима, который устанавливается пользовательским процессом.
При необходимости в варианте осуществления настоящего изобретения, как изображено на Фиг.7, блок 700 управления памятью дополнительно включает в себя: модуль 780 определения, выполненный с возможностью повторного определения автономного режима памяти в соответствии с требованием вычислительной системы, и изменения маркера автономного режима памяти для указания повторно определенного автономного режима в случае, когда автономный режим памяти является режимом по умолчанию.
При необходимости, как изображено на Фиг.8, блок 700 управления памятью дополнительно включает в себя: четвертый приемный модуль 790, выполненный с возможностью приема запроса на разблокировку, отправляемого пользовательским процессом, причем запрос на разблокировку используется для запроса разблокировки памяти; и модуль 795 повторного переноса, выполненный с возможностью повторного переноса памяти на узел, на котором выполняется пользовательский процесс в соответствии с запросом на разблокировку, который принимается четвертым приемным модулем, и в случае, когда маркер автономного режима памяти указывает режим переноса.
В варианте осуществления настоящего изобретения, как изображено на Фиг.9, модуль 740 блокировки в соответствии с вариантом осуществления настоящего изобретения, может включать в себя: первый подмодуль 741 блокировки, выполненный с возможностью блокировки памяти, когда маркер автономного режима памяти указывает режим по умолчанию, режим уведомления или режим принудительной разблокировки; и второй подмодуль 742 блокировки, выполненный с возможностью переноса памяти, когда маркер автономного режима памяти указывает режим переноса, если память перенесена успешно, блокировки перенесенной памяти и установки маркера автономного режима, указывающего режим переноса, для перенесенной памяти; а в случае, если память была перенесена неудачно, для блокировки памяти и изменения маркера автономного режима памяти для указания режима по умолчанию.
При необходимости, как изображено на Фиг.10, модуль 750 перевода в автономный режим включает в себя: первый подмодуль 751 перевода в автономный режим, выполненный с возможностью ожидания разблокировки памяти, когда маркер автономного режима памяти указывает режим по умолчанию или режим переноса, а также для переноса памяти после разблокировки памяти; второй подмодуль 752 перевода в автономный режим, выполненный с возможностью побуждения пользовательского процесса к разблокировке памяти, когда маркер автономного режима памяти указывает режим уведомления, переноса памяти после разблокировки памяти, и побуждения пользовательского процесса к блокировке перенесенной памяти после переноса памяти; и третий подмодуль 753 перевода в автономный режим, выполненный с возможностью разблокировки памяти, когда маркер автономного режима памяти указывает режим принудительной разблокировки, переноса памяти после разблокировки памяти, блокировки перенесенной памяти, и установки для перенесенной памяти маркера автономного режима, указывающего режим принудительной разблокировки.
При необходимости, как изображено на Фиг.11, модуль 780 определения включает в себя: первый подмодуль 781 определения, выполненный с возможностью определения автономного режима памяти в качестве режима по умолчанию, когда вычислительная система требует выполнения работы системы; и второй подмодуль 782 определения, выполненный с возможностью определения автономного режима памяти в качестве режима переноса, когда вычислительная система требует выполнения «горячей» замены.
Блок 700 управления памятью в соответствии с вариантом осуществления настоящего изобретения, может представлять собой ядро или операционную систему в способе в соответствии с вариантами осуществления настоящего изобретения, причем вышеперечисленные и другие операции и/или функции каждого модуля в блоке 700 управления памятью соответствующим образом обеспечиваются для реализации соответствующих этапов способов 100-500 на Фиг.1А-5, которые в целях упрощения далее не будут описаны повторно.
В блоке управления памятью в соответствии с вариантом осуществления настоящего изобретения, посредством взаимодействия между ядром и пользовательским процессом, а также посредством установки автономного режима для памяти, ядро может соответствующим образом перевести память в автономный режим в соответствии с автономным режимом памяти для перевода памяти, которая блокируется пользовательским процессом, в автономный режим, благодаря чему реализуется «горячая» замена памяти, повышаются рабочие характеристики системы, а также устраняются потери системных ресурсов.
Фиг.12 схематически изображает блок-схему вычислительной системы 800 в соответствии с вариантом осуществления настоящего изобретения. Как изображено на Фиг.12, вычислительная система включает в себя по меньшей мере одну память 810 и блок 820 управления памятью в соответствии с вариантом осуществления настоящего изобретения, причем блок 820 управления памятью конфигурируется для управления по меньшей мере одной памятью 810 и может включать в себя: первый приемный модуль, выполненный с возможностью приема запроса на выделение, отправляемого пользовательским процессом, причем запрос на выделение используется для запроса выделения памяти вычислительной системы для пользовательского процесса; модуль выделения, выполненный с возможностью выделения памяти для пользовательского процесса в соответствии с запросом на выделение, который принимается первым приемным модулем, и установки маркера автономного режима для памяти, причем маркер автономного режима используется для указания автономного режима памяти; второй приемный модуль, выполненный с возможностью приема запроса на блокировку, который отправляется пользовательским процессом, причем запрос на блокировку используется для запроса блокировки памяти вычислительной системы; модуль блокировки, выполненный с возможностью блокировки памяти в соответствии с запросом на блокировку, принимаемого вторым приемным модулем, и маркером автономного режима памяти; и модуль перевода в автономный режим, выполненный с возможностью перевода памяти, которая блокируется модулем блокировки, в автономный режим в соответствии с маркером автономного режима памяти.
При необходимости в варианте осуществления настоящего изобретения автономный режим включает в себя по меньшей мере один из режима по умолчанию, режима переноса, режима уведомления и режима принудительной разблокировки. При необходимости блок 820 управления памятью дополнительно включает в себя: третий приемный модуль, выполненный с возможностью приема запроса на изменение, который включает в себя информацию о режиме и отправляется пользовательским процессом, причем информация о режиме указывает автономный режим, который устанавливается пользовательским процессом для памяти; и модуль изменения, выполненный с возможностью изменения маркера автономного режима памяти в соответствии с информацией о режиме, которая принимается третьим приемным модулем, для указания автономного режима, который устанавливается пользовательским процессом.
При необходимости блок 820 управления памятью дополнительно включает в себя: модуль определения, выполненный с возможностью повторного определения автономного режима памяти в соответствии с требованием вычислительной системы, и изменения маркера автономного режима памяти для указания повторно определенного автономного режима в случае, когда автономный режим памяти является режимом по умолчанию.
При необходимости блок 820 управления памятью дополнительно включает в себя: четвертый приемный модуль, выполненный с возможностью приема запроса на разблокировку, который отправляется пользовательским процессом, причем запрос на разблокировку используется для запроса разблокировки памяти; и модуль повторного переноса, выполненный с возможностью повторного переноса памяти на узел, на котором выполняется пользовательский процесс в соответствии с запросом на разблокировку, который принимается четвертым приемным модулем, когда маркер автономного режима памяти указывает режим переноса.
При необходимости в варианте осуществления настоящего изобретения модуль блокировки включает в себя: первый подмодуль блокировки, выполненный с возможностью блокировки памяти, когда маркер автономного режима памяти указывает режим по умолчанию, режим уведомления или режим принудительной разблокировки; и второй подмодуль блокировки, выполненный с возможностью переноса памяти, когда маркер автономного режима памяти указывает режим переноса, если память перенесена успешно, для блокировки перенесенной памяти и установки для перенесенной памяти маркера автономного режима, указывающего режим переноса; а в случае, если память была перенесена неудачно, для блокировки памяти и изменения маркера автономного режима памяти для указания режима по умолчанию.
При необходимости в варианте осуществления настоящего изобретения модуль перевода в автономный режим включает в себя: первый подмодуль перевода в автономный режим, выполненный с возможностью ожидания разблокировки памяти, когда маркер автономного режима памяти указывает режим по умолчанию или режим переноса, а также для переноса памяти после разблокировки памяти; второй подмодуль перевода в автономный режим, выполненный с возможностью побуждения пользовательского процесса к разблокировке памяти, когда маркер автономного режима памяти указывает режим уведомления, переноса памяти после разблокировки памяти, и побуждения пользовательского процесса к блокировке перенесенной памяти после переноса памяти; и третий подмодуль перевода в автономный режим, выполненный с возможностью разблокировки памяти, когда маркер автономного режима памяти указывает режим принудительной разблокировки, переноса памяти после разблокировки памяти, блокировки перенесенной памяти, и установки для перенесенной памяти маркера автономного режима, указывающего режим принудительной разблокировки.
Блок 820 управления памятью в соответствии с вариантом осуществления настоящего изобретения может являться аналогичным блоку 700 управления памятью в устройстве в соответствии с вариантом осуществления настоящего изобретения, причем вышеперечисленные и другие операции и/или функции каждого модуля в блоке 820 управления памятью соответствующим образом обеспечиваются для реализации соответствующих этапов способов 100-500 на Фиг.1А-5, которые в целях упрощения далее не будут описаны повторно.
В вычислительной системе в соответствии с вариантом осуществления настоящего изобретения, посредством взаимодействия между ядром и пользовательским процессом, а также посредством установки автономного режима для памяти, ядро может соответствующим образом перевести память в автономный режим в соответствии с автономным режимом памяти, для перевода памяти, которая блокируется пользовательским процессом, в автономный режим, благодаря чему реализуется «горячая» замена памяти, повышаются рабочие характеристики системы, а также устраняются потери системных ресурсов.
Следует отметить, что заблокированная память в вариантах осуществления настоящего изобретения не ограничивается заблокированной памятью, запрашиваемой пользовательским процессом, а также что заблокированная память для других целей также может быть переведена в автономный режим при помощи решения в соответствии с вариантами осуществления настоящего изобретения. Кроме того, политика переноса в автономной политике для заблокированной памяти не ограничивается решением, которое формулируется пользовательским процессом и выполняется ядром, при этом политика переноса может заключаться в том, что пользовательский процесс определяет память для запроса для переноса в специальную область памяти, благодаря чему реализуется требование перевода памяти в автономный режим без переноса.
Специалистам в данной области техники должно быть понятно, что блоки и этапы алгоритма примеров, описанных в сочетании с раскрытыми в данном документе вариантами осуществления, могут быть реализованы электронными аппаратными средствами, программными средствами или их сочетанием. Для четкого описания взаимозаменяемости между аппаратными и программными средствами, композиции и этапы каждого примера, в целом, были описаны выше в соответствии с функциями. Выполнение функции либо аппаратными средствами, либо программными средствами зависит от конкретных вариантов использования и условий конструктивных ограничений. Специалисты в данной области техники могут использовать различные способы для реализации описанных функций для каждого конкретного варианта использования, при этом нельзя считать, что вариант реализации выходит за пределы объема настоящего изобретения.
Специалистам в данной области техники должно быть понятно, что для удобства и краткости описания подробного рабочего процесса вышеупомянутой системы, устройства и блока, может быть упомянут соответствующий процесс в вариантах осуществления способа, при этом подробности не должны быть описаны повторно.
В некоторых вариантах осуществления, представленных в настоящем документе, следует подразумевать, что раскрытая система, устройство и способ могут быть реализованы другими способами. К примеру, описанные варианты осуществления устройства попросту являются иллюстративными. К примеру, деление блока попросту является логическим функциональным делением, при этом в конкретном варианте реализации оно может являться делением другого типа. К примеру, множество блоков или компонентов могут быть объединены или интегрированы в другую систему, или же некоторые отличительные признаки могут быть проигнорированы или не выполнены. Помимо всего прочего, изображенная или обсуждаемая связь, прямая связь или коммуникационное соединение может быть осуществлена посредством опосредованной связи или соединения передачи данных между некоторыми интерфейсами, устройствами или блоками, или же может являться электрической, механической или иметь другую форму.
Блоки, описанные в качестве отдельных компонентов, могут быть физически разделены. Компоненты, изображенные в качестве блоков, могут являться физическими блоками, то есть могут быть интегрированы или распределены среди множества сетевых блоков. Некоторые или все блоки могут быть выбраны для достижения цели решения варианта осуществления в соответствии с фактическими требованиями.
Кроме того, функциональные блоки в вариантах осуществления настоящего изобретения могут быть либо интегрированы в процессорном модуле, либо каждый из них может являться отдельным физическим блоком; в альтернативном варианте два и более блоков интегрируются в одном блоке. Интегрированные блоки могут быть реализованы при помощи аппаратных или программных функциональных блоков.
Если реализация осуществляется в виде программных функциональных блоков, а продажа или использование осуществляется в качестве независимого продукта, то интегрированные блоки также могут быть сохранены на машиночитаемом носителе. На основании такого подхода техническое решение настоящего изобретения или части, которая вносит свой вклад в уровень техники, или полное или часть технического решения, по существу могут быть реализованы в виде программного продукта. Компьютерный программный продукт сохраняется на носителе и включает в себя несколько команд, побуждающих компьютерное оборудование (такое как, персональный компьютер, сервер или сетевое оборудование) к выполнению всех или части этапов способа, описанного в вариантах осуществления настоящего изобретения. Носитель включает в себя различные среды с функцией хранения программных кодов, такие как флэш-память USB, переносной жесткий диск, постоянную память (ROM), оперативную память (RAM), магнитный или оптический диск.
Вышеприведенное описание представляет лишь конкретные варианты осуществления настоящего изобретения, при этом объем правовой охраны настоящего изобретения не ограничивается ими. Любая равноценная модификация или замена, легко осуществимая специалистами в данной области техники в пределах технического объема настоящего изобретения, должна находиться в пределах объема правовой охраны настоящего изобретения. Исходя из вышесказанного, объем правовой охраны настоящего изобретения определяется приложенной формулой изобретения.

Claims (25)

1. Способ управления памятью вычислительной системы, содержащий этапы, на которых:
принимают запрос на выделение, отправляемый пользовательским процессом, причем запрос на выделение используется для запроса выделения памяти вычислительной системы для пользовательского процесса;
выделяют память для пользовательского процесса в соответствии с запросом на выделение;
устанавливают маркер автономного режима для памяти, причем маркер автономного режима указывает автономный режим памяти;
принимают запрос на блокировку, отправляемый пользовательским процессом, причем запрос на блокировку используется для запроса блокировки памяти;
блокируют память в соответствии с запросом на блокировку и маркером автономного режима памяти; и
переводят память в автономный режим в соответствии с автономным режимом, указанным в маркере автономного режима памяти, когда требуется перевести память в автономный режим.
2. Способ по п. 1, дополнительно содержащий этапы, на которых:
принимают запрос на изменение, который включает в себя информацию о режиме и отправляется пользовательским процессом, причем информация о режиме указывает автономный режим, который устанавливается для памяти пользовательским процессом; и
изменяют в соответствии с информацией о режиме маркер автономного режима памяти для указания автономного режима, который устанавливается пользовательским процессом.
3. Способ по п. 1, в котором автономный режим содержит по меньшей мере один из режима по умолчанию, режима переноса, режима уведомления и режима принудительной разблокировки.
4. Способ по п. 3, дополнительно содержащий этапы, на которых:
повторно определяют более подходящий автономный режим для памяти в соответствии с требованием вычислительной системы, когда автономный режим для памяти является режимом по умолчанию; и
изменяют маркер автономного режима для памяти для указания автономного режима, который был повторно определен.
5. Способ по п. 4, в котором этап повторного определения более подходящего автономного режима для памяти в соответствии с требованием вычислительной системы содержит этапы, на которых:
определяют автономный режим для памяти в качестве режима по умолчанию, когда вычислительная система требует выполнения работы системы; или
определяют автономный режим для памяти в качестве режима переноса, когда вычислительная система требует выполнения «горячей» замены.
6. Способ по любому из пп. 3-5, в котором этап блокировки памяти в соответствии с запросом на блокировку и маркером автономного режима памяти содержит этапы, на которых:
блокируют память, когда маркер автономного режима памяти указывает режим по умолчанию, режим уведомления или режим принудительной разблокировки;
переносят память, когда маркер автономного режима памяти указывает режим переноса;
блокируют перенесенную память, когда маркер автономного режима памяти указывает режим переноса и память была перенесена успешно;
устанавливают для перенесенной памяти маркер автономного режима, указывающий режим переноса, когда маркер автономного режима памяти указывает режим переноса и память была перенесена успешно;
блокируют память, когда маркер автономного режима памяти указывает режим переноса и память была перенесена неудачно; и
изменяют маркер автономного режима памяти для указания режима по умолчанию, когда маркер автономного режима памяти указывает режим переноса и память была перенесена неудачно.
7. Способ по любому из пп. 3-5, в котором этап перевода памяти в автономный режим в соответствии с маркером автономного режима памяти содержит этапы, на которых:
ожидают разблокировки памяти, когда маркер автономного режима памяти указывает режим по умолчанию или режим переноса;
переносят память после разблокировки памяти, когда маркер автономного режима памяти указывает режим по умолчанию или режим переноса;
побуждают пользовательский процесс к разблокировке памяти, когда маркер автономного режима памяти указывает режим уведомления;
переносят память после разблокировки, когда маркер автономного режима памяти указывает режим уведомления;
побуждают пользовательский процесс к блокировке перенесенной памяти после переноса памяти, когда маркер автономного режима памяти указывает режим уведомления;
осуществляют разблокировку памяти, когда маркер автономного режима памяти указывает режим принудительной разблокировки;
переносят память после разблокировки, когда маркер автономного режима памяти указывает режим принудительной разблокировки;
блокируют перенесенную память, когда маркер автономного режима памяти указывает режим принудительной разблокировки; и
устанавливают для перенесенной памяти маркер автономного режима, указывающий режим принудительной разблокировки, когда маркер автономного режима памяти указывает режим принудительной разблокировки.
8. Способ по любому из пп. 3-5, дополнительно содержащий этапы, на которых:
принимают запрос на разблокировку, отправляемый пользовательским процессом, причем запрос на разблокировку используется для запроса разблокировки памяти; и
повторно переносят память на узел, на котором выполняется пользовательский процесс, в соответствии с запросом на разблокировку, когда маркер автономного режима памяти указывает режим переноса.
9. Блок управления памятью, содержащий:
первый приемный модуль, выполненный с возможностью приема запроса на выделение, отправляемого пользовательским процессом, причем запрос на выделение используется для запроса выделения памяти вычислительной системы для пользовательского процесса;
модуль выделения, выполненный с возможностью выделения памяти для пользовательского процесса в соответствии с запросом на выделение, принимаемым первым приемным модулем, и установки маркера автономного режима для памяти, причем маркер автономного режима указывает автономный режим памяти;
второй приемный модуль, выполненный с возможностью приема запроса на блокировку, отправляемого пользовательским процессом, причем запрос на блокировку используется для запроса блокировки памяти вычислительной системы;
модуль блокировки, выполненный с возможностью блокировки памяти в соответствии с запросом на блокировку, принимаемым вторым приемным модулем, и маркером автономного режима памяти; и
модуль перевода в автономный режим, выполненный с возможностью перевода памяти, блокируемой модулем блокировки, в автономный режим в соответствии с автономным режимом, указанным в маркере автономного режима памяти, когда требуется перевести память в автономный режим.
10. Блок управления памятью по п. 9, дополнительно содержащий:
третий приемный модуль, выполненный с возможностью приема запроса на изменение, который включает в себя информацию о режиме и отправляется пользовательским процессом, причем информация о режиме указывает автономный режим, который устанавливается пользовательским процессом для памяти; и
модуль изменения, выполненный с возможностью изменения маркера автономного режима памяти в соответствии с информацией о режиме, принимаемой третьим приемным модулем, для указания автономного режима, который устанавливается пользовательским процессом.
11. Блок управления памятью по п. 9, в котором автономный режим содержит по меньшей мере один из режима по умолчанию, режима переноса, режима уведомления и режима принудительной разблокировки.
12. Блок управления памятью по п. 11, дополнительно содержащий модуль определения, выполненный с возможностью повторного определения более подходящего автономного режима для памяти в соответствии с требованием вычислительной системы и изменения маркера автономного режима памяти для указания автономного режима, который был повторно определен, когда автономный режим для памяти является режимом по умолчанию.
13. Блок управления памятью по п. 12, в котором модуль определения содержит:
первый подмодуль определения, выполненный с возможностью определения того, что автономный режим для памяти является режимом по умолчанию, когда вычислительная система требует выполнения работы системы; или
второй подмодуль определения, выполненный с возможностью определения того, что автономный режим для памяти является режимом переноса, когда вычислительная система требует выполнения «горячей» замены.
14. Блок управления памятью по любому из пп. 11-13, в котором модуль блокировки содержит:
первый подмодуль блокировки, выполненный с возможностью блокировки памяти, когда маркер автономного режима памяти указывает режим по умолчанию, режим уведомления или режим принудительной разблокировки; и
второй подмодуль блокировки, выполненный с возможностью
переноса памяти, когда маркер автономного режима памяти указывает режим переноса;
блокировки перенесенной памяти, если память была перенесена успешно;
установки для перенесенной памяти маркера автономного режима, указывающего режим переноса, когда память была перенесена успешно;
блокировки памяти, когда память была перенесена неудачно; и
изменения маркера автономного режима памяти для указания режима по умолчанию, когда память была перенесена неудачно.
15. Блок управления памятью по любому из пп. 11-13, в котором модуль перевода в автономный режим содержит:
первый подмодуль перевода в автономный режим, выполненный с возможностью ожидания разблокировки памяти, когда маркер автономного режима памяти указывает режим по умолчанию или режим переноса, а также для переноса памяти после разблокировки памяти;
второй подмодуль перевода в автономный режим, выполненный с возможностью побуждения пользовательского процесса к разблокировке памяти, когда маркер автономного режима памяти указывает режим уведомления, переноса памяти после разблокировки памяти, и побуждения пользовательского процесса к блокировке перенесенной памяти после переноса памяти; и
третий подмодуль перевода в автономный режим, выполненный с возможностью разблокировки памяти, когда маркер автономного режима памяти указывает режим принудительной разблокировки, переноса памяти после разблокировки памяти, блокировки перенесенной памяти, и установки для перенесенной памяти маркера автономного режима, указывающего режим принудительной разблокировки.
16. Блок управления памятью по любому из пп. 11-13, дополнительно содержащий:
четвертый приемный модуль, выполненный с возможностью приема запроса на разблокировку, отправляемого пользовательским процессом, причем запрос на разблокировку используется для запроса разблокировки памяти; и
модуль повторного переноса, выполненный с возможностью повторного переноса памяти на узел, на котором выполняется пользовательский процесс в соответствии с запросом на разблокировку, принимаемым четвертым приемным модулем, когда маркер автономного режима памяти указывает режим переноса.
17. Вычислительная система, содержащая:
по меньшей мере одну память; и
процессор, соединенный с памятью и выполненный с возможностью:
приема запроса на выделение, отправляемого пользовательским процессом, причем запрос на выделение используется для запроса выделения памяти вычислительной системы для пользовательского процесса;
выделения памяти для пользовательского процесса в соответствии с запросом на выделение;
установки маркера автономного режима для памяти, причем маркер автономного режима указывает автономный режим памяти;
приема запроса на блокировку, отправляемого пользовательским процессом, причем запрос на блокировку используется для запроса блокировки памяти;
блокировки памяти в соответствии с запросом на блокировку и маркером автономного режима памяти; и
перевода памяти в автономный режим в соответствии с автономным режимом, указанным в маркере автономного режима памяти, когда требуется перевести память в автономный режим.
18. Система по п. 17, в которой процессор дополнительно выполнен с возможностью:
приема запроса на изменение, который включает в себя информацию о режиме и отправляется пользовательским процессом, причем информация о режиме указывает автономный режим, который устанавливается для памяти пользовательским процессом; и
изменения в соответствии с информацией о режиме маркера автономного режима памяти для указания автономного режима, который устанавливается пользовательским процессом.
19. Система по п. 17, в которой автономный режим содержит по меньшей мере один из режима по умолчанию, режима переноса, режима уведомления и режима принудительной разблокировки.
20. Система по п. 19, в которой процессор дополнительно выполнен с возможностью:
повторного определения более подходящего автономного режима для памяти в соответствии с требованием вычислительной системы, когда автономный режим для памяти является режимом по умолчанию; и
изменения маркера автономного режима для памяти для указания автономного режима, который был повторно определен.
21. Система по п. 20, в которой на этапе повторного определения автономного режима для памяти в соответствии с требованием вычислительной системы процессор дополнительно выполнен с возможностью:
определения автономного режима для памяти в качестве режима по умолчанию, когда вычислительная система требует выполнения работы системы; или
определения автономного режима для памяти в качестве режима переноса, когда вычислительная система требует выполнения «горячей» замены.
22. Система по любому из пп. 19-21, в которой на этапе блокировки памяти в соответствии с запросом на блокировку и маркером автономного режима памяти процессор дополнительно выполнен с возможностью:
блокировки памяти, когда маркер автономного режима памяти указывает режим по умолчанию, режим уведомления или режим принудительной разблокировки;
переноса памяти, когда маркер автономного режима памяти указывает режим переноса;
блокировки перенесенной памяти, когда маркер автономного режима памяти указывает режим переноса и память была перенесена успешно;
установки для перенесенной памяти маркера автономного режима, указывающего режим переноса, когда маркер автономного режима памяти указывает режим переноса и память была перенесена успешно;
блокировки памяти, когда маркер автономного режима памяти указывает режим переноса и память была перенесена неудачно; и
изменения маркера автономного режима памяти для указания режима по умолчанию, когда маркер автономного режима памяти указывает режим переноса и память была перенесена неудачно.
23. Система по любому из пп. 19-21, в которой на этапе перевода памяти в автономный режим в соответствии с маркером автономного режима памяти процессор дополнительно выполнен с возможностью:
ожидания разблокировки памяти, когда маркер автономного режима памяти указывает режим по умолчанию или режим переноса;
переноса памяти после разблокировки памяти, когда маркер автономного режима памяти указывает режим по умолчанию или режим переноса;
побуждения пользовательского процесса к разблокировке памяти, когда маркер автономного режима памяти указывает режим уведомления;
переноса памяти после разблокировки, когда маркер автономного режима памяти указывает режим уведомления;
побуждения пользовательского процесса к блокировке перенесенной памяти после переноса памяти, когда маркер автономного режима памяти указывает режим уведомления;
осуществления разблокировки памяти, когда маркер автономного режима памяти указывает режим принудительной разблокировки;
переноса памяти после разблокировки, когда маркер автономного режима памяти указывает режим принудительной разблокировки;
блокировки перенесенной памяти, когда маркер автономного режима памяти указывает режим принудительной разблокировки; и
установки для перенесенной памяти маркера автономного режима, указывающего режим принудительной разблокировки, когда маркер автономного режима памяти указывает режим принудительной разблокировки.
24. Система по любому из пп. 19-21, в которой процессор дополнительно выполнен с возможностью:
приема запроса на разблокировку, отправляемого пользовательским процессом, причем запрос на разблокировку используется для запроса разблокировки памяти; и
повторного переноса памяти на узел, на котором выполняется пользовательский процесс в соответствии с запросом на разблокировку, когда маркер автономного режима памяти указывает режим переноса.
25. Постоянный машиночитаемый носитель, имеющий машиноисполняемые команды для выполнения способа, содержащего этапы, на которых:
принимают запрос на выделение, отправляемый пользовательским процессом, причем запрос на выделение используется для запроса выделения памяти вычислительной системы для пользовательского процесса;
выделяют память для пользовательского процесса в соответствии с запросом на выделение;
устанавливают маркер автономного режима для памяти, причем маркер автономного режима указывает автономный режим для памяти;
принимают запрос на блокировку, отправляемый
пользовательским процессом, причем запрос на блокировку используется для запроса блокировки памяти;
блокируют память в соответствии с запросом на блокировку и маркером автономного режима памяти; и
переводят память в автономный режим в соответствии с автономным режимом, указанным в маркере автономного режима памяти, когда требуется перевести память в автономный режим.
RU2013142946/08A 2011-08-31 2011-08-31 Способ управления памятью вычислительной системы, блок управления памятью и вычислительная система RU2565519C2 (ru)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/079202 WO2012083724A1 (zh) 2011-08-31 2011-08-31 管理计算机系统内存的方法、内存管理单元和计算机系统

Publications (2)

Publication Number Publication Date
RU2013142946A RU2013142946A (ru) 2015-03-27
RU2565519C2 true RU2565519C2 (ru) 2015-10-20

Family

ID=45761450

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2013142946/08A RU2565519C2 (ru) 2011-08-31 2011-08-31 Способ управления памятью вычислительной системы, блок управления памятью и вычислительная система

Country Status (8)

Country Link
US (1) US20130246729A1 (ru)
EP (1) EP2642387B1 (ru)
JP (1) JP5636133B2 (ru)
KR (1) KR101532397B1 (ru)
CN (1) CN102369518B (ru)
AU (1) AU2011348864B2 (ru)
RU (1) RU2565519C2 (ru)
WO (1) WO2012083724A1 (ru)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103514164B (zh) * 2012-06-15 2016-12-21 阿里巴巴集团控股有限公司 数据迁移方法及系统
CN105159838B (zh) * 2015-08-27 2018-06-26 华为技术有限公司 访问内存的方法及计算机系统
CN105117295A (zh) * 2015-09-18 2015-12-02 北京金山安全软件有限公司 一种内存资源释放方法、装置及电子设备
CN113688068B (zh) * 2021-10-25 2022-02-15 支付宝(杭州)信息技术有限公司 图数据加载方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2272362C1 (ru) * 2004-09-21 2006-03-20 Военный университет связи Способ управления потоками при передаче пакетов данных
US7107411B2 (en) * 2003-12-16 2006-09-12 International Business Machines Corporation Apparatus method and system for fault tolerant virtual memory management

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0827755B2 (ja) * 1991-02-15 1996-03-21 インターナショナル・ビジネス・マシーンズ・コーポレイション データの単位を高速度でアクセスする方法
US5933847A (en) * 1995-09-28 1999-08-03 Canon Kabushiki Kaisha Selecting erase method based on type of power supply for flash EEPROM
JPH0997205A (ja) * 1995-09-28 1997-04-08 Canon Inc フラッシュrom管理方法及び装置及びコンピュータ制御装置
US6038680A (en) * 1996-12-11 2000-03-14 Compaq Computer Corporation Failover memory for a computer system
US6493796B1 (en) * 1999-09-01 2002-12-10 Emc Corporation Method and apparatus for maintaining consistency of data stored in a group of mirroring devices
JP2001167001A (ja) * 1999-10-28 2001-06-22 Hewlett Packard Co <Hp> 自己回復するメモリ構成
US6823424B2 (en) * 2000-01-26 2004-11-23 Hewlett-Packard Development Company, L.P. Rebuild bus utilization
US6832301B2 (en) * 2001-09-11 2004-12-14 International Business Machines Corporation Method for recovering memory
US6684292B2 (en) * 2001-09-28 2004-01-27 Hewlett-Packard Development Company, L.P. Memory module resync
US7673090B2 (en) * 2001-12-19 2010-03-02 Intel Corporation Hot plug interface control method and apparatus
US7028215B2 (en) * 2002-05-03 2006-04-11 Hewlett-Packard Development Company, L.P. Hot mirroring in a computer system with redundant memory subsystems
US6874076B2 (en) * 2002-09-30 2005-03-29 International Business Machines Corporation Method, system, and computer program product for migrating data from one real page to another
US6947051B2 (en) * 2003-02-18 2005-09-20 Microsoft Corporation Video memory management
US6990545B2 (en) * 2003-04-28 2006-01-24 International Business Machines Corporation Non-disruptive, dynamic hot-plug and hot-remove of server nodes in an SMP
US7380039B2 (en) * 2003-12-30 2008-05-27 3Tera, Inc. Apparatus, method and system for aggregrating computing resources
US7840772B2 (en) * 2004-09-10 2010-11-23 Hewlett-Packard Development Company, L.P. Physical memory control using memory classes
US7467324B1 (en) * 2004-09-30 2008-12-16 Ayaya Inc. Method and apparatus for continuing to provide processing on disk outages
US7222200B2 (en) * 2004-10-14 2007-05-22 Dell Products L.P. Method for synchronizing processors in SMI following a memory hot plug event
CN1811742A (zh) * 2005-01-28 2006-08-02 乐金电子(惠州)有限公司 闪存的界面设备及其方法
US7383412B1 (en) * 2005-02-28 2008-06-03 Nvidia Corporation On-demand memory synchronization for peripheral systems with multiple parallel processors
JP4274140B2 (ja) * 2005-03-24 2009-06-03 日本電気株式会社 ホットスワップ機能付きメモリシステム及びその障害メモリモジュールの交換方法
JP4474648B2 (ja) * 2005-03-25 2010-06-09 日本電気株式会社 メモリシステム及びそのホットスワップ方法
US7437529B2 (en) * 2005-06-16 2008-10-14 International Business Machines Corporation Method and mechanism for efficiently creating large virtual memory pages in a multiple page size environment
US20070083482A1 (en) * 2005-10-08 2007-04-12 Unmesh Rathi Multiple quality of service file system
US7472249B2 (en) * 2006-06-30 2008-12-30 Sun Microsystems, Inc. Kernel memory free algorithm
US20080127182A1 (en) * 2006-11-29 2008-05-29 Newport William T Managing Memory Pages During Virtual Machine Migration
US20080228770A1 (en) * 2007-03-15 2008-09-18 Halcrow Michael A Method for Performing Recoverable Live Context Migration in a Stacked File System
US20090006402A1 (en) * 2007-06-28 2009-01-01 Holger Bohle Methods and systems for the dynamic selection of a locking strategy
KR20090005921A (ko) * 2007-07-10 2009-01-14 삼성전자주식회사 대칭적 다중 프로세서 시스템에서의 로드 밸런싱 방법 및장치
JP2009211132A (ja) * 2008-02-29 2009-09-17 Hitachi Ltd 記憶システム及びデータ移行方法
US9128964B2 (en) * 2008-03-31 2015-09-08 Verizon Patent And Licensing Inc. Selective mapping of integrated data
US8140825B2 (en) * 2008-08-05 2012-03-20 International Business Machines Corporation Systems and methods for selectively closing pages in a memory
JP5120455B2 (ja) * 2008-08-11 2013-01-16 富士通株式会社 ガーベジコレクションプログラム、及びガーベジコレクション方法、ならびにガーベジコレクションシステム
US8200771B2 (en) * 2008-10-10 2012-06-12 International Business Machines Corporation Workload migration using on demand remote paging
JP5338435B2 (ja) * 2009-03-31 2013-11-13 富士通株式会社 情報処理プログラム、情報処理装置および情報処理方法
US8973004B2 (en) * 2009-06-26 2015-03-03 Oracle America, Inc. Transactional locking with read-write locks in transactional memory systems
US8934347B1 (en) * 2009-09-21 2015-01-13 Tilera Corporation Low latency dynamic route selection
US20110161620A1 (en) * 2009-12-29 2011-06-30 Advanced Micro Devices, Inc. Systems and methods implementing shared page tables for sharing memory resources managed by a main operating system with accelerator devices
US8438571B2 (en) * 2010-02-24 2013-05-07 International Business Machines Corporation Thread speculative execution and asynchronous conflict
CN102222037B (zh) * 2010-04-15 2014-04-02 国际商业机器公司 用于定位java程序的瓶颈的方法和设备
US8799904B2 (en) * 2011-01-21 2014-08-05 International Business Machines Corporation Scalable system call stack sampling
US8869172B2 (en) * 2011-09-30 2014-10-21 Quietus Systems Inc. Method and system method and system for exception-less system calls for event driven programs
US9176911B2 (en) * 2012-12-11 2015-11-03 Intel Corporation Explicit flow control for implicit memory registration

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7107411B2 (en) * 2003-12-16 2006-09-12 International Business Machines Corporation Apparatus method and system for fault tolerant virtual memory management
RU2272362C1 (ru) * 2004-09-21 2006-03-20 Военный университет связи Способ управления потоками при передаче пакетов данных

Also Published As

Publication number Publication date
KR20130122692A (ko) 2013-11-07
AU2011348864B2 (en) 2017-05-25
AU2011348864A1 (en) 2013-10-10
EP2642387B1 (en) 2015-07-15
JP2014515145A (ja) 2014-06-26
WO2012083724A1 (zh) 2012-06-28
EP2642387A1 (en) 2013-09-25
CN102369518A (zh) 2012-03-07
KR101532397B1 (ko) 2015-06-29
CN102369518B (zh) 2014-07-09
JP5636133B2 (ja) 2014-12-03
EP2642387A4 (en) 2014-01-22
US20130246729A1 (en) 2013-09-19
RU2013142946A (ru) 2015-03-27

Similar Documents

Publication Publication Date Title
EP2851807B1 (en) Method and system for supporting resource isolation under multi-core architecture
EP3796150B1 (en) Storage volume creation method and apparatus, server, and storage medium
US7650400B2 (en) Dynamic configuration and self-tuning on inter-nodal communication resources in a database management system
JP2013513174A (ja) 仮想マシンのストレージスペースおよび物理ホストを管理するための方法およびシステム
US20140280685A1 (en) Peer-to-peer transcendent memory
US10235047B2 (en) Memory management method, apparatus, and system
RU2565519C2 (ru) Способ управления памятью вычислительной системы, блок управления памятью и вычислительная система
EP4030289A1 (en) Method and device for virtual machine memory management
US11681447B2 (en) Method, device and computer program product of balance of storage space for file system
CN111343262B (zh) 分布式集群登录方法、装置、设备和存储介质
JP5360199B2 (ja) 仮想計算機システム、情報処理装置、コンピュータプログラム及び接続制御方法
CN103500108A (zh) 系统内存访问方法、节点控制器和多处理器系统
KR101535792B1 (ko) 운영체제 구성 장치 및 방법
CN114327862B (zh) 一种内存分配方法、装置、电子设备及存储介质
US20130247065A1 (en) Apparatus and method for executing multi-operating systems
CN103959300A (zh) 反恶意程序系统及该系统中的数据处理方法
KR101436398B1 (ko) 동시접속 라이선스 제어방법 및 시스템
JP2005025289A (ja) 複数計算機間で共有する外部記憶装置におけるデータ保護プログラムおよびデータ保護方法
CN117240706A (zh) Dnat的配置方法、装置、nat网关及存储介质
CN116048787A (zh) 一种异步调用方法及装置
CN115454348A (zh) 一种实现thin卷和thick卷共用存储空间的方法
CN112445428A (zh) 一种硬盘主从垃圾回收方法及装置
JP5294352B2 (ja) シンクライアントシステム、セッション管理装置、セッション管理方法およびプログラム
CN116909747A (zh) 基于k8s搭建的容器云平台的处理方法、装置及设备
JP2015079327A (ja) リソース管理装置、リソース管理方法、及び、リソース管理プログラム