xxx IEEE MEDIA INDEPENDENT HANDOVER DCN: Title: An Implementation Report on MIH Fragmentation Date Submitted: July 11, 2008 Presented at: Authors or Source(s): Donald Baker (Telcordia) and Yoshihiro Ohba (Toshiba) Abstract: This document contains an implementation report for MIH fragmentation functionality
xxx IEEE presentation release statements This document has been prepared to assist the IEEE Working Group. It is offered as a basis for discussion and is not binding on the contributing individual(s) or organization(s). The material in this document is subject to change in form and content after further study. The contributor(s) reserve(s) the right to add, amend or withdraw material contained herein. The contributor grants a free, irrevocable license to the IEEE to incorporate material contained in this contribution, and any modifications thereof, in the creation of an IEEE Standards publication; to copyright in the IEEE’s name any IEEE Standards publication even though it may include portions of this contribution; and at the IEEE’s sole discretion to permit others to reproduce in whole or in part the resulting IEEE Standards publication. The contributor also acknowledges and accepts that this contribution may be made public by IEEE The contributor is familiar with IEEE patent policy, as outlined in Section 6.3 of the IEEE-SA Standards Board Operations Manual and in Understanding Patent Issues During IEEE Standards Development Section 6.3 of the IEEE-SA Standards Board Operations Manualhttp://standards.ieee.org/guides/opman/sect6.html#6.3
xxx Environment Two MIHFs on the same Windows XP PC run the MIH protocol using network socket CPU: Intel Pentium 4, Dual core 3.4 GHz Memory: 1.5G MIH Fragmentation : enabled MIH Acknowledgment: enabled Piggybacking ACK in response: disabled MIH Transport Protocol: UDP
xxx Conditions aFragmentationThreshold = fragment size (except for the last fragment) = 1500 octets Message retransmission timer timeout value: 3000 ms, though not relevant Number of fragments in a message: 1, 2, …, 20 To get larger fragments, an MIH_Get_Information request message was constructed with larger query strings Each data points represent 100 samples. No samples had dropped packets All times are milliseconds. All samples were collected in one execution of the program Sender and receiver are in the same address space which makes message transmit time negligible and may make "all packets sent" artificially low
xxx Measured Data Data is based on "linearizing" the overall send process and taking time samples at key points in the process: 1) When the stack client (at the sender) has a message and begins the send Message call 2) Just before the first send packet is put on the socket 3) Just before the last packet is put on the socket. 4) Just after the last packet is received. 5) Just before the receiver sends the ack 6) Just after the sender receives the ack 7) When the stack client has the send message call return (1)(2) (3) (4) (5)(6)(7) Sender Message Processing Sender All Packets Sent Last Packet Transit Time Receiver Assembly Time ACK Transit Time Sender ACK Processing Time Series1 Series2Series3 Series4 Series5 Series6
xxx Result (table view) Frags Original size Sender Message Processing (ms) Sender All Packets Sent (ms) Last Packet Transit Time (ms) Receiver Assembly (ms) Ack Transmit Time (ms) Sender Ack Processing (ms) Total Send Time (ms)
xxx Result (graph view)
xxx Analysis The sender message processing time goes up linearly, as expected due to the time it takes to fragment ever larger messages The sender all packets sent also goes up linearly at about the same rate. The packet transmit time and ack transmit time are constant, as expected. The receiver assembly time is the dominating cost. It's possible that this cost could be reduced by changing the implementation to do less copying. New result with changing the implementation will be available soon The sender ack processing cost is relatively high due to thread handoffs in the implementation.