Methods and systems for fetching data for an accelerator
AssigneeAlibaba Group Holding Limited
InventorsYongbin Gu, Pengcheng Li, Tao Zhang
Life of this patent
Estimating the term…
Abstract
The present disclosure provides methods, systems, and non-transitory computer readable media for fetching data for an accelerator. The methods include detecting an attempt to access a first page of data that is not stored on a primary storage unit of the accelerator; and responsive to detecting the attempt to access the first page of data: assessing activity of the accelerator; determining, based on the assessed activity of the accelerator, a prefetch granularity size; and transferring a chunk of contiguous pages of data of the prefetch granularity size from a memory system connected to the accelerator into the primary storage unit, wherein the transferred chunk of contiguous pages of data include the first page of data.
Claims17
A method for fetching data for an accelerator, the method comprising:
- detecting a first attempt to access a first page and a second attempt to access a second page of data that is not stored on a primary storage device of the accelerator;
- and
- responsive to detecting the first attempt to access the first page and the second attempt to access the second page of the data:
- assessing activity of the accelerator;
- determining, based on the assessed activity of the accelerator and a proximity of the first page and the second page of the data, a prefetch granularity size, wherein determining the prefetch granularity size comprises coalescing page faults and setting the prefetch granularity size such that a chunk of contiguous pages of data includes the first page and the second page of the data;
- and
- transferring the chunk of contiguous pages of data of the prefetch granularity size from a memory system connected to the accelerator into the primary storage device, wherein the transferred chunk of contiguous pages of data of the prefetch granularity size includes the first page and the second page of the data.
A system for fetching data for an accelerator, the system comprising:
- a memory device storing an instruction;
- and
- one or more processors configured to execute the instruction stored in the memory device to cause the system to perform:
- detect a first attempt to access a first page and a second attempt to access a second page of data that is not stored on a primary storage device of the accelerator;
- assess activity of the accelerator in response to a detection of the first attempt to access the first page and the second attempt to access the second page of the data;
- determine, in response to the detection of the first attempt to access the first page and the second attempt to access the second page of the data, a prefetch granularity size, wherein the determination of the prefetch granularity size is based on the assessed activity of the accelerator and a proximity of the first page and the second page of the data, and the determining further comprises coalescing page faults and setting the prefetch granularity size such that a chunk of contiguous pages of data includes the first page and the second page of the data;
- and
- transfer the chunk of contiguous pages of data of the prefetch granularity size from a memory system connected to the accelerator into the primary storage device, wherein the transferred chunk of contiguous pages of data of the prefetch granularity size includes the first page and the second page of the data.
A non-transitory computer readable medium that stores a set of instructions that is executable by at least one processor of a computer system to cause the computer system to perform a method for fetching data for an accelerator, the method comprising:
- detecting a first attempt to access a first page and a second attempt to access a second page of data that is not stored on a primary storage device of the accelerator;
- and
- responsive to detecting the first attempt to access the first page and the second attempt to access the second page of the data:
- assessing activity of the accelerator;
- determining, based on the assessed activity of the accelerator and a proximity of the first page and the second page of the data, a prefetch granularity size, wherein determining the prefetch granularity size comprises coalescing page faults and setting the prefetch granularity size such that a chunk of contiguous pages of data includes the first page and the second page of the data;
- and
- transferring the chunk of contiguous pages of data of the prefetch granularity size from a memory system connected to the accelerator into the primary storage device, wherein the transferred chunk of contiguous pages of data of the prefetch granularity size includes the first page and the second page of the data.
Dependencies are inferred from the claim text.