Arbitration of data transfer requests
AssigneeInternational Business Machines Corporation
InventorsYasuteru Kohda, Nobuyuki Ohba
Life of this patent
Estimating the term…
Abstract
A method for arbitrating data transfer requests from a plurality of nodes includes specifying one or more nodes among the plurality of nodes, the one or more nodes satisfying a predetermined condition, and selecting, if two or more nodes are specified among the plurality of nodes, one node from the two or more nodes using priority information, the priority information indicating correspondence between the plurality of nodes and a plurality of priorities each assigned to one of the plurality of nodes, the correspondence changing so that the plurality of priorities are assigned equally to each of the plurality of nodes and high and low relations appear equally between pairs of priorities each assigned to a pair of nodes of the plurality of nodes.
Claims18
A method for arbitrating data transfer requests from a plurality of nodes, the method comprising:
- identifying nodes satisfying a predetermined condition from among the plurality of nodes requesting to send data to a receiving node;
- assigning a plurality of priority values, the plurality of priority values arranged from high to low, to respective nodes of the plurality of nodes;
- sequentially rotating the plurality of priority values such that each value is assigned equally to each of the plurality of nodes, with the rotating going in a direction and changing to an opposite direction over time;
- and
- selecting a node having a highest priority value from among the nodes satisfying the predetermined condition as a sending node to transfer data to a receiving node among the plurality of nodes.
An apparatus for arbitrating data transfer requests from a plurality of nodes, the apparatus comprising:
- a processor;
- and
- a memory coupled to the processor, wherein the memory comprises program instructions executable by the processor to cause the processor to:
- identify nodes satisfying a predetermined condition from among the plurality of nodes requesting to send data to a receiving node;
- assign a plurality of priority values, the plurality of priority values arranged from high to low, to respective nodes of the plurality of nodes;
- sequentially rotate the plurality of priority values such that each value is assigned equally to each of the plurality of nodes, with the rotating proceeding in a direction and changing to an opposite direction over time;
- and
- select a node having a highest priority value from among the nodes satisfying the predetermined condition as a sending node to transfer data to a receiving node among the plurality of nodes.
A computer program product for arbitrating data transfer requests from a plurality of nodes, the computer program product comprising a non-transitory computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computer to cause the computer to:
- specify one or more specified nodes among the plurality of nodes requesting to send data to a receiving node, the one or more nodes satisfying a predetermined condition;
- assign priority information, implemented as priority values in a matrix and arranged from high to low, to the plurality of nodes, the priority information being an association between each of the plurality of nodes and one of a plurality of priorities, each column of the matrix representing a priority of the plurality of priorities;
- sequentially shift columns of the matrix so that each one of the plurality of priorities is assigned equally to each of the plurality of nodes, such that high and low priorities between pairs of priorities are equally assigned to a pair of nodes of the plurality of nodes;
- and
- select, from among the specified nodes satisfying the predetermined condition, one node having a highest priority information as a sending node to transfer data to a receiving node among the plurality of nodes.
Dependencies are inferred from the claim text.