Presentation is loading. Please wait.

Presentation is loading. Please wait.

RDMA ENABLED WEB SERVER Rajat Sharma. Objective  To implement a Web Server serving HTTP client requests through RDMA replacing the traditional TCP/IP.

Similar presentations


Presentation on theme: "RDMA ENABLED WEB SERVER Rajat Sharma. Objective  To implement a Web Server serving HTTP client requests through RDMA replacing the traditional TCP/IP."— Presentation transcript:

1 RDMA ENABLED WEB SERVER Rajat Sharma

2 Objective  To implement a Web Server serving HTTP client requests through RDMA replacing the traditional TCP/IP data transfer model.  RDMA reduces the CPU overhead at the server side leading to high performance data transfer, Computing and increased Scalability in terms of Clients

3 Known Implementation  Researchers from Ohio Supercomputing Center have implemented what is known as “ RDMA enabled Apache ” having a special hardware RDMA NIC card as 10 Gbit iWarp (RDMA over TCP) network card. Summarized the details into a paper

4 “Accelerating Web Protocols Using RDMA” “Dennis Dalessandro and Pete Wyckoff Ohio Supercomputing Center” Topics of Discussion :  Abstract Lot of applications challenge the capacities of server. Increased capacity is achieved through module mod_rdma with unmodified Apache code

5 Novel Technology RDMA vastly improves Performance and Scalability for clients Information sent over the network as TCP/IP packets includes multiple copies of the same data resulting in large CPU overhead limiting the server capacity to serve more clients TCP cannot serve the need of Supercomputing

6 Examples : RDMA real life need Large data centers : Medical Research Institutes - Access of remote data bases for Researchers -> High Throughput Grid Chem Client: Monitoring of Parallel calculations through CGI scripts need large files compressing, sensing or receiving consumes a lot of processing power

7 Todays client  Common to have 1 MB web content. HPC will need high data transfers for dynamic content Online gaming servers and Streaming Servers will not function well without efficient high speed data transfer

8 Performance Bottlenecks Most of the performance bottlenecks are often found at the server side Several measures to remove them  Round Robin DNS  Active monitoring for load balancing  But data transfer is a biggest limitation ->Nature Of HTTP over TCP

9 Contd.. Protocol acceptance : Tough Enabling clients with Iwarp software -> No CPU improvement

10 Why APACHE ?? Most popular web server Wide acceptance Allow third party modules to affect the server behavior “Hooks” feature -> used by the Module to access the web server

11 Need for RDMA Traditional TCP Packet processing Multiple Copies of data

12 Direct Data transfer Allows adapters to move data from Memory to Memory without CPU Advantages – Prevents system call overhead – Hardware interrupts – Latency – Data movement

13 RDMA and IWARP

14 RDMA enabled hardware RDMA Needs special hardware to be deployed Knows as RNIC Main features – Zero Copy – OS Bypass

15 IWARP software RNICS cards are expensive NOT viable to have an RNIC card on every client RNIC enabled Server  -----------------  Normal NIC enabled client HOW ? Solution : IWARP software Protocol OR IWARP emulator

16 Efficient Server RDMA software – not as efficient in Client side -- No improvement in CPU overhead on client side since no hardware. RNIC RDMA RDMA Iwarp hardwaresoftware SERVER CLIENT

17 Soft Iwarp implementations User space implementation  can be used by applications in user space linking to library to generate RDMA packets Kernel space implementation  RDMA calls in kernel space Soft IWARP : -- Web browser plug in module..

18 Design Web server decision : other than Apache, all servers lack the third party interaction freedom Backward Compatibilty  Header Field  RDMA header  RNIC Port Number  Stag  Toffset  Max Len

19 RDMA data transfer Schemes GET request and POST request GET REQUEST  Server Writes and Client Reads  Server writes -> Server -----------------------------------  Client RDMA write  Client Reads Client ------------------------------------  Server RDMA read

20 GET: Server-writes

21 GET : Client reads

22 POST Request POST requests work in the same way : Writing data to the server – Post Request will have Client – Writes Server – Reads

23 RDMA connection Server should be ready to start before the client initiates Client ---------------------------- Server – RTT Time Case Server –Writes If client  GET request Max_ buffer_length < Resource_Len Server ERROR mess Case client – reads Max_buffer_len < Resource _client_needs Client Error: Stop RDMA GET request

24 Implementation RDMA mod_rdma module interacts with Apache Server using “hook” Child Init rdma_child_init( ) Pre – connection rdma_pre_connection_handler( ) Connection Cleanup rdma_connection_cleanup( )

25 Contd.. Insert Filter rdma_insert_filter( ) Output Filter rdma_output_filter( ) Ship_file( ) Ship_heap( )

26 Limitations RDMA connection cost Memory Registration – Static Registration – Pre –registering size of memory. Mmap () and then register the memory in case of file from disk How ??? Difference b/w memory allocated and memory registered? – Dynamic Registration Placing the dynamic content requires memcopy every time to copy the data to RDMA buffer, thus mod_rdma causes one more memory copy

27 Experimental Results Test our web server using 2 processes value in the background, simulating it as an heavily loaded CPU by using nice function. 15 nodes Main Memory = 2GB 10Gbit Iwarp adapter Results shows some hidden costs in terms of memory

28 Hidden Costs

29 Single Client Performance Highly loaded CPU costs more memory registration as mem_reg = CPU task

30 Multiple client Performance

31 Alternate Approach Inclusion of Proxy server to implement a Web Server.

32 Proposed areas in future work More requests like PUT Kernal based implementation of the Web Server. – Resulting in change of path of data from kernel to NIC card – Fast implementation

33 THANKS


Download ppt "RDMA ENABLED WEB SERVER Rajat Sharma. Objective  To implement a Web Server serving HTTP client requests through RDMA replacing the traditional TCP/IP."

Similar presentations


Ads by Google