Systems and methods for key-value transactions
First Claim
1. A system configured to interleave high priority key-value transactions together with lower priority transactions over a shared input-output medium, comprising:
- a shared input-output medium associated with a medium controller;
a central-processing-unit (CPU) comprising a first compute element and a first cache memory; and
a key-value-store communicatively connected with said central-processing-unit via said shared input-output medium,wherein the central-processing-unit is configured to initiate high priority key-value transactions in conjunction with said key-value-store via said shared input-output medium; and
the medium controller is configured to block lower priority transactions via said shared input-output medium during at least parts of said high priority key-value transactions, thereby achieving said interleaving without delaying said high priority key-value transactions.
3 Assignments
0 Petitions
Accused Products
Abstract
Various embodiments of systems and methods to interleave high priority key-value transactions together with lower priority transactions, in which both types of transactions are communicated over a shared input-output medium. In various embodiments, a central-processing-unit (CPU) initiates high priority key-value transactions by communicating via the shared input-output medium to a key-value-store. In various embodiments, a medium controller blocks or delays lower priority transactions such that the high priority transactions may proceed without interruption. In various embodiments, both of the types of transactions are packet-based, and the system interrupts a lower priority transaction at a particular packet, then completes the high priority transaction, then completes the lower priority transaction. In various embodiments, a network-interface-card (NIC) reduces latency of key-value transactions in a distributed data store by delaying any packet or transaction that may interrupt or prevent immediate delivery of a key to a destination server holding a key value.
91 Citations
18 Claims
-
1. A system configured to interleave high priority key-value transactions together with lower priority transactions over a shared input-output medium, comprising:
-
a shared input-output medium associated with a medium controller; a central-processing-unit (CPU) comprising a first compute element and a first cache memory; and a key-value-store communicatively connected with said central-processing-unit via said shared input-output medium, wherein the central-processing-unit is configured to initiate high priority key-value transactions in conjunction with said key-value-store via said shared input-output medium; and the medium controller is configured to block lower priority transactions via said shared input-output medium during at least parts of said high priority key-value transactions, thereby achieving said interleaving without delaying said high priority key-value transactions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for interleaving high priority key-value transactions together with lower priority transactions over a shared input-output medium, comprising:
-
detecting, by a medium controller associated with a shared input-output medium, that a second packet associated with high priority key-value transactions is pending; stopping, as a result of said detection, by said medium controller, handling of a first packet associated with a lower priority transactions via said shared input-output medium; and commencing, by said medium controller, transmission of said second packet via said shared input-output medium, thereby preventing said lower priority transactions from delaying said high priority key-value transactions and thereby interleaving the high priority key-value transactions with the lower priority transactions. - View Dependent Claims (12, 13)
-
-
14. A method for interleave high priority key-value transactions together with lower priority transactions over a shared input-output medium, comprising:
-
detecting, in a medium controller associated with a shared input-output medium, that a second packet associated with high priority key-value transactions is pending; delaying, as a result of said detection, by said medium controller, handling of a first packet associated with a lower priority transactions via said shared input-output medium; and transmitting instead, by said medium controller, said second packet via said shared input-output medium, thereby preventing said lower priority transactions from delaying said high priority key-value transactions and thereby interleaving the high priority key-value transactions with the lower priority transactions. - View Dependent Claims (15, 16)
-
-
17. A method for interleaving high priority key-value transactions together with lower priority transactions over a network-interface-card, comprising:
-
receiving, in a first network-interface-card (NIC), from a first compute element, a new request to extract with high priority a first value associated with a first key, in which the new request is associated with a high priority key-value transaction;
consequentlydelaying, in said first network-interface-card, a lower priority transaction or other network-related activity—
that prevents said first network-interface-card from immediately communicating said first key to a destination server storing said first value and belonging to a key-value-store comprising a plurality of servers; andcommunicating the first key immediately, as a result of said delaying, from said first network-interface-card to said destination server, thereby allowing said destination server to start immediately processing of said first key as required for locating, within said destination server, said first value in conjunction with said new request and thereby interleaving the high priority key-value transaction with the lower priority transaction. - View Dependent Claims (18)
-
Specification