Dynamic memory tuning for in-memory data analytic platforms

US10204175B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10204175-B2
Application numberUS-201615157683-A
CountryUS
Kind codeB2
Filing dateMay 18, 2016
Priority dateMay 18, 2016
Publication dateFeb 12, 2019
Grant dateFeb 12, 2019

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.

At a cache manager of a directed acyclic graph-based data analytic platform, memory usage statistics are obtained from each of a plurality of monitor components on a plurality of worker nodes. The worker nodes have a plurality of tasks executing thereon, and each of the tasks has at least one distributed dataset associated therewith. Each of the worker nodes has a distributed dataset cache. At least one of the following is carried out: increasing a size of a given one of the distributed dataset caches if the memory usage statistics indicate that corresponding ones of the tasks are using too little memory; and decreasing a size of another given one of the distributed dataset caches if the memory usage statistics indicate contention between corresponding ones of the tasks and a corresponding one of the distributed datasets.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: obtaining, at a cache manager of a directed acyclic graph-based data analytic platform, from each of a plurality of monitor components on a plurality of worker nodes of said directed acyclic graph-based data analytic platform, memory usage statistics for said worker nodes of said directed acyclic graph-based data analytic platform, said worker nodes having a plurality of tasks executing thereon, each of said tasks having at least one distributed dataset associated therewith, each of said worker nodes having a distributed dataset cache, said memory usage statistics comprising garbage collection time; initiating, with said plurality of monitor components, a message to a decider component to reduce a memory allocation size of a given one of said distributed dataset caches upon determining, with said plurality of monitor components, that said garbage collection time exceeds a threshold; when said decider component obtains said message to reduce said size of said given one of said distributed dataset caches: obtaining, by said decider component, from a directed acyclic graph scheduler component, a current stage directed acyclic graph; with said decider component, determining at least one of said distributed datasets to drop, based on said current stage of said directed acyclic graph, to avoid dropping other, needed ones of said distributed datasets; and initiating, with said decider component, a message to said cache manager to drop said at least one of said distributed datasets; and when said cache manager receives said message to drop said at least one of said distributed datasets, reducing said memory allocation size of said given one of said distributed dataset caches after dropping said at least one of said distributed datasets, wherein determining at least one of said distributed datasets to drop further comprises: identifying, from said current stage directed acyclic graph, a first plurality of said distributed datasets currently stored in said given one of said distributed dataset caches that are being processed by tasks in a current epoch; identifying, from said current stage directed acyclic graph, a second plurality of said distributed datasets currently stored in said given one of said distributed dataset caches that will be used by tasks to be processed in a next epoch; identifying, in said given one of said distributed dataset caches, at least one of said distributed datasets that is not a member of said first or second pluralities of said distributed datasets; and selecting to drop said at least one of said distributed datasets that is not a member of said first or second pluralities of said distributed datasets. 2. The method of claim 1 , wherein said at least one distributed dataset comprises a resilient distributed dataset, and said distributed dataset caches comprise resilient distributed dataset caches. 3. The method of claim 1 , wherein: said memory usage statistics indicate that corresponding ones of said tasks are using too little memory when said garbage collection time does not exceed said threshold; and said memory usage statistics indicate contention between corresponding ones of said tasks and a corresponding one of said distributed datasets when said garbage collection time does exceed said threshold. 4. The method of claim 1 , further comprising: initiating, with said plurality of monitor components, a message to said decider component to increase a memory allocation size of another given one of said distributed dataset caches upon determining, with said plurality of monitor components, that said garbage collection time does not exceed said threshold. 5. The method of claim 1 , wherein, in said initiating steps, said decider component is realized within said cache manager. 6. The method of claim 1 , wherein, in said initiating steps, said decider component is realized separately from but in communication with said cache manager. 7. A directed acyclic graph-based data analytic platform comprising: a plurality of worker nodes; a plurality of monitor components on said plurality of worker nodes; a plurality of distributed dataset caches on said plurality of worker nodes; a cache manager, coupled to said plurality of monitor components, which: obtains, from each of said plurality of monitor components on said plurality of worker nodes, memory usage statistics for said worker nodes, said worker nodes having a plurality of tasks executing thereon, each of said tasks having at least one distributed dataset associated therewith, said memory usage statistics comprising garbage collection time; and carries out at least one of: increasing a memory allocation size of a given one of said distributed dataset caches if said memory usage statistics indicate that corresponding ones of said tasks are using too little memory; and decreasing a memory allocation size of another given one of said distributed dataset caches if said memory usage statistics indicate contention between corresponding ones of said tasks and a corresponding one of said distributed datasets; a decider component coupled to said cache manager and to said plurality of monitor components, wherein said plurality of monitor components: determine whether said garbage collection time exceeds a threshold; and when said garbage collection time does exceed said threshold, initiate a message to said decider component to reduce said memory allocation size of said another given one of said distributed dataset caches; and a directed acyclic graph scheduler component coupled to said decider component, wherein, when said decider component obtains said message to reduce said memory allocation size of said another given one of said distributed dataset caches: said decider component obtains, from said directed acyclic graph scheduler component, a current stage directed acyclic graph; said decider component determines at least one of said distributed datasets to drop, based on said current stage of said directed acyclic graph, to avoid dropping other, needed ones of said distributed datasets; and said decider component initiates a message to said cache manager to drop said at least one of said distributed datasets; when said cache manager receives said message to drop said at least one of said distributed datasets, said cache manager reduces said memory allocation size of said another given one of said distributed dataset caches after dropping said at least one of said distributed datasets; and wherein determining at least one of said distributed datasets to drop further comprises: identifying, from said current stage directed acyclic graph, a first plurality of said distributed datasets currently stored in said another given one of said distributed dataset caches that are being processed by tasks in a current epoch; identifying, from said current stage directed acyclic graph, a second plurality of said distributed datasets currently stored in said another given one of said distributed dataset caches that will be used by tasks to be processed in a next epoch; identifying, in said another given one of said distributed dataset caches, at least one of said distributed datasets that is not a member of said first or second pluralities of said distributed datasets; and selecting to drop said at least one of said distributed datasets that is not a member of said first or second pluralities of said distributed datasets. 8. The directed acyclic graph-based data analytic platform of claim 7 , wherein said at least one distributed dataset comprises a resilient distributed dataset, and said distributed dataset caches comprise resilient distributed dataset caches. 9. The directed acyclic graph-based da

Assignees

Inventors

Classifications

  • with prefetch · CPC title

  • Graphs; Linked lists (G06F16/9027 takes precedence) · CPC title

  • Coherency control relating to peripheral accessing, e.g. from DMA or I/O device · CPC title

  • Physics · mapped topic

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 US10204175B2 cover?
At a cache manager of a directed acyclic graph-based data analytic platform, memory usage statistics are obtained from each of a plurality of monitor components on a plurality of worker nodes. The worker nodes have a plurality of tasks executing thereon, and each of the tasks has at least one distributed dataset associated therewith. Each of the worker nodes has a distributed dataset cache. At …
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F16/9024. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 12 2019 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 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).