Presentation is loading. Please wait.

Presentation is loading. Please wait.

Netkit ftpd/ftp migration Part 4 Yufei 10/08/2010.

Similar presentations


Presentation on theme: "Netkit ftpd/ftp migration Part 4 Yufei 10/08/2010."— Presentation transcript:

1 netkit ftpd/ftp migration Part 4 Yufei 10/08/2010

2 Improvement Separate Executer Buffer Data Strature Bottleneck

3 New result File Size RDMA sequential TCP RDMA circled- buffer (30 x 50MB) 1GB 1.87 secs (5.5e+05 Kbytes/sec) 1.8 secs (5.7e+05 Kbytes/sec) 1.56 secs (6.6e+05 Kbytes/sec) 100G B 444 secs (2.3e+05 Kbytes/sec) 311 secs (3.3e+05 Kbytes/sec) 306 secs (3.3e+05 Kbytes/sec)

4 Improvement Independent Data Loading Module – Reader and Writer Independent Data Transfer Module – Sender and Receiver Circled Buffer – Free list – Sender list – Writer list

5 Client open new connection, then login to the server Child use the established connection to transfer COMMANDs and REPLIES information with Client USER, PASS, PORT, PASV, RETR, STOR communication channel data transfer channel P P Previous Type

6 Client open new connection, then login to the server Child use the established connection to transfer COMMANDs and REPLIES information with Client USER, PASS, PORT, PASV, RETR, STOR communication channel data transfer channel T-sender T-reader T-recver T-writer Separate Executer

7 Client open new connection, then login to the server Child use the established connection to transfer COMMANDs and REPLIES information with Client USER, PASS, PORT, PASV, RETR, STOR communication channel data transfer channel T-sender T-reader T-recver T-writer BUFFER Buffer Resource

8 T-sender T-reader T-recver T-writer free list sender list free list writer list RDMA_READ RDMA_WRITE Buffer List

9 T-sender T-reader free list sender list pthread_mutex_t Thread Synchronization pthread_cond_t not alarm

10 Buffer Block Data Strature next work request record rdma single SGE rdma_mr CTL CTL(control block) is used to indicate the length of the real transfer data, the EOF message of the transfer

11 How to teardown the connection -- Domino method Reader met the EOF of the source file – reader -> sender -> recver -> writer Generate a new package whose body length is ZERO – reader read fail or EOF, generate ZERO – sender check the CTL block of the buffer If ZERO, quit – recver check the CTL block of the buffer If ZERO, quit – writer check the CTL block of the buffer If ZERO, quit

12 Find the bottleneck T-sender T-reader T-recver T-writer free list sender list free list writer list RDMA_READ RDMA_WRITE Who is always WAITing?

13 Find the bottleneck Different environments(CPU, Memory, Network, Storage) have different bottlenecks. Buffer is a method to balance the difference of each modules. But we could improve some expensive cost procedures, such as – Expensive information exchange steps

14 Expensive control information exchange Data SourceData Sink Hello, I have some data to transfer Ok, please write the data to this address I am writing The writing complete I get the data, please do the next step

15 Q & A


Download ppt "Netkit ftpd/ftp migration Part 4 Yufei 10/08/2010."

Similar presentations


Ads by Google