ch14.run time support systems
TRANSCRIPT
Study Note of Book “Architecture of Network
Systems” Chap 14 - runtime support
system Jean Zheng
Book publish: 2011 Feb 2
Amazon review
How the software supports the hardware design to operate correctly and efficiently?
2
What issues discussed in this chapter
Software for network system
OS build-in support for networking
Specialized Router Software
3
Agenda
Software development environment Availability of useful programming abstraction, libraries…
easy, quick, correct of software
Static, not discussed in this book
Software for control plane management System resource management, route computes, error
handling, monitoring, etc
Software for data plane management Processing of network traffic
Less complex, Highly performance oriented
4
Software components for network system include..
Routing algorithm change
Stability
Link failure reroute
Forwarding mechanism change
Management function add as access control, billing…
Security policy update
Next generation network communication paradigm
Software changeable
5
Network dynamics
Control plane
Similar processer as workstation processor
Embedded or real time OS
Data plane
Embedded multicore NP + specialized hardware
6
Run time components
Control plane
Processor resource for Routing and error handling
Memory for Program state, route table, monitoring information
Easy implement
Data plane
Who use the cores? which app use which core
Memory for packets, program state, forwarding table
Specialized hardware resource
7
Resource management
Control plane <-> data plane Forwarding table updates Traffic statistic collection New data plane function installation Others.. Verdors’ attemps to standardizing is not successful proprietary
System admin <-> control plane System configuration (ip, security policy) Manual route Software updates Occurs occasionally
8
Software interface
Software support for network system
OS support for networking
Specialized Router Software
9
Agenda
Unix-based OS network software components
10
Networking software in OS
socket
1) Route computation
2) update fwd table
Other control component part of krnl: error hadl
Other Control plane
software
Packet forwarding: Data plane
Act as end system and router system
11
Software interact of OS
If my ip
Look up out iface
+ TTL check
Queue and
schedule Also
exist, not used
Route update: Control plane/Data plane
12
Software interact of OS
Send route info
Compute route
Set to DP fwd
table
Conventional OS: optimize for handling processing intensive tasks Vs. high speed IO
Hardware limitation Processing resources
GP vs. NP
IO interconnection NIC and processor connect on system bus Twice: in+out
Centralize design Single cpu, single system bus Vs. replicated processing resouces for each port
13
Performance consideration
Minimize the number of times packets are copied in protocol stack travers DMA
Zero copy packet processing
Only pointers are passed among function calls
Need buffer chain(chap 7) to adjust headers of packets. Prepend, Remove
14
Design considerations
Difference memory space
Zero copy is not possible How DPDK did?
User space always use as slow path and control plane processing
Advanced packet processing usually implement as loadable kernel module
15
Kernel vs user space
Software support for network system
OS support for networking
Specialized Router Software
16
Agenda
Open source or proprietary implementation
Little or not support for general purpose processing task
17
Router OS
Scalability
Replicate packet proces to multiple processors
Heterogeneity
Single design with different DP processor with different market
18
Software structure Router OS
Commercial Proprietary
Admin interface well documented
Ex. Cisco Internetwork OS (IOS)
Academic Open source
Ex. eXtensible Open Router Platform (XORP)
19
Example router OS
Key to high performance
Software abstraction
Run to complete
Easy software dev
Instruction store need to shared by all processor
Pipeline
Slowest stage
Ease of global data structure
20
Packet processing software
Modular packet processing
Easy software dev
Function call
Independent module + support system
21
Packet processing software (cont)
Load balancing
Processing load
Evaluate processing load
Measuring processing of each packet * amount of network traffic
Interconnect load
If packet need to traverse processor interconnect
Shared memory access
Global variable access
22
Run time management