Euf-Net-T1745 Arm® V8 Virtualization For

Total Page:16

File Type:pdf, Size:1020Kb

Euf-Net-T1745 Arm® V8 Virtualization For EUF-NET-T1745 ARM® V8 VIRTUALIZATION FOR LAYERSCAPE MULTICORE COMMUNICATIONS PROCESSORS MARCH 2016 [email protected] - SR. FAE EMEA 22 - טל אביב NXP TECH DAY EXTERNAL USE Agenda • Virtualization Introduction • Layerscape ARM ®v8 Virtualization Status & Roadmap • I/O in KVM Environments − Device Virtualization - virtio − Device Direct-Assignment - VFIO • Q&A 1 EXTERNAL USE VIRTUALIZATION INTRODUCTION 2 EXTERNAL USE Virtualization Technologies for QorIQ Layerscape architecture KVM Linux Containers Embedded Hypervisor • Linux ® Hypervisor • Low Overhead • Lightweight Hypervisor • Resource Virtualization • Isolation and Resource • Resource Partitioning Control in Linux • Resource • Para-Virtualization Oversubscription • Decreased Isolation • Failover support (Kernel sharing) • 3rd Party OSs • 3rd Party OSs VM VM App App App VM VM VM Cont Cont Cont App App App App App App OS OS LXC LXC LXC KVM OS OS OS Linux Linux ® Embedded Hypervisor Multicore Hardware Multicore Hardware Multicore Hardware 3 EXTERNAL USE KVM/QEMU – Overview • KVM/QEMU– open source Virtual Machine 1 Virtual Machine 2 virtualization technology based on the Linux kernel QEMU QEMU App App • KVM is a Linux kernel module • QEMU is a user space emulator that App OS OS uses KVM for acceleration • Run virtual machines alongside Linux KVM Linux applications Multicore • No or minimal OS changes required Hardware • Virtual I/O capabilities • Direct/pass thru I/O – assign I/O devices to VMs 4 EXTERNAL USE KVM/QEMU • QEMU is a user space emulator that uses KVM for acceleration − Uses dedicated threads for vcpus and I/O − KVM leverages hardware virtualization to run guest with higher privileges − Virtual chip emulation in kernel − I/O Provides dedicated virtio I/O devices and standard drivers in Linux kernel Uses VFIO Linux framework to direct assign physical PCI devices Direct notifications between I/O threads and KVM using eventfds vhost provides virtio emulation and I/O thread and in kernel Multi-queue virtio devices connected to multi-queue tap devices − Provides services for console, debug, reset, watchdog, etc 5 EXTERNAL USE Linux Containers • Linu XContainers is based on a Container Container collection of technologies including App App kernel components (cgroups, App namespaces) and user-space tools (LXC). Linux ® • OS level virtualization • Guest kernel is the same as the host kernel, but OS appears isolated 1 • Low overhead, lightweight, secure 1 7 12 partitioning of Linux applications 4 9 15 1 into different domains 15 17 21 4 7 Container 1 1 • Can control resource utilization of 1 3 Container 2 Container 3 domains– CPU, Memory, I/O • close to 0% performance overhead • process-level virtualization bandwidth 6 EXTERNAL USE Libvirt • A toolkit to interact with the Domain Domain virtualization capabilities of Linux (and other OSes / hypervisors) LXC KVM • Goal: to provide a common and LXC Qemu libvirtd stable layer sufficient to securely driver driver manage domains on a node, Libvirt API possibly remote Linux • Has drivers for KVM/QEMU and Linux containers • Many management applications supported Multicore Hardware • http://libvirt.org/ 7 EXTERNAL USE Linux Containers • Platforms supported: all … not platform dependent • Features − Technologies: LXC, Docker, Libvirt − Setups: Busybox system containers, application containers − Networking Shared with host Host interface assignment Virtual Ethernet device pair VLAN / MACVLAN USDPAA − Security: capabilities, seccomp, user namespace • Upstream status: upstream 8 EXTERNAL USE Container Technologies Other Container Flockport DockerHub Technologies Distribution Jails FreeBSD Client LXC virsh docker Zones Solaris OpenVZ Container LXD libvirtd Docker Linux Engine VServer (Daemon) Google Containers Low-level liblxc libvirt_lxc libcontainer API Migration Linux Namespaces cgroups secomp Kernel CRIU 9 EXTERNAL USE Container Comparison LXC/LXD Docker Libvirt • Full system and application containers • Single application virtualization engine • Virtualization high-level API with • Focus on performance and stability based on containers support for containers • Lightweight Linux containers • Focus on ease of use . Easy delivery of • Focus on unification with different apps in a Docker container virtualization technologies • Containers are like VMs with a fully functional OS • Each application has its own container. • Own version of container API – libvirt_lxc “Container as an app ” – tradeoff in order to fit the overall • Comprehensive set of tools for container architecture of libvirt lifecycle management • Docker restricts the container to a single process only • Developed by Red Hat • Data can be saved in a container or outside • Instances are ephemeral. Persistent data is stored in host • LXD allows you to use LXC to create containers on other machines • Trade off in complexity and constraints. Suitable for read only app that is ‘frozen in • LXD aiming to used hardware that state’ “guaranteed isolation of containers ” on the chip level • Container Distribution Platform – Docker Hub • Container distribution platform – Flockport.com • Developed by PaaS providers (dotCloud) • Developed by Ubuntu/Canonical “Blindingly fast virtualization” “Great application delivery mechanism” 10 EXTERNAL USE Containers vs Hypervisors Linux Embedded KVM Containers Hypervisor HW Support Needed? No Yes Yes Overhead Low Yes Yes Isolation Good High High Partitioning Yes Yes Yes Virtualization Yes Yes Yes Yes Yes Linux No Linux Multi OS RTOS (Linux Only) Bare-board Bare-board 3rd Party OSs 3rd Party OSs Features Failover Oversubscription Mainstream Mainstream Private Licensing Open Source Open Source Open Source Mature 11 EXTERNAL USE QORIQ LAYERSCAPE SDK VIRTUALIZATION STATUS & ROADMAP 12 EXTERNAL USE SDK Virtualization Status Technology e500v2 e500mc e5500 e6500 ARMv7 ARMv8 KVM-PPC Up Up Up Up KVM-ARM Leveraged Leveraging FSL Hypervisor Public Sources (bare metal) LXC Leveraged & Fixes Leveraging Leveraged Leveraging Libvirt Leveraged & Fixes • 3 complementary solutions supported on multiple platforms • Focus on enabling core virtualization support, upstreaming and good OOB experience in NXP SDK • I/O performance optimization in progress 13 EXTERNAL USE Layerscape ARM ®v8 Virtualization Roadmap LS1043 BSP 0.5 LS2 EAR 0.6 SDK 2.0 [KVM] Basic KVM [LXC] LXC with seccomp [KVM] [KVM] virtio [Docker] Docker engine • DPAA 2.x Direct Assignment v1 (VFIO) [LXC] LXC Support • PCI Device Assignment (VFIO-PCI) LS2080 SDK 1.0 Benchmarking Upstreaming Upstreaming [KVM] Kernel 4.1 & QEMU 2.4 [KVM] Benchmarking • MSI support [KVM] DPAA 2.x Direct [KVM] DPAA 2.x Direct • vhost-net, vhost-blk dataplane Assignment v2 (VFIO) Assignment v2 (VFIO) [LXC] LXC [Libvirt] Libvirt POC POC LS2 POC POC [KVM] [KVM] [KVM] [KVM] PCI device assignment to • LS2 User Space (e.g ODP) • Performance improvements • DPAA 2.x Direct Assignment KVM VMs direct assignment in guest • Direct assignment of with interrupts [LXC] CRIU Demo • Performance improvements platform devices • KVM-RT on LS2 • LE Guest on BE Host • virtio-crypto demo [Docker] Docker engine on LS2 • BE Guest on LE Host • USB pass-through • Direct assignment of SEC • Shared-memory (ivshmem) • DPAA 2.x vhost-user optimizations • Live Migration Demo 2015 2016 1Q 2Q 3Q Color Legend Italic features depend on upstream support Current Release Released 14 EXTERNAL USE Roadmap Date Major Release KVM - Out-Of-Box RFS Enablement • Required components : − KVM support enabled in kernel − Guest image − Guest root file system − QEMU Kernel config Guest rootfs Guest image QEMU fsl-image-core NO NO NO NO fsl-image-full NO NO NO YES fsl-image-virt NO YES YES YES 15 EXTERNAL USE I/O IN KVM ENVIRONMENTS 16 EXTERNAL USE I/O Virtualization - Performance vs Flexibility Non-Interposable Interposable Bare Metal Trend Direct Assignment (VFIO) vhost- vhost user optim vhost virtio (para-virtualized) No Guest Modifications Emulated I/O Scalability and Performance and Scalability Flexibility 17 EXTERNAL USE Device Usage in Virtual Environments Direct Access Partitionable Emulated Para-Virtualized HW • Fast native performance • Hardware partitioned • Driver in Hypervisor • Driver in Hypervisor • Direct access to hardware • One hardware block • Emulation in Hypervisor • Modified Drivers in • Unmodified Drivers in Guest Guest OS OS OS OS OS OS OS OS Custom Custom Driver Driver Driver Driver Driver Driver Driver Emulation Driver Driver I/O I/O I/O I/O I/O Hardware/software access Hypercalls Traps 18 EXTERNAL USE DEVICE VIRTUALIZATION VIRTIO 19 EXTERNAL USE virtio virtio- virtio- virtio- virtio- virtio- virtio- console blk pci net scsi balloon Guest • Device abstraction layer of para- Linux virtio virtualized hypervisor transport −Standard for VMs/VNFs Host Linux / QEMU −Appearance as physical devices virtio back-end drivers −Uses standard virtual drivers and discovery mechanisms virtio-net : Ethernet virtual driver virtio frontend virtio frontend vhost-net : optimizes Ethernet virtual driver by eliminating QEMU context switch virtio-pci • Backend drivers are vendor specific in host Linux; transparent to VM/VNFs Sources: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualization_Tuning_and_Optimization_Guide 20 EXTERNAL USE virtio • Device facilities − Device status field / Feature bits / Device Configuration space / virtqueues • Transport protocols: PCI, MMIO • virtio specification, defined by OASIS technical committee − Straightforward - use normal bus mechanisms for interrupts and DMA − Efficient - rings
Recommended publications
  • Effective Virtual CPU Configuration with QEMU and Libvirt
    Effective Virtual CPU Configuration with QEMU and libvirt Kashyap Chamarthy <[email protected]> Open Source Summit Edinburgh, 2018 1 / 38 Timeline of recent CPU flaws, 2018 (a) Jan 03 • Spectre v1: Bounds Check Bypass Jan 03 • Spectre v2: Branch Target Injection Jan 03 • Meltdown: Rogue Data Cache Load May 21 • Spectre-NG: Speculative Store Bypass Jun 21 • TLBleed: Side-channel attack over shared TLBs 2 / 38 Timeline of recent CPU flaws, 2018 (b) Jun 29 • NetSpectre: Side-channel attack over local network Jul 10 • Spectre-NG: Bounds Check Bypass Store Aug 14 • L1TF: "L1 Terminal Fault" ... • ? 3 / 38 Related talks in the ‘References’ section Out of scope: Internals of various side-channel attacks How to exploit Meltdown & Spectre variants Details of performance implications What this talk is not about 4 / 38 Related talks in the ‘References’ section What this talk is not about Out of scope: Internals of various side-channel attacks How to exploit Meltdown & Spectre variants Details of performance implications 4 / 38 What this talk is not about Out of scope: Internals of various side-channel attacks How to exploit Meltdown & Spectre variants Details of performance implications Related talks in the ‘References’ section 4 / 38 OpenStack, et al. libguestfs Virt Driver (guestfish) libvirtd QMP QMP QEMU QEMU VM1 VM2 Custom Disk1 Disk2 Appliance ioctl() KVM-based virtualization components Linux with KVM 5 / 38 OpenStack, et al. libguestfs Virt Driver (guestfish) libvirtd QMP QMP Custom Appliance KVM-based virtualization components QEMU QEMU VM1 VM2 Disk1 Disk2 ioctl() Linux with KVM 5 / 38 OpenStack, et al. libguestfs Virt Driver (guestfish) Custom Appliance KVM-based virtualization components libvirtd QMP QMP QEMU QEMU VM1 VM2 Disk1 Disk2 ioctl() Linux with KVM 5 / 38 libguestfs (guestfish) Custom Appliance KVM-based virtualization components OpenStack, et al.
    [Show full text]
  • Linux Software User's Manual
    New Generation Systems (NGS) Linux Software User’s Manual Version 1.0, September 2019 www.moxa.com/product © 2019 Moxa Inc. All rights reserved. New Generation Systems (NGS) Linux Software User’s Manual The software described in this manual is furnished under a license agreement and may be used only in accordance with the terms of that agreement. Copyright Notice © 2019 Moxa Inc. All rights reserved. Trademarks The MOXA logo is a registered trademark of Moxa Inc. All other trademarks or registered marks in this manual belong to their respective manufacturers. Disclaimer Information in this document is subject to change without notice and does not represent a commitment on the part of Moxa. Moxa provides this document as is, without warranty of any kind, either expressed or implied, including, but not limited to, its particular purpose. Moxa reserves the right to make improvements and/or changes to this manual, or to the products and/or the programs described in this manual, at any time. Information provided in this manual is intended to be accurate and reliable. However, Moxa assumes no responsibility for its use, or for any infringements on the rights of third parties that may result from its use. This product might include unintentional technical or typographical errors. Changes are periodically made to the information herein to correct such errors, and these changes are incorporated into new editions of the publication. Technical Support Contact Information www.moxa.com/support Moxa Americas Moxa China (Shanghai office) Toll-free: 1-888-669-2872 Toll-free: 800-820-5036 Tel: +1-714-528-6777 Tel: +86-21-5258-9955 Fax: +1-714-528-6778 Fax: +86-21-5258-5505 Moxa Europe Moxa Asia-Pacific Tel: +49-89-3 70 03 99-0 Tel: +886-2-8919-1230 Fax: +49-89-3 70 03 99-99 Fax: +886-2-8919-1231 Moxa India Tel: +91-80-4172-9088 Fax: +91-80-4132-1045 Table of Contents 1.
    [Show full text]
  • KVM Based Virtualization and Remote Management Srinath Reddy Pasunuru St
    St. Cloud State University theRepository at St. Cloud State Culminating Projects in Information Assurance Department of Information Systems 5-2018 KVM Based Virtualization and Remote Management Srinath Reddy Pasunuru St. Cloud State University, [email protected] Follow this and additional works at: https://repository.stcloudstate.edu/msia_etds Recommended Citation Pasunuru, Srinath Reddy, "KVM Based Virtualization and Remote Management" (2018). Culminating Projects in Information Assurance. 53. https://repository.stcloudstate.edu/msia_etds/53 This Starred Paper is brought to you for free and open access by the Department of Information Systems at theRepository at St. Cloud State. It has been accepted for inclusion in Culminating Projects in Information Assurance by an authorized administrator of theRepository at St. Cloud State. For more information, please contact [email protected]. 1 KVM Based Virtualization and Remote Management by Srinath Reddy Pasunuru A Starred Paper Submitted to the Graduate Faculty of St. Cloud State University in Partial Fulfillment of the Requirements for the Degree Master of Science in Information Assurance May, 2018 Starred Paper Committee Susantha Herath, Chairperson Ezzat Kirmani Sneh Kalia 2 Abstract In the recent past, cloud computing is the most significant shifts and Kernel Virtual Machine (KVM) is the most commonly deployed hypervisor which are used in the IaaS layer of the cloud computing systems. The Hypervisor is the one which provides the complete virtualization environment which will intend to virtualize as much as hardware and systems which will include the CPUs, Memory, network interfaces and so on. Because of the virtualization technologies such as the KVM and others such as ESXi, there has been a significant decrease in the usage if the resources and decrease in the costs involved.
    [Show full text]
  • Man Pages Section 3 Library Interfaces and Headers
    man pages section 3: Library Interfaces and Headers Part No: 816–5173–16 September 2010 Copyright © 2010, Oracle and/or its affiliates. All rights reserved. This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this is software or related software documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable: U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are “commercial computer software” or “commercial technical data” pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms setforth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle America, Inc., 500 Oracle Parkway, Redwood City, CA 94065.
    [Show full text]
  • DA-681 Series Linux User's Manual V2
    DA-681 Series Linux User’s Manual Second Edition, May 2009 www.moxa.com/product © 2009 Moxa Inc. All rights reserved. Reproduction without permission is prohibited. DA-681 Series Linux User’s Manual The Moxa software described in this manual is furnished under a license agreement and may be used only in accordance with the terms of that agreement. Copyright Notice Copyright © 2009 Moxa Inc. All rights reserved. Reproduction without permission is prohibited. Trademarks MOXA is a registered trademark of Moxa Inc. All other trademarks or registered marks in this manual belong to their respective manufacturers. Disclaimer Information in this document is subject to change without notice and does not represent a commitment on the part of Moxa. Moxa provides this document “as is,” without warranty of any kind, either expressed or implied, including, but not limited to, its particular purpose. Moxa reserves the right to make improvements and/or changes to this manual, or to the products and/or the programs described in this manual, at any time. Information provided in this manual is intended to be accurate and reliable. However, Moxa assumes no responsibility for its use, or for any infringements on the rights of third parties that may result from its use. This product might include unintentional technical or typographical errors. Changes are periodically made to the information herein to correct such errors, and these changes are incorporated into new editions of the publication. Technical Support Contact Information www.moxa.com/support Moxa
    [Show full text]
  • Training USB Linux Drivers: Writing USB-2.0 and USB-3.0 Host and Gadget Drivers on Linux - Operating Systems: Android
    Training USB Linux Drivers: Writing USB-2.0 and USB-3.0 host and gadget drivers on Linux - Operating Systems: Android D8 - USB Linux Drivers Writing USB-2.0 and USB-3.0 host and gadget drivers on Linux Objectives Learn to write Linux drivers for USB-2.0 and USB-3.0 Explore the Linux USB host-driver stack Learn the structure of USB device drivers Discover USB gagdet drivers (2.0 and 3.0) Understand the support for OTG-2.0 and OTG-3.0. Understand the specifics of the Linux kernel in the management of devices and drivers. Learn to configure the Linux kernel for optimal hotplug management. Understand how hotplug events are generated and how to use them in drivers. Install and use external hotplug daemons: udev, libusb, etc ... Discover Linux kernel changes up to the latest versions (up to 3.6.39 and 3.x). Master the techniques of kernel debugging. We use a recent linux kernel, as provided by the distribution used or available on www.kernel.org. Labs are conducted on target boards, that can be: Atmel ARM9-based boards, with Lauterbach JTAG probes. Labs are conducted using the System Workbench for Linux - Basic Edition IDE, for which all trainees will get a free license, so that they can continue to work, after the training, in a convenient and efficient environment. --> Course environment A PC workstation and a target board per two trainees group. Printed course material. Prerequisite Good practice of C programming on Linux Good knowledge of Linux kernel and driver programming (see our D3 - Linux Drivers course and D7 - Linux drivers hotplug and power management courses) Plan First day D8 - USB Linux Drivers 09/23/21 Reminders on kernel programming Reminders on kernel module development Kernel objects Exercice: Writing a kernel module creating and using kernel objects and sets The sysfs file system Exercice: Interacting with a kernel module through a kernel object and the sysfs file sytem Hotplug Hotplug in the kernel uevents Exercice: Writing a kernel module sending hotplug events to a user mode program.
    [Show full text]
  • Intel® Realsense™ SDK 2.0 Github User Guide
    Intel® RealSense™ SDK 2.0 Github User Guide May 2018 Revision 002 Document Number: 337595-002 You may not use or facilitate the use of this document in connection with any infringement or other legal analysis concerning Intel products described herein. You agree to grant Intel a non-exclusive, royalty-free license to any patent claim thereafter drafted which includes subject matter disclosed herein. No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document. Intel technologies’ features and benefits depend on system configuration and may require enabled hardware, software or service activation. Performance varies depending on system configuration. No computer system can be absolutely secure. Check with the system manufacturer or retailer or learn more at intel.com. Intel technologies may require enabled hardware, specific software, or services activation. Check with the system manufacturer or retailer. The products described may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request. Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade. All information provided here is subject to change without notice. Contact the Intel representative to obtain the latest Intel product specifications and roadmaps. Copies of documents which have an order number and are referenced in this document may be obtained by calling 1-800-548- 4725 or visit www.intel.com/design/literature.htm.
    [Show full text]
  • Linux Kernel and Driver Development Training Slides
    Linux Kernel and Driver Development Training Linux Kernel and Driver Development Training © Copyright 2004-2021, Bootlin. Creative Commons BY-SA 3.0 license. Latest update: October 9, 2021. Document updates and sources: https://bootlin.com/doc/training/linux-kernel Corrections, suggestions, contributions and translations are welcome! embedded Linux and kernel engineering Send them to [email protected] - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 1/470 Rights to copy © Copyright 2004-2021, Bootlin License: Creative Commons Attribution - Share Alike 3.0 https://creativecommons.org/licenses/by-sa/3.0/legalcode You are free: I to copy, distribute, display, and perform the work I to make derivative works I to make commercial use of the work Under the following conditions: I Attribution. You must give the original author credit. I Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under a license identical to this one. I For any reuse or distribution, you must make clear to others the license terms of this work. I Any of these conditions can be waived if you get permission from the copyright holder. Your fair use and other rights are in no way affected by the above. Document sources: https://github.com/bootlin/training-materials/ - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 2/470 Hyperlinks in the document There are many hyperlinks in the document I Regular hyperlinks: https://kernel.org/ I Kernel documentation links: dev-tools/kasan I Links to kernel source files and directories: drivers/input/ include/linux/fb.h I Links to the declarations, definitions and instances of kernel symbols (functions, types, data, structures): platform_get_irq() GFP_KERNEL struct file_operations - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 3/470 Company at a glance I Engineering company created in 2004, named ”Free Electrons” until Feb.
    [Show full text]
  • A Lightweight Virtualization Layer with Hardware-Assistance for Embedded Systems
    PONTIFICAL CATHOLIC UNIVERSITY OF RIO GRANDE DO SUL FACULTY OF INFORMATICS COMPUTER SCIENCE GRADUATE PROGRAM A LIGHTWEIGHT VIRTUALIZATION LAYER WITH HARDWARE-ASSISTANCE FOR EMBEDDED SYSTEMS CARLOS ROBERTO MORATELLI Dissertation submitted to the Pontifical Catholic University of Rio Grande do Sul in partial fullfillment of the requirements for the degree of Ph. D. in Computer Science. Advisor: Prof. Fabiano Hessel Porto Alegre 2016 To my family and friends. “I’m doing a (free) operating system (just a hobby, won’t be big and professional like gnu) for 386(486) AT clones.” (Linus Torvalds) ACKNOWLEDGMENTS I would like to express my sincere gratitude to those who helped me throughout all my Ph.D. years and made this dissertation possible. First of all, I would like to thank my advisor, Prof. Fabiano Passuelo Hessel, who has given me the opportunity to undertake a Ph.D. and provided me invaluable guidance and support in my Ph.D. and in my academic life in general. Thank you to all the Ph.D. committee members – Prof. Carlos Eduardo Pereira (dissertation proposal), Prof. Rodolfo Jardim de Azevedo, Prof. Rômulo Silva de Oliveira and Prof. Tiago Ferreto - for the time invested and for the valuable feedback provided.Thank you Dr. Luca Carloni and the other SLD team members at the Columbia University in the City of New York for receiving me and giving me the opportunity to work with them during my ‘sandwich’ research internship. Eu gostaria de agraceder minha esposa, Ana Claudia, por ter estado ao meu lado durante todo o meu período de doutorado. O seu apoio e compreensão foram e continuam sendo muito importantes para mim.
    [Show full text]
  • AVR32701: AVR32AP7 USB Performance
    AVR32701: AVR32AP7 USB Performance Features 32-bit • Linux USB bulk transfer performance ATSTK1000 (32-bit SDRAM bus width) Microcontrollers ATNGW100 (16-bit SDRAM bus width) GadgetFS driver and gadgetfs-test application USB performance measurement tool Application Note 1 Introduction This application note documents the USB bulk transfer performance of the ATSTK®1000 and ATNGW100 boards running a 2.6.22-amtel.3 Linux® kernel. The tests are based on the Linux USB gadget driver framework. Rev. 32069A-AVR32-01/08 2 Benchmarking tools 2.1 Host side On the host side a Linux application communicates with the USB driver over the libusb library. It scans all enumerated USB devices and searches for a matching vendor/product ID. If such devices are found it configures them, writes and reads a specified amount of data to and from the device and measures the time needed for the transfer. These measurements are used to document the USB bulk transfer performance. This tool is available with this application note. 2.2 Device side To avoid kernel programming, a user space interface is available, GadgetFS. This will transfer all requests not handled by the kernel to user space and thus allowing a developer easy access to the USB interface. To provide this user space API a special gadget driver is needed. This is the GadgetFS driver. After loading this gadget into the kernel it provides a file system for the developer that can be used to communicate with the USB system. 1. Load the GadgetFS driver > modprobe gadgetfs 2. Make a directory for the mountpoint > mkdir /dev/gadget 3.
    [Show full text]
  • Ovirt Architecture
    oVirt Architecture Itamar Heim Presented here by Dan Kenigsberg [email protected] oVirt Overview 1 Agenda ● oVirt Components ● Engine ● Clients ● Host ● Engine Agent - VDSM ● Guest ● Storage Concepts ● Data Warehouse & Reports ● User flows oVirt Overview 2 Architecture From 30,000 Feet Servers Engine Client oVirt Overview 3 The Real World Web Clients Python SDK DB Python CLI Engine R LDAP E Server S T Guest agent Spice Guest client Shared Storage VDSM Host Local Storage oVirt Overview 4 oVirt Engine VM & Template Life Cycle Load HA create, schedule, snapshot Balancing Storage Configuration & Monitoring Network Configuration & Monitoring Host Host Host Host Register/Install Monitoring Maintenance Fencing Authentication, Authorization Inventory Audit oVirt Overview 5 oVirt Engine Postgres DB Active Directory Engine RHDS R E S IDM T oVirt Overview 6 The Real World Web Clients Python SDK DB Python CLI Engine R LDAP E Server S T Guest agent Spice Guest client Shared Storage VDSM Host Local Storage oVirt Overview 7 The Clients Admin Portal User Portal R Python SDK Engine E S T Python CLI oVirt Overview 8 Admin Portal oVirt Overview 9 User Portal oVirt Overview 10 Power User Portal oVirt Overview 11 REST API oVirt Overview 12 SDK oVirt Overview 13 CLI oVirt Overview 14 The Real World Web Clients Python SDK DB Python CLI Engine R LDAP E Server S T Guest agent Spice Guest client Shared Storage VDSM Host Local Storage oVirt Overview 15 The Host QEMU/KVM Fedora Engine MOM libvirt oVirt Node VDSM KSM Configuration Monitoring : Network, Storage, Host,
    [Show full text]
  • Vnfs in a CNF Environment
    VNFs in a CNF environment Monika Antoniak, Piotr Skamruk CodiLime Agenda ● Who are we? ● Business use case - use existing VNFs in a containerized set-up ● Technical solution to the problem ● Q&A Who we are? Who we are ● CodiLime has been providing networking engineering services since 2011 ● As part of our R&D efforts and based on our expertise with CNFs and VNFs, we have decided to explore this topic further ● Today we are presenting the working example Business use case Business case What if… ● You love the lightness of containers and use them on a daily basis ● You value the flexibility and resilience of the overall solution ● You want a simple way to deploy things ● You enjoy using kubernetes to manage your resources ● ...and you use a business critical network function as a blackbox VM What can you do to get all of that? A step back: VNFs and CNFs VNF (Virtual Network Function): a well- CNF (Containerized Network Function): a known way to realize network functions in new way of providing required network virtualized or cloud environments functionality with the help of containers Software is provided as a VM image that Software is distributed as a container cannot be changed into a container image, image and can be managed using or is based on an operating system other container-management tools (like docker than Linux images in kubernetes env) VNF examples: vFW, vBNG, vEPC CNF examples: vCPE/cCPE, LDAP, DHCP Back to business Goal: a converged setup for running containerized and VM-based network functions ● using a single user interface
    [Show full text]