Migrating Linux Device Drivers to a Microkernel POSIX RTOS: A Case Study. David Donohoe Senior Software Developer QNX Software Systems

Size: px
Start display at page:

Download "Migrating Linux Device Drivers to a Microkernel POSIX RTOS: A Case Study. David Donohoe Senior Software Developer QNX Software Systems"

Transcription

1 to a Microkernel POSIX RTOS: A Case Study David Donohoe Senior Software Developer

2 Introduction Porting Linux applications to a commercial OS can be surprisingly straightforward, provided the OS is based on POSIX, the same industry-standard API used by Linux. Take the QNX Neutrino RTOS, for example. Because it was designed to support POSIX standards, it can run many Linux and open source applications without code changes. In most cases, the developer simply has to recompile and relink the Linux source code. Nonetheless, porting low-level drivers from Linux to QNX Neutrino or to any other OS can be a bit more challenging. For instance, consider the differences between the monolithic kernel used in Linux and the microkernel used in QNX Neutrino. In a monolithic model, device management code resides inside the kernel and, as a result, can't call OS functions in the same way that applications do. Because of this limitation, a Linux driver can't access the facilities of the POSIX API. See Figure 1. Figure 1 In a monolithic OS like Linux, drivers run inside the OS kernel and have no access to the POSIX API. Compare this to a microkernel OS like the QNX Neutrino RTOS, where device drivers run outside the kernel, in separate, memory-protected processes. In this architecture, a device driver is virtually indistinguishable from a regular application: it can be dynamically stopped and started as required, and it can access the same POSIX API that applications use. See Figure 2. 2

3 Figure 2 In a microkernel OS like QNX Neutrino, drivers run as separate, memory-protected processes and have full access to the POSIX API. Naturally, these differences in kernel architecture must be taken into account when porting drivers. But, as we ll see, they don t necessarily create any special difficulty. In fact, porting drivers from one monolithic OS to another monolithic OS (for example, from Linux to Windows) can be just as hard, or harder. The reason is simple: almost every OS has its own proprietary specification for writing device drivers. As a result, driver code written for one OS typically has to be reworked before it can be plugged in to any other OS, even if the OSs share a similar architecture. Choosing a Driver to Port Exactly how hard or easy is it to port Linux drivers to a microkernel RTOS like QNX Neutrino? Can you reuse most of the original code, or only a little? To provide concrete answers to those questions, we conducted a case study. Because the author had expertise in Ethernet devices, it was decided to port a Linux Ethernet driver. (The intention was to study the effort involved for developers who already have some experience in a given type of device driver.) The driver for the SMC 9452TX Gigabit Ethernet PCI card was chosen because: The source code was available on the SMC Networks website ( The SMC 9452TX card wasn t already supported under the QNX Neutrino RTOS. The source code to the SMC 9452 driver is published under the GPL. Since the case study was merely an academic exercise, the commercial implications of using the GPL were, in this case, not an issue. 3

4 Porting the SMC 9452TX Linux Driver Source The SMC 9452 driver source is well-structured and well-written, making it a good candidate for porting. Structurally, the driver is divided into two parts: Hardware-specific portion contained approximately 7400 lines of code OS-specific portion contained about 2030 lines of code While Linux and the QNX Neutrino RTOS use different driver interfaces, the interfaces provide similar capabilities. Browsing through the source code, we identified the main interactions between the driver and the rest of the system to determine how much code would need to be modified. The following paragraphs summarize the similarities and differences in the way that Linux and QNX Neutrino handle drivers: Low-level interaction with hardware Both OSs provide straightforward mechanisms that allow a driver to access memorymapped or I/O-mapped device registers. Device detection and configuration Both OSs provide mechanisms to automatically configure devices on the PCI bus, including library calls that let the driver detect the presence of a device and determine the device s configuration. Both OSs also provide mechanisms that let the user supply configuration parameters that affect the driver s operation. These parameters are implemented quite differently under the two OSs, however. Under QNX Neutrino, device driver options are parsed, and the configuration information is stored in private, per-device data structures. Under Linux, this information is stored in global variables within the driver module. Interrupt handling Both OSs allow a thread to execute the driver s interrupt-handling code in response to interrupt-generating events that are triggered by the device. Network traffic: sending and receiving packets The format of packet data buffers and the API for transferring data between the device driver and the OS s networking infrastructure are different, but the principles are the same. Miscellaneous functionality This includes functionality such as multicast address filtering and statistics gathering. Again, while the APIs for providing the functionality differ, the principles are the same. 4

5 Hardware-specific Code The hardware-specific code all 7400 lines of it didn t need to be modified. It was simply standard ANSI C code that communicates with the SMC 9452 card via a handful of macros from a header file. These macros were reimplemented for QNX Neutrino in the header file as follows: #define NsmRegRead8(ctx, addr, pval) #define NsmRegRead16(ctx, addr, pval) #define NsmRegRead32(ctx, addr, pval) *(pval) = (*(volatile uint8_t *)(addr)) *(pval) = (*(volatile uint16_t *)(addr)) *(pval) = (*(volatile uint32_t *)(addr)) #define NsmRegWrite8(ctx, addr, val) #define NsmRegWrite16(ctx, addr, val) #define NsmRegWrite32(ctx, addr, val) *(volatile uint8_t *)(addr) = (val) *(volatile uint16_t *)(addr) = (val) *(volatile uint32_t *)(addr) = (val) Since the hardware-specific code is passed a pointer to the device s memory-mapped registers, these macros were all we needed to communicate with the SMC 9452 hardware. OS-specific Code Next came the OS-specific code. While we were able to maintain the overall structure of this code, significant portions had to be implemented or re-implemented. For instance, we needed to implement command-line option-string parsing, which is a unique capability of QNX drivers. Conveniently, code that handles this parsing already exists: We simply lifted the code from the network driver development kit (DDK) for the QNX Neutrino RTOS. (Note that QNX Neutrino supports many drivers for PCI network cards, including the pcnet driver supplied with this DDK.) We were also able to reuse a lot of code from a QNX Neutrino driver written for a different PCI network card, which greatly reduced development time. In the end, the new driver for the SMC 9452 card had about 1600 lines of OS-specific code, compared to the 2030 lines of OSspecific code in the original Linux driver. Overall, about 80 percent of the code from existing Linux driver was preserved. Results After about 10 hours of development, the new code provided the basic capabilities expected of an Ethernet driver: packet transmission and reception statistics gathering multicast address filtering 5

6 The new driver also followed the normal QNX Neutrino driver conventions for option parsing, link detection, and so on. Performance Testing Next, we measured the performance of the resulting driver, using the TCP netperf throughput measuring utility. (Since this was a case-study exercise only, we didn t attempt to optimize the driver performance.) The machines used for measuring throughput were configured as follows: A 2GHz Pentium IV machine with an Intel Gigabit card. A 450Mhz Pentium III machine with an SMC 9452TX Gigabit card. Netperf test: Intel to SMC 9452 Recv socket Send socket Send message Elapsed time (secs) Throughput (kbytes/sec) Netperf test: SMC 9452 to Intel Recv socket Send socket Send message Elapsed time (secs) Throughput (kbytes/sec) Note All results are for a non-optimized driver. Faster Driver Development through User-Space Debugging An existing code base of driver software for one OS can help accelerate migration to a different OS, even if the two OSs have fundamental differences in architecture. In this case, we reused about 80 percent of the original driver code, allowing an initial driver port to be completed very quickly. Nonetheless, the fast development time can be partially attributed to the microkernel architecture of the QNX Neutrino RTOS, which allows drivers to run as memory-protected processes in user space. During development, several mistakes caused the driver code to crash. Nevertheless, we never had to reboot the system. We simply fixed the offending sections of code and restarted the networking subsystem with the updated driver. If you have 6

7 ever developed drivers for a monolithic kernel, where a driver bug will crash the entire OS, you ll immediately appreciate the benefits of this rapid driver recovery. Naturally, the more a developer knows about the technologies related to the drivers that he or she is porting, the better equipped they will be for the task. For instance, anyone qualified to write an Ethernet driver for a multitasking, memory-protected OS should be able to complete a driver port in a relatively short timeframe. Of course, familiarity with the target OS will help the developer complete the job more quickly. In the case of the QNX Neutrino RTOS, a background in POSIX application development will also be beneficial, since the QNX device drivers have full access to the POSIX API. 7

8 About, a Harman International company, is the industry leader in realtime embedded OS technology. The component-based architectures of the QNX Neutrino RTOS and QNX Momentics development suite together provide the industry s most reliable and scalable framework for building innovative, high-performance embedded systems. Global leaders such as Cisco, DaimlerChrysler, General Electric, Lockheed Martin, and Siemens depend on QNX technology for network routers, medical instruments, vehicle telematics units, security and defense systems, industrial robotics, and other mission- or life-critical applications. Founded in 1980, is headquartered in Ottawa, Canada, and distributes products in over 100 countries worldwide GmbH & Co. KG. All rights reserved. Published with permission of International Corporation. QNX, Momentics, and Neutrino are trademarks of GmbH & Co. KG, registered in certain jurisdictions, and are used under license. All other trademarks and trade names belong to their respective owners.

Fastboot Techniques for the x86 Architecture. Ben Biron QNX Software Systems

Fastboot Techniques for the x86 Architecture. Ben Biron QNX Software Systems Ben Biron bbiron@qnx.com Abstract With the introduction of the Intel Atom processor, the x86 architecture has become a viable contender as a low-power embedded platform. The problem is, x86 designs have

More information

Processor Affinity or Bound Multiprocessing? Easing the Migration to Embedded Multicore Processing

Processor Affinity or Bound Multiprocessing? Easing the Migration to Embedded Multicore Processing Easing the Migration to Embedded Multicore Processing Shiv Nagarajan, Ph.D. Nicola Vulpe, Ph.D. shiv@qnx.com, nvulpe@qnx.com Abstract Thanks to higher computing power and system density at lower clock

More information

Case Study: Using System Tracing to Improve Packet Forwarding Performance

Case Study: Using System Tracing to Improve Packet Forwarding Performance Case Study: Using System Tracing to Improve Packet Forwarding Performance Sebastien Marineau-Mes, Senior Networking Architect, sebastien@qnx.com Abstract Symmetric multiprocessing (SMP) can offer enormous

More information

An Introduction to QNX Transparent Distributed Processing

An Introduction to QNX Transparent Distributed Processing Yi Zheng, Product Manager, Safety and Security Products QNX Software Systems Limited yzheng@qnx.com Abstract In a conventional network, devices can share files and data with relative ease. Imagine, however,

More information

User-Space Debugging Simplifies Driver Development

User-Space Debugging Simplifies Driver Development QNX Software Systems Ltd. 175 Terence Matthews Crescent Ottawa, Ontario, Canada, K2M 1W8 Voice: 1 800 676-0566 +1 613 591-0931 Email: info@qnx.com Web: www.qnx.com User-Space Debugging Simplifies Driver

More information

Using POSIX Threading to Build Scalable Multi-Core Applications

Using POSIX Threading to Build Scalable Multi-Core Applications d font sizes: Title: Arial 14, bold Using POSIX Threading to Build Scalable Multi-Core Applications Kerry Johnson Senior Product Manager QNX Software Systems kjohnson@qnx.com Introduction Until recently,

More information

Hypervisor Part 1- What is a Hypervisor and How Does it Work?

Hypervisor Part 1- What is a Hypervisor and How Does it Work? WHITEPAPER Hypervisor Part 1- What is a Hypervisor and How Does it Work? Randy Martin Product Manager 5/3/17 BlackBerry QNX Not for general distribution. Intended for Advanced Sterilization Products 1

More information

In-Field Debugging: Diagnosing Software Problems While Maintaining System Availability

In-Field Debugging: Diagnosing Software Problems While Maintaining System Availability In-Field Debugging: Diagnosing Software Problems While Maintaining System Availability Paul Leroux, Technology Analyst, QNX Software Systems paull@qnx.com Abstract Software bugs that make it to market

More information

Real-Time Systems and Intel take industrial embedded systems to the next level

Real-Time Systems and Intel take industrial embedded systems to the next level Solution brief Industrial IoT (IIoT) Embedded Software and Systems Real-Time Systems and Intel take industrial embedded systems to the next level Innovative hypervisor and partitioning software increases

More information

The Convergence of Storage and Server Virtualization Solarflare Communications, Inc.

The Convergence of Storage and Server Virtualization Solarflare Communications, Inc. The Convergence of Storage and Server Virtualization 2007 Solarflare Communications, Inc. About Solarflare Communications Privately-held, fabless semiconductor company. Founded 2001 Top tier investors:

More information

Using Memory Analysis to Create Leaner, Faster, More Reliable Embedded Systems

Using Memory Analysis to Create Leaner, Faster, More Reliable Embedded Systems Font and font sizes: Title: Arial 14, bold Using Memory Analysis to Create Leaner, Faster, More Reliable Embedded Systems Bill Graham, Product Line Manager Paul N. Leroux, Technology Analyst QNX Software

More information

Making the Switch to RapidIO

Making the Switch to RapidIO QNX Software Systems Ltd. 175 Terence Matthews Crescent Ottawa, Ontario, Canada, K2M 1W8 Voice: +1 613 591-0931 1 800 676-0566 Fax: +1 613 591-3579 Email: info@qnx.com Web: www.qnx.com Using a Message-passing

More information

The Myricom ARC Series with DBL

The Myricom ARC Series with DBL The Myricom ARC Series with DBL Drive down Tick-To-Trade latency with CSPi s Myricom ARC Series of 10 gigabit network adapter integrated with DBL software. They surpass all other full-featured adapters,

More information

BRDS ( , WS 2017) Ulrich Schmid

BRDS ( , WS 2017) Ulrich Schmid BRDS (182.704, WS 2017) Ulrich Schmid s@ecs.tuwien.ac.at http://ti.tuwien.ac.at/ecs/teaching/courses/brds File System Protocol Stack Audio Driver Graphics Driver Microkernel Application Message Bus Microkernel

More information

Accelerating Delivery of Quality Systems with Eclipse-based Tools. Sebastien Marineau-Mes QNX Software Systems

Accelerating Delivery of Quality Systems with Eclipse-based Tools. Sebastien Marineau-Mes QNX Software Systems Accelerating Delivery of Quality Systems with Eclipse-based Tools Sebastien Marineau-Mes QNX Software Systems QNX at Cisco Highlights è QNX/(KUE-nix): provider of realtime operating system (RTOS) software,

More information

Instant-on virtual network per student: a learning environment for secure computer labs

Instant-on virtual network per student: a learning environment for secure computer labs Instant-on virtual network per student: a learning environment for secure computer labs W. Craig Scratchley, Lecturer, Simon Fraser University (wcs@sfu.ca) Abstract A low-cost, portable, lab environment

More information

Solutions for iseries

Solutions for iseries Innovative solutions for Intel server integration Integrated IBM Solutions for iseries xseries The IBM _` iseries family of servers, including the newest member, IBM _` i5, offers two solutions that provide

More information

QNX MOMENTICS ACCELERATE YOUR DEVELOPMENT WITH QNX MOMENTICS KNOCK WEEKS, EVEN MONTHS, OFF YOUR DEVELOPMENT SCHEDULE WITH THE

QNX MOMENTICS ACCELERATE YOUR DEVELOPMENT WITH QNX MOMENTICS KNOCK WEEKS, EVEN MONTHS, OFF YOUR DEVELOPMENT SCHEDULE WITH THE ACCELERATE YOUR DEVELOPMENT WITH QNX MOMENTICS QNX MOMENTICS f KNOCK WEEKS, EVEN MONTHS, OFF YOUR DEVELOPMENT SCHEDULE WITH THE QNX MOMENTICS DEVELOPMENT SUITE. COMPREHENSIVE, YET SIMPLE TO USE, QNX MOMENTICS

More information

SCRAMNet GT. A New Technology for Shared-Memor y Communication in High-Throughput Networks. Technology White Paper

SCRAMNet GT. A New Technology for Shared-Memor y Communication in High-Throughput Networks. Technology White Paper Technology White Paper SCRAMNet GT A New Technology for Shared-Memor y Communication in High-Throughput Networks Introduction A number of today s most advanced networking applications require the fast

More information

Introduction to Ethernet Latency

Introduction to Ethernet Latency Introduction to Ethernet Latency An Explanation of Latency and Latency Measurement The primary difference in the various methods of latency measurement is the point in the software stack at which the latency

More information

MaRTE OS Misc utilities

MaRTE OS Misc utilities MaRTE OS Misc utilities Daniel Sangorrin daniel.sangorrin@{unican.es, gmail.com} rev 0.1: 2008-5-12 1. Circular Memory Buffer This is a generic software component that allows the user to write some data

More information

@Cisco. Welcome! By Rennie Allen, Cisco FAE. Welcome to the Machine By Rennie Allen, Cisco FAE. Q Volume 1 Issue 1

@Cisco. Welcome! By Rennie Allen, Cisco FAE. Welcome to the Machine By Rennie Allen, Cisco FAE. Q Volume 1 Issue 1 @Cisco QNX Software Systems, 900 East Hamilton Ave., Campbell CA, 95008 www.qnx.com rallen@qnx.com 951-704-3447 Q2 2008 Volume 1 Issue 1 Welcome! I N S I D E T H I S I S S U E 1 Welcome to @Cisco! 1 Welcome

More information

Rab Nawaz Khan Jadoon

Rab Nawaz Khan Jadoon OS Kernel, Instruction Execution and Interrupt Processing Rab Nawaz Khan Jadoon DCS COMSATS Institute of Information Technology Lecturer COMSATS Lahore Pakistan Operating System Concepts Operating System

More information

QNX Software Development Platform 6.6. Quickstart Guide

QNX Software Development Platform 6.6. Quickstart Guide QNX Software Development Platform 6.6 QNX Software Development Platform 6.6 Quickstart Guide 2005 2014, QNX Software Systems Limited, a subsidiary of BlackBerry. All rights reserved. QNX Software Systems

More information

Develop Unified SNMP, XML, CLI, and Web-based Management for Embedded Real-Time Systems with MIBGuide

Develop Unified SNMP, XML, CLI, and Web-based Management for Embedded Real-Time Systems with MIBGuide 1 Overview Develop Unified SNMP, XML, CLI, and Web-based Management for Embedded Real-Time Systems with MIBGuide SNMP Research International, Inc. Knoxville, Tennessee 1 Overview Support for remote management

More information

Authors : Ruslan Nikolaev Godmar Back Presented in SOSP 13 on Nov 3-6, 2013

Authors : Ruslan Nikolaev Godmar Back Presented in SOSP 13 on Nov 3-6, 2013 VirtuOS: An operating sytem with kernel virtualization Authors : Ruslan Nikolaev Godmar Back Presented in SOSP 13 on Nov 3-6, 2013 Presentation by Bien Aime MUGABARIGIRA Process Isolation and protection

More information

FPGA Augmented ASICs: The Time Has Come

FPGA Augmented ASICs: The Time Has Come FPGA Augmented ASICs: The Time Has Come David Riddoch Steve Pope Copyright 2012 Solarflare Communications, Inc. All Rights Reserved. Hardware acceleration is Niche (With the obvious exception of graphics

More information

Exam Questions. Give an example network topology where GPSR cannot find a way from a source to a sink. Explain your answer.

Exam Questions. Give an example network topology where GPSR cannot find a way from a source to a sink. Explain your answer. Exam Questions Type 1 Consider a 1000m2 area with a uniform distribution of 1000 sensor nodes, each equipped with a temperature sensor. You want to constitute a temperature map of the area at various resolutions.

More information

The Myricom ARC Series of Network Adapters with DBL

The Myricom ARC Series of Network Adapters with DBL The Myricom ARC Series of Network Adapters with DBL Financial Trading s lowest latency, most full-featured market feed connections Drive down Tick-To-Trade latency with CSPi s Myricom ARC Series of 10

More information

CHAPTER 3 LabVIEW REAL TIME APPLICATION DEVELOPMENT REFERENCES: [1] NI, Real Time LabVIEW. [2] R. Bishop, LabVIEW 2009.

CHAPTER 3 LabVIEW REAL TIME APPLICATION DEVELOPMENT REFERENCES: [1] NI, Real Time LabVIEW. [2] R. Bishop, LabVIEW 2009. CHAPTER 3 By Radu Muresan University of Guelph Page 1 ENGG4420 CHAPTER 3 LECTURE 1 October 31 10 5:12 PM CHAPTER 3 LabVIEW REAL TIME APPLICATION DEVELOPMENT REFERENCES: [1] NI, Real Time LabVIEW. [2] R.

More information

Comparison of scheduling in RTLinux and QNX. Andreas Lindqvist, Tommy Persson,

Comparison of scheduling in RTLinux and QNX. Andreas Lindqvist, Tommy Persson, Comparison of scheduling in RTLinux and QNX Andreas Lindqvist, andli299@student.liu.se Tommy Persson, tompe015@student.liu.se 19 November 2006 Abstract The purpose of this report was to learn more about

More information

Introduction: Context Switch

Introduction: Context Switch Introduction: The central module of an operating system. It is the part of the operating system that loads first, and it remains in main memory. Because it stays in memory, it is important for the kernel

More information

OS Design Approaches. Roadmap. OS Design Approaches. Tevfik Koşar. Operating System Design and Implementation

OS Design Approaches. Roadmap. OS Design Approaches. Tevfik Koşar. Operating System Design and Implementation CSE 421/521 - Operating Systems Fall 2012 Lecture - II OS Structures Roadmap OS Design and Implementation Different Design Approaches Major OS Components!! Memory management! CPU Scheduling! I/O Management

More information

Commercial Real-time Operating Systems An Introduction. Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory

Commercial Real-time Operating Systems An Introduction. Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory Commercial Real-time Operating Systems An Introduction Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory swamis@iastate.edu Outline Introduction RTOS Issues and functionalities LynxOS

More information

Unit OS2: Operating System Principles. Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze

Unit OS2: Operating System Principles. Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Unit OS2: Operating System Principles 2.5. Quiz Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Copyright Notice 2000-2005 David A. Solomon and Mark

More information

CSC Operating Systems Fall Lecture - II OS Structures. Tevfik Ko!ar. Louisiana State University. August 27 th, 2009.

CSC Operating Systems Fall Lecture - II OS Structures. Tevfik Ko!ar. Louisiana State University. August 27 th, 2009. CSC 4103 - Operating Systems Fall 2009 Lecture - II OS Structures Tevfik Ko!ar Louisiana State University August 27 th, 2009 1 Announcements TA Changed. New TA: Praveenkumar Kondikoppa Email: pkondi1@lsu.edu

More information

Announcements. Computer System Organization. Roadmap. Major OS Components. Processes. Tevfik Ko!ar. CSC Operating Systems Fall 2009

Announcements. Computer System Organization. Roadmap. Major OS Components. Processes. Tevfik Ko!ar. CSC Operating Systems Fall 2009 CSC 4103 - Operating Systems Fall 2009 Lecture - II OS Structures Tevfik Ko!ar TA Changed. New TA: Praveenkumar Kondikoppa Email: pkondi1@lsu.edu Announcements All of you should be now in the class mailing

More information

Open Source in Automotive Infotainment

Open Source in Automotive Infotainment Open Source in Automotive Infotainment Taeyong Kim (ty.kim@windriver.com) Services & Solutions Wind River Systems 2015 Wind River. All Rights Reserved. Why using Open Source in IoT? Internet of Things

More information

Virtual Memory in Today s Operating Systems. Part 1 of 2 Greg Hartman

Virtual Memory in Today s Operating Systems. Part 1 of 2 Greg Hartman Virtual Memory in Today s Operating Systems Part 1 of 2 Greg Hartman 1 Why Did I Get Interested in Virtual Memory? From my MapQuest experience, sub-second response times matter to users Users should control

More information

Embedded Linux Architecture

Embedded Linux Architecture Embedded Linux Architecture Types of Operating Systems Real-Time Executive Monolithic Kernel Microkernel Real-Time Executive For MMU-less processors The entire address space is flat or linear with no memory

More information

Introduction to OpenOnload Building Application Transparency and Protocol Conformance into Application Acceleration Middleware

Introduction to OpenOnload Building Application Transparency and Protocol Conformance into Application Acceleration Middleware White Paper Introduction to OpenOnload Building Application Transparency and Protocol Conformance into Application Acceleration Middleware Steve Pope, PhD Chief Technical Officer Solarflare Communications

More information

Linux-based 6LoWPAN border router

Linux-based 6LoWPAN border router Linux-based 6LoWPAN border router David Hauweele University of Mons 7 August 2013 Table of Contents 1 Internet of Things 2 Problem and state of the art 3 Implementation 4 Validation 5 Conclusion David

More information

Software Development & Education Center

Software Development & Education Center Software Development & Education Center Embedded Linux & RTOS With ARM 9 µc Embedded Linux and RTOS with ARM9 µc Introduction The course is designed for those who want to pursue Linux based Embedded Systems.

More information

6WINDGate. White Paper. Packet Processing Software for Wireless Infrastructure

6WINDGate. White Paper. Packet Processing Software for Wireless Infrastructure Packet Processing Software for Wireless Infrastructure Last Update: v1.0 - January 2011 Performance Challenges for Wireless Networks As advanced services proliferate and video consumes an ever-increasing

More information

Software development from a bird's eye view Ulrich Kloidt, Senior Application Engineer, Altium Europe GmbH

Software development from a bird's eye view Ulrich Kloidt, Senior Application Engineer, Altium Europe GmbH Software development from a bird's eye view Ulrich Kloidt, Senior Application Engineer, Altium Europe GmbH A modular software application can help designers focus on the essential part of their task -

More information

The modularity requirement

The modularity requirement The modularity requirement The obvious complexity of an OS and the inherent difficulty of its design lead to quite a few problems: an OS is often not completed on time; It often comes with quite a few

More information

Motion Control Computing Architectures for Ultra Precision Machines

Motion Control Computing Architectures for Ultra Precision Machines Motion Control Computing Architectures for Ultra Precision Machines Mile Erlic Precision MicroDynamics, Inc., #3-512 Frances Avenue, Victoria, B.C., Canada, V8Z 1A1 INTRODUCTION Several computing architectures

More information

Migration to 64-bit Platform Improves Performance of Growing Bank s Core

Migration to 64-bit Platform Improves Performance of Growing Bank s Core Microsoft Windows Server 2003 Customer Solution Case Study Migration to 64-bit Platform Improves Performance of Growing Bank s Core Overview Country or Region: Mexico Industry: Banking Customer Profile

More information

OS DESIGN PATTERNS II. CS124 Operating Systems Fall , Lecture 4

OS DESIGN PATTERNS II. CS124 Operating Systems Fall , Lecture 4 OS DESIGN PATTERNS II CS124 Operating Systems Fall 2017-2018, Lecture 4 2 Last Time Began discussing general OS design patterns Simple structure (MS-DOS) Layered structure (The THE OS) Monolithic kernels

More information

Introduction to TCP/IP Offload Engine (TOE)

Introduction to TCP/IP Offload Engine (TOE) Introduction to TCP/IP Offload Engine (TOE) Version 1.0, April 2002 Authored By: Eric Yeh, Hewlett Packard Herman Chao, QLogic Corp. Venu Mannem, Adaptec, Inc. Joe Gervais, Alacritech Bradley Booth, Intel

More information

How Does Your Real-time Data Look?

How Does Your Real-time Data Look? How Does Your Real-time Data Look? By Supreet Oberoi Real-Time Innovations, Inc. 385 Moffett Park Drive Sunnyvale, CA 94089 www.rti.com Introduction Are all real-time distributed applications supposed

More information

Software Development & Education Center

Software Development & Education Center Software Development & Education Center Embedded Linux & Device Drivers Embedded Linux & Device Drivers Introduction The course is designed for those who want to pursue Linux based Embedded Systems. Embedded

More information

440GX Application Note

440GX Application Note Overview of TCP/IP Acceleration Hardware January 22, 2008 Introduction Modern interconnect technology offers Gigabit/second (Gb/s) speed that has shifted the bottleneck in communication from the physical

More information

IO virtualization. Michael Kagan Mellanox Technologies

IO virtualization. Michael Kagan Mellanox Technologies IO virtualization Michael Kagan Mellanox Technologies IO Virtualization Mission non-stop s to consumers Flexibility assign IO resources to consumer as needed Agility assignment of IO resources to consumer

More information

embos Real-Time Operating System embos plug-in for IAR C-Spy Debugger Document: UM01025 Software Version: 3.0 Revision: 0 Date: September 18, 2017

embos Real-Time Operating System embos plug-in for IAR C-Spy Debugger Document: UM01025 Software Version: 3.0 Revision: 0 Date: September 18, 2017 embos Real-Time Operating System embos plug-in for IAR C-Spy Debugger Document: UM01025 Software Version: 3.0 Revision: 0 Date: September 18, 2017 A product of SEGGER Microcontroller GmbH & Co. KG www.segger.com

More information

Model Based Development of Embedded Control Software

Model Based Development of Embedded Control Software Model Based Development of Embedded Control Software Part 4: Supported Target Platforms Claudiu Farcas Credits: MoDECS Project Team, Giotto Department of Computer Science cs.uni-salzburg.at Current execution

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance 13.2 Silberschatz, Galvin

More information

Mini USB 3.0 Dual Display Dock

Mini USB 3.0 Dual Display Dock Mini USB 3.0 Dual Display Dock VGA & HDMI Dual Display / Gigabit Ethernet / USB 3.0 Hub QUICK INSTALLATION GUIDE - 1 - INTRODUCTION Thanks for purchasing the Mini USB 3.0 Dual Display Dock. USB Type C

More information

Live Migration of Direct-Access Devices. Live Migration

Live Migration of Direct-Access Devices. Live Migration Live Migration of Direct-Access Devices Asim Kadav and Michael M. Swift University of Wisconsin - Madison Live Migration Migrating VM across different hosts without noticeable downtime Uses of Live Migration

More information

Much Faster Networking

Much Faster Networking Much Faster Networking David Riddoch driddoch@solarflare.com Copyright 2016 Solarflare Communications, Inc. All rights reserved. What is kernel bypass? The standard receive path The standard receive path

More information

IP over IB Protocol. Introduction CHAPTER

IP over IB Protocol. Introduction CHAPTER CHAPTER 3 The following sections appear in this chapter: Introduction, page 3-1 Manually Configure IPoIB for Default IB Partition, page 3-2 Subinterfaces, page 3-2 Verify IPoIB Functionality, page 3-5

More information

Chapter 2: Operating-System Structures

Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System

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

Chapter 13: I/O Systems

Chapter 13: I/O Systems Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance 13.2 Silberschatz, Galvin

More information

Android App Development

Android App Development Android App Development Outline Introduction Android Fundamentals Android Studio Tutorials Introduction What is Android? A software platform and operating system for mobile devices Based on the Linux kernel

More information

NEC Express5800/ft series - Fault-tolerant technology

NEC Express5800/ft series - Fault-tolerant technology WHITE PAPER NEC Express5800/ft series - Fault-tolerant technology 1. Introduction In general, a fault tolerant system requires expert knowledge with high cost, and it is used for niche market currently.

More information

Avaya ExpertNet Lite Assessment Tool

Avaya ExpertNet Lite Assessment Tool IP Telephony Contact Centers Mobility Services WHITE PAPER Avaya ExpertNet Lite Assessment Tool April 2005 avaya.com Table of Contents Overview... 1 Network Impact... 2 Network Paths... 2 Path Generation...

More information

Roadmap. Tevfik Koşar. CSE 421/521 - Operating Systems Fall Lecture - II OS Structures. University at Buffalo. OS Design and Implementation

Roadmap. Tevfik Koşar. CSE 421/521 - Operating Systems Fall Lecture - II OS Structures. University at Buffalo. OS Design and Implementation CSE 421/521 - Operating Systems Fall 2013 Lecture - II OS Structures Tevfik Koşar University at Buffalo August 29 th, 2013 1 Roadmap OS Design and Implementation Different Design Approaches Major OS Components!

More information

Stacked Vlan: Performance Improvement and Challenges

Stacked Vlan: Performance Improvement and Challenges Stacked Vlan: Performance Improvement and Challenges Toshiaki Makita NTT Tokyo, Japan makita.toshiaki@lab.ntt.co.jp Abstract IEEE 802.1ad vlan protocol type was introduced in kernel 3.10, which has encouraged

More information

OS Design Approaches. Roadmap. System Calls. Tevfik Koşar. Operating System Design and Implementation. CSE 421/521 - Operating Systems Fall 2013

OS Design Approaches. Roadmap. System Calls. Tevfik Koşar. Operating System Design and Implementation. CSE 421/521 - Operating Systems Fall 2013 CSE 421/521 - Operating Systems Fall 2013 Lecture - II OS Structures Roadmap OS Design and Implementation Different Design Approaches Major OS Components!! Memory management! CPU Scheduling! I/O Management

More information

REAL SPEED. Neterion : The Leader in 10 Gigabit Ethernet adapters

REAL SPEED. Neterion : The Leader in 10 Gigabit Ethernet adapters experience10 GbE REAL SPEED Neterion : The Leader in 10 Gigabit Ethernet adapters With data volumes growing at explosive rates, network bandwidth has become a critical factor in the IT infrastructure of

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

QNX SDK for Apps and Media 1.0. Multimedia Architecture Guide

QNX SDK for Apps and Media 1.0. Multimedia Architecture Guide QNX SDK for Apps and Media 1.0 QNX SDK for Apps and Media 1.0 Multimedia Architecture Guide 2014, QNX Software Systems Limited, a subsidiary of BlackBerry. All rights reserved. QNX Software Systems Limited

More information

Improving the Reliability of Commodity Operating Systems. Mike Swift, Brian Bershad, Hank Levy University of Washington

Improving the Reliability of Commodity Operating Systems. Mike Swift, Brian Bershad, Hank Levy University of Washington Improving the Reliability of Commodity Operating Systems Mike Swift, Brian Bershad, Hank Levy University of Washington Outline Introduction Vision Design Evaluation Summary The Problem Operating system

More information

WIND RIVER TITANIUM CLOUD FOR TELECOMMUNICATIONS

WIND RIVER TITANIUM CLOUD FOR TELECOMMUNICATIONS WIND RIVER TITANIUM CLOUD FOR TELECOMMUNICATIONS Carrier networks are undergoing their biggest transformation since the beginning of the Internet. The ability to get to market quickly and to respond to

More information

Cisco Unified Computing System Delivering on Cisco's Unified Computing Vision

Cisco Unified Computing System Delivering on Cisco's Unified Computing Vision Cisco Unified Computing System Delivering on Cisco's Unified Computing Vision At-A-Glance Unified Computing Realized Today, IT organizations assemble their data center environments from individual components.

More information

Silberschatz and Galvin Chapter 12

Silberschatz and Galvin Chapter 12 Silberschatz and Galvin Chapter 12 I/O Systems CPSC 410--Richard Furuta 3/19/99 1 Topic overview I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O requests to hardware operations

More information

OpenMPDK and unvme User Space Device Driver for Server and Data Center

OpenMPDK and unvme User Space Device Driver for Server and Data Center OpenMPDK and unvme User Space Device Driver for Server and Data Center Open source for maximally utilizing Samsung s state-of-art Storage Solution in shorter development time White Paper 2 Target Audience

More information

IBM Europe Announcement ZP , dated November 6, 2007

IBM Europe Announcement ZP , dated November 6, 2007 IBM Europe Announcement ZP07-0484, dated November 6, 2007 IBM WebSphere Front Office for Financial Markets V2.0 and IBM WebSphere MQ Low Latency Messaging V2.0 deliver high speed and high throughput market

More information

with Sniffer10G of Network Adapters The Myricom ARC Series DATASHEET Delivering complete packet capture functionality. a cost-effective package

with Sniffer10G of Network Adapters The Myricom ARC Series DATASHEET Delivering complete packet capture functionality. a cost-effective package The Myricom ARC Series of Network Adapters with Sniffer10G Delivering complete packet capture functionality in a cost-effective package CSPi s Myricom ARC Series of multi-port network adapters with Sniffer10G

More information

NETWORK SIMULATION USING NCTUns. Ankit Verma* Shashi Singh* Meenakshi Vyas*

NETWORK SIMULATION USING NCTUns. Ankit Verma* Shashi Singh* Meenakshi Vyas* NETWORK SIMULATION USING NCTUns Ankit Verma* Shashi Singh* Meenakshi Vyas* 1. Introduction: Network simulator is software which is very helpful tool to develop, test, and diagnose any network protocol.

More information

VERITAS SANPoint Storage Appliance Overview of an Open Platform for the Implementation of Intelligent Storage Server

VERITAS SANPoint Storage Appliance Overview of an Open Platform for the Implementation of Intelligent Storage Server VERITAS SANPoint Storage Appliance Overview of an Open Platform for the Implementation of Intelligent Storage Server Table of Contents Introduction...1 Block I/O and Block Servers...3 File I/O and File

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

The Fruits of Their Labor

The Fruits of Their Labor The Fruits of Their Labor Welch s saves money by upgrading to new IBM Power servers and the IBM XIV Storage System CUSTOMER: Welch's Food Inc., a cooperative HEADQUARTERS:Concord, Mass. BUSINESS: Leading

More information

Module 2 Storage Network Architecture

Module 2 Storage Network Architecture Module 2 Storage Network Architecture 1. SCSI 2. FC Protocol Stack 3. SAN:FC SAN 4. IP Storage 5. Infiniband and Virtual Interfaces FIBRE CHANNEL SAN 1. First consider the three FC topologies pointto-point,

More information

RAPIDIO USAGE IN A BIG DATA ENVIRONMENT

RAPIDIO USAGE IN A BIG DATA ENVIRONMENT RAPIDIO USAGE IN A BIG DATA ENVIRONMENT September 2015 Author: Jorge Costa Supervisor(s): Olof Barring PROJECT SPECIFICATION RapidIO (http://rapidio.org/) technology is a package-switched high-performance

More information

SAP High-Performance Analytic Appliance on the Cisco Unified Computing System

SAP High-Performance Analytic Appliance on the Cisco Unified Computing System Solution Overview SAP High-Performance Analytic Appliance on the Cisco Unified Computing System What You Will Learn The SAP High-Performance Analytic Appliance (HANA) is a new non-intrusive hardware and

More information

OPEN SOURCE SOFTWARE A Tool for Digital Transformation in the Broadcasting Industry

OPEN SOURCE SOFTWARE A Tool for Digital Transformation in the Broadcasting Industry OPEN SOURCE SOFTWARE A Tool for Digital Transformation in the Broadcasting Industry Eloi Bail (MSc) Senior Software Consultant Amir Taherizadeh (Ph.D., M.B.A.) Tech. Marketing and Business Development

More information

Cisco How Virtual Private Networks Work

Cisco How Virtual Private Networks Work Table of Contents How Virtual Private Networks Work...1 Introduction...1 Before You Begin...1 Conventions...1 Prerequisites...1 Components Used...1 Background Information...1 What Makes a VPN?...2 Analogy:

More information

OpenOnload. Dave Parry VP of Engineering Steve Pope CTO Dave Riddoch Chief Software Architect

OpenOnload. Dave Parry VP of Engineering Steve Pope CTO Dave Riddoch Chief Software Architect OpenOnload Dave Parry VP of Engineering Steve Pope CTO Dave Riddoch Chief Software Architect Copyright 2012 Solarflare Communications, Inc. All Rights Reserved. OpenOnload Acceleration Software Accelerated

More information

WebSphere Application Server Base Performance

WebSphere Application Server Base Performance WebSphere Application Server Base Performance ii WebSphere Application Server Base Performance Contents WebSphere Application Server Base Performance............. 1 Introduction to the WebSphere Application

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

Operating System Services

Operating System Services CSE325 Principles of Operating Systems Operating System Services David Duggan dduggan@sandia.gov January 22, 2013 Reading Assignment 3 Chapter 3, due 01/29 1/23/13 CSE325 - OS Services 2 What Categories

More information

Cisco 1000 Series Connected Grid Routers QoS Software Configuration Guide

Cisco 1000 Series Connected Grid Routers QoS Software Configuration Guide Cisco 1000 Series Connected Grid Routers QoS Software Configuration Guide January 17, 2012 Americas Headquarters Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134-1706 USA http://www.cisco.com

More information

Network Processing Technology for Terminals Enabling High-quality Services

Network Processing Technology for Terminals Enabling High-quality Services : Services for Hikari Era: Terminal Component Technologies Network Processing Technology for Terminals Enabling High-quality Services Yukikuni Nishida and Keiichi Koike Abstract This article describes

More information

Chapter 2. Operating-System Structures

Chapter 2. Operating-System Structures Chapter 2 Operating-System Structures 2.1 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System

More information

Underwater Glider Embedded Control System Design Based on QNX Real-time Kernel

Underwater Glider Embedded Control System Design Based on QNX Real-time Kernel Underwater Glider Embedded Control System Design Based on QNX Real-time Kernel Xibo Wang 1,2, Song Liu 2, Ge Yu 1, Qian Li 2 1. College of Information Science and Engineering, Northeastern University,

More information

Reuters Market Data System

Reuters Market Data System Reuters Market Data System RMDS 6.0 on Sun Fire X4150 Server with Cisco (1GbE) Ethernet Infrastructure DISCLAIMER: The test results and recommendations contained in this report are made available for informational

More information

CPSC 341 OS & Networks. Introduction. Dr. Yingwu Zhu

CPSC 341 OS & Networks. Introduction. Dr. Yingwu Zhu CPSC 341 OS & Networks Introduction Dr. Yingwu Zhu What to learn? Concepts Processes, threads, multi-processing, multithreading, synchronization, deadlocks, CPU scheduling, networks, security Practice:

More information

Symantec Network Security 7100 Series

Symantec Network Security 7100 Series Symantec Network Security 7100 Series Proactive intrusion prevention device protects against known and unknown attacks to secure critical networks transition can be accomplished transparent to any network

More information