Reducing page invalidation broadcasts

US2017123735A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2017123735-A1
Application numberUS-201514925317-A
CountryUS
Kind codeA1
Filing dateOct 28, 2015
Priority dateOct 28, 2015
Publication dateMay 4, 2017
Grant date

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.

Technical solutions are described for reducing page invalidation broadcasts in a computer system. An example method includes pre-allocating a pool of large memory frames by a real storage manager. The method also includes receiving, by a virtual storage manager, an instruction from an application to allocate a memory buffer, where the instruction includes a request to back the memory buffer using large pages. The virtual storage manager, in response to the instruction, allocates the memory buffer from the pre-allocated pool of large memory frames.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method for reducing page invalidation broadcasts in a computer system, the method comprising: pre-allocating, by a real storage manager, a pool of large memory frames; receiving, by a virtual storage manager, an instruction from an application to allocate a memory buffer, wherein the instruction comprises a request to back the memory buffer using large pages; and in response to the instruction, allocating the memory buffer real memory frames from the pool of large memory frames without requesting new real memory frames, wherein said allocation comprises reserving a range of contiguous virtual addresses for the memory buffer, the range being a subset of contiguous virtual addresses corresponding to the pool of large memory frames. 2 . The method of claim 1 , wherein the memory buffer is associated with default virtual memory pages which are smaller in size than the large memory frames. 3 . The method of claim 1 , wherein allocating the memory buffer from the pool of large memory frames comprises updating control blocks to mark the real memory frames as being reserved without establishing new virtual to real associations for the real memory frames. 4 . The method of claim 1 , wherein the range of contiguous virtual addresses reserved for the memory buffer is associated with an identifier of the application that requested the memory buffer. 5 . The method of claim 1 , further comprising: receiving an instruction from the application to free the allocated memory buffer; in response to the instruction to free, marking a range of contiguous virtual addresses reserved for the memory buffer as being free, wherein the range of contiguous virtual addresses is from the pool of large memory frames. 6 . The method of claim 5 , wherein the virtual storage manager frees the memory buffer without broadcasting to the real storage manager a request to free real memory frames corresponding to the memory buffer. 7 . The method of claim 1 , further comprising: reserving a range of contiguous virtual addresses corresponding to the pool of large memory frames, wherein allocating the memory buffer from the pool of large memory frames comprises allocating a subset of contiguous virtual addresses from the reserved range of contiguous virtual addresses for the memory buffer. 8 . The method of claim 1 , wherein the pool of large memory frames comprises a predetermined number of contiguous large memory frames. 9 . The method of claim 8 , wherein the predetermined number is based on a system startup parameter. 10 . The method of claim 1 , further comprising monitoring usage of the pool of large memory frames by tracking a count of a number of allocations and deallocations from the pool of large memory frames. 11 . The method of claim 1 , wherein the pool of large memory frames comprises a plurality of 31-bit large memory frames. 12 . A system comprising: a memory; and a processor configured to reduce page invalidation broadcasts by being configured to: pre-allocate, at startup, a pool of large memory frames; receive an instruction from an application to allocate a memory buffer, wherein the instruction comprises a request to back the memory buffer using large pages; and in response to the instruction, allocate the memory buffer without requesting real memory frames by reservation of a range of contiguous virtual addresses for the memory buffer, the range being a subset of contiguous virtual addresses corresponding to the pool of large memory frames. 13 . The system of claim 12 , wherein the range of contiguous virtual addresses reserved for the memory buffer is associated with an identifier of the application that requested the memory buffer. 14 . The system of claim 12 , wherein the processor is further configured to: receive an instruction from the application to free the allocated memory buffer; and in response to the instruction to free, deallocate the memory buffer without a request to free real memory frames corresponding to the memory buffer being broadcast, wherein the deallocation comprises marking the range of contiguous virtual addresses reserved for the memory buffer as being free. 15 . The system of claim 12 , wherein the pool of large memory frames comprises a predetermined number of contiguous large memory frames, wherein the predetermined number is based on a system startup parameter. 16 . The system of claim 12 , wherein the pool of large memory frames comprises a plurality of 31-bit large memory frames. 17 . A computer program product for reducing page invalidation broadcasts in a computer system, the computer program product comprising a computer readable storage medium, the computer readable storage medium comprising computer executable instructions, wherein the computer readable storage medium comprises instructions to: pre-allocate, at startup, a pool of large memory frames; receive an instruction from an application to allocate a memory buffer, wherein the instruction comprises a request to back the memory buffer using large pages; and in response to the instruction, allocate the memory buffer without requesting real memory frames by reservation of a range of contiguous virtual addresses for the memory buffer, the range being a subset of contiguous virtual addresses corresponding to the pool of large memory frames. 18 . The computer program product of claim 17 , wherein the range of contiguous virtual addresses reserved for the memory buffer is associated with an identifier of the application that requested the memory buffer. 19 . The computer program product of claim 17 , wherein the computer readable storage medium further comprises instructions to: receive an instruction from the application to free the allocated memory buffer; and in response to the instruction to free, deallocate the memory buffer without a request to free real memory frames corresponding to the memory buffer being broadcast, wherein the deallocation comprises marking the range of contiguous virtual addresses reserved for the memory buffer as being free. 20 . The system of claim 17 , wherein the pool of large memory frames comprises a predetermined number of contiguous large memory frames, wherein the predetermined number is based on a system startup parameter.

Assignees

Inventors

Classifications

  • G06F3/0665Primary

    at area level, e.g. provisioning of virtual or logical volumes · CPC title

  • Single storage device · CPC title

  • Data buffering arrangements · CPC title

  • Saving storage space on storage systems · CPC title

  • by allocating resources to storage systems · 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 US2017123735A1 cover?
Technical solutions are described for reducing page invalidation broadcasts in a computer system. An example method includes pre-allocating a pool of large memory frames by a real storage manager. The method also includes receiving, by a virtual storage manager, an instruction from an application to allocate a memory buffer, where the instruction includes a request to back the memory buffer usi…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F3/0665. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu May 04 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).