Systems and methods for processing data sets according to an instructed order
First Claim
Patent Images
1. A system operative to efficiently process, in a particular order, a plurality of data sets arranged in data blocks, comprising:
- a first compute element associated with a first cache memory;
a first data interface associated with a first data source and configured to obtain data sets from the first data source in a form of data blocks, such that each of the data blocks obtained comprises a plurality of data sets; and
an intermediary medium, which is non-transitory, operative to store and access data, in which the intermediary medium is communicatively connected with the first cache memory and the first data source,wherein;
the first compute element is configured, in conjunction with a first processing task associated with the pluralities of data sets, to instruct the first data interface to obtain and deliver the data blocks from the first data source to the intermediary medium; and
the first compute element is further configured to stream the pluralities of data sets from the intermediary medium to the first cache memory according to a first streaming order dictated by a second compute element managing the first processing task, thereby facilitating (i) just-in-time availability of the data sets in the cache memory, and therefore (ii) efficient execution of the first processing task by the first compute element.
3 Assignments
0 Petitions
Accused Products
Abstract
Described herein are systems and methods to process efficiently, according to a certain order, a plurality of data sets arranged in data blocks. In one embodiment, a first compute element receives from another compute element a first set of instructions that determine an order in which a plurality of data sets are to be processed as part of a processing task. Relevant data sets are then streamed into a cache memory associated with the first compute element, but the order of streaming is not by order of storage but rather by the order conveyed in the first set of instructions.
89 Citations
25 Claims
-
1. A system operative to efficiently process, in a particular order, a plurality of data sets arranged in data blocks, comprising:
-
a first compute element associated with a first cache memory; a first data interface associated with a first data source and configured to obtain data sets from the first data source in a form of data blocks, such that each of the data blocks obtained comprises a plurality of data sets; and an intermediary medium, which is non-transitory, operative to store and access data, in which the intermediary medium is communicatively connected with the first cache memory and the first data source, wherein; the first compute element is configured, in conjunction with a first processing task associated with the pluralities of data sets, to instruct the first data interface to obtain and deliver the data blocks from the first data source to the intermediary medium; and the first compute element is further configured to stream the pluralities of data sets from the intermediary medium to the first cache memory according to a first streaming order dictated by a second compute element managing the first processing task, thereby facilitating (i) just-in-time availability of the data sets in the cache memory, and therefore (ii) efficient execution of the first processing task by the first compute element. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for efficiently processing a plurality of data sets according to an instructed order, comprising:
-
receiving, by a first compute element, from a second compute element, a first set of instructions operative to determine a first order in which a plurality of data sets, which are stored respectively in a plurality of addresses in a memory module, are to be processed in conjunction with a first processing task that is under management of said second compute element; issuing, by the first compute element, a first sequence of pre-fetch instructions, in which each of the pre-fetch instructions is operative to copy one of the data sets from the corresponding address in the memory module into a cache memory associated with the first compute element, in which the first sequence is issued according to the first order, thereby causing the plurality of data sets to stream into the cache memory according to the first order, and in which the memory module is a non-transitory intermediate medium for the data sets in transition from an external source into the cache memory; and processing, by the first compute element, the plurality of data sets streaming into the cache memory, according to the first order, and on-the-fly as the stream enters the cache memory according to the first order, thereby efficiently executing the first processing task. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
Specification