👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
Ph.D. Defense
1. Experimentation Tools
for Networking
Research
Mathieu Lacage
INRIA, Planète
Nov 15th 2010
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 1 / 55
4. Protocol evaluation
Analytical
analysis
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
5. Protocol evaluation
Analytical
Simulator
analysis
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
6. Protocol evaluation
Analytical
Simulator Testbed
analysis
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
7. Protocol evaluation
Analytical
Simulator Testbed
analysis
Small
scale
field
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
8. Protocol evaluation
Analytical
Simulator Testbed
analysis
Large Small
scale scale
field field
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
9. Protocol evaluation
Analytical
Simulator Testbed
analysis
Large Small
In the
scale scale
wild
field field
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
10. Protocol evaluation
Analytical
Simulator Testbed
analysis
Large Small
In the
scale scale
wild
field field
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 3 / 55
11. Experimentation context
Experimentation
Realism
Time
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 4 / 55
12. Why ?
One protocol isolated
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 5 / 55
13. Why ?
One protocol isolated -> Multiple protocol
interaction
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 5 / 55
14. Why ?
One protocol isolated -> Multiple protocol
interaction
Steady state
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 5 / 55
15. Why ?
One protocol isolated -> Multiple protocol
interaction
Steady state -> Transient behavior
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 5 / 55
16. Cheaper hardware
Hardware
Cost
Time
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 6 / 55
17. Consequences
More testbeds
More Field tests
Time
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 7 / 55
18. Consequences
Less More testbeds
Simulations More Field tests
Alone
Time
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 7 / 55
19. Consequences
More Testbed+
Simulation
Time
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 7 / 55
21. Downsides
A lot more work
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 8 / 55
22. Downsides
A lot more work
Must master many experimentation
environments
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 8 / 55
23. Downsides
A lot more work
Must master many experimentation
environments
Must implement protocols twice
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 8 / 55
26. Objectives
Smooth transition simulations/testbed/field tests
Run real protocol implementation in simulation
Real
Code
Simulation Field
Simulation
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 9 / 55
27. Objectives
Smooth transition simulations/testbed/field tests
Run real protocol implementation in simulation
Use simulation as realtime emulator
Real RT
Code Sim
Simulation Field
Simulation Field
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 9 / 55
28. Problems
Run real protocol implementation in simulation
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
29. Problems
Run real protocol implementation in simulation
Virtualization of execution environment
Real Code
Simulation
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
30. Problems
Run real protocol implementation in simulation
Virtualization of execution environment
Use simulation as realtime emulator
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
31. Problems
Run real protocol implementation in simulation
Virtualization of execution environment
Use simulation as realtime emulator
Setup, deployment, of emulation platforms
RT RT
Field Field
Sim Sim
Deployment
Control
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
32. Problems
Run real protocol implementation in simulation
Virtualization of execution environment
Use simulation as realtime emulator
Setup, deployment, of emulation platforms
In both cases
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
33. Problems
Run real protocol implementation in simulation
Virtualization of execution environment
Use simulation as realtime emulator
Setup, deployment, of emulation platforms
In both cases
Transparency with other simulation models
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
34. Problems
Run real protocol implementation in simulation
Virtualization of execution environment
Direct Code Execution
Use simulation as realtime emulator
Setup, deployment, of emulation platforms
In both cases
Transparency with other simulation models
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
35. Problems
Run real protocol implementation in simulation
Virtualization of execution environment
Direct Code Execution
Use simulation as realtime emulator
Setup, deployment, of emulation platforms
NEPI
In both cases
Transparency with other simulation models
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
36. Problems
Run real protocol implementation in simulation
Virtualization of execution environment
Direct Code Execution
Use simulation as realtime emulator
Setup, deployment, of emulation platforms
NEPI
In both cases
Transparency with other simulation models
Simulated Packets
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 10 / 55
43. Scientific Contributions
Simulated packets
More CPU efficient than other simulators
Automatic conversion simulation/network format
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
44. Scientific Contributions
Simulated packets
More CPU efficient than other simulators
Automatic conversion simulation/network format
Direct Code Execution
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
45. Scientific Contributions
Simulated packets
More CPU efficient than other simulators
Automatic conversion simulation/network format
Direct Code Execution
10x more CPU efficient than other DCE
frameworks
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
46. Scientific Contributions
Simulated packets
More CPU efficient than other simulators
Automatic conversion simulation/network format
Direct Code Execution
10x more CPU efficient than other DCE
frameworks
Large applicability scope
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
47. Scientific Contributions
Simulated packets
More CPU efficient than other simulators
Automatic conversion simulation/network format
Direct Code Execution
10x more CPU efficient than other DCE
frameworks
Large applicability scope
NEPI
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
48. Scientific Contributions
Simulated packets
More CPU efficient than other simulators
Automatic conversion simulation/network format
Direct Code Execution
10x more CPU efficient than other DCE
frameworks
Large applicability scope
NEPI
Unified experiment description
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
49. Scientific Contributions
Simulated packets
More CPU efficient than other simulators
Automatic conversion simulation/network format
Direct Code Execution
10x more CPU efficient than other DCE
frameworks
Large applicability scope
NEPI
Unified experiment description
Automated deployment
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 12 / 55
53. Related Work
Two approaches
Packet is list of headers: GTNetS, OMNeT++,
SSFNet
MAC IP TCP Payload
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 15 / 55
54. Related Work
Two approaches
Packet is list of headers: GTNetS, OMNeT++,
SSFNet
MAC IP TCP Payload
Packet is buffer of bytes: Yans, GloMoSim
MAC IP TCP Payload
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 15 / 55
55. Pros and Cons
List Buffer
Fragmentation, Reassembly
Conversion real bytes
Simulation-only data
Pretty printing
CPU, memory efficiency
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 16 / 55
56. Our solution
Packet as buffer of bytes
Fragmentation, Reassembly
Automatic conversion to/from real bytes
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 17 / 55
57. Our solution
Packet as buffer of bytes
Fragmentation, Reassembly
Automatic conversion to/from real bytes
Tags
Simulation-only data
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 17 / 55
58. Our solution
Packet as buffer of bytes
Fragmentation, Reassembly
Automatic conversion to/from real bytes
Tags
Simulation-only data
Metadata
Pretty printing
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 17 / 55
59. Our solution
Packet as buffer of bytes
Fragmentation, Reassembly
Automatic conversion to/from real bytes
Tags
Simulation-only data
Metadata
Pretty printing
Copy On Write (COW)
CPU, memory efficiency
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 17 / 55
63. Contributions
More CPU efficient than other simulators
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 20 / 55
64. Contributions
More CPU efficient than other simulators
Transparent support for real network bytes
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 20 / 55
66. The manual approach
Global variables
static int g_var; static int [100]g_var_array;
g_var ++; g_var_array[current_id ()] ++;
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 22 / 55
67. The manual approach
Global variables
static int g_var; static int [100]g_var_array;
g_var ++; g_var_array[current_id ()] ++;
Redirect system calls
clock (); dce_clock ();
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 22 / 55
68. The manual approach
Global variables
static int g_var; static int [100]g_var_array;
g_var ++; g_var_array[current_id ()] ++;
Redirect system calls
clock (); dce_clock ();
Re-implement all system calls
clock_t dce_clock (void) {
return Simulator::Now ().GetMicroSeconds ();
}
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 22 / 55
69. The problem
Manual modifications: does not scale
Painful to do once
Impossible to do for software updates
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 23 / 55
71. Related work
Network Simulation Cradle
Automated source modifications for C code
Hard to extend to C++
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 24 / 55
72. Related work
Network Simulation Cradle
Automated source modifications for C code
Hard to extend to C++
Weaves
Automated textual assembly modifications
Invalid assumptions about compiler-generated
code
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 24 / 55
73. Related work
Network Simulation Cradle
Automated source modifications for C code
Hard to extend to C++
Weaves
Automated textual assembly modifications
Invalid assumptions about compiler-generated
code
COOJA
Automated memory virtualization
Slow
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 24 / 55
74. ns-3 DCE
Executable and Linkable Format (ELF) loader
Fast
Automated memory virtualization
Automated system call redirection
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 25 / 55
75. ns-3 DCE
Executable and Linkable Format (ELF) loader
Fast
Automated memory virtualization
Automated system call redirection
Userspace system calls
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 25 / 55
76. ns-3 DCE
Executable and Linkable Format (ELF) loader
Fast
Automated memory virtualization
Automated system call redirection
Userspace system calls
Kernelspace system calls
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 25 / 55
77. Loader Performance
Scenario:
udp-perf udp-perf
userspace DCE userspace DCE
Linux Linux Linux
UDP/IP UDP/IP UDP/IP
kernelspace DCE kernelspace DCE kernelspace DCE
PointToPointLink PointToPointLink
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 26 / 55
78. Loader Performance
100000
Cooja
ns-3
Packets per
10000
wall clock
second
vs
1000
Number of
nodes
100
0 10 20 30 40 50 60 70
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 27 / 55
79. Loader Performance
35000
Cooja
ns-3
30000
25000
Memory(bytes)
20000
vs
Number of 15000
nodes 10000
5000
0
0 10 20 30 40 50 60 70
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 28 / 55
80. System Performance
1e+06
dce-none
dce-user
dce-user+kernel
Packets per
100000
wall clock
second
vs
10000
Number of
nodes
1000
0 2 4 6 8 10 12 14 16 18 20
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 29 / 55
83. Contributions
10x more efficient than existing alternatives
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 32 / 55
84. Contributions
10x more efficient than existing alternatives
Larger scope than existing alternatives
Userspace: ping, traceroute, quagga, etc.
Kernelspace: Linux IP, TCP, etc.
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 32 / 55
85. Contributions
10x more efficient than existing alternatives
Larger scope than existing alternatives
Userspace: ping, traceroute, quagga, etc.
Kernelspace: Linux IP, TCP, etc.
Potential usecases:
Debugging platform: single debugger controls
all protocol instances
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 32 / 55
86. Contributions
10x more efficient than existing alternatives
Larger scope than existing alternatives
Userspace: ping, traceroute, quagga, etc.
Kernelspace: Linux IP, TCP, etc.
Potential usecases:
Debugging platform: single debugger controls
all protocol instances
Development platform
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 32 / 55
87. Contributions
10x more efficient than existing alternatives
Larger scope than existing alternatives
Userspace: ping, traceroute, quagga, etc.
Kernelspace: Linux IP, TCP, etc.
Potential usecases:
Debugging platform: single debugger controls
all protocol instances
Development platform
Test platform
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 32 / 55
94. Easy Deployment
Problem
Tap/VM creation and setup
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 35 / 55
95. Easy Deployment
Problem
Tap/VM creation and setup
Coherent IP address assignment across
simulation and VMs
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 35 / 55
96. Easy Deployment
Problem
Tap/VM creation and setup
Coherent IP address assignment across
simulation and VMs
Coherent IP forwarding tables across
simulation and VMs
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 35 / 55
97. Easy Deployment
Problem
Tap/VM creation and setup
Coherent IP address assignment across
simulation and VMs
Coherent IP forwarding tables across
simulation and VMs
Solution
Automate everything
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 35 / 55
98. Easy Deployment
Problem
Tap/VM creation and setup
Coherent IP address assignment across
simulation and VMs
Coherent IP forwarding tables across
simulation and VMs
Solution
Automate everything
BUT
Need global view of experiment topology
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 35 / 55
100. Related Work
Emulab Tcl: ad hoc, hard to generalize
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 36 / 55
101. Related Work
Emulab Tcl: ad hoc, hard to generalize
OMF Ruby: unclear how to extend it to model
complex topologies
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 36 / 55
102. Related Work
Emulab Tcl: ad hoc, hard to generalize
OMF Ruby: unclear how to extend it to model
complex topologies
OMNeT++ NED: hard to ensure correctness
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 36 / 55
103. Related Work
Emulab Tcl: ad hoc, hard to generalize
OMF Ruby: unclear how to extend it to model
complex topologies
OMNeT++ NED: hard to ensure correctness
SSF DML: hard to ensure correctness
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 36 / 55
104. Related Work
Emulab Tcl: ad hoc, hard to generalize
OMF Ruby: unclear how to extend it to model
complex topologies
OMNeT++ NED: hard to ensure correctness
SSF DML: hard to ensure correctness
Geni RSPEC: hard to ensure correctness
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 36 / 55
105. Related Work
Emulab Tcl: ad hoc, hard to generalize
OMF Ruby: unclear how to extend it to model
complex topologies
OMNeT++ NED: hard to ensure correctness
SSF DML: hard to ensure correctness
Geni RSPEC: hard to ensure correctness
Geni Omnispec: hard to ensure correctness
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 36 / 55
107. NEPI Object Model
Functional unit / Box Example:
IP stack
TCP stack
Ethernet card
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 37 / 55
108. NEPI Object Model
Functional unit / Box Example:
Attributes IP checksum
IP forwarding
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 37 / 55
109. NEPI Object Model
Functional unit / Box Example:
Attributes Out packets
Trace sources
In packets
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 37 / 55
110. NEPI Object Model
Functional unit / Box IP
Attributes
Trace sources dev
Connectors
node
Ethernet
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 37 / 55
111. NEPI Object Model
Functional unit / Box IP
Attributes
Trace sources dev app
Connectors
Connection checking node node
Ethernet Ethernet
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 37 / 55
112. NEPI Object Model
Functional unit / Box Node
Attributes
dev
Trace sources
Connectors cable
node node
cable
Connection checking Ethernet Ethernet
Hierarchical
Switch
port0 port1
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 37 / 55
113. Objective Scenario
VLC Wifi
Router
Server STA
Wifi VLC
Router
AP Client
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 38 / 55
114. NEPI Representation
NetNs IP ICMP ARP ns-3 IP ICMP ARP NetNs
Vlc Vlc
Node Mobility Mobility Node
Node Node
Wifi Loss Delay Wifi
TapNode FDNet Manager Manager FDNet TapNode
Net Net
Interface Device YansWifiChannel Device Interface
ApMac Device Device StaMac
YansWifiPhy YansWifiPhy
Nist Nist
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 39 / 55
115. Global IP topology
n0 n1 n2 n3
Tap net0 Fd Wifi Ap net1 Wifi Sta Fd net2 Tap
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 40 / 55
120. Papers Published
“Yet another network simulator”, Proceedings of
the 2006 workshop on ns-2
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 44 / 55
121. Papers Published
“Yet another network simulator”, Proceedings of
the 2006 workshop on ns-2
“NEPI: using independent simulators,
emulators, and testbeds for easy
experimentation”, SIGOPS Operating
Systems Review
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 44 / 55
122. Papers in progress
“The ns-3 network simulator: experience
learned”, Software Practice & Experience
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 45 / 55
123. Papers in progress
“The ns-3 network simulator: experience
learned”, Software Practice & Experience
“Direct Code Execution”, Networked Systems
Design and Implementation
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 45 / 55
125. Simulated Packets
More CPU efficient than other simulators
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 47 / 55
126. Simulated Packets
More CPU efficient than other simulators
Transparent support for real network bytes
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 47 / 55
127. Direct Code Execution
10x more CPU efficient than other DCE frameworks
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 48 / 55
128. Direct Code Execution
10x more CPU efficient than other DCE frameworks
A robust implementation
Userspace and kernelspace protocols
C,C++ protocols
ABI compatibility for userspace protocols
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 48 / 55
129. NEPI
An integrated experimentation environment
Unified experiment description
Entire workflow support
Automated deployment
Strong coherency checking
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 49 / 55
131. Impact
Instrumental in creating an
Active
Growing
Open source
Simulation community
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 50 / 55
132. Impact
Instrumental in creating an 0.6
0.5
Active
0.4
Growing
0.3
Open source
0.2
Simulation community
0.1
Contributors > 80
0
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 50 / 55
133. Impact
Instrumental in creating an 800
700
Active 600
Growing 500
400
Open source
300
Simulation community 200
Contributors > 80 100
0
Hundreds of users
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 50 / 55
134. Impact
Instrumental in creating an
Active
Growing
Open source
Simulation community
Contributors > 80
Hundreds of users
> 30 papers by users
2 sigcomm’09
1 sigcomm’10
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 50 / 55
137. Tracing with DCE
Need to recompile for tracing changes
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 52 / 55
138. Tracing with DCE
Need to recompile for tracing changes
Ideal workflow:
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 52 / 55
139. Tracing with DCE
Need to recompile for tracing changes
Ideal workflow:
Trace function foo in bar.cc
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 52 / 55
140. Tracing with DCE
Need to recompile for tracing changes
Ideal workflow:
Trace function foo in bar.cc
Trace line 122 in bar.cc
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 52 / 55
141. Tracing with DCE
Need to recompile for tracing changes
Ideal workflow:
Trace function foo in bar.cc
Trace line 122 in bar.cc
Trace variable foo at line 144 in bar.cc
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 52 / 55
142. Tracing with DCE
Need to recompile for tracing changes
Ideal workflow:
Trace function foo in bar.cc
Trace line 122 in bar.cc
Trace variable foo at line 144 in bar.cc
BUT, not Java: no introspection
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 52 / 55
145. Dynamic instrumentation
Locate code in memory
Parse dynamic loader data structures
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 53 / 55
146. Dynamic instrumentation
Locate code in memory
Parse dynamic loader data structures
Parse debugging information
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 53 / 55
147. Dynamic instrumentation
Locate code in memory
Parse dynamic loader data structures
Parse debugging information
Insert assembly hooks
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 53 / 55
148. Dynamic instrumentation
Locate code in memory
Parse dynamic loader data structures
Parse debugging information
Insert assembly hooks
Simple case (not thread-safe)
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 53 / 55
149. Dynamic instrumentation
Locate code in memory
Parse dynamic loader data structures
Parse debugging information
Insert assembly hooks
Simple case (not thread-safe)
General case harder
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 53 / 55
150. Dynamic instrumentation
Locate code in memory
Parse dynamic loader data structures
Parse debugging information
Insert assembly hooks
Simple case (not thread-safe)
General case harder
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 53 / 55
155. Multi-threaded Scheduler
Conservative algorithm implemented:
Fully transparent for users
Measurable speedup
Thread-safety is easy
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 54 / 55
156. Multi-threaded Scheduler
Conservative algorithm implemented:
Fully transparent for users
Measurable speedup
Thread-safety is easy
Efficient thread-safety is hard
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 54 / 55
157. Multi-threaded Scheduler
Conservative algorithm implemented:
Fully transparent for users
Measurable speedup
Thread-safety is easy
Efficient thread-safety is hard
Can we build more efficient thread-safety ?
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 54 / 55
158. Multi-threaded Scheduler
Conservative algorithm implemented:
Fully transparent for users
Measurable speedup
Thread-safety is easy
Efficient thread-safety is hard
Can we build more efficient thread-safety ?
Can we use optimistic algorithm transparently ?
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 54 / 55
159. Multi-threaded Scheduler
Conservative algorithm implemented:
Fully transparent for users
Measurable speedup
Thread-safety is easy
Efficient thread-safety is hard
Can we build more efficient thread-safety ?
Can we use optimistic algorithm transparently ?
Transparency is key !
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 54 / 55
160. Thank you !
Questions ?
Lacage (INRIA) Experimentation Tools & Network Research Nov 2010 55 / 55