Systems and methods for automatically aggregating write requests
First Claim
1. A system operative to automatically decide to aggregate data write requests in a distributed data store, comprising:
- a plurality of memory modules constituting a distributed data store, in which said plurality of memory modules are associated respectively with a plurality of data interfaces;
a switching network; and
a first compute element configured to receive sequentially a sequence of store commands associated respectively with a sequence of data sets, in which each of the store commands instructs the first compute element to store the respective data set in said distributed data store, wherein;
the first compute element is further configured to initiate, as a result of the sequence, a series of data write requests respectively with some of the commands and in synchronization therewith, in which;
(i) each of the data write requests comprises one of the data sets to be conveyed, and (ii) each of the data write requests is sent via the switching network to one of the data interfaces that consequently stores, in the respective memory module, the data set conveyed;
each of the data interfaces is configured to detect a condition in which;
(i) at least a certain number of said data write requests have arrived at the data interface, while (ii) there has been no attempt to read any of the data sets conveyed to the data interface, thereby signifying that maintaining low latency through said synchronization is not critical; and
therefore the first compute element, as a response to one of the data interfaces signaling that said condition has been detected, is further configured to send at least one aggregated data write request to the data interface, in which said aggregated data write request conveys at least two of the data sets that have not yet been conveyed, thereby;
breaking said synchronization;
consequently increasing a latency associated with storage of the data sets conveyed;
but gaining a reduction of load on the switching network.
3 Assignments
0 Petitions
Accused Products
Abstract
Described herein are various systems and methods to automatically decide to aggregate data write requests in a distributed data store. A system initiates outgoing data write requests in synchronization with incoming data store commands, thereby facilitating low-latency read-back of the data. In response to an absence of data read requests, the system automatically changes such that each request includes two or more data sets, thereby breaking synchronization but consequently reducing traffic load on a switching network within the system. If the system later detects data read requests for previously stored data, the system will automatically change back to the original synchronized state, thereby decreasing the latency of accessing stored data. The system alternates between the modes of operation to achieve balance between low latency of data access and reduced traffic load on the switching network.
100 Citations
23 Claims
-
1. A system operative to automatically decide to aggregate data write requests in a distributed data store, comprising:
- a plurality of memory modules constituting a distributed data store, in which said plurality of memory modules are associated respectively with a plurality of data interfaces;
a switching network; and
a first compute element configured to receive sequentially a sequence of store commands associated respectively with a sequence of data sets, in which each of the store commands instructs the first compute element to store the respective data set in said distributed data store, wherein;
the first compute element is further configured to initiate, as a result of the sequence, a series of data write requests respectively with some of the commands and in synchronization therewith, in which;
(i) each of the data write requests comprises one of the data sets to be conveyed, and (ii) each of the data write requests is sent via the switching network to one of the data interfaces that consequently stores, in the respective memory module, the data set conveyed;
each of the data interfaces is configured to detect a condition in which;
(i) at least a certain number of said data write requests have arrived at the data interface, while (ii) there has been no attempt to read any of the data sets conveyed to the data interface, thereby signifying that maintaining low latency through said synchronization is not critical; and
therefore the first compute element, as a response to one of the data interfaces signaling that said condition has been detected, is further configured to send at least one aggregated data write request to the data interface, in which said aggregated data write request conveys at least two of the data sets that have not yet been conveyed, thereby;
breaking said synchronization;
consequently increasing a latency associated with storage of the data sets conveyed;
but gaining a reduction of load on the switching network. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
- a plurality of memory modules constituting a distributed data store, in which said plurality of memory modules are associated respectively with a plurality of data interfaces;
-
16. A method for signaling a compute element to start aggregating data write requests;
- comprising;
receiving, in a data interface, from a compute element, a series of data write requests conveying respectively a series of data sets, in which each of the data sets conveyed is to be stored by the data interface;
storing, by the data interface, each of the data sets conveyed, as soon as the data set is conveyed, such that said storing is performed in synchronization with said reception of the data write requests, thereby facilitating low latency read-back of the data sets already conveyed;
detecting, by the data interface, a condition in which;
(i) at least a certain number of said data write requests have arrived at the data interface, while (ii) there has been essentially no attempt to read-back, from the data interface, any of the data sets conveyed to the data interface;
signaling, as a result of said detection, by the data interface, to the compute element, that said condition has been detected, thereby implying to said compute element that;
(i) it is not critical to maintain a low latency in conjunction with said storage of the data sets, and therefore that (ii) aggregation of data write requests is now possible; and
receiving, in the data interface, from a compute element, as a result of said signaling, at least one aggregated data write request, in which said aggregated data write request conveys at least two additional data sets to be stored by the data interface. - View Dependent Claims (17, 18, 19, 20, 21, 22)
- comprising;
-
23. A method for signaling a compute element to start aggregating data write requests;
- comprising;
receiving, in a data interface, from a compute element, a series of data write requests conveying respectively a series of data sets, in which each of the data sets conveyed is to be stored by the data interface;
storing, by the data interface, each of the data sets conveyed, as soon as the data set is conveyed, such that said storing is performed in synchronization with said reception of the data write requests, thereby facilitating low latency read-back of the data sets already conveyed;
detecting, by the data interface, a condition in which;
(i) at least a first quantity of said data write requests have arrived at the data interface, while (ii) there has been a second quantity of attempts to read-back, from the data interface, any of the data sets conveyed to the data interface, in which said first quantity is at least 10 (ten) times larger than said second quantity, thereby implying that there was essentially no attempt to read any of the data sets conveyed to the data interface;
signaling, as a result of said detection, by the data interface, to the compute element, that said condition has been detected, thereby implying to said compute element that;
(i) it is not critical to maintain a low latency in conjunction with said storage of the data sets, and therefore that (ii) aggregation of data write requests is now possible; and
receiving, in the data interface, from a compute element, as a result of said signaling, at least one aggregated data write request, in which said aggregated data write request conveys at least two additional data sets to be stored by the data interface.
- comprising;
Specification