This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Srio Throughput falling !!



Hello everyone , 

i'm testing Srio performance using two differents scenarios ,

In the first case i have 2LSUs that shared the same port and send data throught  switch "sps1848" to 2 different destinations (A,B), the sending is on 4X and reception in 2X for each destination .

In the second case i have 1LSU that send data throught switch to 2 different destinations (A,B) , the sending in on 4x and reception on 2x for each destination .

I can't find an explanation for the result i got : => here are curves showing results

I can't explain ! why does the throughput drop when the data exceed 16KB when using 1LSU !!

 Thank you in advanced!

Regards 

Asma 

  • Hi Asma,

    Each LSU is a set of shadow registers. Each shadow register can be programmed for setting up a transaction ahead of time. When the LSU is free, the data is transferred from the shadow register to the LSU register. The point at which the data is actually transferred from the shadow registers to the actual LSU registers, the values of LSU0-5 registers can be read. Prior to that, a read of these registers will indicate the last value that was present in these registers. This implies that the new values cannot be read until a write to REG5 and further constrained by the fact that there is no other command ahead of the current command being setup. Reg6 can be read as and when it is written to, as it is used for locking and releasing.

    The total shadow registers that can be assigned to each LSU is configurable, for a total of 32 sets of registers. Of the total of 32 shadow register, 16 of them are used for LSU0-3, while the other 16 can only be used for LSU4-7. The total shadow registers assigned to an LSU is setup via the RIO_LSU_SETUP_REG0.

    In your second test case you have configured 1LSU(Load Store Unit) for transmission. If the LSU is free, The shadow register is now ready to be used by the LSU. If the LSU is already busy, the data will be simply held in the shadow register. When the LSU finishes with the transaction, the shadow register is ready to be used by the LSU. So that only you got throughput drop in your second test case.

    Thanks,

  • Hi Ganapathi,

    thank you very much for your answer , i can understand the throughput dropping but i can't see why is it exactly at 16 KB ?? 

    Thanks, 

    Regards , 

    Asma 

  • Hi Asma,

    If you configured 1LSU(Load Store Unit) for transmission means the data is going out to the same LSU. Lower byte count it should be ok, but higher byte count LSU transfer is over loaded (LSU is busy).

    If you need more information please take a look at following section 2.3.2.1 and 2.3.2.2 on SRIO user guide (SPRUGW1B).

    Thanks,

  • Hi Asma

    I do not think it's a problem of shadow register, I had done some SRIO throughput test some time ago and the speed tended to stabilize at a value of about 13 gbps, regardless of the number of shadow register associated, and i was using a single LSU

  • Hi Henry , 

    Thank you for your answer , i share your opinion and i don't think it's a "shadow register"  problem. 

    In fact i've done a first test with 1LSU sending data to one destination (4X=>switch=>4X) and the throughput stabilized at 13 Gbps , but during the second test when i send data using 1LSU to 2 differents destinations  (4X=>switch =>2X,2X) the troughput drop after sending 16 KB  this is why i'm wondering why the dropping started after 16KB and not any other value .

    Waiting  for your answers 

    Regards 

    Asma