Performance evaluation of Linux CAN-related system calls

Size: px
Start display at page:

Download "Performance evaluation of Linux CAN-related system calls"

Transcription

1 Performance evaluation of Linux CAN-related system calls Michal Sojka, Pavel Píša, Zdeněk Hanzálek Czech Technical University in Prague, Faculty of Electrical Engineering SESAMO Security and Safety Modelling Workshop on Factory Communication Systems (WFCS) May 7, 2014 Toulouse, France M. Sojka, et al. Linux CAN-related system calls WFCS / 15

2 Introduction Motivation Security of on-board networks M. Sojka, et al. Linux CAN-related system calls WFCS / 15

3 Introduction Motivation Security of on-board networks IDS Intrusion detection system M. Sojka, et al. Linux CAN-related system calls WFCS / 15

4 Introduction Motivation Security of on-board networks IDS Intrusion detection system Needs to be "tuned" to avoid false positives M. Sojka, et al. Linux CAN-related system calls WFCS / 15

5 Introduction Motivation Security of on-board networks IDS Intrusion detection system Needs to be "tuned" to avoid false positives Data from outdoor experiments M. Sojka, et al. Linux CAN-related system calls WFCS / 15

6 Introduction Motivation Security of on-board networks IDS Intrusion detection system Needs to be "tuned" to avoid false positives Data from outdoor experiments Logging M. Sojka, et al. Linux CAN-related system calls WFCS / 15

7 Introduction Motivation Security of on-board networks IDS Intrusion detection system Needs to be "tuned" to avoid false positives Data from outdoor experiments Logging M. Sojka, et al. Linux CAN-related system calls WFCS / 15

8 Introduction Requirements All CAN traffic from a car has to be logged in real-time. Up to 20 CAN buses needs to be logged simultaneously. Logs are analyzed off-line. M. Sojka, et al. Linux CAN-related system calls WFCS / 15

9 Introduction Outline CAN support in Linux Virtual CAN interface method Gateway-based method Low-latency sockets Conclusion M. Sojka, et al. Linux CAN-related system calls WFCS / 15

10 CAN support in Linux Linux networking subsystem RX/TX path overheads: Interrupt Application (user space) Socket layer (can/raw.c) Socket, protocol, Qdisc System call We are interested in the interface between applications and the kernel. Kernel Protocol layer (af_can.c) Queuing discipline Poll ISR CAN controller (HW) Device driver M. Sojka, et al. Linux CAN-related system calls WFCS / 15

11 CAN support in Linux Linux networking subsystem RX/TX path overheads: Interrupt Application (user space) Socket layer (can/raw.c) Socket, protocol, Qdisc System call We are interested in the interface between applications and the kernel. Kernel Protocol layer (af_can.c) Queuing discipline Poll ISR CAN controller (HW) Device driver M. Sojka, et al. Linux CAN-related system calls WFCS / 15

12 CAN support in Linux Linux networking API Sockets: Raw CAN sockets most common Memory mapped socket (PF PACKET) Non-blocking I/O (O NONBLOCK) New Low-latency sockets (Linux /2013) Operations on sockets: read/write (send/recv) sendmmsg/recvmmsg M. Sojka, et al. Linux CAN-related system calls WFCS / 15

13 CAN support in Linux Memory-mapped sockets PF PACKET Reception no system call wait: poll() Transmission Notify the kernel about ready messages. Kernel Application (user space) Protocol & socket layer (af_packet.c) Queuing discipline Poll ISR CAN controller (HW) Device driver M. Sojka, et al. Linux CAN-related system calls WFCS / 15

14 Virtual CAN interface method Single/multiple messages per system call Comparison of recv() and recvmmsg() system calls Use of virtual CAN interface (vcan) Application Kernel TX socket RX socket read/recv write/send RX queue af_can.c, raw.c vcan Experiment 1. Send X messages kernel queues them in an RX queue 2. Receive X messages from the RX queue M. Sojka, et al. Linux CAN-related system calls WFCS / 15

15 Virtual CAN interface method With or without mmsg results Time [ms] PC read recvmmsg write sendmmsg Frames [ 1000] recvmmsg 7% faster sendmmsg 12% faster Embedded system (MPC5200B) Time [ms] read recvmmsg write sendmmsg Frames [ 1000] recvmmsg 19% faster sendmmsg 35% faster M. Sojka, et al. Linux CAN-related system calls WFCS / 15

16 Gateway-based method Embedded system used for experiments PowerPC Freescale MPC5200B 400 Mhz 128 MB RAM on-chip CAN controller Linux M. Sojka, et al. Linux CAN-related system calls WFCS / 15

17 Gateway-based method Gateway-based experiments CAN bus 0 msg 1 CAN gateway (Linux) CAN bus 1 msg 1' GW latency Duration time Total latency RX timestamp 1 RX timestamp 2 M. Sojka, et al. Linux CAN-related system calls WFCS / 15

18 Gateway-based method Gateway-based experiments CAN bus 0 msg 1 CAN gateway (Linux) CAN bus 1 msg 1' GW latency Duration time Total latency RX timestamp 1 RX timestamp 2 M. Sojka, et al. Linux CAN-related system calls WFCS / 15

19 Gateway-based method Gateway-based experiments CAN bus 0 msg 1 CAN gateway (Linux) CAN bus 1 msg 1' GW latency Duration time Total latency RX timestamp 1 RX timestamp 2 M. Sojka, et al. Linux CAN-related system calls WFCS / 15

20 Gateway-based method Gateway-based experiments CAN bus 0 msg 1 CAN gateway (Linux) CAN bus 1 msg 1' GW latency Duration time Total latency RX timestamp 1 RX timestamp 2 M. Sojka, et al. Linux CAN-related system calls WFCS / 15

21 Gateway-based method Gateway-based experiments CAN bus 0 msg 1 CAN gateway (Linux) CAN bus 1 msg 1' GW latency Duration time Total latency RX timestamp 1 RX timestamp 2 M. Sojka, et al. Linux CAN-related system calls WFCS / 15

22 Gateway-based method Gateway-based experiments Different implemntations CAN bus 0 msg 1 CAN gateway (Linux) CAN bus 1 msg 1' GW latency Duration time Total latency RX timestamp 1 RX timestamp 2 M. Sojka, et al. Linux CAN-related system calls WFCS / 15

23 Gateway-based method Results one message at a time GW latency [µs] mmsg-mmsg mmap-mmap mmap-write read-write Blocking system calls Non-blocking/busy waiting Linux kernel & RTEMS (no Linux) M. Sojka, et al. Linux CAN-related system calls WFCS / 15

24 Gateway-based method Results one message at a time GW latency [µs] readbusynoirq-write readbusy-write readnb-write mmapbusy-write mmapbusy-mmap mmsg-mmsg mmap-mmap mmap-write read-write readnb-mmap Blocking system calls Non-blocking/busy waiting Linux kernel & RTEMS (no Linux) M. Sojka, et al. Linux CAN-related system calls WFCS / 15

25 Gateway-based method Results one message at a time GW latency [µs] mmsg-mmsg mmap-mmap mmap-write read-write readnb-mmap readbusynoirq-write readbusy-write readnb-write mmapbusy-write mmapbusy-mmap kernel rtems Blocking system calls Non-blocking/busy waiting Linux kernel & RTEMS (no Linux) M. Sojka, et al. Linux CAN-related system calls WFCS / 15

26 Gateway-based method Results periodic messages Bitrate: 1 Mbps, Payload: 2 bytes Median of 3200 frames 70 µs 70 µs period GW latency [µs] ± packet loss byte frame length Frame period [µs] read-write M. Sojka, et al. Linux CAN-related system calls WFCS / 15

27 Gateway-based method Results periodic messages Bitrate: 1 Mbps, Payload: 2 bytes Median of 3200 frames 70 µs 70 µs period GW latency [µs] ± packet loss byte frame length Frame period [µs] read-write mmap-write M. Sojka, et al. Linux CAN-related system calls WFCS / 15

28 Gateway-based method Results periodic messages Bitrate: 1 Mbps, Payload: 2 bytes Median of 3200 frames 70 µs 70 µs period GW latency [µs] ± packet loss byte frame length Frame period [µs] read-write mmap-write mmsg-mmsg mmap-mmap M. Sojka, et al. Linux CAN-related system calls WFCS / 15

29 Gateway-based method Results periodic messages Bitrate: 1 Mbps, Payload: 2 bytes Median of 3200 frames 70 µs 70 µs period GW latency [µs] ± packet loss byte frame length Frame period [µs] read-write mmap-write mmsg-mmsg mmap-mmap kernel M. Sojka, et al. Linux CAN-related system calls WFCS / 15

30 Gateway-based method Results periodic messages Bitrate: 1 Mbps, Payload: 2 bytes Median of 3200 frames 70 µs 70 µs period GW latency [µs] ± packet loss byte frame length Frame period [µs] M. Sojka, et al. Linux CAN-related system calls WFCS / 15

31 Low-latency sockets Low-latency sockets aka Busy polling sockets Network frame frame frame frame frame CPU read() IRQ Not many CAN controllers offer interrupt coalescing. Avoiding IRQ overhead brings only negligible benefits. Busy polling is not useful for CAN. M. Sojka, et al. Linux CAN-related system calls WFCS / 15

32 Low-latency sockets Low-latency sockets aka Busy polling sockets Network frame frame frame frame frame IRQ CPU read() read() Not many CAN controllers offer interrupt coalescing. Avoiding IRQ overhead brings only negligible benefits. Busy polling is not useful for CAN. M. Sojka, et al. Linux CAN-related system calls WFCS / 15

33 Low-latency sockets Low-latency sockets aka Busy polling sockets Network frame frame frame frame frame minimum inter-irq time ( 100 µs) IRQ CPU read() read() IRQ Not many CAN controllers offer interrupt coalescing. Avoiding IRQ overhead brings only negligible benefits. Busy polling is not useful for CAN. M. Sojka, et al. Linux CAN-related system calls WFCS / 15

34 Low-latency sockets Low-latency sockets aka Busy polling sockets Network frame frame frame frame frame minimum inter-irq time ( 100 µs) IRQ CPU read() read() IRQ busy waiting Not many CAN controllers offer interrupt coalescing. Avoiding IRQ overhead brings only negligible benefits. Busy polling is not useful for CAN. M. Sojka, et al. Linux CAN-related system calls WFCS / 15

35 Low-latency sockets Low-latency sockets aka Busy polling sockets Network frame frame frame frame frame minimum inter-irq time ( 100 µs) IRQ CPU read() read() busy waiting read() timeout IRQ Not many CAN controllers offer interrupt coalescing. Avoiding IRQ overhead brings only negligible benefits. Busy polling is not useful for CAN. M. Sojka, et al. Linux CAN-related system calls WFCS / 15

36 Low-latency sockets Low-latency sockets aka Busy polling sockets Network frame frame frame frame frame minimum inter-irq time ( 100 µs) IRQ CPU read() read() busy waiting read() timeout IRQ Not many CAN controllers offer interrupt coalescing. Avoiding IRQ overhead brings only negligible benefits. Busy polling is not useful for CAN. M. Sojka, et al. Linux CAN-related system calls WFCS / 15

37 Conclusion Conclusion Experimental performance analysis of Linux network-related user space APIs in the context of CAN bus. Interfaces that can handle multiple messages per system call (recvmmsg(), memory-mapped sockets) are superior to single-message system calls (read()). recvmmsg() is simpler to use than memory-mapped sockets. New Low-latency sockets are not useful for CAN applications. Task wake-up latency. M. Sojka, et al. Linux CAN-related system calls WFCS / 15

38 Conclusion Conclusion Experimental performance analysis of Linux network-related user space APIs in the context of CAN bus. Interfaces that can handle multiple messages per system call (recvmmsg(), memory-mapped sockets) are superior to single-message system calls (read()). recvmmsg() is simpler to use than memory-mapped sockets. New Low-latency sockets are not useful for CAN applications. Task wake-up latency. Thank you! M. Sojka, et al. Linux CAN-related system calls WFCS / 15

Performance evaluation of Linux CAN-related system calls

Performance evaluation of Linux CAN-related system calls Performance evaluation of Linux CAN-related system calls M. Sojka, P. Píša Czech Technical University in Prague October 29, 2014 Version 1.0 Contents 1 Introduction 5 2 Linux networking stack 6 3 Methodology

More information

Timing Analysis of a Linux-Based CAN-to-CAN Gateway

Timing Analysis of a Linux-Based CAN-to-CAN Gateway Timing Analysis of a Linux-Based CAN-to-CAN Gateway Michal Sojka 1, Pavel Píša 1, Ondřej Špinka 1, Oliver Hartkopp 2, Zdeněk Hanzálek 1 1 Czech Technical University in Prague Technická 2, 121 35 Praha

More information

AUTOBEST: A United AUTOSAR-OS And ARINC 653 Kernel. Alexander Züpke, Marc Bommert, Daniel Lohmann

AUTOBEST: A United AUTOSAR-OS And ARINC 653 Kernel. Alexander Züpke, Marc Bommert, Daniel Lohmann AUTOBEST: A United AUTOSAR-OS And ARINC 653 Kernel Alexander Züpke, Marc Bommert, Daniel Lohmann alexander.zuepke@hs-rm.de, marc.bommert@hs-rm.de, lohmann@cs.fau.de Motivation Automotive and Avionic industry

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

QEMU CAN Controller Emulation with Connection to a Host System

QEMU CAN Controller Emulation with Connection to a Host System QEMU CAN Controller Emulation with Connection to a Host System Pavel Pí²a, Jin Yang, Michal Sojka Czech Technical University in Prague Faculty of Electrical Engineering Department of Control Engineering

More information

IsoStack Highly Efficient Network Processing on Dedicated Cores

IsoStack Highly Efficient Network Processing on Dedicated Cores IsoStack Highly Efficient Network Processing on Dedicated Cores Leah Shalev Eran Borovik, Julian Satran, Muli Ben-Yehuda Outline Motivation IsoStack architecture Prototype TCP/IP over 10GE on a single

More information

Usable Simulink Embedded Coder Target for Linux

Usable Simulink Embedded Coder Target for Linux Usable Simulink Embedded Coder Target for Linux Michal Sojka, Pavel Píša Czech Technical University in Prague Faculty of Electrical Engineering Department of Control Engineering 16 th Real-Time Linux Workshop

More information

Speeding up Linux TCP/IP with a Fast Packet I/O Framework

Speeding up Linux TCP/IP with a Fast Packet I/O Framework Speeding up Linux TCP/IP with a Fast Packet I/O Framework Michio Honda Advanced Technology Group, NetApp michio@netapp.com With acknowledge to Kenichi Yasukata, Douglas Santry and Lars Eggert 1 Motivation

More information

Netchannel 2: Optimizing Network Performance

Netchannel 2: Optimizing Network Performance Netchannel 2: Optimizing Network Performance J. Renato Santos +, G. (John) Janakiraman + Yoshio Turner +, Ian Pratt * + HP Labs - * XenSource/Citrix Xen Summit Nov 14-16, 2007 2003 Hewlett-Packard Development

More information

Implementing the Wireless Token Ring Protocol As a Linux Kernel Module

Implementing the Wireless Token Ring Protocol As a Linux Kernel Module Implementing the Wireless Token Ring Protocol As a Linux Kernel Module Ruchira Datta Web Over Wireless Group University of California Berkeley, California September 28, 2001 1 Preliminary Groundwork: Fake

More information

An Experimental Study of Network Performance Impact of Increased Latency in SDR

An Experimental Study of Network Performance Impact of Increased Latency in SDR An Experimental Study of Network Performance Impact of Increased Latency in SDR Thomas Schmid Oussama Sekkat Mani B. Srivastava - Wintech workshop was started with the Keynote from Eric Blossom on GNU

More information

The latency of user-to-user, kernel-to-kernel and interrupt-to-interrupt level communication

The latency of user-to-user, kernel-to-kernel and interrupt-to-interrupt level communication The latency of user-to-user, kernel-to-kernel and interrupt-to-interrupt level communication John Markus Bjørndalen, Otto J. Anshus, Brian Vinter, Tore Larsen Department of Computer Science University

More information

The CAN networking subsystem of the Linux kernel

The CAN networking subsystem of the Linux kernel The CAN networking subsystem of the Linux kernel Dr. Oliver Hartkopp, Volkswagen AG Since Linux 2.6.25 (issued 2008-04-17) the Linux mainline kernel supports the network protocol family PF_CAN providing

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

Operating System: Chap13 I/O Systems. National Tsing-Hua University 2016, Fall Semester

Operating System: Chap13 I/O Systems. National Tsing-Hua University 2016, Fall Semester Operating System: Chap13 I/O Systems National Tsing-Hua University 2016, Fall Semester Outline Overview I/O Hardware I/O Methods Kernel I/O Subsystem Performance Application Interface Operating System

More information

Using Time Division Multiplexing to support Real-time Networking on Ethernet

Using Time Division Multiplexing to support Real-time Networking on Ethernet Using Time Division Multiplexing to support Real-time Networking on Ethernet Hariprasad Sampathkumar 25 th January 2005 Master s Thesis Defense Committee Dr. Douglas Niehaus, Chair Dr. Jeremiah James,

More information

Page 1 SPACEWIRE SEMINAR 4/5 NOVEMBER 2003 JF COLDEFY / C HONVAULT

Page 1 SPACEWIRE SEMINAR 4/5 NOVEMBER 2003 JF COLDEFY / C HONVAULT Page 1 SPACEWIRE SEMINAR 4/5 NOVEMBER 2003 JF COLDEFY / C HONVAULT INTRODUCTION The SW IP was developped in the frame of the ESA 13345/#3 contract "Building block for System on a Chip" This presentation

More information

I/O Handling. ECE 650 Systems Programming & Engineering Duke University, Spring Based on Operating Systems Concepts, Silberschatz Chapter 13

I/O Handling. ECE 650 Systems Programming & Engineering Duke University, Spring Based on Operating Systems Concepts, Silberschatz Chapter 13 I/O Handling ECE 650 Systems Programming & Engineering Duke University, Spring 2018 Based on Operating Systems Concepts, Silberschatz Chapter 13 Input/Output (I/O) Typical application flow consists of

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

Developing deterministic networking technology for railway applications using TTEthernet software-based end systems

Developing deterministic networking technology for railway applications using TTEthernet software-based end systems Developing deterministic networking technology for railway applications using TTEthernet software-based end systems Project n 100021 Astrit Ademaj, TTTech Computertechnik AG Outline GENESYS requirements

More information

HKG net_mdev: Fast-path userspace I/O. Ilias Apalodimas Mykyta Iziumtsev François-Frédéric Ozog

HKG net_mdev: Fast-path userspace I/O. Ilias Apalodimas Mykyta Iziumtsev François-Frédéric Ozog HKG18-110 net_mdev: Fast-path userspace I/O Ilias Apalodimas Mykyta Iziumtsev François-Frédéric Ozog Why userland I/O Time sensitive networking Developed mostly for Industrial IOT, automotive and audio/video

More information

Network device drivers in Linux

Network device drivers in Linux Network device drivers in Linux Aapo Kalliola Aalto University School of Science Otakaari 1 Espoo, Finland aapo.kalliola@aalto.fi ABSTRACT In this paper we analyze the interfaces, functionality and implementation

More information

Implementation of automotive CAN module requirements

Implementation of automotive CAN module requirements Implementation of automotive CAN module requirements Alan Devine, freescale semiconductors At first glance all CAN modules are very similar, the only difference being the number of message buffers which

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

Operating Systems. 17. Sockets. Paul Krzyzanowski. Rutgers University. Spring /6/ Paul Krzyzanowski

Operating Systems. 17. Sockets. Paul Krzyzanowski. Rutgers University. Spring /6/ Paul Krzyzanowski Operating Systems 17. Sockets Paul Krzyzanowski Rutgers University Spring 2015 1 Sockets Dominant API for transport layer connectivity Created at UC Berkeley for 4.2BSD Unix (1983) Design goals Communication

More information

Interrupt response times on Arduino and Raspberry Pi. Tomaž Šolc

Interrupt response times on Arduino and Raspberry Pi. Tomaž Šolc Interrupt response times on Arduino and Raspberry Pi Tomaž Šolc tomaz.solc@ijs.si Introduction Full-featured Linux-based systems are replacing microcontrollers in some embedded applications for low volumes,

More information

Performance Enhancement for IPsec Processing on Multi-Core Systems

Performance Enhancement for IPsec Processing on Multi-Core Systems Performance Enhancement for IPsec Processing on Multi-Core Systems Sandeep Malik Freescale Semiconductor India Pvt. Ltd IDC Noida, India Ravi Malhotra Freescale Semiconductor India Pvt. Ltd IDC Noida,

More information

Light & NOS. Dan Li Tsinghua University

Light & NOS. Dan Li Tsinghua University Light & NOS Dan Li Tsinghua University Performance gain The Power of DPDK As claimed: 80 CPU cycles per packet Significant gain compared with Kernel! What we care more How to leverage the performance gain

More information

Performance of Wireless IEEE e-Based Devices with Multiple Hardware Queues

Performance of Wireless IEEE e-Based Devices with Multiple Hardware Queues Performance of Wireless IEEE 802.11e-Based Devices with Multiple Hardware Queues Gabriel Lazăr, Virgil Dobrotă, Member, IEEE, Tudor Blaga, Member, IEEE 1 Agenda I. Linux Network Subsystem II. Linux Traffic

More information

Device-Functionality Progression

Device-Functionality Progression Chapter 12: I/O Systems I/O Hardware I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Incredible variety of I/O devices Common concepts Port

More information

Chapter 12: I/O Systems. I/O Hardware

Chapter 12: I/O Systems. I/O Hardware Chapter 12: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations I/O Hardware Incredible variety of I/O devices Common concepts Port

More information

PowerPC on NetFPGA CSE 237B. Erik Rubow

PowerPC on NetFPGA CSE 237B. Erik Rubow PowerPC on NetFPGA CSE 237B Erik Rubow NetFPGA PCI card + FPGA + 4 GbE ports FPGA (Virtex II Pro) has 2 PowerPC hard cores Untapped resource within NetFPGA community Goals Evaluate performance of on chip

More information

Tuned Pipes: End-to-end Throughput and Delay Guarantees for USB Devices. Ahmad Golchin, Zhuoqun Cheng and Richard West Boston University

Tuned Pipes: End-to-end Throughput and Delay Guarantees for USB Devices. Ahmad Golchin, Zhuoqun Cheng and Richard West Boston University Tuned Pipes: End-to-end Throughput and Delay Guarantees for USB Devices Ahmad Golchin, Zhuoqun Cheng and Richard West Boston University Motivations Cyber-physical applications Sensor-actuator loops Ubiquity

More information

Spring 2017 :: CSE 506. Device Programming. Nima Honarmand

Spring 2017 :: CSE 506. Device Programming. Nima Honarmand Device Programming Nima Honarmand read/write interrupt read/write Spring 2017 :: CSE 506 Device Interface (Logical View) Device Interface Components: Device registers Device Memory DMA buffers Interrupt

More information

Outline. Operating Systems: Devices and I/O p. 1/18

Outline. Operating Systems: Devices and I/O p. 1/18 Outline Diversity of I/O devices block and character devices Organization of I/O subsystem of kernel device drivers Common hardware characteristics of device I/O subsystem tasks Operating Systems: Devices

More information

Got Loss? Get zovn! Daniel Crisan, Robert Birke, Gilles Cressier, Cyriel Minkenberg, and Mitch Gusat. ACM SIGCOMM 2013, August, Hong Kong, China

Got Loss? Get zovn! Daniel Crisan, Robert Birke, Gilles Cressier, Cyriel Minkenberg, and Mitch Gusat. ACM SIGCOMM 2013, August, Hong Kong, China Got Loss? Get zovn! Daniel Crisan, Robert Birke, Gilles Cressier, Cyriel Minkenberg, and Mitch Gusat ACM SIGCOMM 2013, 12-16 August, Hong Kong, China Virtualized Server 1 Application Performance in Virtualized

More information

Message Passing Architecture in Intra-Cluster Communication

Message Passing Architecture in Intra-Cluster Communication CS213 Message Passing Architecture in Intra-Cluster Communication Xiao Zhang Lamxi Bhuyan @cs.ucr.edu February 8, 2004 UC Riverside Slide 1 CS213 Outline 1 Kernel-based Message Passing

More information

Xen Network I/O Performance Analysis and Opportunities for Improvement

Xen Network I/O Performance Analysis and Opportunities for Improvement Xen Network I/O Performance Analysis and Opportunities for Improvement J. Renato Santos G. (John) Janakiraman Yoshio Turner HP Labs Xen Summit April 17-18, 27 23 Hewlett-Packard Development Company, L.P.

More information

NetSlices: Scalable Mul/- Core Packet Processing in User- Space

NetSlices: Scalable Mul/- Core Packet Processing in User- Space NetSlices: Scalable Mul/- Core Packet Processing in - Space Tudor Marian, Ki Suh Lee, Hakim Weatherspoon Cornell University Presented by Ki Suh Lee Packet Processors Essen/al for evolving networks Sophis/cated

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

sllin TTY discipline for UART-LIN device implementation P. Píša, R. Lisový, M. Sojka Czech Technical University in Prague DRAFT

sllin TTY discipline for UART-LIN device implementation P. Píša, R. Lisový, M. Sojka Czech Technical University in Prague DRAFT sllin TTY discipline for UART-LIN device implementation P. Píša, R. Lisový, M. Sojka Czech Technical University in Prague August 27, 2012 Version f510653 Abstract This document describes sllin TTY line

More information

I/O Systems (3): Clocks and Timers. CSE 2431: Introduction to Operating Systems

I/O Systems (3): Clocks and Timers. CSE 2431: Introduction to Operating Systems I/O Systems (3): Clocks and Timers CSE 2431: Introduction to Operating Systems 1 Outline Clock Hardware Clock Software Soft Timers 2 Two Types of Clocks Simple clock: tied to the 110- or 220-volt power

More information

[08] IO SUBSYSTEM 1. 1

[08] IO SUBSYSTEM 1. 1 [08] IO SUBSYSTEM 1. 1 OUTLINE Input/Output (IO) Hardware Device Classes OS Interfaces Performing IO Polled Mode Interrupt Driven Blocking vs Non-blocking Handling IO Buffering & Strategies Other Issues

More information

Kernel Korner. Analysis of the HTB Queuing Discipline. Yaron Benita. Abstract

Kernel Korner. Analysis of the HTB Queuing Discipline. Yaron Benita. Abstract 1 of 9 6/18/2006 7:41 PM Kernel Korner Analysis of the HTB Queuing Discipline Yaron Benita Abstract Can Linux do Quality of Service in a way that both offers high throughput and does not exceed the defined

More information

Achieving UFS Host Throughput For System Performance

Achieving UFS Host Throughput For System Performance Achieving UFS Host Throughput For System Performance Yifei-Liu CAE Manager, Synopsys Mobile Forum 2013 Copyright 2013 Synopsys Agenda UFS Throughput Considerations to Meet Performance Objectives UFS Host

More information

A System-Level Optimization Framework For High-Performance Networking. Thomas M. Benson Georgia Tech Research Institute

A System-Level Optimization Framework For High-Performance Networking. Thomas M. Benson Georgia Tech Research Institute A System-Level Optimization Framework For High-Performance Networking Thomas M. Benson Georgia Tech Research Institute thomas.benson@gtri.gatech.edu 1 Why do we need high-performance networking? Data flow

More information

CSE 120. Overview. July 27, Day 8 Input/Output. Instructor: Neil Rhodes. Hardware. Hardware. Hardware

CSE 120. Overview. July 27, Day 8 Input/Output. Instructor: Neil Rhodes. Hardware. Hardware. Hardware CSE 120 July 27, 2006 Day 8 Input/Output Instructor: Neil Rhodes How hardware works Operating Systems Layer What the kernel does API What the programmer does Overview 2 Kinds Block devices: read/write

More information

A Userspace Packet Switch for Virtual Machines

A Userspace Packet Switch for Virtual Machines SHRINKING THE HYPERVISOR ONE SUBSYSTEM AT A TIME A Userspace Packet Switch for Virtual Machines Julian Stecklina OS Group, TU Dresden jsteckli@os.inf.tu-dresden.de VEE 2014, Salt Lake City 1 Motivation

More information

Chapter 8: I/O functions & socket options

Chapter 8: I/O functions & socket options Chapter 8: I/O functions & socket options 8.1 Introduction I/O Models In general, there are normally two phases for an input operation: 1) Waiting for the data to arrive on the network. When the packet

More information

Input/Output Systems

Input/Output Systems Input/Output Systems CSCI 315 Operating Systems Design Department of Computer Science Notice: The slides for this lecture have been largely based on those from an earlier edition of the course text Operating

More information

I/O Systems. Amir H. Payberah. Amirkabir University of Technology (Tehran Polytechnic)

I/O Systems. Amir H. Payberah. Amirkabir University of Technology (Tehran Polytechnic) I/O Systems Amir H. Payberah amir@sics.se Amirkabir University of Technology (Tehran Polytechnic) Amir H. Payberah (Tehran Polytechnic) I/O Systems 1393/9/15 1 / 57 Motivation Amir H. Payberah (Tehran

More information

MoonGen. A Scriptable High-Speed Packet Generator. Paul Emmerich. January 31st, 2016 FOSDEM Chair for Network Architectures and Services

MoonGen. A Scriptable High-Speed Packet Generator. Paul Emmerich. January 31st, 2016 FOSDEM Chair for Network Architectures and Services MoonGen A Scriptable High-Speed Packet Generator Paul Emmerich January 31st, 216 FOSDEM 216 Chair for Network Architectures and Services Department of Informatics Paul Emmerich MoonGen: A Scriptable High-Speed

More information

CS 856 Latency in Communication Systems

CS 856 Latency in Communication Systems CS 856 Latency in Communication Systems Winter 2010 Latency Challenges CS 856, Winter 2010, Latency Challenges 1 Overview Sources of Latency low-level mechanisms services Application Requirements Latency

More information

CENTRUM INDUSTRIAL IT - Where IT meets Automation -

CENTRUM INDUSTRIAL IT - Where IT meets Automation - CENTRUM INDUSTRIAL IT - Where IT meets Automation - M.Sc. Jahanzaib Imtiaz (Institut Industrial IT) Prof. Dr.-Ing. Jürgen Jasperneite (Fraunhofer IOSB-INA) Institut Industrial IT/Fraunhofer IOSB-INA Family!

More information

KVM PV DEVICES.

KVM PV DEVICES. K DEVICES dor.laor@qumranet.com Agenda Kernel Virtual Machine overview Paravirtualized s intro & brief history VirtIO Enhanced VirtIO with K support 2 Kernel Virtual Machine overview is a regular Linux

More information

Reducing CPU and network overhead for small I/O requests in network storage protocols over raw Ethernet

Reducing CPU and network overhead for small I/O requests in network storage protocols over raw Ethernet Reducing CPU and network overhead for small I/O requests in network storage protocols over raw Ethernet Pilar González-Férez and Angelos Bilas 31 th International Conference on Massive Storage Systems

More information

Lighting the Blue Touchpaper for UK e-science - Closing Conference of ESLEA Project The George Hotel, Edinburgh, UK March, 2007

Lighting the Blue Touchpaper for UK e-science - Closing Conference of ESLEA Project The George Hotel, Edinburgh, UK March, 2007 Working with 1 Gigabit Ethernet 1, The School of Physics and Astronomy, The University of Manchester, Manchester, M13 9PL UK E-mail: R.Hughes-Jones@manchester.ac.uk Stephen Kershaw The School of Physics

More information

DPDK Integration within F5 BIG-IP BRENT BLOOD, SR MANAGER SOFTWARE ENGINEERING VIJAY MANICKAM, SR SOFTWARE ENGINEER

DPDK Integration within F5 BIG-IP BRENT BLOOD, SR MANAGER SOFTWARE ENGINEERING VIJAY MANICKAM, SR SOFTWARE ENGINEER x DPDK Integration within F5 BIG-IP BRENT BLOOD, SR MANAGER SOFTWARE ENGINEERING VIJAY MANICKAM, SR SOFTWARE ENGINEER F5 Company Snapshot Founded: 1996 IPO: June 1999 Employees: 4,395 Headquarters: Seattle,

More information

Hardware/Software Codesign of Schedulers for Real Time Systems

Hardware/Software Codesign of Schedulers for Real Time Systems Hardware/Software Codesign of Schedulers for Real Time Systems Jorge Ortiz Committee David Andrews, Chair Douglas Niehaus Perry Alexander Presentation Outline Background Prior work in hybrid co-design

More information

Xilinx Answer QDMA Performance Report

Xilinx Answer QDMA Performance Report Xilinx Answer 71453 QDMA Performance Report Important Note: This downloadable PDF of an Answer Record is provided to enhance its usability and readability. It is important to note that Answer Records are

More information

DNUA-93F Specifica on

DNUA-93F Specifica on DNUA-93F Specifica on 802.11n b/g wifi USB adapter (1T1R), UB93/AR9271 CPU Overview: DNUA-93F is an 802.11n b/g wifi one-stream USB adapter designed specifically to provide enhanced WiFi performance and

More information

Introduction to Input and Output

Introduction to Input and Output Introduction to Input and Output The I/O subsystem provides the mechanism for communication between the CPU and the outside world (I/O devices). Design factors: I/O device characteristics (input, output,

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

Performance Evaluation of WiFiRe using OPNET

Performance Evaluation of WiFiRe using OPNET Performance Evaluation of WiFiRe using OPNET Under the guidance of: Prof. Sridhar Iyer and Prof. Varsha Apte Dept. of CSE (KReSIT) July 16, 2007 Goal Goal Building. Finding minimum slot length to support

More information

Module 12: I/O Systems

Module 12: I/O Systems Module 12: I/O Systems I/O hardwared Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Performance 12.1 I/O Hardware Incredible variety of I/O devices Common

More information

CAN Send and Receive with Hardware Timestamping

CAN Send and Receive with Hardware Timestamping 0 1 0 1 1 0 0 0 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 1 0 1 0 1 1 1 0 0 1 1 0 1 1 0 0 1 0 0 CAN Send and Receive with Hardware Timestamping esd electronic system design

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

Memory mapped netlink

Memory mapped netlink Patrick McHardy Netfilter Workshop 2011 Freiburg im Breisgau, Germany Current state of affairs Netlink uses regular socket I/O Messages are constructed into a socket buffer's data area,

More information

An Intelligent NIC Design Xin Song

An Intelligent NIC Design Xin Song 2nd International Conference on Advances in Mechanical Engineering and Industrial Informatics (AMEII 2016) An Intelligent NIC Design Xin Song School of Electronic and Information Engineering Tianjin Vocational

More information

On the Portability and Performance of Message-Passing Programs on Embedded Multicore Platforms

On the Portability and Performance of Message-Passing Programs on Embedded Multicore Platforms On the Portability and Performance of Message-Passing Programs on Embedded Multicore Platforms Shih-Hao Hung, Po-Hsun Chiu, Chia-Heng Tu, Wei-Ting Chou and Wen-Long Yang Graduate Institute of Networking

More information

Part 1: Introduction to device drivers Part 2: Overview of research on device driver reliability Part 3: Device drivers research at ERTOS

Part 1: Introduction to device drivers Part 2: Overview of research on device driver reliability Part 3: Device drivers research at ERTOS Some statistics 70% of OS code is in device s 3,448,000 out of 4,997,000 loc in Linux 2.6.27 A typical Linux laptop runs ~240,000 lines of kernel code, including ~72,000 loc in 36 different device s s

More information

CSE398: Network Systems Design

CSE398: Network Systems Design CSE398: Network Systems Design Instructor: Dr. Liang Cheng Department of Computer Science and Engineering P.C. Rossin College of Engineering & Applied Science Lehigh University February 23, 2005 Outline

More information

IBM POWER8 100 GigE Adapter Best Practices

IBM POWER8 100 GigE Adapter Best Practices Introduction IBM POWER8 100 GigE Adapter Best Practices With higher network speeds in new network adapters, achieving peak performance requires careful tuning of the adapters and workloads using them.

More information

Motivation CPUs can not keep pace with network

Motivation CPUs can not keep pace with network Deferred Segmentation For Wire-Speed Transmission of Large TCP Frames over Standard GbE Networks Bilic Hrvoye (Billy) Igor Chirashnya Yitzhak Birk Zorik Machulsky Technion - Israel Institute of technology

More information

打造 Linux 下的高性能网络 北京酷锐达信息技术有限公司技术总监史应生.

打造 Linux 下的高性能网络 北京酷锐达信息技术有限公司技术总监史应生. 打造 Linux 下的高性能网络 北京酷锐达信息技术有限公司技术总监史应生 shiys@solutionware.com.cn BY DEFAULT, LINUX NETWORKING NOT TUNED FOR MAX PERFORMANCE, MORE FOR RELIABILITY Trade-off :Low Latency, throughput, determinism Performance

More information

Real-time for Windows NT

Real-time for Windows NT Real-time for Windows NT Myron Zimmerman, Ph.D. Chief Technology Officer, Inc. Cambridge, Massachusetts (617) 661-1230 www.vci.com Slide 1 Agenda Background on, Inc. Intelligent Connected Equipment Trends

More information

CAN protocol enhancement

CAN protocol enhancement Protocols CAN protocol enhancement This article describes the enhanced CAN protocol called CAN-HG and the features of the IC circuitry from Canis that implement it. CAN-HG has been designed to meet two

More information

KeyStone Training. Multicore Navigator Overview

KeyStone Training. Multicore Navigator Overview KeyStone Training Multicore Navigator Overview What is Navigator? Overview Agenda Definition Architecture Queue Manager Sub-System (QMSS) Packet DMA () Descriptors and Queuing What can Navigator do? Data

More information

Module 12: I/O Systems

Module 12: I/O Systems Module 12: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Performance Operating System Concepts 12.1 Silberschatz and Galvin c

More information

Performance Analysis of Protocols: UDP and RAW Ethernet to Real-Time Networks

Performance Analysis of Protocols: UDP and RAW Ethernet to Real-Time Networks Performance Analysis of Protocols: UDP and RAW Ethernet to Real-Time Networks Ricardo Alexsandro de Medeiros Valentim valentim@dca.ufrn.br Luiz Affonso H. Guedes affonso@dca.ufrn.br Raimundo Viégas Junior

More information

PIP: A Connection-Oriented, Multi-Hop, Multi-Channel TDMA-based MAC for High Throughput Bulk Transfer

PIP: A Connection-Oriented, Multi-Hop, Multi-Channel TDMA-based MAC for High Throughput Bulk Transfer PIP: A Connection-Oriented, Multi-Hop, Multi-Channel TDMA-based MAC for High Throughput Bulk Transfer Bhaskaran Raman Kameswari Chebrolu Sagar Bijwe br@cse.iitb.ac.in chebrolu@cse.iitb.ac.in sag.bijwe@gmail.com

More information

Analysis of User Level Device Driver usability in embedded application

Analysis of User Level Device Driver usability in embedded application Analysis of User Level Device Driver usability in embedded application -Technique to achieve good real-time performance- Katsuya Matsubara Takanari Hayama Hitomi Takahashi Hisao Munakata IGEL Co., Ltd

More information

Master s Thesis (Academic Year 2015) Improving TCP/IP stack performance by fast packet I/O framework

Master s Thesis (Academic Year 2015) Improving TCP/IP stack performance by fast packet I/O framework Master s Thesis (Academic Year 2015) Improving TCP/IP stack performance by fast packet I/O framework Keio University Graduate School of Media and Governance Kenichi Yasukata Master s Thesis Academic Year

More information

Leveraging HyperTransport for a custom high-performance cluster network

Leveraging HyperTransport for a custom high-performance cluster network Leveraging HyperTransport for a custom high-performance cluster network Mondrian Nüssle HTCE Symposium 2009 11.02.2009 Outline Background & Motivation Architecture Hardware Implementation Host Interface

More information

I/O Systems. 04/16/2007 CSCI 315 Operating Systems Design 1

I/O Systems. 04/16/2007 CSCI 315 Operating Systems Design 1 I/O Systems Notice: The slides for this lecture have been largely based on those accompanying the textbook Operating Systems Concepts with Java, by Silberschatz, Galvin, and Gagne (2007). Many, if not

More information

Input/Output Problems. External Devices. Input/Output Module. I/O Steps. I/O Module Function Computer Architecture

Input/Output Problems. External Devices. Input/Output Module. I/O Steps. I/O Module Function Computer Architecture 168 420 Computer Architecture Chapter 6 Input/Output Input/Output Problems Wide variety of peripherals Delivering different amounts of data At different speeds In different formats All slower than CPU

More information

LS Example 5 3 C 5 A 1 D

LS Example 5 3 C 5 A 1 D Lecture 10 LS Example 5 2 B 3 C 5 1 A 1 D 2 3 1 1 E 2 F G Itrn M B Path C Path D Path E Path F Path G Path 1 {A} 2 A-B 5 A-C 1 A-D Inf. Inf. 1 A-G 2 {A,D} 2 A-B 4 A-D-C 1 A-D 2 A-D-E Inf. 1 A-G 3 {A,D,G}

More information

Multimedia Streaming. Mike Zink

Multimedia Streaming. Mike Zink Multimedia Streaming Mike Zink Technical Challenges Servers (and proxy caches) storage continuous media streams, e.g.: 4000 movies * 90 minutes * 10 Mbps (DVD) = 27.0 TB 15 Mbps = 40.5 TB 36 Mbps (BluRay)=

More information

Systems. Roland Kammerer. 10. November Institute of Computer Engineering Vienna University of Technology. Communication Protocols for Embedded

Systems. Roland Kammerer. 10. November Institute of Computer Engineering Vienna University of Technology. Communication Protocols for Embedded Communication Roland Institute of Computer Engineering Vienna University of Technology 10. November 2010 Overview 1. Definition of a protocol 2. Protocol properties 3. Basic Principles 4. system communication

More information

ECEN 449 Microprocessor System Design. Hardware-Software Communication. Texas A&M University

ECEN 449 Microprocessor System Design. Hardware-Software Communication. Texas A&M University ECEN 449 Microprocessor System Design Hardware-Software Communication 1 Objectives of this Lecture Unit Learn basics of Hardware-Software communication Memory Mapped I/O Polling/Interrupts 2 Motivation

More information

Embedded SDR for Small Form Factor Systems

Embedded SDR for Small Form Factor Systems Embedded SDR for Small Form Factor Systems Philip Balister, Tom Tsou, and Jeff Reed MPRG Wireless @ Virginia Tech Blacksburg, VA 24060 balister@vt.edu Outline Embedded Software Defined Radio SDR Frameworks

More information

UART Implementation Using the N2HET

UART Implementation Using the N2HET Application Report Lit. umber Month ear UART Implementation Using the 2HET Haixiao Weng MCU Safety Application ABSTRACT This application report describes how the Hercules 2HET peripheral can be used to

More information

Support for Smart NICs. Ian Pratt

Support for Smart NICs. Ian Pratt Support for Smart NICs Ian Pratt Outline Xen I/O Overview Why network I/O is harder than block Smart NIC taxonomy How Xen can exploit them Enhancing Network device channel NetChannel2 proposal I/O Architecture

More information

NTRDMA v0.1. An Open Source Driver for PCIe NTB and DMA. Allen Hubbe at Linux Piter 2015 NTRDMA. Messaging App. IB Verbs. dmaengine.h ntb.

NTRDMA v0.1. An Open Source Driver for PCIe NTB and DMA. Allen Hubbe at Linux Piter 2015 NTRDMA. Messaging App. IB Verbs. dmaengine.h ntb. Messaging App IB Verbs NTRDMA dmaengine.h ntb.h DMA DMA DMA NTRDMA v0.1 An Open Source Driver for PCIe and DMA Allen Hubbe at Linux Piter 2015 1 INTRODUCTION Allen Hubbe Senior Software Engineer EMC Corporation

More information

CAN Connected To FlexRay

CAN Connected To FlexRay CAN Connected To FlexRay Dipl.-Ing.(FH) Marc Steuerer Prof. Dr.-Ing. Alfred Höß Fachhochschule Amberg-Weiden Kaiser-Wilhelm-Ring 23 92224 Amberg m.steuerer@fh-amberg-weiden.de Michael Wächter Berthold

More information

Optimizing the GigE transfer What follows comes from company Pleora.

Optimizing the GigE transfer What follows comes from company Pleora. Optimizing the GigE transfer What follows comes from company Pleora. Selecting a NIC and Laptop Based on our testing, we recommend Intel NICs. In particular, we recommend the PRO 1000 line of Intel PCI

More information

An FPGA-Based Optical IOH Architecture for Embedded System

An FPGA-Based Optical IOH Architecture for Embedded System An FPGA-Based Optical IOH Architecture for Embedded System Saravana.S Assistant Professor, Bharath University, Chennai 600073, India Abstract Data traffic has tremendously increased and is still increasing

More information

Using (Suricata over) PF_RING for NIC-Independent Acceleration

Using (Suricata over) PF_RING for NIC-Independent Acceleration Using (Suricata over) PF_RING for NIC-Independent Acceleration Luca Deri Alfredo Cardigliano Outlook About ntop. Introduction to PF_RING. Integrating PF_RING with

More information

80C31 Microcontroller Driven Electroluminescent Display II. System Level Block Description

80C31 Microcontroller Driven Electroluminescent Display II. System Level Block Description 80C31 Microcontroller Driven Electroluminescent II System Level Block Description Nick Gorajski Advisor: Professor Steven Gutschlag Bradley University ECE Department November 7, 2004 Narrative The system

More information

GUARANTEED END-TO-END LATENCY THROUGH ETHERNET

GUARANTEED END-TO-END LATENCY THROUGH ETHERNET GUARANTEED END-TO-END LATENCY THROUGH ETHERNET Øyvind Holmeide, OnTime Networks AS, Oslo, Norway oeyvind@ontimenet.com Markus Schmitz, OnTime Networks LLC, Texas, USA markus@ontimenet.com Abstract: Latency

More information