NFVnice: Dynamic Backpressure and Scheduling for NFV Service Chains

Size: px
Start display at page:

Download "NFVnice: Dynamic Backpressure and Scheduling for NFV Service Chains"

Transcription

1 NFVnice: Dynamic Backpressure and Scheduling for NFV Service Chains Sameer G Kulkarni 1, Wei Zhang 2, Jinho Hwang 3, Shriram Rajagopalan 3, K.K. Ramakrishnan 4, Timothy Wood 2, Mayutan Arumaithurai 1 & Xiaoming Fu 1 1 University of Göttingen 2 George Washington University 3 IBM T J Watson Research Center 4 University of California, Riverside.

2 Growing NFV Popularity.. Diverse and Large # of middleboxes, on par with switches and routers in ISP/DC Networks [APLOMB, SIGCOMM 12] NFs are fast replacing the traditional middleboxes in ISP/Telco/DC networks. *source: ETSI NFV June 13 2

3 Growing NFV Popularity.. Diverse and Large # of middleboxes, on par with switches and routers in ISP/DC Networks [APLOMB, SIGCOMM 12] NFs are fast replacing the traditional middleboxes in ISP/Telco/DC networks. Typical usage of NFs include Function chaining. *source: ETSI NFV June 13 3

4 Growing NFV Popularity.. Diverse and Large # of middleboxes, on par with switches and routers in ISP/DC Networks [APLOMB, SIGCOMM 12] NFs are fast replacing the traditional middleboxes in ISP/Telco/DC networks. Typical usage of NFs include Function chaining. Performance (Resource Utilization) and Scalability are the key for NFV deployment! *source: ETSI NFV June 13 4

5 How to address performance and scalability for NFV platform? 5

6 How to address performance and scalability for NFV platform? Consolidation approaches E2 [SOSP 15], NetBricks [OSDI 16]: Consolidate NFs of a chain on single core. 6

7 How to address performance and scalability for NFV platform? Consolidation approaches E2 [SOSP 15], NetBricks [OSDI 16]: Consolidate NFs of a chain on single core. But, lot of different NFs and diverse NF chains >>> compute cores! Performance, Scalability Challenges Exist!! 7

8 How to address performance and scalability for NFV platform? Consolidation approaches E2 [SOSP 15], NetBricks [OSDI 16]: Consolidate NFs of a chain on single core. But, lot of different NFs and diverse NF chains >>> compute cores! Performance, Scalability Challenges Exist!! Multiplexing approach: Flurries [CoNext 16], ClickOS [NSDI 14] Multiplex NFs on same core. Performance?, Scalability 8

9 How to address performance and scalability for NFV platform? Consolidation approaches E2 [SOSP 15], NetBricks [OSDI 16]: Consolidate NFs of a chain on single core. But, lot of different NFs and diverse NF chains >>> compute cores! Performance, Scalability Challenges Exist!! Multiplexing approach: Flurries [CoNext 16], ClickOS [NSDI 14] Multiplex NFs on same core. Performance?, Scalability 9

10 How to address performance and scalability for NFV platform? Consolidation approaches E2 [SOSP 15], NetBricks [OSDI 16]: Consolidate NFs of a chain on single core. But, lot of different NFs and diverse NF chains >>> compute cores! Performance, Scalability Challenges Exist!! Multiplexing approach: Flurries [CoNext 16], ClickOS [NSDI 14] Multiplex NFs on same core. Performance?, Scalability Then, how to Schedule the NFs to optimize the performance? 10

11 How to address performance and scalability for NFV platform? Consolidation approaches E2 [SOSP 15], NetBricks [OSDI 16]: Consolidate NFs of a chain on single core. But, lot of different NFs and diverse NF chains >>> compute cores! Performance, Scalability Challenges Exist!! Multiplexing approach: Flurries [CoNext 16], ClickOS [NSDI 14] Multiplex NFs on same core. Performance?, Scalability Then, how to Schedule the NFs to optimize the performance? 11

12 Use Existing Linux Schedulers? Vanilla Linux schedulers: Do existing schedulers perform well? 12

13 Use Existing Linux Schedulers? Vanilla Linux schedulers: Completely Fair Scheduler Normal or Default Batch - Virtual run time - Nanosecond granularity Do existing schedulers perform well? 13

14 Use Existing Linux Schedulers? Vanilla Linux schedulers: Completely Fair Scheduler Normal or Default Batch - Virtual run time - Nanosecond granularity Real Time Scheduler Round Robin FIFO - Time slice - Millisecond granularity Do existing schedulers perform well? 14

15 OS Scheduler Characterization (Load) 3 Homogeneous NFs running on a same core with offered load 2:2:1. 6Mpps 6Mpps 3Mpps Flow 1 Flow 2 Flow 3 (X) (X) Core NF3 (X) 15

16 OS Scheduler Characterization (Load) 3 Homogeneous NFs running on a same core with offered load 2:2:1. 6Mpps 6Mpps 3Mpps Flow 1 Flow 2 Flow 3 (X) (X) Core NF3 (X) Ideal Allocation (, ) Ideal Allocation (NF3) 16

17 OS Scheduler Characterization (Load) 3 Homogeneous NFs running on a same core with offered load 2:2:1. 6Mpps 6Mpps 3Mpps Flow 1 Flow 2 Flow 3 (X) (X) Core NF3 (X) Ideal Allocation (, ) Ideal Allocation (NF3) 17

18 OS Scheduler Characterization (Load) 3 Homogeneous NFs running on a same core with offered load 2:2:1. 6Mpps 6Mpps 3Mpps Flow 1 Flow 2 Flow 3 (X) (X) Core NF3 (X) Ideal Allocation (, ) Ideal Allocation (NF3) Ideal Throughput (F1, F2) Ideal Throughput (F3) 18

19 OS Scheduler Characterization (Load) 3 Homogeneous NFs running on a same core with offered load 2:2:1. 6Mpps 6Mpps 3Mpps Flow 1 Flow 2 Flow 3 (X) (X) Core NF3 (X) Schedulers fail to account NF load! Ideal Allocation (, ) Ideal Allocation (NF3) Ideal Throughput (F1, F2) Ideal Throughput (F3) 19

20 OS Scheduler Characterization (Cost) 3 Heterogeneous NFs (per packet processing cost 10:5:1) with equal load ~5Mpps ~5Mpps ~5Mpps Flow 1 Flow 2 Flow 3 (10X) (5X) Core NF3 (X) 20

21 OS Scheduler Characterization (Cost) 3 Heterogeneous NFs (per packet processing cost 10:5:1) with equal load ~5Mpps ~5Mpps ~5Mpps Flow 1 Flow 2 Flow 3 (10X) (5X) Core NF3 (X) Ideal Allocation () Ideal Allocation () Ideal Allocation (NF3) 21

22 OS Scheduler Characterization (Cost) 3 Heterogeneous NFs (per packet processing cost 10:5:1) with equal load ~5Mpps ~5Mpps ~5Mpps Flow 1 Flow 2 Flow 3 (10X) (5X) Core NF3 (X) Ideal Allocation () Ideal Allocation () Ideal Allocation (NF3) 22

23 OS Scheduler Characterization (Cost) 3 Heterogeneous NFs (per packet processing cost 10:5:1) with equal load ~5Mpps ~5Mpps ~5Mpps Flow 1 Flow 2 Flow 3 (10X) (5X) Core NF3 (X) Ideal Allocation () Ideal Allocation () Ideal Throughput (F1, F2, F3) Ideal Allocation (NF3) 23

24 OS Scheduler Characterization (Cost) 3 Heterogeneous NFs (per packet processing cost 10:5:1) with equal load ~5Mpps ~5Mpps ~5Mpps Flow 1 Flow 2 Flow 3 (10X) (5X) Core NF3 (X) Schedulers fail to account NF Processing cost! Ideal Allocation () Ideal Allocation () Ideal Throughput (F1, F2, F3) Ideal Allocation (NF3) 24

25 OS Scheduler Characterization (Chain) 3 NF chain (all NFs running on same core): Flow 1 25

26 OS Scheduler Characterization (Chain) 3 NF chain (all NFs running on same core): Flow 1 26

27 OS Scheduler Characterization (Chain) 3 NF chain (all NFs running on same core): Flow

28 OS Scheduler Characterization (Chain) 3 NF chain (all NFs running on same core): Flow Ctx sw/s NORMAL BATCH RR Total 20K/s 2K/s 1K/s CPU % NORMAL BATCH RR 34% 15% 9% 34% 42% 37% NF3 33% 43% 54% 28

29 OS Scheduler Characterization (Chain) 3 NF chain (all NFs running on same core): Flow Too many/too little context switches result in overhead and in-appropriate allocation of CPU Ctx sw/s NORMAL BATCH RR Total 20K/s 2K/s 1K/s CPU % NORMAL BATCH RR 34% 15% 9% 34% 42% 37% NF3 33% 43% 54% 29

30 OS Scheduler Characterization (Chain) 3 NF chain (all NFs running on same core): Flow Too many/too little context switches result in overhead and in-appropriate allocation of CPU Ctx sw/s NORMAL BATCH RR Total 20K/s 2K/s 1K/s CPU % NORMAL BATCH RR Vanilla Linux schedulers result in sub-optimal 34% resource 15% utilization. 9% 34% 42% 37% NF3 33% 43% 54% 30

31 OS Scheduler Characterization (Chain) 3 NF chain (all NFs running on same core): Flow Too many/too little context switches result in overhead and in-appropriate allocation of CPU Ctx sw/s NORMAL BATCH RR Total 20K/s 2K/s 1K/s CPU % NORMAL BATCH RR Vanilla Linux schedulers result in sub-optimal 34% resource 15% utilization. 9% 34% 42% 37% Need the schedulers to be Load, NF characteristic, NF3 33% & chain 43% aware! 54% 31

32 NFVnice A user space control framework for scheduling NFV chains. 32

33 NFVnice A user space control framework for scheduling NFV chains. NFVnice in a nutshell: Complements the existing kernel task schedulers. Integrates Rate proportional scheduling from Hardware schedulers. Integrates Cost Proportional scheduling from software schedulers. Built on OpenNetVM[HMBox 16, NSDI 14]: A DPDK based NFV platform. Enables deployment of containerized (Docker) or process based NFs. Improves NF Throughput, Fairness and CPU Utilization through: Proportional and Fair share of CPU to NFs: Tuning Scheduler. Avoid wasted work and isolate bottlenecks: Backpressure. Efficient I/O management framework for NFs. 33

34 NFVnice: Building Blocks cgroups Work-conserving and proportional scheduling (within each core) NFVnice 34

35 NFVnice: Building Blocks cgroups Work-conserving and proportional scheduling (within each core) NFVnice Cgroups: (control groups) is a Linux kernel feature that limits, accounts for and isolates the resource usage (CPU, memory, disk I/O, network, etc.) of a collection of processes. 35

36 cgroups Rate-Cost Proportional Fairness What is Rate-Cost Proportional Fairness? Determines the NFs CPU share by accounting the: NF Load (Avg. packet arrival rate, instantaneous Queue length) NF Priority and per-packet computation cost (Median) Why? Efficient and fair allocation of CPU to the contending NFs. Provides upper bound on the wait/idle time for each NF. Flexible & Extensible approach to adapt any QOS policy. 36

37 cgroups Rate-Cost Proportional Fairness Initialization mkdir /cgroupfs/nf(i)

38 cgroups Rate-Cost Proportional Fairness Initialization mkdir /cgroupfs/nf(i) Weight Computation

39 cgroups Rate-Cost Proportional Fairness Initialization mkdir /cgroupfs/nf(i) Weight Computation Update Cgroup Weight Write NFShare(i) to /cgrougfs/nf(i)/cpu.shares

40 cgroups Rate-Cost Proportional Fairness Initialization mkdir /cgroupfs/nf(i) Weight Computation Every 10 ms Update Cgroup Weight Write NFShare(i) to /cgrougfs/nf(i)/cpu.shares

41 NFVnice: Building Blocks cgroups Work-conserving and proportional scheduling (within each core) NFVnice Back pressure Chain-aware scheduling; Avoid wasted work (within and across cores) 41

42 Back pressure Backpressure in NF chains Selective per chain backpressure marking. Bottleneck Upstream Dataflow Downstream Only Flow A going through bottleneck NF (NF3) is back pressured and throttled at the upstream source. while Flow B is not affected. 42

43 Back pressure Scenario: No Backpressure NF3 Flow 1 Flow 2 NF3* NF4 43

44 Back pressure Scenario: No Backpressure NF3 Flow 1 Flow 2 NF3* NF4 and contend for CPU, and steal the CPU cycles from NF3! 44

45 Back pressure Scenario: No Backpressure NF3 Flow 1 Flow 2 NF3* NF4 and contend for CPU, and steal the CPU cycles from NF3! Lots of Wasted Work!!! 45

46 Back pressure Traditional Backpressure NF3 Stop! Stop! Flow 1 Flow 2 NF3* NF4 46

47 Back pressure Traditional Backpressure NF3 Stop! Stop! Flow 1 Flow 2 NF3* NF4 Lots of Wasted Work Incurs feedback delay and offers no flow isolation. 47

48 Back pressure NFVnice Backpressure NF3 NF4 Flow 1 Flow 2 NF3* NF4 Lots of Wasted Work Incurs Delay, No Isolation TX Watch list Monitor Reacts Instantaneously Packet Throttling per Chain Clear Throttle Throttle Packets

49 Back pressure NFVnice Backpressure NF3 NF4 Flow 1 Flow 2 NF3* NF4 Lots of Wasted Work Incurs Delay, No Isolation TX Watch list Monitor Reacts Instantaneously Packet Throttling per Chain Clear Throttle Qlen < LOW_WATER_MARK Throttle Packets

50 Back pressure NFVnice Backpressure NF3 NF4 Flow 1 Flow 2 NF3* NF4 Lots of Wasted Work Incurs Delay, No Isolation TX Watch list Monitor Reacts Instantaneously Packet Throttling per Chain Clear Throttle Qlen < LOW_WATER_MARK Throttle Packets

51 NFVnice: Building Blocks cgroups Work-conserving and proportional scheduling (within each core) NFVnice Back pressure Chain-aware scheduling; Avoid wasted work (within and across cores) ECN End-2-End Bottleneck/congestion control (across nodes) 51

52 ECN ECN Marking ECN-aware NF Manager: Per-NF ECN marking based on Active Queue Management (AQM) policies. 52

53 ECN ECN Marking ECN-aware NF Manager: Per-NF ECN marking based on Active Queue Management (AQM) policies. Address NF bottleneck across chain of NFs in distinct nodes. 53

54 NFVnice: Building Blocks cgroups Work-conserving and proportional scheduling (within each core) NFVnice Back pressure Chain-aware scheduling; Avoid wasted work (within and across cores) ECN End-2-End Bottleneck/congestion control (across nodes) I/O Mgt. Efficient Disk I/O Mgmt. Library 54

55 NFVnice: Implementation OpenNetVM [HMBox 16, NSDI 14] makes use of DPDK to enable fast packet processing. NFVnice extends the Data and Control plane functionalities to facilitate efficient multiplexing and scheduling of NFs on same core. 55

56 Control Plane NFVnice Node Packet Mempool Packet Shared Memory WATCH LIST RX Wakeup RX TX Mgr Core Core NF Manager Core Core User Space Kernel Space CPU Schedulers Cgroupfs Hardware NIC S0/Cores 2 S1/Cores 2 NIC Resource monitoring and control functions. Monitor 56

57 Control Plane NFVnice Node Packet Mempool Packet Shared Memory WATCH LIST RX Wakeup RX TX Mgr Core Core NF Manager Core Core User Space Kernel Space CPU Schedulers Cgroupfs Hardware NIC S0/Cores 2 S1/Cores 2 NIC Resource monitoring and control functions. Wakeup Thread Wakeup notification to the NFs Timer Management. Monitor 57

58 Control Plane NFVnice Node Packet Mempool Packet Shared Memory WATCH LIST RX Wakeup RX TX Mgr Core Core NF Manager Core Core User Space Kernel Space CPU Schedulers Cgroupfs Hardware NIC S0/Cores 2 S1/Cores 2 NIC Resource monitoring and control functions. Wakeup Thread Wakeup notification to the NFs Timer Management. Monitor 58

59 Control Plane NFVnice Node Packet Mempool Packet Shared Memory WATCH LIST RX Wakeup RX TX Mgr Core Core NF Manager Core Core User Space Kernel Space CPU Schedulers Cgroupfs Hardware NIC S0/Cores 2 S1/Cores 2 NIC Resource monitoring and control functions. NF threads (libnf) Voluntary yield decisions. Estimate per-packet processing cost. Monitor 59

60 Control Plane NFVnice Node Packet Mempool Packet Shared Memory WATCH LIST RX Wakeup RX TX Mgr Core Core NF Manager Core Core User Space Kernel Space CPU Schedulers Cgroupfs Hardware NIC S0/Cores 2 S1/Cores 2 NIC Resource monitoring and control functions. Monitor Thread periodically (1ms) monitors NF load. computes the cpu share for each core. Monitor Tracks EWMA of NFs Rx queue length and mark ECN. 60

61 Evaluation Testbed: Hardware: 3 Intel Xeon(R) CPU E5-2697, 28 servers, with dual port 10Gbps DPDK compatible NICs. Software: Linux kernel lowlatency profile. NFVnice: built on top of OpenNetVM. 10Gbps 10Gbps Traffic: Pktgen and Moongen: Line rate traffic (64 byte packets). Iperf: TCP flows. Schemes compared: Native Linux Schedulers with and w/o NFVnice. Different NFs (varying computation costs) and chain configurations. 61

62 Performance: Impact of cgroup weights and Backpressure 120 Cpp Simple Three NF Chain 270 Cpp NF3 550 Cpp Core-1 Core-1 Core-1 Cycles per packet 62

63 Performance: Impact of cgroup weights and Backpressure 120 Cpp Simple Three NF Chain 270 Cpp NF3 550 Cpp Core-1 Core-1 Core-1 Cycles per packet 63

64 Performance: Impact of cgroup weights and Backpressure 120 Cpp Simple Three NF Chain 270 Cpp NF3 550 Cpp Core-1 Core-1 Core-1 Cycles per packet 64

65 Performance: Impact of cgroup weights and Backpressure 120 Cpp Simple Three NF Chain 270 Cpp NF3 550 Cpp Core-1 Core-1 Core-1 Cycles per packet 65

66 Performance: Impact of cgroup weights and Backpressure 120 Cpp Simple Three NF Chain 270 Cpp NF3 550 Cpp Core-1 Core-1 Core-1 Cycles per packet Significant Reduction in Wasted Work! CFS Normal Scheduler Wasted Work (Packet Drops/sec) Default NFVnice 3.58M 58% 2.02M 50% 11.2K <0.3% 12.3K <0.4% NF

67 Performance: Impact of cgroup weights and Backpressure 120 Cpp Simple Three NF Chain 270 Cpp NF3 550 Cpp Core-1 Core-1 Core-1 Cycles per packet Significant Reduction in Wasted Work! CPU Allocation < Computation Cost CFS Normal Scheduler Wasted Work (Packet Drops/sec) NF Runtime (ms) (measured over 2s interval) Default NFVnice Default NFVnice 3.58M 58% 11.2K <0.3% M 50% 12.3K <0.4% NF

68 Performance: Impact of cgroup weights and Backpressure 120 Cpp Simple Three NF Chain 270 Cpp NF3 550 Cpp Core-1 Core-1 Core-1 Cycles per packet Significant Reduction in Wasted Work! CPU Allocation < Computation Cost CFS Normal Scheduler Wasted Work (Packet Drops/sec) NF Runtime (ms) (measured over 2s interval) Default NFVnice Default NFVnice 3.58M 58% 11.2K <0.3% M 12.3K % <0.4% NFVnice improves NF3throughput - - for all kernel schedulers. 68

69 Efficient Resource (CPU) Utilization Three NF Chain (NF per core) 550 Cpp 2200 Cpp NF Cpp Core-1 Core-2 Core-3 Default Svc. Rate Drop rate CPU Util (550cycles) 5.95Mpps 4.76Mpps 80% 100% (2200cycles) 1.18Mpps 0.58Mpps 49% 100% NF3 (4500cycles) 0.6Mpps - 100% Aggregate 0.6Mpps - 69

70 Efficient Resource (CPU) Utilization Three NF Chain (NF per core) 550 Cpp 2200 Cpp NF Cpp Core-1 Core-2 Core-3 Lots of Wasted Work! Burning CPU!! Default Svc. Rate Drop rate CPU Util (550cycles) 5.95Mpps 4.76Mpps 80% 100% (2200cycles) 1.18Mpps 0.58Mpps 49% 100% NF3 (4500cycles) 0.6Mpps - 100% Aggregate 0.6Mpps - 70

71 Efficient Resource (CPU) Utilization Three NF Chain (NF per core) 550 Cpp 2200 Cpp NF Cpp Core-1 Core-2 Core-3 Lots of Wasted Work! Burning CPU!! Default Svc. Rate Drop rate CPU Util NFVnice Svc. Rate Drop rate CPU Util (550cycles) 5.95Mpps 4.76Mpps 80% 100% 0.82Mpps 0.15Mpps 11% (2200cycles) 1.18Mpps 0.58Mpps 49% 100% 0.72Mpps 0.07Mpps 64% NF3 (4500cycles) 0.6Mpps - 100% 0.6Mpps - 100% Aggregate 0.6Mpps - 0.6Mpps - 71

72 Efficient Resource (CPU) Utilization Three NF Chain (NF per core) Lots of Wasted Work! Burning CPU!! 550 Cpp 2200 Cpp NF Cpp Core-1 Core-2 Core-3 Avoid Wasted Work! Optimize CPU utilization. Default Svc. Rate Drop rate CPU Util NFVnice Svc. Rate Drop rate CPU Util (550cycles) 5.95Mpps 4.76Mpps 80% 100% 0.82Mpps 0.15Mpps 11% (2200cycles) 1.18Mpps 0.58Mpps 49% 100% 0.72Mpps 0.07Mpps 64% NF3 (4500cycles) 0.6Mpps - 100% 0.6Mpps - 100% Aggregate 0.6Mpps - 0.6Mpps - 72

73 Efficient Resource (CPU) Utilization Three NF Chain (NF per core) Lots of Wasted Work! Burning CPU!! 550 Cpp 2200 Cpp NF Cpp Core-1 Core-2 Core-3 Achieves Same Throughput Avoid Wasted Work! Optimize CPU utilization. Default Svc. Rate Drop rate CPU Util NFVnice Svc. Rate Drop rate CPU Util (550cycles) 5.95Mpps 4.76Mpps 80% 100% 0.82Mpps 0.15Mpps 11% (2200cycles) 1.18Mpps 0.58Mpps 49% 100% 0.72Mpps 0.07Mpps 64% NF3 (4500cycles) 0.6Mpps - 100% 0.6Mpps - 100% Aggregate 0.6Mpps - 0.6Mpps - 73

74 Efficient Resource (CPU) Utilization Three NF Chain (NF per core) Lots of Wasted Work! Burning CPU!! 550 Cpp 2200 Cpp NF Cpp Core-1 Core-2 Core-3 Achieves Same Throughput Avoid Wasted Work! Optimize CPU utilization. (550cycles) (2200cycles) NF3 (4500cycles) Default Svc. Rate Drop rate CPU Util 5.95Mpps 1.18Mpps 0.6Mpps 4.76Mpps 80% 0.58Mpps 49% Aggregate 0.6Mpps % 100% 100% NFVnice Svc. Rate Drop rate CPU Util 0.82Mpps 0.15Mpps 11% 0.72Mpps 0.07Mpps 64% 0.6Mpps 0.6Mpps % NFVnice avoids wasted work; provides better resource utilization 74

75 Performance + Resource Utilization Default- NFVnice- Default- NFVnice- Default-NF3 NFVnice-NF3 Default-NF4 NFVnice-NF4 Chain 1 Chain # Packets processed in Mpps 75

76 Performance + Resource Utilization Inefficient CPU utilization by Default- NFVnice- Default- NFVnice- Default-NF3 NFVnice-NF3 Default-NF4 NFVnice-NF4 Chain 1 Chain # Packets processed in Mpps 76

77 Performance + Resource Utilization Inefficient CPU utilization by Default- NFVnice- Default- NFVnice- Default-NF3 NFVnice-NF3 Default-NF4 NFVnice-NF4 Chain 1 Chain # Packets processed in Mpps 77

78 Performance + Resource Utilization Inefficient CPU utilization by Default- NFVnice- Default- NFVnice- Default-NF3 NFVnice-NF3 Default-NF4 NFVnice-NF4 Chain 1 Chain 2 Judicious utilization of NFs CPU # Packets processed in Mpps 78

79 Performance + Resource Utilization Inefficient CPU utilization by Default- NFVnice- Default- NFVnice- Default-NF3 NFVnice-NF3 Default-NF4 NFVnice-NF4 Chain 1 Chain 2 Judicious utilization of NFs CPU # Packets processed in Mpps 79

80 Performance + Resource Utilization Inefficient CPU utilization by Chain 1 Chain 2 Judicious utilization of NFs CPU ~2x Throughput Gain with efficient CPU utilization Default- NFVnice- Default- NFVnice- Default-NF3 NFVnice-NF3 Default-NF4 NFVnice-NF # Packets processed in Mpps 80

81 Performance + Resource Utilization Inefficient CPU utilization by Chain 1 Chain 2 Judicious utilization of NFs CPU ~2x Throughput Gain with efficient CPU utilization Default- NFVnice- Default- NFVnice- Default-NF3 NFVnice-NF3 Default-NF4 NFVnice-NF Flows get right amount of bandwidth and NF resources # Packets processed in Mpps 81

82 Robustness: Chain Diversity Robust across schedulers (Low) Three NF Chain (Med) NF3(High) Core-1 Core-1 Core-1 82

83 Robustness: Chain Diversity Robust across schedulers (Low) Three NF Chain (Med) NF3(High) Core-1 Core-1 Core-1 83

84 Robustness: Chain Diversity Robust across schedulers (Low) Three NF Chain (Med) NF3(High) Robust across chain diversity Core-1 Core-1 Core-1 84

85 Robustness: Chain Diversity Robust across schedulers (Low) Three NF Chain (Med) NF3(High) Robust across chain diversity Core-1 Core-1 Core-1 85

86 Robustness: Chain Diversity Robust across schedulers (Low) Three NF Chain (Med) NF3(High) Robust across chain diversity Core-1 Core-1 Core-1 Consistently improves throughput regardless of chain characteristics 86

87 NF Processing cost variation Simple Three NF Chain * * NF3* Core-1 Core-1 Core-1 *Variable per packet processing cost [120 to 550 cpp] 87

88 NF Processing cost variation Simple Three NF Chain * * NF3* Core-1 Core-1 Core-1 *Variable per packet processing cost [120 to 550 cpp] NFVnice is resilient to cost variations! 88

89 TCP and UDP Isolation 89

90 TCP and UDP Isolation TCP affected by UDP flows! Wastage of, bandwidth TCP W/O NFVnice TCP With NFVnice UDP W/O NFVnice UDP With NFVnice Throughput in Mbps Time in Seconds 90

91 TCP and UDP Isolation TCP affected by UDP flows! Wastage of, bandwidth TCP W/O NFVnice TCP With NFVnice UDP W/O NFVnice UDP With NFVnice Effectively isolates UDP and TCP flows Throughput in Mbps Time in Seconds 91

92 Conclusion NFVnice enables performance and scale A user space framework complementing the OS CPU schedulers. Brings the best of Hardware packet schedulers and CPU schedulers to the NFV platform. Weight adjustments and Backpressure help get better NFV performance. Improves Fairness and Throughput by being chain-aware. Our work will be open-sourced soon: Get OpenNetVM: Watch out for the link: 92

93 Thank you! CleanSky ITN: A EU FP7 Marie Curie Initial Training Network A Network for the Cloud Computing Eco-System 93

G-NET: Effective GPU Sharing In NFV Systems

G-NET: Effective GPU Sharing In NFV Systems G-NET: Effective Sharing In NFV Systems Kai Zhang*, Bingsheng He^, Jiayu Hu #, Zeke Wang^, Bei Hua #, Jiayi Meng #, Lishan Yang # *Fudan University ^National University of Singapore #University of Science

More information

Flurries: Countless Fine-Grained NFs for Flexible Per-Flow Customization

Flurries: Countless Fine-Grained NFs for Flexible Per-Flow Customization : Countless Fine-Grained s for Flexible Per-Flow Customization Wei Zhang The George Washington University District of Columbia, USA zhangwei1984@gwu.edu K. K. Ramakrishnan University of California, Riverside

More information

Fast packet processing in the cloud. Dániel Géhberger Ericsson Research

Fast packet processing in the cloud. Dániel Géhberger Ericsson Research Fast packet processing in the cloud Dániel Géhberger Ericsson Research Outline Motivation Service chains Hardware related topics, acceleration Virtualization basics Software performance and acceleration

More information

High bandwidth, Long distance. Where is my throughput? Robin Tasker CCLRC, Daresbury Laboratory, UK

High bandwidth, Long distance. Where is my throughput? Robin Tasker CCLRC, Daresbury Laboratory, UK High bandwidth, Long distance. Where is my throughput? Robin Tasker CCLRC, Daresbury Laboratory, UK [r.tasker@dl.ac.uk] DataTAG is a project sponsored by the European Commission - EU Grant IST-2001-32459

More information

Computer Networking. Queue Management and Quality of Service (QOS)

Computer Networking. Queue Management and Quality of Service (QOS) Computer Networking Queue Management and Quality of Service (QOS) Outline Previously:TCP flow control Congestion sources and collapse Congestion control basics - Routers 2 Internet Pipes? How should you

More information

IX: A Protected Dataplane Operating System for High Throughput and Low Latency

IX: A Protected Dataplane Operating System for High Throughput and Low Latency IX: A Protected Dataplane Operating System for High Throughput and Low Latency Belay, A. et al. Proc. of the 11th USENIX Symp. on OSDI, pp. 49-65, 2014. Reviewed by Chun-Yu and Xinghao Li Summary In this

More information

Core-Stateless Fair Queueing: Achieving Approximately Fair Bandwidth Allocations in High Speed Networks. Congestion Control in Today s Internet

Core-Stateless Fair Queueing: Achieving Approximately Fair Bandwidth Allocations in High Speed Networks. Congestion Control in Today s Internet Core-Stateless Fair Queueing: Achieving Approximately Fair Bandwidth Allocations in High Speed Networks Ion Stoica CMU Scott Shenker Xerox PARC Hui Zhang CMU Congestion Control in Today s Internet Rely

More information

15-744: Computer Networking. Overview. Queuing Disciplines. TCP & Routers. L-6 TCP & Routers

15-744: Computer Networking. Overview. Queuing Disciplines. TCP & Routers. L-6 TCP & Routers TCP & Routers 15-744: Computer Networking RED XCP Assigned reading [FJ93] Random Early Detection Gateways for Congestion Avoidance [KHR02] Congestion Control for High Bandwidth-Delay Product Networks L-6

More information

NetBricks: Taking the V out of NFV. Aurojit Panda, Sangjin Han, Keon Jang, Melvin Walls, Sylvia Ratnasamy, Scott Shenker UC Berkeley, Google, ICSI

NetBricks: Taking the V out of NFV. Aurojit Panda, Sangjin Han, Keon Jang, Melvin Walls, Sylvia Ratnasamy, Scott Shenker UC Berkeley, Google, ICSI NetBricks: Taking the V out of NFV Aurojit Panda, Sangjin Han, Keon Jang, Melvin Walls, Sylvia Ratnasamy, Scott Shenker UC Berkeley, Google, ICSI What the heck is NFV? A Short Introduction to NFV A Short

More information

Mininet Performance Fidelity Benchmarks

Mininet Performance Fidelity Benchmarks Mininet Performance Fidelity Benchmarks Nikhil Handigol, Brandon Heller, Vimalkumar Jeyakumar, Bob Lantz, Nick McKeown October 21, 2012 1 Introduction This initial Mininet technical report evaluates the

More information

Overview Computer Networking What is QoS? Queuing discipline and scheduling. Traffic Enforcement. Integrated services

Overview Computer Networking What is QoS? Queuing discipline and scheduling. Traffic Enforcement. Integrated services Overview 15-441 15-441 Computer Networking 15-641 Lecture 19 Queue Management and Quality of Service Peter Steenkiste Fall 2016 www.cs.cmu.edu/~prs/15-441-f16 What is QoS? Queuing discipline and scheduling

More information

CS 268: Computer Networking

CS 268: Computer Networking CS 268: Computer Networking L-6 Router Congestion Control TCP & Routers RED XCP Assigned reading [FJ93] Random Early Detection Gateways for Congestion Avoidance [KHR02] Congestion Control for High Bandwidth-Delay

More information

Next Gen Virtual Switch. CloudNetEngine Founder & CTO Jun Xiao

Next Gen Virtual Switch. CloudNetEngine Founder & CTO Jun Xiao Next Gen Virtual Switch CloudNetEngine Founder & CTO Jun Xiao Agenda Thoughts on next generation virtual switch Technical deep dive on CloudNetEngine virtual switch Q & A 2 Major vswitches categorized

More information

New Approach to OVS Datapath Performance. Founder of CloudNetEngine Jun Xiao

New Approach to OVS Datapath Performance. Founder of CloudNetEngine Jun Xiao New Approach to OVS Datapath Performance Founder of CloudNetEngine Jun Xiao Agenda VM virtual network datapath evolvement Technical deep dive on a new OVS datapath Performance comparisons Q & A 2 VM virtual

More information

Congestion Control. Daniel Zappala. CS 460 Computer Networking Brigham Young University

Congestion Control. Daniel Zappala. CS 460 Computer Networking Brigham Young University Congestion Control Daniel Zappala CS 460 Computer Networking Brigham Young University 2/25 Congestion Control how do you send as fast as possible, without overwhelming the network? challenges the fastest

More information

Random Early Detection (RED) gateways. Sally Floyd CS 268: Computer Networks

Random Early Detection (RED) gateways. Sally Floyd CS 268: Computer Networks Random Early Detection (RED) gateways Sally Floyd CS 268: Computer Networks floyd@eelblgov March 20, 1995 1 The Environment Feedback-based transport protocols (eg, TCP) Problems with current Drop-Tail

More information

Router s Queue Management

Router s Queue Management Router s Queue Management Manages sharing of (i) buffer space (ii) bandwidth Q1: Which packet to drop when queue is full? Q2: Which packet to send next? FIFO + Drop Tail Keep a single queue Answer to Q1:

More information

An Analysis and Empirical Study of Container Networks

An Analysis and Empirical Study of Container Networks An Analysis and Empirical Study of Container Networks Kun Suo *, Yong Zhao *, Wei Chen, Jia Rao * University of Texas at Arlington *, University of Colorado, Colorado Springs INFOCOM 2018@Hawaii, USA 1

More information

MWC 2015 End to End NFV Architecture demo_

MWC 2015 End to End NFV Architecture demo_ MWC 2015 End to End NFV Architecture demo_ March 2015 demonstration @ Intel booth Executive summary The goal is to demonstrate how an advanced multi-vendor implementation of the ETSI ISG NFV architecture

More information

Reliably Scalable Name Prefix Lookup! Haowei Yuan and Patrick Crowley! Washington University in St. Louis!! ANCS 2015! 5/8/2015!

Reliably Scalable Name Prefix Lookup! Haowei Yuan and Patrick Crowley! Washington University in St. Louis!! ANCS 2015! 5/8/2015! Reliably Scalable Name Prefix Lookup! Haowei Yuan and Patrick Crowley! Washington University in St. Louis!! ANCS 2015! 5/8/2015! ! My Topic for Today! Goal: a reliable longest name prefix lookup performance

More information

MUD: Send me your top 1 3 questions on this lecture

MUD: Send me your top 1 3 questions on this lecture Administrivia Review 1 due tomorrow Email your reviews to me Office hours on Thursdays 10 12 MUD: Send me your top 1 3 questions on this lecture Guest lectures next week by Prof. Richard Martin Class slides

More information

Unit 2 Packet Switching Networks - II

Unit 2 Packet Switching Networks - II Unit 2 Packet Switching Networks - II Dijkstra Algorithm: Finding shortest path Algorithm for finding shortest paths N: set of nodes for which shortest path already found Initialization: (Start with source

More information

The Power of Batching in the Click Modular Router

The Power of Batching in the Click Modular Router The Power of Batching in the Click Modular Router Joongi Kim, Seonggu Huh, Keon Jang, * KyoungSoo Park, Sue Moon Computer Science Dept., KAIST Microsoft Research Cambridge, UK * Electrical Engineering

More information

Lecture 24: Scheduling and QoS

Lecture 24: Scheduling and QoS Lecture 24: Scheduling and QoS CSE 123: Computer Networks Alex C. Snoeren HW 4 due Wednesday Lecture 24 Overview Scheduling (Weighted) Fair Queuing Quality of Service basics Integrated Services Differentiated

More information

Overview. TCP & router queuing Computer Networking. TCP details. Workloads. TCP Performance. TCP Performance. Lecture 10 TCP & Routers

Overview. TCP & router queuing Computer Networking. TCP details. Workloads. TCP Performance. TCP Performance. Lecture 10 TCP & Routers Overview 15-441 Computer Networking TCP & router queuing Lecture 10 TCP & Routers TCP details Workloads Lecture 10: 09-30-2002 2 TCP Performance TCP Performance Can TCP saturate a link? Congestion control

More information

The Network Layer and Routers

The Network Layer and Routers The Network Layer and Routers Daniel Zappala CS 460 Computer Networking Brigham Young University 2/18 Network Layer deliver packets from sending host to receiving host must be on every host, router in

More information

Attaining the Promise and Avoiding the Pitfalls of TCP in the Datacenter. Glenn Judd Morgan Stanley

Attaining the Promise and Avoiding the Pitfalls of TCP in the Datacenter. Glenn Judd Morgan Stanley Attaining the Promise and Avoiding the Pitfalls of TCP in the Datacenter Glenn Judd Morgan Stanley 1 Introduction Datacenter computing pervasive Beyond the Internet services domain BigData, Grid Computing,

More information

Supporting Fine-Grained Network Functions through Intel DPDK

Supporting Fine-Grained Network Functions through Intel DPDK Supporting Fine-Grained Network Functions through Intel DPDK Ivano Cerrato, Mauro Annarumma, Fulvio Risso - Politecnico di Torino, Italy EWSDN 2014, September 1st 2014 This project is co-funded by the

More information

of-service Support on the Internet

of-service Support on the Internet Quality-of of-service Support on the Internet Dept. of Computer Science, University of Rochester 2008-11-24 CSC 257/457 - Fall 2008 1 Quality of Service Support Some Internet applications (i.e. multimedia)

More information

Performance Considerations of Network Functions Virtualization using Containers

Performance Considerations of Network Functions Virtualization using Containers Performance Considerations of Network Functions Virtualization using Containers Jason Anderson, et al. (Clemson University) 2016 International Conference on Computing, Networking and Communications, Internet

More information

CPU Scheduling. Operating Systems (Fall/Winter 2018) Yajin Zhou ( Zhejiang University

CPU Scheduling. Operating Systems (Fall/Winter 2018) Yajin Zhou (  Zhejiang University Operating Systems (Fall/Winter 2018) CPU Scheduling Yajin Zhou (http://yajin.org) Zhejiang University Acknowledgement: some pages are based on the slides from Zhi Wang(fsu). Review Motivation to use threads

More information

Master Course Computer Networks IN2097

Master Course Computer Networks IN2097 Chair for Network Architectures and Services Prof. Carle Department for Computer Science TU München Chair for Network Architectures and Services Prof. Carle Department for Computer Science TU München Master

More information

Congestion Control for High Bandwidth-delay Product Networks

Congestion Control for High Bandwidth-delay Product Networks Congestion Control for High Bandwidth-delay Product Networks Dina Katabi, Mark Handley, Charlie Rohrs Presented by Chi-Yao Hong Adapted from slides by Dina Katabi CS598pbg Sep. 10, 2009 Trends in the Future

More information

Master Course Computer Networks IN2097

Master Course Computer Networks IN2097 Chair for Network Architectures and Services Prof. Carle Department for Computer Science TU München Master Course Computer Networks IN2097 Prof. Dr.-Ing. Georg Carle Christian Grothoff, Ph.D. Chair for

More information

Fairness Issues in Software Virtual Routers

Fairness Issues in Software Virtual Routers Fairness Issues in Software Virtual Routers Norbert Egi, Adam Greenhalgh, h Mark Handley, Mickael Hoerdt, Felipe Huici, Laurent Mathy Lancaster University PRESTO 2008 Presenter: Munhwan Choi Virtual Router

More information

CS 268: Lecture 7 (Beyond TCP Congestion Control)

CS 268: Lecture 7 (Beyond TCP Congestion Control) Outline CS 68: Lecture 7 (Beyond TCP Congestion Control) TCP-Friendly Rate Control (TFRC) explicit Control Protocol Ion Stoica Computer Science Division Department of Electrical Engineering and Computer

More information

Congestion Control for High Bandwidth-delay Product Networks. Dina Katabi, Mark Handley, Charlie Rohrs

Congestion Control for High Bandwidth-delay Product Networks. Dina Katabi, Mark Handley, Charlie Rohrs Congestion Control for High Bandwidth-delay Product Networks Dina Katabi, Mark Handley, Charlie Rohrs Outline Introduction What s wrong with TCP? Idea of Efficiency vs. Fairness XCP, what is it? Is it

More information

Advanced Operating Systems (CS 202) Scheduling (1)

Advanced Operating Systems (CS 202) Scheduling (1) Advanced Operating Systems (CS 202) Scheduling (1) Today: CPU Scheduling 2 The Process The process is the OS abstraction for execution It is the unit of execution It is the unit of scheduling It is the

More information

Exploiting ICN for Flexible Management of Software-Defined Networks

Exploiting ICN for Flexible Management of Software-Defined Networks Exploiting ICN for Flexible Management of Software-Defined Networks Mayutan Arumaithurai, Jiachen Chen, Edo Monticelli, Xiaoming Fu and K. K. Ramakrishnan * University of Goettingen, Germany * University

More information

ASPERA HIGH-SPEED TRANSFER. Moving the world s data at maximum speed

ASPERA HIGH-SPEED TRANSFER. Moving the world s data at maximum speed ASPERA HIGH-SPEED TRANSFER Moving the world s data at maximum speed ASPERA HIGH-SPEED FILE TRANSFER Aspera FASP Data Transfer at 80 Gbps Elimina8ng tradi8onal bo

More information

Overview. Lecture 22 Queue Management and Quality of Service (QoS) Queuing Disciplines. Typical Internet Queuing. FIFO + Drop tail Problems

Overview. Lecture 22 Queue Management and Quality of Service (QoS) Queuing Disciplines. Typical Internet Queuing. FIFO + Drop tail Problems Lecture 22 Queue Management and Quality of Service (QoS) Overview Queue management & RED Fair queuing Khaled Harras School of Computer Science niversity 15 441 Computer Networks Based on slides from previous

More information

Container Adoption for NFV Challenges & Opportunities. Sriram Natarajan, T-Labs Silicon Valley Innovation Center

Container Adoption for NFV Challenges & Opportunities. Sriram Natarajan, T-Labs Silicon Valley Innovation Center Container Adoption for NFV Challenges & Opportunities Sriram Natarajan, T-Labs Silicon Valley Innovation Center Virtual Machine vs. Container Stack KVM Container-stack Libraries Guest-OS Hypervisor Libraries

More information

PVPP: A Programmable Vector Packet Processor. Sean Choi, Xiang Long, Muhammad Shahbaz, Skip Booth, Andy Keep, John Marshall, Changhoon Kim

PVPP: A Programmable Vector Packet Processor. Sean Choi, Xiang Long, Muhammad Shahbaz, Skip Booth, Andy Keep, John Marshall, Changhoon Kim PVPP: A Programmable Vector Packet Processor Sean Choi, Xiang Long, Muhammad Shahbaz, Skip Booth, Andy Keep, John Marshall, Changhoon Kim Fixed Set of Protocols Fixed-Function Switch Chip TCP IPv4 IPv6

More information

Data Center TCP (DCTCP)

Data Center TCP (DCTCP) Data Center Packet Transport Data Center TCP (DCTCP) Mohammad Alizadeh, Albert Greenberg, David A. Maltz, Jitendra Padhye Parveen Patel, Balaji Prabhakar, Sudipta Sengupta, Murari Sridharan Cloud computing

More information

Congestion Control In the Network

Congestion Control In the Network Congestion Control In the Network Brighten Godfrey cs598pbg September 9 2010 Slides courtesy Ion Stoica with adaptation by Brighten Today Fair queueing XCP Announcements Problem: no isolation between flows

More information

CS644 Advanced Networks

CS644 Advanced Networks What we know so far CS644 Advanced Networks Lecture 6 Beyond TCP Congestion Control Andreas Terzis TCP Congestion control based on AIMD window adjustment [Jac88] Saved Internet from congestion collapse

More information

Implementation of Software-based EPON-OLT and Performance Evaluation

Implementation of Software-based EPON-OLT and Performance Evaluation This article has been accepted and published on J-STAGE in advance of copyediting. Content is final as presented. IEICE Communications Express, Vol.1, 1 6 Implementation of Software-based EPON-OLT and

More information

Adaptive Video Multicasting

Adaptive Video Multicasting Adaptive Video Multicasting Presenters: Roman Glistvain, Bahman Eksiri, and Lan Nguyen 1 Outline Approaches to Adaptive Video Multicasting Single rate multicast Simulcast Active Agents Layered multicasting

More information

Design Challenges for High Performance, Scalable NFV Interconnects

Design Challenges for High Performance, Scalable NFV Interconnects Design Challenges for High Performance, Scalable V Interconnects Guyue Liu The George Washington University K. K. Ramakrishnan University of California, Riverside Mike Schlansker Hewlett Packard Labs ABSTRACT

More information

ASPERA HIGH-SPEED TRANSFER. Moving the world s data at maximum speed

ASPERA HIGH-SPEED TRANSFER. Moving the world s data at maximum speed ASPERA HIGH-SPEED TRANSFER Moving the world s data at maximum speed ASPERA HIGH-SPEED FILE TRANSFER 80 GBIT/S OVER IP USING DPDK Performance, Code, and Architecture Charles Shiflett Developer of next-generation

More information

Course Syllabus. Operating Systems

Course Syllabus. Operating Systems Course Syllabus. Introduction - History; Views; Concepts; Structure 2. Process Management - Processes; State + Resources; Threads; Unix implementation of Processes 3. Scheduling Paradigms; Unix; Modeling

More information

Precision and Accuracy of Packet Generators Who tests the testers?

Precision and Accuracy of Packet Generators Who tests the testers? Precision and Accuracy of Packet Generators Who tests the testers? Paul Emmerich, Sebastian Gallenmüller, Alexander Frank, Georg Carle emmericp@net.in.tum.de Technical University of Munich Chair of Network

More information

Scheduling. Scheduling 1/51

Scheduling. Scheduling 1/51 Scheduling 1/51 Learning Objectives Scheduling To understand the role of a scheduler in an operating system To understand the scheduling mechanism To understand scheduling strategies such as non-preemptive

More information

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition Chapter 6: CPU Scheduling Silberschatz, Galvin and Gagne 2013 Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Thread Scheduling Multiple-Processor Scheduling Real-Time

More information

libvnf: building VNFs made easy

libvnf: building VNFs made easy libvnf: building VNFs made easy Priyanka Naik, Akash Kanase, Trishal Patel, Mythili Vutukuru Dept. of Computer Science and Engineering Indian Institute of Technology, Bombay SoCC 18 11 th October, 2018

More information

Open Source Traffic Analyzer

Open Source Traffic Analyzer Open Source Traffic Analyzer Daniel Turull June 2010 Outline 1 Introduction 2 Background study 3 Design 4 Implementation 5 Evaluation 6 Conclusions 7 Demo Outline 1 Introduction 2 Background study 3 Design

More information

Transport Protocols for Data Center Communication. Evisa Tsolakou Supervisor: Prof. Jörg Ott Advisor: Lect. Pasi Sarolahti

Transport Protocols for Data Center Communication. Evisa Tsolakou Supervisor: Prof. Jörg Ott Advisor: Lect. Pasi Sarolahti Transport Protocols for Data Center Communication Evisa Tsolakou Supervisor: Prof. Jörg Ott Advisor: Lect. Pasi Sarolahti Contents Motivation and Objectives Methodology Data Centers and Data Center Networks

More information

ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective. Part I: Operating system overview: Processes and threads

ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective. Part I: Operating system overview: Processes and threads ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective Part I: Operating system overview: Processes and threads 1 Overview Process concept Process scheduling Thread

More information

Resource allocation in networks. Resource Allocation in Networks. Resource allocation

Resource allocation in networks. Resource Allocation in Networks. Resource allocation Resource allocation in networks Resource Allocation in Networks Very much like a resource allocation problem in operating systems How is it different? Resources and jobs are different Resources are buffers

More information

RDMA and Hardware Support

RDMA and Hardware Support RDMA and Hardware Support SIGCOMM Topic Preview 2018 Yibo Zhu Microsoft Research 1 The (Traditional) Journey of Data How app developers see the network Under the hood This architecture had been working

More information

Project Computer Networking. Resource Management Approaches. Start EARLY Tomorrow s recitation. Lecture 20 Queue Management and QoS

Project Computer Networking. Resource Management Approaches. Start EARLY Tomorrow s recitation. Lecture 20 Queue Management and QoS Project 3 15-441 Computer Networking Start EARLY Tomorrow s recitation Lecture 20 Queue Management and QoS Lecture 20: QOS (c) CMU, 2005-10 2 Traffic and Resource Management Resource Management Approaches

More information

Netronome 25GbE SmartNICs with Open vswitch Hardware Offload Drive Unmatched Cloud and Data Center Infrastructure Performance

Netronome 25GbE SmartNICs with Open vswitch Hardware Offload Drive Unmatched Cloud and Data Center Infrastructure Performance WHITE PAPER Netronome 25GbE SmartNICs with Open vswitch Hardware Offload Drive Unmatched Cloud and NETRONOME AGILIO CX 25GBE SMARTNICS SIGNIFICANTLY OUTPERFORM MELLANOX CONNECTX-5 25GBE NICS UNDER HIGH-STRESS

More information

OpenNetVM: A Platform for High Performance Network Service Chains

OpenNetVM: A Platform for High Performance Network Service Chains OpenNetVM: A Platform for High Performance Network Service Chains Wei Zhang Guyue Liu Wenhui Zhang Neel Shah Phil Lopreiato Gregoire odeschi K.K. amakrishnan imothy Wood he George Washington University

More information

Lecture Topics. Announcements. Today: Uniprocessor Scheduling (Stallings, chapter ) Next: Advanced Scheduling (Stallings, chapter

Lecture Topics. Announcements. Today: Uniprocessor Scheduling (Stallings, chapter ) Next: Advanced Scheduling (Stallings, chapter Lecture Topics Today: Uniprocessor Scheduling (Stallings, chapter 9.1-9.3) Next: Advanced Scheduling (Stallings, chapter 10.1-10.4) 1 Announcements Self-Study Exercise #10 Project #8 (due 11/16) Project

More information

SafeBricks: Shielding Network Functions in the Cloud

SafeBricks: Shielding Network Functions in the Cloud SafeBricks: Shielding Network Functions in the Cloud Rishabh Poddar, Chang Lan, Raluca Ada Popa, Sylvia Ratnasamy UC Berkeley Network Functions (NFs) in the cloud Clients 2 Enterprise Destination Network

More information

QoS Services with Dynamic Packet State

QoS Services with Dynamic Packet State QoS Services with Dynamic Packet State Ion Stoica Carnegie Mellon University (joint work with Hui Zhang and Scott Shenker) Today s Internet Service: best-effort datagram delivery Architecture: stateless

More information

High Performance Packet Processing with FlexNIC

High Performance Packet Processing with FlexNIC High Performance Packet Processing with FlexNIC Antoine Kaufmann, Naveen Kr. Sharma Thomas Anderson, Arvind Krishnamurthy University of Washington Simon Peter The University of Texas at Austin Ethernet

More information

Mohammad Hossein Manshaei 1393

Mohammad Hossein Manshaei 1393 Mohammad Hossein Manshaei manshaei@gmail.com 1393 Voice and Video over IP Slides derived from those available on the Web site of the book Computer Networking, by Kurose and Ross, PEARSON 2 Multimedia networking:

More information

Stateless Network Functions:

Stateless Network Functions: Stateless Network Functions: Breaking the Tight Coupling of State and Processing Murad Kablan, Azzam Alsudais, Eric Keller, Franck Le University of Colorado IBM Networks Need Network Functions Firewall

More information

Real-Time Protocol (RTP)

Real-Time Protocol (RTP) Real-Time Protocol (RTP) Provides standard packet format for real-time application Typically runs over UDP Specifies header fields below Payload Type: 7 bits, providing 128 possible different types of

More information

Chapter 6: CPU Scheduling

Chapter 6: CPU Scheduling Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Thread Scheduling Operating Systems Examples Java Thread Scheduling

More information

IEEE/ACM TRANSACTIONS ON NETWORKING 1

IEEE/ACM TRANSACTIONS ON NETWORKING 1 IEEE/ACM TRANSACTIONS ON NETWORKING 1 DX: Latency-Based Congestion Control for Datacenters Changhyun Lee, Chunjong Park, Keon Jang, Sue Moon, and Dongsu Han, Member, IEEE Abstract Since the advent of datacenter

More information

XCP: explicit Control Protocol

XCP: explicit Control Protocol XCP: explicit Control Protocol Dina Katabi MIT Lab for Computer Science dk@mit.edu www.ana.lcs.mit.edu/dina Sharing the Internet Infrastructure Is fundamental Much research in Congestion Control, QoS,

More information

IX: A Protected Dataplane Operating System for High Throughput and Low Latency

IX: A Protected Dataplane Operating System for High Throughput and Low Latency IX: A Protected Dataplane Operating System for High Throughput and Low Latency Adam Belay et al. Proc. of the 11th USENIX Symp. on OSDI, pp. 49-65, 2014. Presented by Han Zhang & Zaina Hamid Challenges

More information

Fairness, Queue Management, and QoS

Fairness, Queue Management, and QoS Fairness, Queue Management, and QoS 15-441 Fall 2017 Profs Peter Steenkiste & Justine Sherry Slides borrowed from folks at CMU, Berkeley, and elsewhere. YINZ I AM GETTING T-SHIRTS If you TA for me next

More information

RED behavior with different packet sizes

RED behavior with different packet sizes RED behavior with different packet sizes Stefaan De Cnodder, Omar Elloumi *, Kenny Pauwels Traffic and Routing Technologies project Alcatel Corporate Research Center, Francis Wellesplein, 1-18 Antwerp,

More information

VALE: a switched ethernet for virtual machines

VALE: a switched ethernet for virtual machines L < > T H local VALE VALE -- Page 1/23 VALE: a switched ethernet for virtual machines Luigi Rizzo, Giuseppe Lettieri Università di Pisa http://info.iet.unipi.it/~luigi/vale/ Motivation Make sw packet processing

More information

Equation-Based Congestion Control for Unicast Applications. Outline. Introduction. But don t we need TCP? TFRC Goals

Equation-Based Congestion Control for Unicast Applications. Outline. Introduction. But don t we need TCP? TFRC Goals Equation-Based Congestion Control for Unicast Applications Sally Floyd, Mark Handley AT&T Center for Internet Research (ACIRI) Jitendra Padhye Umass Amherst Jorg Widmer International Computer Science Institute

More information

Chapter III: Transport Layer

Chapter III: Transport Layer Chapter III: Transport Layer UG3 Computer Communications & Networks (COMN) Mahesh Marina mahesh@ed.ac.uk Slides thanks to Myungjin Lee and copyright of Kurose and Ross Principles of congestion control

More information

EECS 122: Introduction to Computer Networks Switch and Router Architectures. Today s Lecture

EECS 122: Introduction to Computer Networks Switch and Router Architectures. Today s Lecture EECS : Introduction to Computer Networks Switch and Router Architectures Computer Science Division Department of Electrical Engineering and Computer Sciences University of California, Berkeley Berkeley,

More information

Network Design Considerations for Grid Computing

Network Design Considerations for Grid Computing Network Design Considerations for Grid Computing Engineering Systems How Bandwidth, Latency, and Packet Size Impact Grid Job Performance by Erik Burrows, Engineering Systems Analyst, Principal, Broadcom

More information

Data Path acceleration techniques in a NFV world

Data Path acceleration techniques in a NFV world Data Path acceleration techniques in a NFV world Mohanraj Venkatachalam, Purnendu Ghosh Abstract NFV is a revolutionary approach offering greater flexibility and scalability in the deployment of virtual

More information

15-744: Computer Networking. Middleboxes and NFV

15-744: Computer Networking. Middleboxes and NFV 15-744: Computer Networking Middleboxes and NFV Middleboxes and NFV Overview of NFV Challenge of middleboxes Middlebox consolidation Outsourcing middlebox functionality Readings: Network Functions Virtualization

More information

CS551 Router Queue Management

CS551 Router Queue Management CS551 Router Queue Management Bill Cheng http://merlot.usc.edu/cs551-f12 1 Congestion Control vs. Resource Allocation Network s key role is to allocate its transmission resources to users or applications

More information

NetVM: High Performance and Flexible Networking Using Virtualization on Commodity Platforms

NetVM: High Performance and Flexible Networking Using Virtualization on Commodity Platforms 34 IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT, VOL. 12, NO. 1, MARCH 2015 NetVM: High Performance and Flexible Networking Using Virtualization on Commodity Platforms Jinho Hwang, K. K. Ramakrishnan,

More information

Master Course Computer Networks IN2097

Master Course Computer Networks IN2097 Chair for Network Architectures and Services Prof. Carle Department for Computer Science TU München Chair for Network Architectures and Services Prof. Carle Department for Computer Science TU München Master

More information

Master Course Computer Networks IN2097

Master Course Computer Networks IN2097 Chair for Network Architectures and Services Prof. Carle Department for Computer Science TU München Master Course Computer Networks IN2097 Prof. Dr.-Ing. Georg Carle Christian Grothoff, Ph.D. Chair for

More information

TDDD82 Secure Mobile Systems Lecture 6: Quality of Service

TDDD82 Secure Mobile Systems Lecture 6: Quality of Service TDDD82 Secure Mobile Systems Lecture 6: Quality of Service Mikael Asplund Real-time Systems Laboratory Department of Computer and Information Science Linköping University Based on slides by Simin Nadjm-Tehrani

More information

Introduction. Application Performance in the QLinux Multimedia Operating System. Solution: QLinux. Introduction. Outline. QLinux Design Principles

Introduction. Application Performance in the QLinux Multimedia Operating System. Solution: QLinux. Introduction. Outline. QLinux Design Principles Application Performance in the QLinux Multimedia Operating System Sundaram, A. Chandra, P. Goyal, P. Shenoy, J. Sahni and H. Vin Umass Amherst, U of Texas Austin ACM Multimedia, 2000 Introduction General

More information

Tales of the Tail Hardware, OS, and Application-level Sources of Tail Latency

Tales of the Tail Hardware, OS, and Application-level Sources of Tail Latency Tales of the Tail Hardware, OS, and Application-level Sources of Tail Latency Jialin Li, Naveen Kr. Sharma, Dan R. K. Ports and Steven D. Gribble February 2, 2015 1 Introduction What is Tail Latency? What

More information

Advanced Computer Networks. Flow Control

Advanced Computer Networks. Flow Control Advanced Computer Networks 263 3501 00 Flow Control Patrick Stuedi Spring Semester 2017 1 Oriana Riva, Department of Computer Science ETH Zürich Last week TCP in Datacenters Avoid incast problem - Reduce

More information

Reservation-Based Scheduling for IRQ Threads

Reservation-Based Scheduling for IRQ Threads Reservation-Based Scheduling for IRQ Threads Luca Abeni, Nicola Manica, Luigi Palopoli luca.abeni@unitn.it, nicola.manica@gmail.com, palopoli@dit.unitn.it University of Trento, Trento - Italy Reservation-Based

More information

Advanced Computer Networks. End Host Optimization

Advanced Computer Networks. End Host Optimization Oriana Riva, Department of Computer Science ETH Zürich 263 3501 00 End Host Optimization Patrick Stuedi Spring Semester 2017 1 Today End-host optimizations: NUMA-aware networking Kernel-bypass Remote Direct

More information

Properties of Processes

Properties of Processes CPU Scheduling Properties of Processes CPU I/O Burst Cycle Process execution consists of a cycle of CPU execution and I/O wait. CPU burst distribution: CPU Scheduler Selects from among the processes that

More information

Preserving I/O Prioritization in Virtualized OSes

Preserving I/O Prioritization in Virtualized OSes Preserving I/O Prioritization in Virtualized OSes Kun Suo 1, Yong Zhao 1, Jia Rao 1, Luwei Cheng 2, Xiaobo Zhou 3, Francis C. M. Lau 4 The University of Texas at Arlington 1, Facebook 2, University of

More information

Arrakis: The Operating System is the Control Plane

Arrakis: The Operating System is the Control Plane Arrakis: The Operating System is the Control Plane Simon Peter, Jialin Li, Irene Zhang, Dan Ports, Doug Woos, Arvind Krishnamurthy, Tom Anderson University of Washington Timothy Roscoe ETH Zurich Building

More information

Scheduling. Scheduling 1/51

Scheduling. Scheduling 1/51 Scheduling 1/51 Scheduler Scheduling Scheduler allocates cpu(s) to threads and processes. This action is known as scheduling. The scheduler is a part of the process manager code that handles scheduling.

More information

Chapter 5: CPU Scheduling

Chapter 5: CPU Scheduling Chapter 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Thread Scheduling Multiple-Processor Scheduling Operating Systems Examples Algorithm Evaluation Chapter 5: CPU Scheduling

More information

TCP/IP over ATM using ABR, UBR, and GFR Services

TCP/IP over ATM using ABR, UBR, and GFR Services TCP/IP over ATM using ABR, UBR, and GFR Services Columbus, OH 43210 Jain@CIS.Ohio-State.Edu http://www.cis.ohio-state.edu/~jain/ 1 Overview Why ATM? ABR: Binary and Explicit Feedback ABR Vs UBR TCP/IP

More information

SWsoft ADVANCED VIRTUALIZATION AND WORKLOAD MANAGEMENT ON ITANIUM 2-BASED SERVERS

SWsoft ADVANCED VIRTUALIZATION AND WORKLOAD MANAGEMENT ON ITANIUM 2-BASED SERVERS SWsoft ADVANCED VIRTUALIZATION AND WORKLOAD MANAGEMENT ON ITANIUM 2-BASED SERVERS Abstract Virtualization and workload management are essential technologies for maximizing scalability, availability and

More information