A PERFORMANCE EVALUATION OF DYNAMIC TRANSPORT SWITCHING FOR MULTI ...

lor=white>
A PERFORMANCE EVALUATION OF DYNAMIC TRANSPORT SWITCHING FOR MULTI-TRANSPORT DEVICES by Lei Wang A PERFORMANCE EVALUATION OF DYNAMIC TRANSPORT
SWITCHING FOR MULTI-TRANSPORT DEVICES
by
Lei Wang
A thesis submitted to the faculty of
Brigham Young University
in partial fulllment of the requirements for the degree of
Master of Science
Department of Computer Science
Brigham Young University
December 2006
Copyright © 2006 Lei Wang
All Rights Reserved
BRIGHAM YOUNG UNIVERSITY
GRADUATE COMMITTEE APPROVAL
of a thesis submitted by
Lei Wang
This thesis has been read by each member of the following graduate committee and by
majority vote has been found to be satisfactory.
Date
Charles D. Knutson, Chair
Date
Daniel M.A. Zappala
Date
Yiu-Kai Dennis Ng
BRIGHAM YOUNG UNIVERSITY
As chair of the candidates graduate committee, I have read the thesis of Lei Wang in
its nal form and have found that (1) its format, citations, and bibliographical style are
consistent and acceptable and fulll university and department style requirements; (2) its
illustrative materials including gures, tables, and charts are in place; and (3) the nal
manuscript is satisfactory to the graduate committee and is ready for submission to the
university library.
Date
Charles D. Knutson
Chair, Graduate Committee
Accepted for the Department
Parris K. Egbert
Graduate Coordinator
Accepted for the College
Thomas W. Sederberg
Associate Dean,
College of Physical and Mathematical Sciences
ABSTRACT
A PERFORMANCE EVALUATION OF DYNAMIC TRANSPORT SWITCHING FOR
MULTI-TRANSPORT DEVICES
Lei Wang
Department of Computer Science
Master of Science
Multi-transport devices are becoming more common, but sophisticated software is
needed to fully realize the advantages of these devices. In this paper, we examine the
performance of dynamic transport switching, which selects the best available transport for
communication between two devices. We simulate transport switching within the Qual-
ity of Transport (QoT) architecture and show that it can effectively mitigate the effects
of congestion and interference for connections between two multi-transport devices. We
then
evaluate dynamic transport switching overhead to characterize its effect on application
throughput. Based on these insights, we identify several limitations of the QoT architecture
and present solutions to improve performance.
ACKNOWLEDGMENTS
I would like to thank my wonderful wife, Qiuyi, for her understanding, great sup-
port, and especially the fantastic cooking through this long process.
To my advisor, Dr. Knutson, thank you for the patient and insightful help on my
research. Its hard to believe how much I have improved under your instruction over the
past three years. Thank you for loving me like your own child. I feel so lucky to have you
as my advisor.
To Dr. Zappala, thank you for pointing out an efcient and effective direction on
my research when I feel so frustrated. Thank you for your precious advice on my thesis.
Finally, I thank Manoj for helping me through the tedious and desperate learning
curve of NS-2. It feels fantastic when I can do seriously "bad" things to NS-2. It seems that
all those painful efforts are nally paid off.
Contents
Acknowledgments
vi
List of Figures
xvii
1
Introduction
1
2
Related Work
5
2.1
Infrastructure-based transport switching . . . . . . . . . . . . . . . . . . .
5
2.2
Ad hoc transport switching . . . . . . . . . . . . . . . . . . . . . . . . . .
6
3
Heterogeneous Ad Hoc Networking with QoT
9
4
Transport Switching in NS-2
13
4.1
Heterogeneous nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.2
Dynamic transport switching . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.3
Modications to TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5
Multi-Transport Heterogeneity and Dynamic Transport Switching
17
5.1
Avoiding collisions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.2
Avoiding interference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
6
Transport Availability Query Overhead
23
vii 6.1
Query overhead between two communicating nodes . . . . . . . . . . . . . 23
6.2
Query Overhead From Multiple Communicating Nodes . . . . . . . . . . . 25
7
Conclusions and Future Work
29
A Heterogeneous Nodes and Dynamic Transport Switching in NS-2
31
A.1 File Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
A.2 Simulations with Heterogeneous Nodes in NS-2 . . . . . . . . . . . . . . . 33
B Heterogeneous Node Reference Manual
37
B.1 Class Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
B.2 Class List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
B.3 act_trans_list Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . 41
B.3.1
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . 41
B.3.2
Member Data Documentation . . . . . . . . . . . . . . . . . . . . 41
B.4 app_data Struct Reference
. . . . . . . . . . . . . . . . . . . . . . . . . . 43
B.4.1
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . 43
B.4.2
Member Data Documentation . . . . . . . . . . . . . . . . . . . . 43
B.5 CallBack Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 46
B.5.1
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . 47
B.5.2
Member Data Documentation . . . . . . . . . . . . . . . . . . . . 47
B.6 DevTabEntry Class Reference
. . . . . . . . . . . . . . . . . . . . . . . . 49
B.6.1
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . 54
B.6.2
Constructor & Destructor Documentation . . . . . . . . . . . . . . 54
B.6.3
Member Function Documentation . . . . . . . . . . . . . . . . . . 55
viii B.6.4
Friends And Related Function Documentation . . . . . . . . . . . . 61
B.6.5
Member Data Documentation . . . . . . . . . . . . . . . . . . . . 61
B.7 p_consumption Struct Reference . . . . . . . . . . . . . . . . . . . . . . . 65
B.7.1
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . 65
B.7.2
Member Data Documentation . . . . . . . . . . . . . . . . . . . . 65
B.8 prio_info Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 67
B.8.1
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . 67
B.8.2
Member Data Documentation . . . . . . . . . . . . . . . . . . . . 67
B.9 qot_con_acc Struct Reference
. . . . . . . . . . . . . . . . . . . . . . . . 69
B.9.1
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . 69
B.10 qot_con_rej Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . . 70
B.10.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . 70
B.10.2
Member Data Documentation . . . . . . . . . . . . . . . . . . . . 70
B.11 qot_con_req Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . . 71
B.11.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . 71
B.11.2 Member Data Documentation . . . . . . . . . . . . . . . . . . . . 71
B.12 qot_data_snd Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . 72
B.12.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . 72
B.12.2 Member Data Documentation . . . . . . . . . . . . . . . . . . . . 72
B.13 qot_data_sync_pnt Struct Reference . . . . . . . . . . . . . . . . . . . . . 74
B.13.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . 74
B.13.2 Member Data Documentation . . . . . . . . . . . . . . . . . . . . 74
B.14 qot_data_sync_req Struct Reference . . . . . . . . . . . . . . . . . . . . . 75
B.14.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . 75
ix B.15 qot_discon_acc Struct Reference . . . . . . . . . . . . . . . . . . . . . . . 76
B.15.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . 76
B.16 qot_discon_req Struct Reference . . . . . . . . . . . . . . . . . . . . . . . 77
B.16.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . 77
B.17 qot_rem_acc Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . 78
B.17.1 Detailed Description . . . . . . . . . . .