Optimised Memory Transfer & Flow Control for High Speed Networks - Codito Technologies Pvt. Ltd. - D Y Patil College of Engineering
Current Trends in High Speed Networks Total network bandwidth triples every 12 months CPU Processing power doubles every 18 months Memory performance increases by 10% every 12 months
Software Challenges in High Speed Networks Data Movement Reasons For Copying. Copying as a bottleneck. Checksum Flow Control Algorithm Large Bandwidth Delay Product
Software Requirements Specification Product Functions Framework for Data Copy Elimination Flow Control Algorithm for Optimal Bandwidth Utilization User Characteristics Constraints Applications Max Memory Limit per Process CPU Speed/Network Speed
Characterizing Network I/O
Zbuf Framework Assumptions: Memory is not limited. Hardware Checksumming support would further enhance our implementation. Application program may reuse the buffer but not the contents of the buffer. Hence we perform explicit exchange of buffers.
Zbuf Framework Modules: Zbuf Allocator API Calls Send Module Receive Module
Zbuf Allocator Process A address space zalloc zbuf User Domain Kernel Domain Memory Zbuf Zone zbuf User/Kernel sharing of memory !!
Zbuf Zone Zbuf Allocator User Domain Kernel Domain Memory Maintaining Zbufs In User Space Zbuf Table zd (Zbuf Descriptor) zbuf Size < MTU Zbuf TableZbuf Indirect Table zbuf Size > MTU
API Calls int zalloc(size_t size) int z_send(int sockfd,int zd,size_t len, int flags ) int z_recv(int sockfd,int zd,size_t len, int flags ) size_t zfread(int zd,size_t size, size_t nmemb, FILE *fp) size_t zfwrite(int zd, size_t size, size_t nmemb, FILE *fp)
Send Module User Domain Kernel Domain Process A address space Socket Queue zbuf Explicit exchange of buffers !! zbuf z_send Zbufs are allocated in MTU-sized units. Check-summing ? Device Driver Interface
Receive Module Zbuf Allocator Zbuf Port Registration !! Socket Queue z_recv User Domain Kernel Domain Process A address space Device Driver Interface zbufs are grouped together. zbuf
Flow Control Algorithms for High-Speed Networks BW-delay product: 1Gb/s WAN * 100 msec RTT = 100Mb TCP Reno: Re-convergence to optimal b/w takes a long time !!
Packet-Pair Flow Control Feedback Based Adaptive Rate Control Scheme. Estimates n/w state by sending data packets in pairs. Adapts to changes in n/w state within one RTT. Assumptions: Network consists of FQ servers. Routing table updates are infrequent. Packets are of same size.
Packet Pair Server 1SourceBottleneck Sink Rate estimate RTT Bottleneck rate
Packet Pair Probes Inter ack spacing estimates bottleneck service rate. Pipeline depth is determined within one RTT. Sending rate is modified according to inter ack spacing.
Design Strategy State Machine Startup Queue Priming Normal Transmission Buffer Management Strategy Retransmission Strategy
State Chart Diagram for Packet Pair
Testing Strategy
Testing Strategy – II Bottom up Integration for Zbuf Framework Smoke Testing for Packet Pair
Zbuf Framework Statistics
Conclusion The Zbuf framework is scalable across MTU sizes. The Zbuf framework is scalable across multiprocessing environs. Use of Packet Pair algorithm on high speed network would result in optimal utilization of bandwidth.