Evaluation of TIPC. Mitsuhiro Kimura TOSHIBA CORPORATION. CELF Japan Technical Jamboree #37, May 20, Toshiba Corporation

Similar documents
Oracle Clusterware and Private Network Considerations

Linux TCP/IP Network Management

Introduction to NetGUI

Sockets vs. RDMA Interface over 10-Gigabit Networks: An In-depth Analysis of the Memory Traffic Bottleneck

Aire-6 Acceso Inalámbrico a Redes IPV6. Christian Lazo R. Universidad Austral de Chile

Question: 3 When using Application Intelligence, Server Time may be defined as.

3. The Domain Name Service

Network Diagnostic Tools. Jijesh Kalliyat Sr.Technical Account Manager, Red Hat 15th Nov 2014

Virtual Systems with qemu

Wireless LAN Apple Bonjour Deployment Guide

Networking Driver Performance and Measurement - e1000 A Case Study

CS244A Review Session Routing and DNS

D1.2 Network Load Balancing

netkit lab single-host Università degli Studi Roma Tre Dipartimento di Informatica e Automazione Computer Networks Research Group

Network-Oriented Software Development. Course: CSc4360/CSc6360 Instructor: Dr. Beyah Sessions: M-W, 3:00 4:40pm Lecture 2

Workshop on Scientific Applications for the Internet of Things (IoT) March

Network Performance Optimisation and Load Balancing. Wulf Thannhaeuser

Network Performance in High Performance Linux Clusters

TCP Offload Engines. As network interconnect speeds advance to Gigabit. Introduction to

QoS & Traffic Management

PCI Express High Speed Networks. Complete Solution for High Speed Networking

Network Layer IPv4. Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS. School of Computing, UNF

Getting the most TCP/IP from your Embedded Processor

VoIP Laboratory B How to re flash an IP04

High Availability in Linux Firewalls using VRRP

Lecture Computer Networks

THE IMPORTANCE OF TESTING TCP PERFORMANCE IN CARRIER ETHERNET NETWORKS

Forensic Network Analysis Tools

VXLAN Performance Evaluation on VMware vsphere 5.1

Supporting VoIP in IEEE Distributed WLANs

Network Layer: Network Layer and IP Protocol

Implementation and Performance Evaluation of M-VIA on AceNIC Gigabit Ethernet Card

BASIC TCP/IP NETWORKING

Master s Thesis Evaluation and implementation of a network performance measurement tool for analyzing network performance under heavy workloads

HIGH AVAILABILITY (HA) WITH OPENSIPS

Performance measurements of STANAG 5066 and Applications Running over STANAG 5066

Chapter 11. User Datagram Protocol (UDP)

How To Install Openstack On Ubuntu (Amd64)

RoCE vs. iwarp Competitive Analysis

Final for ECE374 05/06/13 Solution!!

1000Mbps Ethernet Performance Test Report

Twin Peaks Software High Availability and Disaster Recovery Solution For Linux Server

Advanced Computer Networks. High Performance Networking I

CELLTRACKS ANALYZER II. Networking Guide J40169EN

MEASURING WIRELESS NETWORK CONNECTION QUALITY

First Midterm for ECE374 03/09/12 Solution!!

Evaluation Report: Emulex OCe GbE and OCe GbE Adapter Comparison with Intel X710 10GbE and XL710 40GbE Adapters

Setting Up A High-Availability Load Balancer (With Failover and Session Support) With Perlbal/Heartbeat On Debian Etch

Supermicro Ethernet Switch Performance Test Straightforward Public Domain Test Demonstrates 40Gbps Wire Speed Performance

Packet Filtering Firewall

Comparison of end-system IPv6 protocol stacks

Per-Flow Queuing Allot's Approach to Bandwidth Management

Introduction VOIP in an Network VOIP 3

Globus Striped GridFTP Framework and Server. Raj Kettimuthu, ANL and U. Chicago

Linux Virtual Server Tutorial

SPI I2C LIN Ethernet. u Today: Wired embedded networks. u Next lecture: CAN bus u Then: wireless embedded network

Leveraging NIC Technology to Improve Network Performance in VMware vsphere

Low-Latency Linux Drivers for Ethernet over High-Speed Networks

Written by Saif ur Rab Monday, 07 December :19 - Last Updated Monday, 27 December :19

Application Level Congestion Control Enhancements in High BDP Networks. Anupama Sundaresan

Network Management and Debugging. Jing Zhou

Application Note. Windows 2000/XP TCP Tuning for High Bandwidth Networks. mguard smart mguard PCI mguard blade

Collecting Packet Traces at High Speed

What is CSG150 about? Fundamentals of Computer Networking. Course Outline. Lecture 1 Outline. Guevara Noubir noubir@ccs.neu.

Using Hobbit to Monitor Network Services

Ethernet. Ethernet Frame Structure. Ethernet Frame Structure (more) Ethernet: uses CSMA/CD

Quantifying the Performance Degradation of IPv6 for TCP in Windows and Linux Networking

A Filesystem Layer Data Replication Method for Cloud Computing

This howto is also a bit old now. But I thought of uploading it in the howtos section, as it still works.

Optimizing TCP Forwarding

RTT 60.5 msec receiver window size: 32 KB

Communication Performance over a Gigabit Ethernet Network.

Performance Evaluation of the RDMA over Ethernet (RoCE) Standard in Enterprise Data Centers Infrastructure. Abstract:

Effects of Interrupt Coalescence on Network Measurements

Allocating Network Bandwidth to Match Business Priorities

Ethernet. Ethernet. Network Devices

ICOM : Computer Networks Chapter 6: The Transport Layer. By Dr Yi Qian Department of Electronic and Computer Engineering Fall 2006 UPRM

Protecting and controlling Virtual LANs by Linux router-firewall

Putting it on the NIC: A Case Study on application offloading to a Network Interface Card (NIC)

10/100/1000Mbps Ethernet MAC with Protocol Acceleration MAC-NET Core with Avalon Interface

OpenFlow with Intel Voravit Tanyingyong, Markus Hidell, Peter Sjödin

ACHILLES CERTIFICATION. SIS Module SLS 1508

VM-Series Firewall Deployment Tech Note PAN-OS 5.0

Software Datapath Acceleration for Stateless Packet Processing

UPPER LAYER SWITCHING

Network testing with iperf

Optimizing Network Performance

IP Network Layer. Datagram ID FLAG Fragment Offset. IP Datagrams. IP Addresses. IP Addresses. CSCE 515: Computer Network Programming TCP/IP

MOBILITY AND MOBILE NETWORK OPTIMIZATION

HyperIP : VERITAS Replication Application Note

Mobile Computing/ Mobile Networks

High-Speed TCP Performance Characterization under Various Operating Systems

The new frontier of the DATA acquisition using 1 and 10 Gb/s Ethernet links. Filippo Costa on behalf of the ALICE DAQ group

Quantifying TCP Performance for IPv6 in Linux- Based Server Operating Systems

- An Essential Building Block for Stable and Reliable Compute Clusters

Based on Computer Networking, 4 th Edition by Kurose and Ross

What information you will find in this document

Performance Evaluation of Linux Bridge

Advanced SSH Tunneling by Bill Brassfield, Dev Ops Technical Consultant, Taos

Operating Systems Design 16. Networking: Sockets

Transcription:

Evaluation of TIPC Mitsuhiro Kimura TOSHIBA CORPORATION CELF Japan Technical Jamboree #37, May 20, 2011

Background Integrating one more SoC in the embedded system for adding more functions. We will discuss the interconnection of two SoCs: It needs to choose a bus from available interface buses in SoCs. Ethernet is more commonly available. Required a quick and lightweight protocol stack on Ethernet. Product SoC A SoC B SoC: System-on-a-chip 2

TIPC : Transparent Inter-Process Communication The protocol specifically designed for cluster communication quick and lightweight Supposing little packet loss and infrequent retransmission Socket I/F sockets corresponding TCP, UDP. Built in Linux Kernel. 5/14 1.7.7 TIPC: 1.4.3 1.5.12 1.6, 1.7 2.0.0 Kernel: 2.4, 2.6 2.6.9 ~ 14 2.6.16 ~ 34 2.6.35 ~ 3

Evaluation environment Interconnection of SoCs in embedded systems is similar to cluster connections in that both of them are little packet loss intracommunications. Testing SoC s used for embedded systems (reference [2], evaluation with Xeon, gigabit ethernet) Benchmarking throughput as well as CPU load MIPS32 24K 533MHz 2, 100Mbps Ethernet Linux Kernel 2.6.20.19, TIPC Version 1.7.7-rc1 Board SoC A SoC B 4

Test cases (1) Max throughput Send data in one direction. Measure throughput and CPU load per message size (2) Latency Data flows in both directions alternately in a ping-pong fashion. Measure the roundtrip time per message size. (3) CPU load for Streaming Send data in one direction at a constant rate. Measure the CPU load. 5

(1) Max throughput, CPU load Message size: 512, 1024, 1536, 40448Byte Watch a change depending on message size. Compare throughput and CPU load of TIPC with TCP/IP. Measure the time of send()/recv() 10,000 times. 512 n Byte SoC A SoC B 6

(1) Max throughput TCP/IP < TIPC Header: TCP/IP:40Byte, TIPC:24Byte, MTU:1500Byte Small header high transfer efficiency 89 Message size - Throughput Throughput [Mbps] 87 85 83 81 79 77 512 10624 20736 30848 40960 Message size [Byte] 7

(1) Max throughput TIPC throughput drops in case one more packet needs to be sent. Throughput [Mbps] Message size - Throughput 88 87.5 87 86.5 86 85.5 85 84.5 84 packet: 2 3 83.5 83 2048 2432 2816 3200 3449 3584 Message size[byte] 2952 Byte = (1500-24) 2 8

Reason of TIPC throughput drop TIPC: send() send() SoC A 1 1476 1476 1 1476 1476 SoC B 1500Byte 24Byte = 1476Byte. 2953Byte = 1476Byte 2 + 1Byte TCP/IP: send() send() SoC A 1460 1460 1460 1460 1460 SoC B 1500Byte 40Byte = 1460Byte. 9

(1) CPU load CPU load of TIPC is less than TCP/IP send recv 50 100 40 80 CPU load(%) 30 20 10 CPU load(%) 60 40 20 0 0 512 10624 20736 30848 40960 512 10624 20736 30848 40960 Message size[byte] Message size[byte] 10

Packets observance TIPC performance in case of small size packets Counting RX/TX packets. eth0 Link encap:ethernet HWaddr XX:XX:XX:XX:XX:XX inet addr:x.x.x.x Bcast:X.X.X.X Mask:X.X.X.X UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) ifconfig SoC A Message SoC B 11

Message Packets: TCP/IP < TIPC Message size: 512 Byte TCP/IP small packets coalesce. Recv packets Send packets TCP/IP TIPC 300000 300000 Number of packets 250000 200000 150000 100000 50000 Number of packets 250000 200000 150000 100000 50000 0 0 20 40 60 80 0 0 50 100 150 200 Time [sec] Time [sec] 12

ACK: TCP/IP > TIPC Message size: 4096 Byte TIPC is less frequent ACK. Number of packets 50000 40000 30000 20000 10000 0 TCP/IP Recv packets 0 20 40 60 80 Time [sec] ACK Number of packets 45000 40000 35000 30000 25000 20000 15000 10000 5000 0 Low CPU load Send packets TIPC 0 20 40 60 80 Time [sec] ACK 13

Latency[sec] (2) Latency TCP/IP s latency nearly equals TIPC s. Message size - Latency 0.009 0.008 0.007 0.006 0.005 0.004 0.003 0.002 0.001 0 512 10624 20736 30848 40960 Message size [Byte] SoC A SoC B Latency 14

(3) CPU load in sending streaming data. Data transmission rate: 25Mbps SoC A SoC B nanosleep() 80msec 256KByte CPU load[%] TCP/IP TIPC TCP/IP - TIPC SoC A(send) 9.16 5.18 3.98 SoC B(recv) 19.25 10.25 9.00 15

Use TIPC (1/2) TIPC doesn t support SO_SNDTIMEO. Blocking-send is hard to use. Nonblocking-send repeat. CPU load increases. (test program: ~5%) 16

Use TIPC (2/2) Processes/threads issue a lot of send request TIPC send queue is filling up. (congestion control) Increase processes waiting for queue to decrease. Even if queue decreases, and processes get up, wait again without issue a send request. Need to schedule between processes. TIPC send queue Send packets 17

Conclusion TIPC is faster than TCP/IP Smaller header size TCP/IP is faster in case of small message size. Merging small messages would improve the throughput. TIPC has lower CPU load than TCP/IP Less frequent ACK (other reasons would exist) Verified that TIPC is useful for embedded systems. (e.g. Reducing CPU load when transferring streaming data.) 20

Reference Reference: 1. TIPC Home Page, http://tipc.sourceforge.net/ 2. Florian Westphal, 2007, TIPC Analysis and Optimization, http://webuser.hsfurtwangen.de/~reich/advancedmiddlewareworkshop.ss07 3. Mitsuhiro Kimura: Application of TIPC to communicate between CPUs in an embedded device and performance comparison to TCP/IP, The 73 rd National Convention of IPSJ 6G-3 1-43 1-44 (2011-3) 21