Affinity-aware parallel zeroing of pages in non-uniform memory access (NUMA) servers

US9904337B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9904337-B2
Application numberUS-201514883361-A
CountryUS
Kind codeB2
Filing dateOct 14, 2015
Priority dateJun 25, 2015
Publication dateFeb 27, 2018
Grant dateFeb 27, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A system includes a processor and a memory storing a program, and a computer readable medium includes a program for performing an operation for zeroing memory in computing systems where access to memory is non-uniform. The operation includes receiving, via a system call, a request to delete a memory region. The operation also includes sorting, after receiving the request, one or more pages of the memory region according to each associated affinity domain of each page. The operation further includes sending requests to zero the sorted one or more pages to one or more zeroing threads that are attached to the respective affinity domain. The operation further yet includes waiting, after sending the requests, to return to the system caller until a message is received, from the zeroing threads in each affinity domain, indicating that all the page zeroing requests have been processed.

First claim

Opening claim text (preview).

What is claimed is: 1. A system, comprising: a processor; and a memory containing a program which, when executed on the processor, performs an operation for zeroing pages of memory in a computing system where access to memory is non-uniform, the operation comprising: receiving, via a system call, a request to delete a memory region; sorting, after receiving the request, one or more pages of the memory region according to each associated affinity domain of each page, wherein each affinity domain comprises a cluster of processors and memory local to the cluster of processors; sending requests to zero the sorted one or more pages to one or more software threads that are attached to the respective affinity domain; and waiting, after sending the requests, to return to a system caller until a message is received, from the software threads in each affinity domain, indicating that all requests to zero have been processed. 2. The system of claim 1 , wherein the local memory in each affinity domain has the same access characteristics for each of the processors in the cluster. 3. The system of claim 1 , wherein, before receiving the request to delete the memory region, the operation further comprises: analyzing a distribution of one or more processors and memory in the computing system; and identifying each affinity domain, based on the analysis. 4. The system of claim 1 , wherein the one or more software threads zero the sorted one or more pages in parallel. 5. The system of claim 1 , wherein sending the requests to zero the sorted one or more pages to the one or more software threads comprises sending the requests to zero to request queues in each affinity domain. 6. The system of claim 3 , wherein analyzing the distribution of the one or more processors and the memory in the computing system occurs upon at least one of the following: an addition of physical memory, removal of physical memory, addition of a processor, or removal of a processor. 7. A non-transitory computer-readable storage medium storing instructions, which, when executed on a processor, perform an operation for zeroing pages of memory in a computing system where access to memory is non-uniform, the operation comprising: receiving, via a system call, a request to delete a memory region; sorting, after receiving the request, one or more pages of the memory region according to each associated affinity domain of each page, wherein each affinity domain comprises a cluster of processors and memory local to the cluster of processors; sending requests to zero the sorted one or more pages to one or more software threads that are attached to the respective affinity domain; and waiting, after sending the requests, to return to a system caller until a message is received, from the software threads in each affinity domain, indicating that all requests to zero have been processed. 8. The non-transitory computer-readable storage medium of claim 7 , wherein the local memory in each affinity domain has the same access characteristics for each of the processors in the cluster. 9. The non-transitory computer-readable storage medium of claim 7 , wherein, before receiving the request to delete the memory region, the operation further comprises: analyzing a distribution of one or more processors and memory in the computing system; and identifying each affinity domain, based on the analysis. 10. The non-transitory computer-readable storage medium of claim 7 , wherein the one or more software threads zero the sorted one or more pages in parallel. 11. The non-transitory computer-readable storage medium of claim 7 , wherein sending the requests to zero the sorted one or more pages to the one or more software threads comprises sending the requests to zero to request queues in each affinity domain. 12. The non-transitory computer-readable storage medium of claim 9 , wherein analyzing the distribution of the one or more processors and the memory in the computing system occurs upon at least one of the following: an addition of physical memory, removal of physical memory, addition of a processor, or removal of a processor.

Assignees

Inventors

Classifications

  • Single storage device · CPC title

  • Non-uniform memory access [NUMA] architecture · CPC title

  • Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title

  • User address space allocation, e.g. contiguous or non contiguous base addressing · CPC title

  • Management of space entities, e.g. partitions, extents, pools · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9904337B2 cover?
A system includes a processor and a memory storing a program, and a computer readable medium includes a program for performing an operation for zeroing memory in computing systems where access to memory is non-uniform. The operation includes receiving, via a system call, a request to delete a memory region. The operation also includes sorting, after receiving the request, one or more pages of t…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F1/24. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 27 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).