Allocating cache memory on a per data object basis

US10534714B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10534714-B2
Application numberUS-201414575976-A
CountryUS
Kind codeB2
Filing dateDec 18, 2014
Priority dateDec 18, 2014
Publication dateJan 14, 2020
Grant dateJan 14, 2020

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.

Systems, methods, and software described herein allocate cache memory to job processes executing on a processing node. In one example, a method of allocating cache memory to a plurality of job process includes identifying the plurality of job processes executing on a processing node, and identifying a data object to be accessed by the plurality of job processes. The method further provides allocating a portion of the cache memory to each job process in the plurality of job processes and, for each job process in the plurality of job processes, identifying a segment of data from the data object, wherein the segment of data comprises a requested portion of data and a predicted portion of data. The method also includes providing the segments of data to the allocated portions of the cache memory.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: in a host system, identifying a plurality of job processes executing in a plurality of virtual elements operating on the host system; identifying a data object to be accessed by the plurality of job processes; allocating a portion of a shared memory of the host system to each job process in the plurality of job processes for processing the data object, wherein a portion size for the portion is determined based on a quality of service associated with the job process, wherein the allocated portions of the shared memory operate as separate and distinct cache memories for the plurality of job processes and include memory locations that are accessible by (i) the plurality of job processes and (ii) a cache service executing on the host system that populates respective allocated portions of the shared memory on behalf of the plurality of job processes; for each job process in the plurality of job processes, identifying, by the cache service, a segment of data from the data object, wherein the segment of data comprises a requested portion of data requested by the job process and a predicted portion of data for the job process; and providing, by the cache service, each of the segments of data to a corresponding allocated portion of the shared memory. 2. The method of claim 1 wherein the host system comprises a physical computing system. 3. The method of claim 1 wherein the plurality of virtual elements comprises a plurality of containers. 4. The method of claim 1 wherein the plurality of virtual elements comprises a plurality of java virtual machines. 5. The method of claim 1 wherein the host system comprises a large scale processing framework node. 6. The method of claim 1 wherein each segment of data from the data object comprises a unique segment of data from the data object different than any other segment of data provided to other job processes. 7. The method of claim 1 wherein the data object comprises one of a GlusterFS file, a Blob, a Hadoop Distributed File System file, or a Swift data object. 8. The method of claim 1 wherein each portion of the shared memory does not overlap with any other portion of the shared memory. 9. A computer apparatus comprising: processing instructions that direct a host system, when executed by the host system, to: identify a plurality of job processes executing in a plurality of virtual elements operating on the host system; identify a data object to be accessed by the plurality of job processes; allocate a portion of a shared memory of the host system to each job process in the plurality of job processes for processing the data object, wherein a portion size for the portion is determined based on a quality of service associated with the job process, wherein the allocated portions of the shared memory operate as separate and distinct cache memories for the plurality of job processes and include memory locations that are accessible by (i) the plurality of job processes and (ii) a cache service executing on the host system that populates respective allocated portions of the shared memory on behalf of the plurality of job processes; for each job process in the plurality of job processes, identify a segment of data from the data object, wherein the segment of data comprises a requested portion of data requested by the job process and a predicted portion of data for the job process; and provide each of the segments of data to a corresponding allocated portion of the shared memory; and one or more non-transitory computer readable media that store the processing instructions. 10. The computer apparatus of claim 9 wherein the host system comprises a physical computing system. 11. The computer apparatus of claim 9 wherein the plurality of virtual elements comprises a plurality of containers. 12. The computer apparatus of claim 9 wherein the plurality of virtual elements comprises a plurality of java virtual machines. 13. The computer apparatus of claim 9 wherein the host system comprises a large scale processing framework node. 14. The computer apparatus of claim 9 wherein each segment of data from the data object comprises a unique segment of data from the data object different from any other segment provided to other job processes. 15. The computer apparatus of claim 9 wherein the data object comprises one of a GlusterFS file, a Blob, a Hadoop Distributed File System file, or a Swift data object. 16. The computer apparatus of claim 9 wherein each portion of the shared memory does not overlap with any other portion of the shared memory. 17. A system comprising: one or more storage media that store a data object to be accessed by a plurality of job processes; and a computing system configured to: identify the plurality of job processes executing a plurality of virtual elements operating on the computer system; identify the data object to be accessed by the plurality of job processes; allocate a portion of a shared memory of the computer system to each job process in the plurality of job processes for processing the data object, wherein a portion size for the portion is determined based on a quality of service associated with the job process, wherein the allocated portions of the shared memory operate as separate and distinct cache memories for the plurality of job processes and include memory locations that are accessible by (i) the plurality of job processes and (ii) a cache service executing on the computer system that populates respective allocated portions of the shared memory on behalf of the plurality of job processes; for each job process in the plurality of job processes, identify a segment of data from the data object, wherein the segment of data comprises a requested portion of data requested by the job process and a predicted portion of data for the job process; and provide each of the segments of data to a corresponding allocated portion of the cache memory. 18. The system of claim 17 wherein the plurality of virtual elements comprises a plurality of containers. 19. The system of claim 17 wherein each segment of data from the data object comprises a unique segment of data from the data object different than any other segment of data provided to other job processes. 20. The method of claim 1 , wherein said allocating a portion of a shared memory of the host system to each job process in the plurality of job processes for processing the data object prevents one job process of the plurality of job processes from overwriting data cached in the shared memory for use by another job process of the plurality of job processes.

Assignees

Inventors

Classifications

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 US10534714B2 cover?
Systems, methods, and software described herein allocate cache memory to job processes executing on a processing node. In one example, a method of allocating cache memory to a plurality of job process includes identifying the plurality of job processes executing on a processing node, and identifying a data object to be accessed by the plurality of job processes. The method further provides allo…
Who is the assignee on this patent?
Hewlett Packard Entpr Dev Lp
What technology area does this patent fall under?
Primary CPC classification G06F12/0871. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 14 2020 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).