WO2016049896A1 - Method and apparatus for determining data transfer sequences between multi-ingress and multi-egress - Google Patents

Method and apparatus for determining data transfer sequences between multi-ingress and multi-egress Download PDF

Info

Publication number
WO2016049896A1
WO2016049896A1 PCT/CN2014/088019 CN2014088019W WO2016049896A1 WO 2016049896 A1 WO2016049896 A1 WO 2016049896A1 CN 2014088019 W CN2014088019 W CN 2014088019W WO 2016049896 A1 WO2016049896 A1 WO 2016049896A1
Authority
WO
WIPO (PCT)
Prior art keywords
transfer
zero
data
cost
matrix
Prior art date
Application number
PCT/CN2014/088019
Other languages
French (fr)
Inventor
Caiyong LIU
Xiaogang Wang
Original Assignee
Alcatel-Lucent Shanghai Bell Co., Ltd
Alcatel Lucent
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alcatel-Lucent Shanghai Bell Co., Ltd, Alcatel Lucent filed Critical Alcatel-Lucent Shanghai Bell Co., Ltd
Priority to CN201480082375.5A priority Critical patent/CN106688196B/en
Priority to PCT/CN2014/088019 priority patent/WO2016049896A1/en
Publication of WO2016049896A1 publication Critical patent/WO2016049896A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/02Transmitters

Definitions

  • the present invention relates to the technology of transferring of intersect parallel data between multi-ingress and multi-egress.
  • the objective of the present invention is to provide a method and apparatus for determining data transfer sequences between multi-ingress and multi-egress.
  • a method for determining data transfer sequences between multi-ingress and multi-egress is provided.
  • the number of ingress and egress are both N and the data to be transferred from the multi-ingress constitute a N*N data matrix;
  • each ingress is M which indicates the number of the transfer cycle for transferring the data matrix
  • the method comprises the following steps:
  • a switch device for determining data transfer sequences between multi-ingress and multi-egress.
  • the number of ingress and egress are both N and the data to be transferred from the multi-ingress constitute a N*N data matrix;
  • each ingress is M which indicates the number of the transfer cycle for transferring the data matrix
  • the switch device is configured to:
  • a computer-readable medium containing computer code, when executed by a switch device comprising multiple ingresses and multiple egresses, wherein the number of ingress and egress are both N and the data to be transferred from the multi-ingress constitute a N*N data matrix;
  • each ingress is M which indicates the number of the transfer cycle for transferring the data matrix
  • the switch device is configured to:
  • a computer program When executed by a switch device comprising multiple ingresses and multiple egresses, wherein the number of ingress and egress are both N and the data to be transferred from the multi-ingress constitute a N*N data matrix;
  • each ingress is M which indicates the number of the transfer cycle for transferring the data matrix
  • the switch device is configured to:
  • the present invention enables intersect parallel data transferring between multi-ingress and multi-egress efficient. It ensures only one data sample can be transferred in every row and column of the data matrix during one transfer cycle.
  • Fig. 1 shows an exemplary procedure to determine a data transfer sequence based on the transfer cost of matrix elements in a transfer cycle according to the present invention
  • Fig. 2 shows an exemplary schematic of RRH architecture which is applicable to the present invention
  • Fig. 3a) -d) show multiple data matrix and their corresponding transfer sequence respectively according to an embodiment of the present invention.
  • the present invention provides a solution to determine data transfer sequences for intersect parallel data transferring between multi-ingress and multi-egress. Further, the present invention is applicable to any kind of switch devices having a symmetrical multi-ingress and multi-egress. Moreover, besides the switch devices, the determination of cost-based data transfer sequences can also be done by other devices such as a dedicated determination device, though the data transfer sequences are used in the switch devices having a symmetrical multi-ingress and multi-egress.
  • the number of ingress and egress are both N, thus the data to be transferred from the multi-ingress constitute a N*N matrix (hereinafter referred to as “data matrix” ) .
  • the depth of each ingress is M and the depth means the transfer times for the data from the ingress till the ingress is empty. That is, for a N*N data matrix, it will experience M transfer cycles to be transferred from the multi-ingress to the multi-egress.
  • the total element value of each row and each column of the data matrix is M.
  • a data transfer sequence is determined based on transfer cost. The specific steps for the determination are as follows:
  • a zero element means an element with a value of zero, and the transfer cost of a zero element is zero.
  • a non-zero element means an element with a value of non-zero, and the transfer cost of a non-zero based on the cross-attribute and value-attribute of the non-zero element.
  • the cross-attribute of a non-zero element includes zero-attribute and non-zero-attribute.
  • the zero-attribute of a non-zero element indicates the total number of zero in the same row and same column of the non-zero element; and the non-zero-attribute of a non-zero element indicates that whether a non-zero element exists in the same row and/or same column of the non-zero element.
  • an element of the maximum cost is selected from them. If there are two or more elements having the same maximum cost, only one element is selected from these elements.
  • next selection for a next element will be determined based on the redetermination of the transfer cost of the rest elements in the matrix without the row and column of the selected element; steps 1) -3) will be repeated for (N-1) times and then (N-1) elements are selected after the (N-1) determination of transfer cost of the corresponding elements in the data matrix, and finally there is only one element left which is the last selected element in this transfer cycle.
  • a data transfer sequence is determined based on the N selected elements, according to the above steps 1) -3) . Since there is only one data sample can be transferred from every selected element in one transfer cycle, the determined data transfer sequence constitutes a N*N transfer matrix (hereinafter referred to as “transfer matrix” ) as well, with N elements of “1” respectively corresponding to each of the N selected elements and “0” elements filling in the rest of the transfer matrix. Thus In each N*N transfer matrix, no more than one data sample in every row and column, and thus N data samples at most get transferred in a transfer cycle.
  • the data to be transferred from the multi-ingress constitute a 4*4 data matrix as well, and the depth of each ingress is 64.
  • the data matrix to be transferred is exemplarily shown as
  • the N selected elements are the elements indicated in row-column in the data matrix such as 1-1, 2-2, 3-3 and 4-4. And only one data sample can be transferred in each of the selected element. Therefore, the data transfer sequence in this transfer cycle is
  • the data matrix is updated after each transfer cycle, wherein each of the N selected elements decreases 1 in value. Then the updated date matrix is applied to next cycle of transfer sequence. This updating will experience (M-1) times or till all the elements in the data matrix are zero.
  • Fig. 1 shows an exemplary procedure to determine a data transfer sequence based on the transfer cost of matrix elements in a transfer cycle.
  • the determining of data transfer sequences is illustrated to be conducted by a switch device.
  • the switch device can determine the transfer cost of every zero element and non-zero element in the data matrix.
  • the transfer cost of a zero element is zero.
  • the transfer cost of every non-zero element is determined based on the cross-attribute and value-attribute of the every non-zero element.
  • its cross-attribute includes its zero-attribute and its non-zero-attribute.
  • the zero-attribute of a non-zero element indicates the total number of zero in the same row and same column of the non-zero element; and the non-zero-attribute of a non-zero element indicates that whether a non-zero element exists in the same row and/or same column of the non-zero element.
  • Table 1 illustrates a data matrix to be transferred from the multi-ingress to the multi-egress.
  • the number of ingress and egress are both 4.
  • Table 1 also indicates the corresponding relationship between the multi-ingress and the multi-egress. For example, an element A is in row ingress-3 and column egress-2 and it means that the element A will be transferred from the ingress-3 to the egress-2.
  • the zero-attribute is updated every time after an element is selected based on the maximum cost and thus the row and column of this element are disregarded.
  • the non-zero-attribute of element A eventually gets 2. That is, the non-zero-attribute of an element can be 0, 1 or 2.
  • the non-zero-attribute is updated after a data transfer sequence is determined.
  • the transfer cost is the weighed sum of the cross-attribute and value-attribute of an element. Specifically, the zero-attribute and non-zero-attribute included in the cross-attribute can be set for different weights.
  • transfer cost 1*zero-attribute + 0.1*non-zero-attribute +0.001*value-attribute.
  • the switch device can select an element of the maximum cost from the cost determined elements. Assuming that the transfer cost of element B is the maximum cost among that of all the elements in the Table 1, then the element B is selected.
  • the switch device can select one at random, or select the first element.
  • the selection rule can be set according to a specific application.
  • step 103 the switch device can rule out the row and column of the selected element, and returns to step 101 to re-determine the transfer cost of the rest elements in the data matrix, till only one element is left to be re-determined the transfer cost.
  • the row and column of the element B is removed for next determination of transfer cost in this transfer cycle.
  • the removal action is merely an example of disregarding which is used to help calculate the transfer cost of the rest elements, and thus it does not mean actually deleting all the elements in the same row and same column of the selected element.
  • Table 1 the cross-connection of the element B is shown as below (1) .
  • the rest data matrix (2) is taken as input to re-determine the transfer cost of each element.
  • the element “3” is the element A.
  • the zero-attribute of element A becomes to 1, and its non-zero-attribute remains to be 2.
  • the transfer cost of element A is the maximum cost among that of all the 9 elements in the matrix (2) , then the element A is selected.
  • the cost determination procedure can be terminated in advance. However, the determination of transfer sequence would not be terminated until all the transfer sequences for all the transfer cycles have been done. This makes the number of transfer cycle consistent with that of other data packets.
  • the switch device can get a data transfer sequence of a 4*4 transfer matrix based on the 4 selected elements. Specifically, every row and every column of the transfer matrix can only transfer one data sample at one time, and then 4 data samples in different row and column can be transferred in one transfer cycle.
  • the elements 1-1, 2-3, 3-2, and 4-4 are chosen in the steps 101-103, then a data sample of each of the four elements will be removed, thus the data transfer sequence in this transfer cycle is
  • step 105 the switch device can update the data matrix.
  • Each of the N elements selected in this transfer cycle decreases 1 in value till the value becomes 0. Then the updated data matrix is applied to the next transfer cycle for cost calculation and transfer sequence determination.
  • a RRH device is applicable.
  • the RRH device comprises a crossbar module which functions as a packet switch.
  • the crossbar module locates between CPRI interface and antennae process chain (hereinafter abbreviated as antennae-x/x) .
  • LTE-BBU packages X*Y*Z data samples as one packet.
  • X is the number of antennae
  • Y is the number of carriers per antennae
  • K is the number of data samples per carrier.
  • the total number of data samples is 256.
  • the packet transfers from LTE-BBU to RRH by CPRI lane.
  • One CPRI lane only provides 64 data samples capability, and thus 4 CPRI lanes exist.
  • LTE-BBU packages the 64 data samples according to the customer configuration.
  • An exemplary example of “packet format” is shown in the below Table 2, wherein LTE-BBU packages the data samples based on the same carrier.
  • the packet format is random for RRH.
  • the crossbar module provides the switch function to assign the data samples from CPRI into respective antennae process chain.
  • the package format information has been transferred to RRH by other channel.
  • Any CPRI container can be routed to any antennae container:
  • i.CPRI-X transfers packet continuously.
  • the data sample at same packet spot combines into one container.
  • CPRI-X only ejects one data sample at one cycle. 4 data samples must transfer synchronously.
  • Antennae-x/x only accepts one data sample at one cycle.
  • the CPRI-X is an exemplary example of ingress and the antennae is an exemplary example of egress, thus the data samples transferred from the CPRI to the antennae constitutes a multi-ingress and multi-egress scenario.
  • every CPRI-X and Antennae-x/x only loads 64 data samples.
  • two Antennae are combined into one group for the equipotent between CPRI-Lane and antennae process chain.
  • the CPRI lane number is 4 and antennae group number is 4 too.
  • each CPRI has 64 data samples arranged at random as indicated in Table 2.
  • the arrangement of data samples is exemplarily shown in the below Table 3.
  • the data matrix to be transferred is determined as
  • the data matrix needs to be transferred in 64 cycles. In each cycle, only 4 data samples from different CPRI-X can be removed and a transfer sequence is determined. Thus there are 64 transfer sequences are generated for one transferring packet and every transfer sequence forms a transfer matrix.
  • the first transfer cycle when countdown numbered is adopted, it is the 64 cycle. And in the 64 cycle, the elements 1-1, 2-3, 3-2, and 4-4 are chosen on transfer cost and 4 data samples to be transferred form the corresponding transfer sequence as
  • the data matrix to be transferred is down to
  • Fig. 3 shows the first 8 data matrix and the corresponding transfer sequences and the last 8 data matrix and the corresponding transfer sequences.
  • Fig. 3a shows the first 4 data matrix and the corresponding transfer sequences
  • Fig. 3b shows the second 4 data matrix and the corresponding transfer sequences
  • Fig. 3c) -3d) shows the last 8 data matrix and the corresponding transfer sequences.
  • FIG. 3 only illustrates part of the data matrix of a transferring packet and the corresponding transfer sequences, those skilled in the art should also be aware that the rest of the data matrix of a transferring packet and the corresponding transfer sequences could easily be determined based on the calculation of transfer cost described in the present invention.
  • every CPRI-X knows which data sample to be transferred, the crossbar module knows where to transfer the received data sample, and every Antennae-x/x knows where to store the received data sample.
  • the present invention may be implemented in software or a combination of software and hardware; for example, it may be implemented by an ASIC (Application Specific Integrated Circuit) , a general-purpose computer, or any other similar hardware devices.
  • ASIC Application Specific Integrated Circuit
  • the software program of the present invention may be executed by a processor to implement the above steps or functions.
  • the software program of the present invention (including relevant data structure) may be stored in a computer readable recording medium, for example, a RAM memory, a magnetic or optical driver, or a floppy disk, and other similar devices.
  • a computer readable recording medium for example, a RAM memory, a magnetic or optical driver, or a floppy disk, and other similar devices.
  • some steps or functions of the present invention may be implemented by hardware, for example, a circuit cooperating with a processor to execute various functions or steps.
  • a portion of the present invention may be applied as a computer program product, for example, a computer program instruction, which, may invoke or provide a method and/or technical solution according to the present invention through operations of the computer when executed by the computer.
  • the program instruction invoking the method of the present invention may be stored in a fixed or mobile recording medium, and/or transmitted through broadcast or data flow in other signal bearer media, and/or stored in a working memory of a computer device which operates based on the program instruction.
  • one embodiment according to the present invention comprises an apparatus comprising a memory for storing a computer program instruction and a processor for executing the program instruction, wherein when the computer program instruction is executed by the processor, the apparatus is triggered to run the methods and/or technical solutions according to a plurality of embodiments of the present invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The objective of the present invention is to provide a method and apparatus for determining data transfer sequences between multi-ingress and multi-egress. The method for determining data transfer sequences between multi-ingress and multi-egress is provided. Herein the number of ingress and egress are both N and the data to be transferred from the multi-ingress constitute a N*N data matrix; wherein the depth of each ingress is M which indicates the number of the transfer cycle for transferring the data matrix; wherein in each transfer cycle, the method comprises the following steps: a. determining the transfer cost of every non-zero element in the matrix based on the cross-attribute and value-attribute of the every non-zero element, and determining that the transfer cost of a zero element is zero; b. selecting an element of the maximum cost from the cost determined elements; c. disregarding the row and column of the selected element, and returning to step a to re-determine the transfer cost of the rest elements in the matrix, till only one element is left to re-determine the transfer cost; d. determining a data transfer sequence based on N data samples, wherein each data sample is obtained from one of the N selected elements.

Description

Method and Apparatus for Determining Data Transfer Sequences between Multi-Ingress and Multi-Egress TECHNICAL FIELD
The present invention relates to the technology of transferring of intersect parallel data between multi-ingress and multi-egress.
BACKGROUND OF INVENTION
It is a matrix problem that issues intersect parallel data transferring between multi-ingress and multi-egress. The classic solve algorithm is to execute row-switch or column-switch to make the matrix diagonal element non-zero. When the all diagonal elements are non-zero, the transfer matrix is generated. And the unit-matrix executes the same procedure to obtain the transfer matrix. But the computing process is complex and costs more time because it needs much iteration sometimes.
SUMMARY OF INVENTION
The objective of the present invention is to provide a method and apparatus for determining data transfer sequences between multi-ingress and multi-egress.
According to one aspect of the present invention, a method for determining data transfer sequences between multi-ingress and multi-egress is provided. Herein the number of ingress and egress are both N and the data to be transferred from the multi-ingress constitute a N*N data matrix;
wherein the depth of each ingress is M which indicates the number of the transfer cycle for transferring the data matrix;
wherein in each transfer cycle, the method comprises the following steps:
a.determining the transfer cost of every non-zero element in the matrix  based on the cross-attribute and value-attribute of the every non-zero element, and determining that the transfer cost of a zero element is zero;
b.selecting an element of the maximum cost from the cost determined elements;
c.disregarding the row and column of the selected element, and returning to step a to re-determine the transfer cost of the rest elements in the matrix, till only one element is left to re-determine the transfer cost;
d.determining a data transfer sequence based on N data samples, wherein each data sample is obtained from one of the N selected elements.
According to one aspect of the present invention, a switch device for determining data transfer sequences between multi-ingress and multi-egress is provided. Herein the number of ingress and egress are both N and the data to be transferred from the multi-ingress constitute a N*N data matrix;
wherein the depth of each ingress is M which indicates the number of the transfer cycle for transferring the data matrix;
wherein in each transfer cycle, the switch device is configured to:
a.determine the transfer cost of every non-zero element in the matrix based on the cross-attribute and value-attribute of the every non-zero element, and determine that the transfer cost of a zero element is zero;
b.select an element of the maximum cost from the cost determined elements;
c.disregard the row and column of the selected element, and returning to step a to re-determine the transfer cost of the rest elements in the matrix, till only one element is left to re-determine the transfer cost;
d.determine a data transfer sequence based on N data samples, wherein each data sample is obtained from one of the N selected elements.
According to one aspect of the present invention, a computer-readable medium is provided. The computer readable medium containing computer code, when executed by a switch device comprising multiple ingresses and multiple egresses, wherein the number of ingress and egress are both N and the  data to be transferred from the multi-ingress constitute a N*N data matrix;
wherein the depth of each ingress is M which indicates the number of the transfer cycle for transferring the data matrix;
wherein in each transfer cycle, the switch device is configured to:
a.determine the transfer cost of every non-zero element in the matrix based on the cross-attribute and value-attribute of the every non-zero element, and determine that the transfer cost of a zero element is zero;
b.select an element of the maximum cost from the cost determined elements;
c.disregard the row and column of the selected element, and returning to step a to re-determine the transfer cost of the rest elements in the matrix, till only one element is left to re-determine the transfer cost;
d.determine a data transfer sequence based on N data samples, wherein each data sample is obtained from one of the N selected elements.
According to one aspect of the present invention, a computer program is provided. When executed by a switch device comprising multiple ingresses and multiple egresses, wherein the number of ingress and egress are both N and the data to be transferred from the multi-ingress constitute a N*N data matrix;
wherein the depth of each ingress is M which indicates the number of the transfer cycle for transferring the data matrix;
wherein in each transfer cycle, the switch device is configured to:
a.determine the transfer cost of every non-zero element in the matrix based on the cross-attribute and value-attribute of the every non-zero element, and determine that the transfer cost of a zero element is zero;
b.select an element of the maximum cost from the cost determined elements;
c.disregard the row and column of the selected element, and returning to step a to re-determine the transfer cost of the rest elements in the matrix, till only one element is left to re-determine the transfer cost; 
d.determine a data transfer sequence based on N data samples, wherein each data sample is obtained from one of the N selected elements.
The present invention enables intersect parallel data transferring between multi-ingress and multi-egress efficient. It ensures only one data sample can be transferred in every row and column of the data matrix during one transfer cycle.
DESCRIPTION OF ACCOMPANIED DRAWINGS
Through reading the following detailed depiction on the non-limiting embodiments with reference to the accompanying drawings, the other features, objectives, and advantages of the present invention will become clearer.
Fig. 1 shows an exemplary procedure to determine a data transfer sequence based on the transfer cost of matrix elements in a transfer cycle according to the present invention;
Fig. 2 shows an exemplary schematic of RRH architecture which is applicable to the present invention;
Fig. 3a) -d) show multiple data matrix and their corresponding transfer sequence respectively according to an embodiment of the present invention.
Same or like reference numerals in the accompanying drawings indicate the same or corresponding components.
EMBODIMENT OF INVENTION
Hereinafter, the present invention will be further described in detail with reference to the accompanying drawings.
The present invention provides a solution to determine data transfer sequences for intersect parallel data transferring between multi-ingress and multi-egress. Further, the present invention is applicable to any kind of switch devices having a symmetrical multi-ingress and multi-egress. Moreover,  besides the switch devices, the determination of cost-based data transfer sequences can also be done by other devices such as a dedicated determination device, though the data transfer sequences are used in the switch devices having a symmetrical multi-ingress and multi-egress.
Specifically, for the multi-ingress and multi-egress, the number of ingress and egress are both N, thus the data to be transferred from the multi-ingress constitute a N*N matrix (hereinafter referred to as “data matrix” ) . The depth of each ingress is M and the depth means the transfer times for the data from the ingress till the ingress is empty. That is, for a N*N data matrix, it will experience M transfer cycles to be transferred from the multi-ingress to the multi-egress. And the total element value of each row and each column of the data matrix is M.
Further, in each transfer cycle, a data transfer sequence is determined based on transfer cost. The specific steps for the determination are as follows:
1) The transfer costs of non-zero elements and zero elements in the data matrix are determined in different way. A zero element means an element with a value of zero, and the transfer cost of a zero element is zero. A non-zero element means an element with a value of non-zero, and the transfer cost of a non-zero based on the cross-attribute and value-attribute of the non-zero element.
The cross-attribute of a non-zero element includes zero-attribute and non-zero-attribute. The zero-attribute of a non-zero element indicates the total number of zero in the same row and same column of the non-zero element; and the non-zero-attribute of a non-zero element indicates that whether a non-zero element exists in the same row and/or same column of the non-zero element.
2) Among all the cost determined elements, an element of the maximum cost is selected from them. If there are two or more elements having the same maximum cost, only one element is selected from these elements.
3) The row and column of the selected element is ruled out, and the rest elements in the data matrix are regarded as new inputs to re-determine their  transfer costs in the step a, till there is only one element left to re-determine its transfer cost.
That is, after a first element is selected based on its transfer cost in this transfer cycle, the next selection for a next element will be determined based on the redetermination of the transfer cost of the rest elements in the matrix without the row and column of the selected element; steps 1) -3) will be repeated for (N-1) times and then (N-1) elements are selected after the (N-1) determination of transfer cost of the corresponding elements in the data matrix, and finally there is only one element left which is the last selected element in this transfer cycle.
4) A data transfer sequence is determined based on the N selected elements, according to the above steps 1) -3) . Since there is only one data sample can be transferred from every selected element in one transfer cycle, the determined data transfer sequence constitutes a N*N transfer matrix (hereinafter referred to as “transfer matrix” ) as well, with N elements of “1” respectively corresponding to each of the N selected elements and “0” elements filling in the rest of the transfer matrix. Thus In each N*N transfer matrix, no more than one data sample in every row and column, and thus N data samples at most get transferred in a transfer cycle.
Taking a 4*4 multi-links for example, the data to be transferred from the multi-ingress constitute a 4*4 data matrix as well, and the depth of each ingress is 64. Thus, there are 64 transfer cycles and each cycle has a transfer sequence. The data matrix to be transferred is exemplarily shown as
16 16 16 16
16 16 16 16
16 16 16 16
16 16 16 16.
In one transfer cycle, the N selected elements are the elements indicated in row-column in the data matrix such as 1-1, 2-2, 3-3 and 4-4. And  only one data sample can be transferred in each of the selected element. Therefore, the data transfer sequence in this transfer cycle is
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1.
5) The data matrix is updated after each transfer cycle, wherein each of the N selected elements decreases 1 in value. Then the updated date matrix is applied to next cycle of transfer sequence. This updating will experience (M-1) times or till all the elements in the data matrix are zero.
Referring to Fig. 1, it shows an exemplary procedure to determine a data transfer sequence based on the transfer cost of matrix elements in a transfer cycle. For an exemplary illustration of the present invention, the determining of data transfer sequences is illustrated to be conducted by a switch device.
In step 101, the switch device can determine the transfer cost of every zero element and non-zero element in the data matrix. The transfer cost of a zero element is zero. The transfer cost of every non-zero element is determined based on the cross-attribute and value-attribute of the every non-zero element.
For a non-zero element, its cross-attribute includes its zero-attribute and its non-zero-attribute. The zero-attribute of a non-zero element indicates the total number of zero in the same row and same column of the non-zero element; and the non-zero-attribute of a non-zero element indicates that whether a non-zero element exists in the same row and/or same column of the non-zero element.
The below Table 1 illustrates a data matrix to be transferred from the multi-ingress to the multi-egress. The number of ingress and egress are both 4. 
  egress-1 egress-2 egress-3 egress-4  
ingress-1 0 0 1 0 1
ingress-2 0 0 2--B 0 2
ingress-3 1 3--A 0 1 4
ingress-4 0 1 0 1 0
  1 4 3 0  
Table 1
Table 1 also indicates the corresponding relationship between the multi-ingress and the multi-egress. For example, an element A is in row ingress-3 and column egress-2 and it means that the element A will be transferred from the ingress-3 to the egress-2.
Take the element A for example to calculate its transfer cost.
① the zero-attribute of element A
There is 1 zero in the same row and 2 zero in the same column, so the total number of zero is 3, then the zero-attribute of element A is 3.
The zero-attribute is updated every time after an element is selected based on the maximum cost and thus the row and column of this element are disregarded.
② the non-zero-attribute of element A
There are 2 non-zero in the same row and this makes the non-zero-attribute value being 1, and there is 1 non-zero in the same column and this makes the non-zero-attribute value being 1, so the non-zero-attribute of element A eventually gets 2. That is, the non-zero-attribute of an element can be 0, 1 or 2.
The non-zero-attribute is updated after a data transfer sequence is determined.
③ the value-attribute of element A
The value of element A is 3, so the value-attribute of element A is 3.
④ the transfer cost of element A
The transfer cost is the weighed sum of the cross-attribute and value-attribute of an element. Specifically, the zero-attribute and  non-zero-attribute included in the cross-attribute can be set for different weights.
For example, transfer cost = 1*zero-attribute + 0.1*non-zero-attribute +0.001*value-attribute.
Thus, the transfer cost of element A = 1*3 + 0.1*2 + 0.001*3 = 3.203.
In addition, for the element B, its zero-attribute is 5 (3+2) , its non-zero-attribute is 1 (0+1) , and its value-attribute is 2. Thus, the transfer cost of element B = 1*5 + 0.1*1 + 0.001*2 = 5.102.
In step 102, the switch device can select an element of the maximum cost from the cost determined elements. Assuming that the transfer cost of element B is the maximum cost among that of all the elements in the Table 1, then the element B is selected.
When there is more than one element having the maximum cost, the switch device can select one at random, or select the first element. The selection rule can be set according to a specific application.
In step 103, the switch device can rule out the row and column of the selected element, and returns to step 101 to re-determine the transfer cost of the rest elements in the data matrix, till only one element is left to be re-determined the transfer cost.
For example, the row and column of the element B is removed for next determination of transfer cost in this transfer cycle. Note that the removal action is merely an example of disregarding which is used to help calculate the transfer cost of the rest elements, and thus it does not mean actually deleting all the elements in the same row and same column of the selected element. Still referring to Table 1, the cross-connection of the element B is shown as below (1) .
Figure PCTCN2014088019-appb-000001
Then the rest data matrix (2) is taken as input to re-determine the transfer cost of each element. In the matrix (2) , the element “3” is the element A.The zero-attribute of element A becomes to 1, and its non-zero-attribute remains to be 2. Thus, the transfer cost of element A = 1*1 + 0.1*2 + 0.001*3 = 1.203. Assuming that the transfer cost of element A is the maximum cost among that of all the 9 elements in the matrix (2) , then the element A is selected.
In a next cost-determination, another element will be selected. Then only one element is left. Hence, all the 4 elements in this transfer cycle are determined.
Additionally, when the rest elements are all zero, the cost determination procedure can be terminated in advance. However, the determination of transfer sequence would not be terminated until all the transfer sequences for all the transfer cycles have been done. This makes the number of transfer cycle consistent with that of other data packets.
In step 104, the switch device can get a data transfer sequence of a 4*4 transfer matrix based on the 4 selected elements. Specifically, every row and every column of the transfer matrix can only transfer one data sample at one time, and then 4 data samples in different row and column can be transferred in one transfer cycle.
For example, the elements 1-1, 2-3, 3-2, and 4-4 are chosen in the steps 101-103, then a data sample of each of the four elements will be removed, thus the data transfer sequence in this transfer cycle is
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1.
In step 105, the switch device can update the data matrix. Each of the N elements selected in this transfer cycle decreases 1 in value till the value  becomes 0. Then the updated data matrix is applied to the next transfer cycle for cost calculation and transfer sequence determination.
According to an embodiment of the present invention, a RRH device is applicable. Referring to Fig. 2, the RRH architecture is illustrated. The RRH device comprises a crossbar module which functions as a packet switch. As shown in Fig. 2, the crossbar module locates between CPRI interface and antennae process chain (hereinafter abbreviated as antennae-x/x) .
LTE-BBU packages X*Y*Z data samples as one packet. X is the number of antennae, Y is the number of carriers per antennae, and K is the number of data samples per carrier.
For example, LTE-BBU package 8*4*8 data samples as one packet in this specification for exemplarily illustration. The total number of data samples is 256.
The packet transfers from LTE-BBU to RRH by CPRI lane.
One CPRI lane only provides 64 data samples capability, and thus 4 CPRI lanes exist.
LTE-BBU packages the 64 data samples according to the customer configuration. An exemplary example of “packet format” is shown in the below Table 2, wherein LTE-BBU packages the data samples based on the same carrier. The packet format is random for RRH.
CPRI-Lane-1 CPRI-Lane-2 CPRI-Lane-3 CPRI-Lane-4
Antennae_1-Carrier_1 Antennae_1-Carrier_2 Antennae_1-Carrier_3 Antennae_1-Carrier_4
Antennae_2-Carrier_1 Antennae_2-Carrier_2 Antennae_2-Carrier_3 Antennae_2-Carrier_4
Antennae_3-Carrier_1 Antennae_3-Carrier_2 Antennae_3-Carrier_3 Antennae_3-Carrier_4
Antennae_4-Carrier_1 Antennae_4-Carrier_2 Antennae_4-Carrier_3 Antennae_4-Carrier_4
Antennae_5-Carrier_1 Antennae_5-Carrier_2 Antennae_5-Carrier_3 Antennae_5-Carrier_4
Antennae_6-Carrier_1 Antennae_6-Carrier_2 Antennae_6-Carrier_3 Antennae_6-Carrier_4
Antennae_7-Carrier_1 Antennae_7-Carrier_2 Antennae_7-Carrier_3 Antennae_7-Carrier_4
Antennae_8-Carrier_1 Antennae_8-Carrier_2 Antennae_8-Carrier_3 Antennae_8-Carrier_4
Table 2
As shown in Fig. 2, the crossbar module provides the switch function to assign the data samples from CPRI into respective antennae process chain. The  package format information has been transferred to RRH by other channel.
Any CPRI container can be routed to any antennae container:
i.CPRI-X transfers packet continuously. The data sample at same packet spot combines into one container.
ii. It only spends 64 cycles to transfer one packet from the CPRI-X to Antennae-x/x side.
iii. CPRI-X only ejects one data sample at one cycle. 4 data samples must transfer synchronously.
iv. Antennae-x/x only accepts one data sample at one cycle.
The CPRI-X is an exemplary example of ingress and the antennae is an exemplary example of egress, thus the data samples transferred from the CPRI to the antennae constitutes a multi-ingress and multi-egress scenario.
With reference to Fig. 2, every CPRI-X and Antennae-x/x only loads 64 data samples. Herein two Antennae are combined into one group for the equipotent between CPRI-Lane and antennae process chain. Thus the CPRI lane number is 4 and antennae group number is 4 too.
256 data samples are input into 4 CPRI and each CPRI has 64 data samples arranged at random as indicated in Table 2. The arrangement of data samples is exemplarily shown in the below Table 3.
    Antennae-1/2 Antennae-3/4 Antennae-5/6 Antennae-7/8
CPRI-1 64 16 16 16 16
CPRI-2 64 16 16 16 16
CPRI-3 64 16 16 16 16
CPRI-4 64 16 16 16 16
  total 64 64 64 64
Table 3
According to the Table 3, the data matrix to be transferred is determined as
16 16 16 16
16 16 16 16
16 16 16 16
16 16 16 16.
The depth of each CPRI-X = 256/4 = 64, then the data matrix needs to be transferred in 64 cycles. In each cycle, only 4 data samples from different CPRI-X can be removed and a transfer sequence is determined. Thus there are 64 transfer sequences are generated for one transferring packet and every transfer sequence forms a transfer matrix.
For example, for the first transfer cycle, when countdown numbered is adopted, it is the 64 cycle. And in the 64 cycle, the elements 1-1, 2-3, 3-2, and 4-4 are chosen on transfer cost and 4 data samples to be transferred form the corresponding transfer sequence as
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1.
Then in the second transfer cycle, i. e. , the 63 cycle, the data matrix to be transferred is down to
15 16 16 16
16 15 16 16
16 16 15 16
16 16 16 15.
Fig. 3 shows the first 8 data matrix and the corresponding transfer sequences and the last 8 data matrix and the corresponding transfer sequences. Herein, Fig. 3a) shows the first 4 data matrix and the corresponding transfer  sequences; Fig. 3b) shows the second 4 data matrix and the corresponding transfer sequences; Fig. 3c) -3d) shows the last 8 data matrix and the corresponding transfer sequences.
Although Fig. 3 only illustrates part of the data matrix of a transferring packet and the corresponding transfer sequences, those skilled in the art should also be aware that the rest of the data matrix of a transferring packet and the corresponding transfer sequences could easily be determined based on the calculation of transfer cost described in the present invention.
From the transfer sequence, every CPRI-X knows which data sample to be transferred, the crossbar module knows where to transfer the received data sample, and every Antennae-x/x knows where to store the received data sample.
It should be noted that the present invention may be implemented in software or a combination of software and hardware; for example, it may be implemented by an ASIC (Application Specific Integrated Circuit) , a general-purpose computer, or any other similar hardware devices.
The software program of the present invention may be executed by a processor to implement the above steps or functions. Likewise, the software program of the present invention (including relevant data structure) may be stored in a computer readable recording medium, for example, a RAM memory, a magnetic or optical driver, or a floppy disk, and other similar devices. Besides, some steps or functions of the present invention may be implemented by hardware, for example, a circuit cooperating with a processor to execute various functions or steps.
Additionally, a portion of the present invention may be applied as a computer program product, for example, a computer program instruction,  which, may invoke or provide a method and/or technical solution according to the present invention through operations of the computer when executed by the computer. Further, the program instruction invoking the method of the present invention may be stored in a fixed or mobile recording medium, and/or transmitted through broadcast or data flow in other signal bearer media, and/or stored in a working memory of a computer device which operates based on the program instruction. Here, one embodiment according to the present invention comprises an apparatus comprising a memory for storing a computer program instruction and a processor for executing the program instruction, wherein when the computer program instruction is executed by the processor, the apparatus is triggered to run the methods and/or technical solutions according to a plurality of embodiments of the present invention.
To those skilled in the art, it is apparent that the present invention is not limited to the details of the above exemplary embodiments, and the present invention may be implemented with other embodiments without departing from the spirit or basic features of the present invention. Thus, in any way, the embodiments should be regarded as exemplary, not limitative; the scope of the present invention is limited by the appended claims instead of the above description, and all variations intended to fall into the meaning and scope of equivalent elements of the claims should be covered within the present invention. No reference signs in the claims should be regarded as limiting of the involved claims. Besides, it is apparent that the term “comprise” does not exclude other units or steps, and singularity does not exclude plurality. A plurality of units or modules stated in a system claim may also be implemented by a single unit or module through software or hardware. Terms such as the first and the second are used to indicate names, but do not indicate any particular sequence.

Claims (11)

  1. A method for determining data transfer sequences between multi-ingress and multi-egress, wherein the number of ingress and egress are both N and the data to be transferred from the multi-ingress constitute a N*N data matrix;
    wherein the depth of each ingress is M which indicates the number of the transfer cycle for transferring the data matrix;
    wherein in each transfer cycle, the method comprises the following steps:
    a.determining the transfer cost of every non-zero element in the matrix based on the cross-attribute and value-attribute of the every non-zero element, and determining that the transfer cost of a zero element is zero;
    b.selecting an element of the maximum cost from the cost determined elements;
    c.disregarding the row and column of the selected element, and returning to step a to re-determine the transfer cost of the rest elements in the matrix, till only one element is left to re-determine the transfer cost;
    d.determining a data transfer sequence based on N data samples, wherein each data sample is obtained from one of the N selected elements.
  2. The method of claim 1, wherein the data matrix is updated with the value of the N selected elements decreasing 1 respectively after each transfer cycle.
  3. The method of claim 1 or 2, wherein the transfer cost of a non-zero element is determined by a weighted sum of the cross-attribute and value-attribute of the non-zero element.
  4. The method of any one of claims 1-3, wherein the cross-attribute of a non-zero element in the matrix includes zero-attribute and non-zero-attribute, 
    wherein the zero-attribute indicates the total number of zero in the same row and same column of a non-zero element,
    wherein the non-zero-attribute indicates that non-zero element exists in the same row and/or same column of the non-zero element.
  5. The method of claim 4, wherein the zero-attribute is updated after  disregarding the row and column of the selected element in step c, and the non-zero-attribute is updated in every transfer cycle.
  6. The method of any one of claims 1-5, wherein the transfer cost of a zero element is zero.
  7. The method of any one of claims 1-6, wherein the step b further comprises: -if the number of element having the maximum cost is more than one, selecting one element from the elements having the maximum cost.
  8. The method of any one of claims 1-7, wherein each data transfer sequence constitutes a N*N transfer matrix with N elements of “1” respectively corresponding to the N selected elements from the data matrix and others of “0”.
  9. A switch device for determining data transfer sequences between multi-ingress and multi-egress, wherein the number of ingress and egress are both N and the data to be transferred from the multi-ingress constitute a N*N data matrix;
    wherein the depth of each ingress is M which indicates the number of the transfer cycle for transferring the data matrix;
    wherein in each transfer cycle, the switch device is configured to:
    a.determine the transfer cost of every non-zero element in the matrix based on the cross-attribute and value-attribute of the every non-zero element, and determine that the transfer cost of a zero element is zero;
    b.select an element of the maximum cost from the cost determined elements;
    c.disregard the row and column of the selected element, and returning to step a to re-determine the transfer cost of the rest elements in the matrix, till only one element is left to re-determine the transfer cost;
    d.determine a data transfer sequence based on N data samples, wherein each data sample is obtained from one of the N selected elements.
  10. A computer-readable medium, the computer readable medium containing computer code, when executed by a switch device comprising multiple ingresses and multiple egresses, wherein the number of ingress and egress are  both N and the data to be transferred from the multi-ingress constitute a N*N data matrix;
    wherein the depth of each ingress is M which indicates the number of the transfer cycle for transferring the data matrix;
    wherein in each transfer cycle, the switch device is configured to:
    a.determine the transfer cost of every non-zero element in the matrix based on the cross-attribute and value-attribute of the every non-zero element, and determine that the transfer cost of a zero element is zero;
    b.select an element of the maximum cost from the cost determined elements;
    c.disregard the row and column of the selected element, and returning to step a to re-determine the transfer cost of the rest elements in the matrix, till only one element is left to re-determine the transfer cost;
    d.determine a data transfer sequence based on N data samples, wherein each data sample is obtained from one of the N selected elements.
  11. A computer program, when executed by a switch device comprising multiple ingresses and multiple egresses, wherein the number of ingress and egress are both N and the data to be transferred from the multi-ingress constitute a N*N data matrix;
    wherein the depth of each ingress is M which indicates the number of the transfer cycle for transferring the data matrix;
    wherein in each transfer cycle, the switch device is configured to:
    a.determine the transfer cost of every non-zero element in the matrix based on the cross-attribute and value-attribute of the every non-zero element, and determine that the transfer cost of a zero element is zero;
    b.select an element of the maximum cost from the cost determined elements;
    c.disregard the row and column of the selected element, and returning to step a to re-determine the transfer cost of the rest elements in the matrix, till only one element is left to re-determine the transfer cost;
    d.determine a data transfer sequence based on N data samples, wherein each data sample is obtained from one of the N selected elements.
PCT/CN2014/088019 2014-09-30 2014-09-30 Method and apparatus for determining data transfer sequences between multi-ingress and multi-egress WO2016049896A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201480082375.5A CN106688196B (en) 2014-09-30 2014-09-30 Method and apparatus for determining a data transfer sequence between multiple entries and multiple exits
PCT/CN2014/088019 WO2016049896A1 (en) 2014-09-30 2014-09-30 Method and apparatus for determining data transfer sequences between multi-ingress and multi-egress

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/088019 WO2016049896A1 (en) 2014-09-30 2014-09-30 Method and apparatus for determining data transfer sequences between multi-ingress and multi-egress

Publications (1)

Publication Number Publication Date
WO2016049896A1 true WO2016049896A1 (en) 2016-04-07

Family

ID=55629323

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/088019 WO2016049896A1 (en) 2014-09-30 2014-09-30 Method and apparatus for determining data transfer sequences between multi-ingress and multi-egress

Country Status (2)

Country Link
CN (1) CN106688196B (en)
WO (1) WO2016049896A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004002020A1 (en) * 2002-06-20 2003-12-31 Matsushita Electric Industrial Co., Ltd. Radio communication system and scheduling method
CN103379530A (en) * 2012-04-19 2013-10-30 马维尔国际有限公司 Performance abstract method and device for multi-in multi-out system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004002020A1 (en) * 2002-06-20 2003-12-31 Matsushita Electric Industrial Co., Ltd. Radio communication system and scheduling method
CN103379530A (en) * 2012-04-19 2013-10-30 马维尔国际有限公司 Performance abstract method and device for multi-in multi-out system

Also Published As

Publication number Publication date
CN106688196A (en) 2017-05-17
CN106688196B (en) 2020-06-26

Similar Documents

Publication Publication Date Title
US20200336370A1 (en) Consistent hashing for network traffic dispatching
CN108829610B (en) Memory management method and device in neural network forward computing process
US20180357541A1 (en) Training task optimization system, training task optimization method and non-transitory computer readable medium for operating the same
US9495206B2 (en) Scheduling and execution of tasks based on resource availability
JP6083300B2 (en) Program, parallel operation method, and information processing apparatus
US10922785B2 (en) Processor and method for scaling image
US9141677B2 (en) Apparatus and method for arranging query
US20120054602A1 (en) Management of display of object fields of layout elements
CN105677755B (en) A kind of method and device handling diagram data
CN110555014B (en) Data migration method and system, electronic device and storage medium
EP3983950A1 (en) Neural network training in a distributed system
US10902087B2 (en) Device and method for accelerating matrix multiply operations as a sum of outer products
WO2022068328A1 (en) Data migration method and apparatus, and processor and calculation device
WO2016049896A1 (en) Method and apparatus for determining data transfer sequences between multi-ingress and multi-egress
JP5678691B2 (en) SEARCH CONTROL DEVICE, SEARCH CONTROL PROGRAM, AND SEARCH CONTROL METHOD
US10339203B2 (en) Correlation coefficient calculation method, computer-readable recording medium, and correlation coefficient calculation device
CN108694078A (en) The interruption confirmed based on nearest interrupt requests indicator and work
US8098249B2 (en) Apparatus and method for automatic scaling of tick marks
CN111027688A (en) Neural network calculator generation method and device based on FPGA
WO2016049903A1 (en) Method and apparatus for intersect parallel data between multi-ingress and multi-egress
CN107391318A (en) A kind of method, system and device of container data persistence
EP2624137B1 (en) A method and a device for controlling memory allocation
WO2014016950A1 (en) Parallel computer system, and method for arranging processing load in parallel computer system
CN103886060B (en) Data processing method and device for on-line analytical processing subregion
CN103731500B (en) Data batch insertion method based on Bigtable storage system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14903026

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14903026

Country of ref document: EP

Kind code of ref document: A1