Ch14.run time support systems

22
Study Note of Book “Architecture of Network Systems” Chap 14 - runtime support system Jean Zheng Book publish: 2011 Feb 2 Amazon review

Transcript of Ch14.run time support systems

Page 1: Ch14.run time support systems

Study Note of Book “Architecture of Network

Systems” Chap 14 - runtime support

system Jean Zheng

Book publish: 2011 Feb 2

Amazon review

Page 2: Ch14.run time support systems

How the software supports the hardware design to operate correctly and efficiently?

2

What issues discussed in this chapter

Page 3: Ch14.run time support systems

Software for network system

OS build-in support for networking

Specialized Router Software

3

Agenda

Page 4: Ch14.run time support systems

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..

Page 5: Ch14.run time support systems

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

Page 6: Ch14.run time support systems

Control plane

Similar processer as workstation processor

Embedded or real time OS

Data plane

Embedded multicore NP + specialized hardware

6

Run time components

Page 7: Ch14.run time support systems

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

Page 8: Ch14.run time support systems

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

Page 9: Ch14.run time support systems

Software support for network system

OS support for networking

Specialized Router Software

9

Agenda

Page 10: Ch14.run time support systems

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

Page 11: Ch14.run time support systems

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

Page 12: Ch14.run time support systems

Route update: Control plane/Data plane

12

Software interact of OS

Send route info

Compute route

Set to DP fwd

table

Page 13: Ch14.run time support systems

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

Page 14: Ch14.run time support systems

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

Page 15: Ch14.run time support systems

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

Page 16: Ch14.run time support systems

Software support for network system

OS support for networking

Specialized Router Software

16

Agenda

Page 17: Ch14.run time support systems

Open source or proprietary implementation

Little or not support for general purpose processing task

17

Router OS

Page 18: Ch14.run time support systems

Scalability

Replicate packet proces to multiple processors

Heterogeneity

Single design with different DP processor with different market

18

Software structure Router OS

Page 19: Ch14.run time support systems

Commercial Proprietary

Admin interface well documented

Ex. Cisco Internetwork OS (IOS)

Academic Open source

Ex. eXtensible Open Router Platform (XORP)

19

Example router OS

Page 20: Ch14.run time support systems

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

Page 21: Ch14.run time support systems

Modular packet processing

Easy software dev

Function call

Independent module + support system

21

Packet processing software (cont)

Page 22: Ch14.run time support systems

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