Demo & Performance of NVMeTCP25G-IP 4 sessions with DMA on Alveo U50 Card

The article showcases a new solution for data center applications called the accelerator system for NVMe/TCP host function.

We divided it into two parts.

The second part of the ariticle shows you how to set up the demo and performance result of this solution.

The demo shows how to set up the system and presents performance results achieved through testing write and read operations with four NVMeTCP25G IPs cores accessing 4 NVMe/TCP Targets simultaneously via 4x25G Ethernet connections.

NVMeTCP25G-IP on Alveo card

The details of the NVMeTCP25G-IP demo on the Alveo card are shown. The NVMeTCP25G IP demo on the Alveo card uses a 100G Ethernet connector, which is divided into four of 25G Ethernet connectors. 

Four NVMeTCP25G IPs are integrated to access four SSDs at the NVMe/TCP systems simultaneously. This design allows for high-performance data transfer when accessing four data sources via 100G Ethernet. 

In summary, the NVMeTCP25G-IP demo on the Alveo card is capable of achieving fast and efficient data transfer for accessing multiple data sources at the same time. 

NVMeTCP25G-IP Demo Setup

In the next demonstration, we will utilize the Alveo U50 card as the host system. To showcase the Write and read operations, we set up four NVMe/TCP targets using four NVMe SSDs and 25G Ethernet cards. 

Each target will transfer data with an NVMeTCP25G IP on the Alveo card, allowing us to conduct a comprehensive test of the system’s capabilities. 

Write Command operation

During the Write operation test, we will use an application to generate test data for all channels in the host memory. Once the test data is ready, we will set the signals of all NVMeTCP25G IPs to initiate data transfer. 

Each NVMeTCP25G IP will encode the raw data from the host memory and convert it into an Ethernet packet. This packet will be used to store the data onto the SSD through the 25G Ethernet connection. To ensure maximum efficiency, all four channels will be operated simultaneously via four separate 25G Ethernet connections. 

Write Command Result

During the write operation from the host to an SSD at the target, it achieved a transfer rate of 2353 Mbyte/sec, which is 70% of the 25G Ethernet line rate. This performance was limited by the operating system to ensure that the resource was utilized efficiently while handling each TCP session. 

To enhance the performance, four Hosts to write data to four SSDs at two target systems are run. This resulted in a significant increase in performance, with a transfer rate of up to 7938 Mbyte/sec, which is 350% of using a single channel. 

However, the performance is slightly reduced compared to four times a single channel performance. This is because two SSDs were set up by the same target system, resulting in the need to share resources. 

Read command operation

On the other hand, during the Read operation test, the test data from the four SSDs are transferred to the four NVMeTCP25G IPs.

These IPs are responsible for decoding the data and extracting the raw data from the Ethernet packets. Once the raw data is extracted, it is uploaded to the host memory using the PCIe interface, where it can be verified by an application.

Read Command Result

During the Read operation test, when executed by one channel, it achieved a transfer rate of 2736 Mbyte/sec. 

However, when utilizing four channels, it achieved a higher transfer rate of up to 8148 Mbyte/sec, which is 300% of using a single channel. 

An application is developed to enable data verification, which can impact the system’s overall performance. To improve performance, the data verification feature should be disabled. 

For more information Please visit our website: