Deterministic method to support multiple producers with multiple consumers in peer or hierarchical systems
AssigneeIntel Corporation
InventorsBalaji Parthasarathy, Marc A. Goldschmidt
Life of this patent
Estimating the term…
Abstract
A transaction processing method is disclosed to solve the issue of multiple producers (software and hardware) and one or more consumers operating in a peer or hierarchical system. The transaction processing method is a deterministic method operable in a system having any number of producers. The producers themselves may be any combination of hardware and software and may be part of peer or hierarchical systems.
Claims28
A transaction ordering method for use in a system having one or more consumers, a first producer, and a second producer, the method comprising:
- receiving, by an agent, an order-dependent transaction from the consumer, the agent being between a first bus and a second bus, the order-dependent transaction being intended for the first producer, wherein the first producer is on the first bus and a second producer is on the second bus;
- sending, by the agent, a dummy transaction to the second producer on the second bus, the second bus comprising one or more pending transactions, wherein the dummy transaction causes pending transactions on the second bus to be flushed;
- flushing on the second bus, the one or more pending transactions;
- receiving, by the agent, an indication that the one or more pending transactions are completed;
- and
- releasing, by the agent, the order-dependent transaction to the first producer on the first bus.
A system, comprising:
- a first producer on a first bus, the first producer to process packets received from a consumer, wherein the consumer is coupled to the convergence bridge;
- a second producer on a second bus, the second bus being connected to the first bus through the convergence bridge;
- and
- a convergence bridge coupled between the first bus and the second bus, the convergence bridge to:
- receive an order-dependent transaction from the consumer, wherein the order-dependent transaction is to be transmitted to the first producer on the first bus;
- send a dummy transaction to the second producer on the second bus, wherein the second bus has one or more pending transactions;
- receive an indication that the dummy transaction has flushed the one or more pending transactions from the second bus;
- and
- send the order-dependent transaction to the first producer on the first bus.
A transaction ordering method for use in a system having one or more consumers and at least two producers, the method comprising:
- receiving, by an agent on a first bus, an order-dependent transaction from a consumer of the one or more consumers, wherein the order-dependent transaction is intended for a first producer of the at least two producers;
- sending, by the agent, a dummy transaction to a second bus, a second producer of the at least two producers being connected to the second bus, the second bus comprising one or more pending transactions, wherein the agent knows that the order-dependent transaction is intended for the first producer;
- receiving, by the agent, an indication from the second bus that the one or more pending transactions are completed;
- and
- releasing, by the agent, the order-dependent transaction.
Dependencies are inferred from the claim text.