Display Virtualization with KVM for Automotive Systems

Size: px
Start display at page:

Download "Display Virtualization with KVM for Automotive Systems"

Transcription

1 Display Virtualization with KVM for Automotive Systems Automotive Linux Summit 2018 Tokyo, Japan Laurent Pinchart

2

3 In computing, virtualization refers to the act of creating a virtual [...] version of something. Virtualization

4 Virtualization

5 Virtualization Simulation Emulation Virtualization

6 Virtualization

7 Virtualization Memory

8 Virtualization CPU

9 Virtualization I/O Passthrough

10 Virtualization I/O Emulation

11 Virtualization Disk - Emulation

12 Virtualization I/O Para-virtualization

13 Virtualization Disk - Para-virtualization

14 Virtio

15 Virtio + Entropy, balloon, sockets, SCSI,...

16 Display Virtualization

17 Guest Userspace [DRM/KMS] Guest Kernel Display Driver [QEMU Protocol] Guest QEMU Display Device SDL{1,2} SDL Display Backend [Display Server Protocol] Host Display Server Host [DRM/KMS] Host Kernel Display Driver [MMIO] HW Display Controller Display Virtualization QEMU

18 cirrus pl110 qxl xlnx.v-dp... vga virtio-gpu xenfb vmware-vga omap-dss omap-lcdc... Guest Userspace [DRM/KMS] Guest Kernel Display Driver [QEMU Protocol] QEMU Display Device SDL{1,2} SDL Display Backend [Display Server Protocol] Host Display Server [DRM/KMS] Host Kernel Display Driver [MMIO] HW Display Controller Guest Host Display Virtualization QEMU

19 X11 Wayland DirectFB KMS/DRM (fbcon)... Guest Userspace [DRM/KMS] Guest Kernel Display Driver [QEMU Protocol] QEMU Display Device SDL{1,2} SDL Display Backend [Display Server Protocol] Host Display Server [DRM/KMS] Host Kernel Display Driver [MMIO] HW Display Controller Guest Host Display Virtualization QEMU

20 Guest Userspace [DRM/KMS] Guest Kernel virtio-gpu Driver [virtio-gpu protocol] Guest QEMU virtio-gpu Device SDL2 SDL2 X11 Backend [X11 Protocol] X.org X.org fbdev Driver Host [DRM/KMS] Host Kernel rcar-du Driver [MMIO & DMA] R-Car DU Display Virtualization QEMU

21 Guest Userspace [DRM/KMS] Guest Kernel virtio-gpu Driver [virtio-gpu protocol] Guest QEMU virtio-gpu Device SDL2 SDL2 X11 Backend [X11 Protocol] X.org X.org fbdev Driver Host [DRM/KMS] Host Kernel rcar-du Driver [MMIO & DMA] R-Car DU H3 DU Virtualization virtio-gpu

22 ~5 fps H3 DU Virtualization virtio-gpu

23 > hw > display > virtio-gpu.c static void virtio_gpu_simple_process_cmd(virtiogpu *g, struct virtio_gpu_ctrl_command *cmd) {... switch (cmd->cmd_hdr.type) { case VIRTIO_GPU_CMD_RESOURCE_CREATE_2D: virtio_gpu_resource_create_2d(g, cmd); break; case VIRTIO_GPU_CMD_RESOURCE_ATTACH_BACKING: virtio_gpu_resource_attach_backing(g, cmd); break; case VIRTIO_GPU_CMD_TRANSFER_TO_HOST_2D: virtio_gpu_transfer_to_host_2d(g, cmd); break;... }... } H3 DU Virtualization virtio-gpu

24 > hw > display > virtio-gpu.c static void virtio_gpu_resource_attach_backing(virtiogpu *g, struct virtio_gpu_ctrl_command *cmd) { struct virtio_gpu_simple_resource *res; }... res = virtio_gpu_find_resource(g, ab.resource_id);... ret = virtio_gpu_create_mapping_iov(&ab, cmd, &res->addrs, &res->iov);... H3 DU Virtualization virtio-gpu

25 > hw > display > virtio-gpu.c static void virtio_gpu_transfer_to_host_2d(virtiogpu *g, struct virtio_gpu_ctrl_command *cmd) {... void *img_data = pixman_image_get_data(res->image); for (h = 0; h < t2d.r.height; h++) { src_offset = t2d.offset + stride * h; dst_offset = (t2d.r.y + h) * stride + (t2d.r.x * bpp); } }... iov_to_buf(res->iov, res->iov_cnt, src_offset, (uint8_t *)img_data + dst_offset, t2d.r.width * bpp); H3 DU Virtualization virtio-gpu

26 > include > qemu > iov.h static inline size_t iov_to_buf(const struct iovec *iov, const unsigned int iov_cnt, size_t offset, void *buf, size_t bytes) { if ( builtin_constant_p(bytes) && iov_cnt && offset <= iov[0].iov_len && bytes <= iov[0].iov_len - offset) { memcpy(buf, iov[0].iov_base + offset, bytes); return bytes; } else { return iov_to_buf_full(iov, iov_cnt, offset, buf, bytes); } } H3 DU Virtualization virtio-gpu

27 memcpy() H3 DU Virtualization virtio-gpu

28 4.35 KVM_SET_USER_MEMORY_REGION Capability: KVM_CAP_USER_MEM Architectures: all Type: vm ioctl Parameters: struct kvm_userspace_memory_region (in) Returns: 0 on success, -1 on error... This ioctl allows the user to create or modify a guest physical memory slot. When changing an existing slot, it may be moved in the guest physical memory space, or its flags may be modified. It may not be resized. Slots may not overlap in guest physical address space. H3 DU Virtualization virtio-gpu

29 Guest Userspace [DRM/KMS] Guest Kernel R-Car DU Driver [MMIO] Guest QEMU Host R-Car DU [DMA] IOMMU H3 DU Virtualization Pass-through

30 Planes VSPD0 DU0 VGA Planes VSPD1 DU1 HDMI0 Planes VSPD2 DU2 HDMI1 Planes VSPD3 DU3 LVDS R-Car H3 DU

31 Planes VSPD0 DU0 VGA Planes VSPD1 DU1 HDMI0 Planes VSPD2 DU2 HDMI1 Planes VSPD3 DU3 LVDS R-Car H3 DU

32 Planes VSPD0 DU0 VGA Planes VSPD1 DU1 HDMI0 Planes VSPD2 DU2 HDMI1 DU3 LVDS R-Car H3 DU

33 Guest Userspace [DRM/KMS] Guest Kernel virtio-gpu Driver [virtio-kms protocol] Guest QEMU virtio-kms Device Host [DRM/KMS] Host Kernel rcar-du Driver [MMIO & DMA] R-Car DU Display Virtualization virtio-kms

34 Guest Application [Wayland Protocol] Wayland Proxy [/dev/wl] Guest Kernel virtio-wl Driver [virtio-wl protocol] crosvm virtio-wl Device crosvm [Wayland Protocol] Wayland Compositor [DRM/KMS] Host Kernel rcar-du Driver [MMIO & DMA] R-Car DU Guest Host Display Virtualization virtio-wl

35 %20Introduction%20to%20PCI%20Device%20Assignment %20with%20VFIO%20-%20Williamson%20-% _0.pdf Neo_Jia_and_Kirti_Wankhede-vGPU_on_KVM- A_VFIO_based_Framework.pdf Resources

36 Contact

37 ?!

38 ご清聴ありがとうございました!

Display and Kernel Review and Future

Display and Kernel Review and Future Display and Kernel Review and Future Kernel Recipes 2013 Paris Laurent Pinchart laurent.pinchart@ideasonboard.com Problem Definition display / / graphics / / video display / graphics / video Problem -

More information

What is KVM? KVM patch. Modern hypervisors must do many things that are already done by OSs Scheduler, Memory management, I/O stacks

What is KVM? KVM patch. Modern hypervisors must do many things that are already done by OSs Scheduler, Memory management, I/O stacks LINUX-KVM The need for KVM x86 originally virtualization unfriendly No hardware provisions Instructions behave differently depending on privilege context(popf) Performance suffered on trap-and-emulate

More information

Generic Buffer Sharing Mechanism for Mediated Devices

Generic Buffer Sharing Mechanism for Mediated Devices Generic Buffer Sharing Mechanism for Mediated Devices Tina Zhang tina.zhang@intel.com 1 Agenda Background Generic Buffer Sharing in MDEV Framework Status Summary 2 Virtual Function I/O Virtual Function

More information

Marek Szyprowski Samsung R&D Institute Poland

Marek Szyprowski Samsung R&D Institute Poland Marek Szyprowski m.szyprowski@samsung.com Samsung R&D Institute Poland Quick Introduction to Linux DRM A few words on atomic KMS API Exynos DRM IPP subsystem New API proposal Some code examples Summary

More information

Red Hat Enterprise Virtualization Hypervisor Roadmap. Bhavna Sarathy Senior Technology Product Manager, Red Hat

Red Hat Enterprise Virtualization Hypervisor Roadmap. Bhavna Sarathy Senior Technology Product Manager, Red Hat Red Hat Enterprise Virtualization Hypervisor Roadmap Bhavna Sarathy Senior Technology Product Manager, Red Hat RHEV Hypervisor 1 RHEV Hypervisor Themes & 2 Architecture & Use cases 3 Q&A 4 Future 5 } HYPERVISOR

More information

KVM on POWER Status update & IO Architecture

KVM on POWER Status update & IO Architecture KVM on POWER Status update & IO Architecture Benjamin Herrenschmidt benh@au1.ibm.com IBM Linux Technology Center November 2012 Linux is a registered trademark of Linus Torvalds. Reminders 2 different virtualization

More information

Spring 2017 :: CSE 506. Introduction to. Virtual Machines. Nima Honarmand

Spring 2017 :: CSE 506. Introduction to. Virtual Machines. Nima Honarmand Introduction to Virtual Machines Nima Honarmand Virtual Machines & Hypervisors Virtual Machine: an abstraction of a complete compute environment through the combined virtualization of the processor, memory,

More information

Platform Device Assignment to KVM-on-ARM Virtual Machines via VFIO

Platform Device Assignment to KVM-on-ARM Virtual Machines via VFIO 2014 International Conference on Embedded and Ubiquitous Computing Platform Device Assignment to KVM-on-ARM Virtual Machines via VFIO Antonios Motakis, Alvise Rigo, Daniel Raho Virtual Open Systems Grenoble,

More information

Agenda. About us Why para-virtualize RDMA Project overview Open issues Future plans

Agenda. About us Why para-virtualize RDMA Project overview Open issues Future plans Agenda About us Why para-virtualize RDMA Project overview Open issues Future plans About us Marcel from KVM team in Redhat Yuval from Networking/RDMA team in Oracle This is a shared-effort open source

More information

Why you need a test strategy for your kernel development

Why you need a test strategy for your kernel development Why you need a test strategy for your kernel development OSS Japan 207 Tokyo Laurent Pinchart laurent.pinchart@ideasonboard.com @@ -4,6 4,20 @@ if (NOT ${U_CMAKE_BUILD_TYPE} MATCHES DEBUG) if (HAS_LTO_FLAG)

More information

VIRTIO-NET: VHOST DATA PATH ACCELERATION TORWARDS NFV CLOUD. CUNMING LIANG, Intel

VIRTIO-NET: VHOST DATA PATH ACCELERATION TORWARDS NFV CLOUD. CUNMING LIANG, Intel VIRTIO-NET: VHOST DATA PATH ACCELERATION TORWARDS NFV CLOUD CUNMING LIANG, Intel Agenda Towards NFV Cloud Background & Motivation vhost Data Path Acceleration Intro Design Impl Summary & Future Work Towards

More information

Porting Tizen-IVI 3.0 to an ARM based SoC Platform

Porting Tizen-IVI 3.0 to an ARM based SoC Platform Porting Tizen-IVI 3.0 to an ARM based SoC Platform Damian Hobson-Garcia Automotive Linux Summit July 1-2, 2014 Tokyo, Japan Tizen IVI support Until recently Intel architecture (x86) system Tizen IVI 2.0alpha,

More information

VIRTIO: VHOST DATA PATH ACCELERATION TORWARDS NFV CLOUD. CUNMING LIANG, Intel

VIRTIO: VHOST DATA PATH ACCELERATION TORWARDS NFV CLOUD. CUNMING LIANG, Intel VIRTIO: VHOST DATA PATH ACCELERATION TORWARDS NFV CLOUD CUNMING LIANG, Intel Agenda Towards NFV Cloud vhost Data Path Acceleration vdpa Intro vdpa Design vdpa Implementation Summary & Future Work Towards

More information

Quo Vadis Virtio? Michael S. Tsirkin Red Hat

Quo Vadis Virtio? Michael S. Tsirkin Red Hat Quo Vadis Virtio? 26 Michael S. Tsirkin Red Hat Uses material from https://lwn.net/kernel/ldd3/ Gcompris, tuxpaint, childplay Distributed under the Creative commons license, except logos which are C/TM

More information

Userspace NVMe Driver in QEMU

Userspace NVMe Driver in QEMU Userspace NVMe Driver in QEMU Fam Zheng Senior Software Engineer KVM Form 2017, Prague About NVMe Non-Volatile Memory Express A scalable host interface specification like SCSI and virtio Up to 64k I/O

More information

Virtualisation: The KVM Way. Amit Shah

Virtualisation: The KVM Way. Amit Shah Virtualisation: The KVM Way Amit Shah amit.shah@qumranet.com foss.in/2007 Virtualisation Simulation of computer system in software Components Processor Management: register state, instructions, exceptions

More information

A brief overview of DRM/KMS and its status in NetBSD

A brief overview of DRM/KMS and its status in NetBSD A brief overview of DRM/KMS and its status in NetBSD Taylor Riastradh Campbell campbell@mumble.net riastradh@netbsd.org AsiaBSDcon 2015 Tokyo, Japan March 13, 2015 No, not that DRM! DRM: Direct rendering

More information

ARM-KVM: Weather Report Korea Linux Forum

ARM-KVM: Weather Report Korea Linux Forum ARM-KVM: Weather Report Korea Linux Forum Mario Smarduch Senior Virtualization Architect m.smarduch@samsung.com 1 ARM-KVM This Year Key contributors Linaro, ARM Access to documentation & specialized HW

More information

Knut Omang Ifi/Oracle 20 Oct, Introduction to virtualization (Virtual machines) Aspects of network virtualization:

Knut Omang Ifi/Oracle 20 Oct, Introduction to virtualization (Virtual machines) Aspects of network virtualization: Software and hardware support for Network Virtualization part 2 Knut Omang Ifi/Oracle 20 Oct, 2015 32 Overview Introduction to virtualization (Virtual machines) Aspects of network virtualization: Virtual

More information

VGA Assignment Using VFIO. Alex Williamson October 21 st, 2013

VGA Assignment Using VFIO. Alex Williamson October 21 st, 2013 VGA Assignment Using VFIO alex.williamson@redhat.com October 21 st, 2013 Agenda Introduction to PCI & PCIe IOMMUs VFIO VGA VFIO VGA support Quirks, quirks, quirks Status and future Performance 2 A brief

More information

Task: provide isolated access to multiple PCI devices for multiple KVM guests on POWER8 box.

Task: provide isolated access to multiple PCI devices for multiple KVM guests on POWER8 box. VFIO on spapr/power Task: provide isolated access to multiple PCI devices for multiple KVM guests on POWER8 box. SR-IOV is the target. aik@ozlabs.ru What is what VFIO: provides userspace access to PCI

More information

Accelerating NVMe I/Os in Virtual Machine via SPDK vhost* Solution Ziye Yang, Changpeng Liu Senior software Engineer Intel

Accelerating NVMe I/Os in Virtual Machine via SPDK vhost* Solution Ziye Yang, Changpeng Liu Senior software Engineer Intel Accelerating NVMe I/Os in Virtual Machine via SPDK vhost* Solution Ziye Yang, Changpeng Liu Senior software Engineer Intel @optimistyzy Notices & Disclaimers Intel technologies features and benefits depend

More information

Virtio-blk Performance Improvement

Virtio-blk Performance Improvement Virtio-blk Performance Improvement Asias He , Red Hat Nov 8, 2012, Barcelona, Spain KVM FORUM 2012 1 Storage transport choices in KVM Full virtualization : IDE, SATA, SCSI Good guest

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

Toshiba Supports Make in India with our Experience and Technology

Toshiba Supports Make in India with our Experience and Technology Toshiba Supports Make in India with our Experience and Technology April 29th, 2015 Yoshiaki Inayama Managing Director Toshiba JSW Power Systems Pvt. Ltd. 2015 Toshiba Corporation 2015 Toshiba Corporation

More information

KVM Virtualized I/O Performance

KVM Virtualized I/O Performance KVM Virtualized I/O Performance Achieving Leadership I/O Performance Using Virtio- Blk-Data-Plane Technology Preview in Red Hat Enterprise Linux 6.4 Khoa Huynh, Ph.D. - Linux Technology Center, IBM Andrew

More information

Activities of LPI-Japan for Human Resource Development on Linux/OSS

Activities of LPI-Japan for Human Resource Development on Linux/OSS Activities of LPI-Japan for Human Resource Development on Linux/OSS 2011/10/18 Shinichi Matsuda Technology Manager Linux Professional Institute Japan, NPO LPI-Japan 2011. All rights reserved. Agenda Statistics

More information

KVM PERFORMANCE OPTIMIZATIONS INTERNALS. Rik van Riel Sr Software Engineer, Red Hat Inc. Thu May

KVM PERFORMANCE OPTIMIZATIONS INTERNALS. Rik van Riel Sr Software Engineer, Red Hat Inc. Thu May KVM PERFORMANCE OPTIMIZATIONS INTERNALS Rik van Riel Sr Software Engineer, Red Hat Inc. Thu May 5 2011 KVM performance optimizations What is virtualization performance? Optimizations in RHEL 6.0 Selected

More information

Architecting C++ apps

Architecting C++ apps Architecting C++ apps with a multi-device application platform John JT Thomas Director of Product Management jt@embarcadero.com @FireMonkeyPM blogs.embarcadero.com/jtembarcadero/ What is a multi-device

More information

KVM Weather Report. Amit Shah SCALE 14x

KVM Weather Report. Amit Shah SCALE 14x KVM Weather Report amit.shah@redhat.com SCALE 14x Copyright 2016, Licensed under the Creative Commons Attribution-ShareAlike License, CC-BY-SA. Virtualization Stack Virtualization Stack 3 QEMU Creates

More information

Hypervisor security. Evgeny Yakovlev, DEFCON NN, 2017

Hypervisor security. Evgeny Yakovlev, DEFCON NN, 2017 Hypervisor security Evgeny Yakovlev, DEFCON NN, 2017 whoami Low-level development in C and C++ on x86 UEFI, virtualization, security Jetico, Kaspersky Lab QEMU/KVM developer at Virtuozzo 2 Agenda Why hypervisor

More information

Storage Systems. NPTEL Course Jan K. Gopinath Indian Institute of Science

Storage Systems. NPTEL Course Jan K. Gopinath Indian Institute of Science Storage Systems NPTEL Course Jan 2013 (Lecture 11) K. Gopinath Indian Institute of Science USB Mass Storage Device A USB has a microcontroller that handles USB protocol a media controller that handles

More information

Media Controller (MC) and OMAP2+ Display Subsystem (DSS) Embedded Linux Conference, SFO, 2011 Sumit Semwal

Media Controller (MC) and OMAP2+ Display Subsystem (DSS) Embedded Linux Conference, SFO, 2011 Sumit Semwal Controller (MC) and OMAP+ Display Subsystem (DSS) Embedded Linux Conference, SFO, Sumit Semwal Agenda OMAP+ Display Subsystem (DSS) Overview of OMAP+ DSS Current software design DSS framework Interesting

More information

F3RP61 boot up with EPICS IOC

F3RP61 boot up with EPICS IOC F3RP61 boot up with EPICS IOC 中村卓也 (Takuya Nakamura) 三菱電機システムサービス (Mitsubishi Electric System & Service CO., LTD.) 2013.01.16 F3RP61 configuration CF card and NAS disk combination. (NAS : Network Attached

More information

Effective Virtual CPU Configuration in Nova

Effective Virtual CPU Configuration in Nova Effective Virtual CPU Configuration in Nova Kashyap Chamarthy OpenStack Summit Berlin, 2018 1 / 39 Timeline of recent CPU flaws, 2018 (a) Jan 03 Spectre v1: Bounds Check Bypass Jan

More information

Changpeng Liu. Cloud Storage Software Engineer. Intel Data Center Group

Changpeng Liu. Cloud Storage Software Engineer. Intel Data Center Group Changpeng Liu Cloud Storage Software Engineer Intel Data Center Group Notices & Disclaimers Intel technologies features and benefits depend on system configuration and may require enabled hardware, software

More information

Emulation 2. G. Lettieri. 15 Oct. 2014

Emulation 2. G. Lettieri. 15 Oct. 2014 Emulation 2 G. Lettieri 15 Oct. 2014 1 I/O examples In an emulator, we implement each I/O device as an object, or a set of objects. The real device in the target system is connected to the CPU via an interface

More information

Advanced Software Features for the LA-950

Advanced Software Features for the LA-950 Advanced Software Features for the LA-950 Ian Treviranus ian.treviranus@horiba.com www.horiba.com/us/particle What we ll talk about Measurement tools Data analysis tools Data verification tools Q&A One-button

More information

Hypervisors on ARM Overview and Design choices

Hypervisors on ARM Overview and Design choices Hypervisors on ARM Overview and Design choices Julien Grall Root Linux Conference 2017 ARM 2017 About me Working on ARM virtualization for the past 4 years With ARM since 2016 Co-maintaining

More information

Shared Virtual Memory Virtualization. Liu, Yi L Raj, Ashok Pan, Jacob

Shared Virtual Memory Virtualization. Liu, Yi L Raj, Ashok Pan, Jacob Shared Virtual Memory Virtualization Liu, Yi L yi.l.liu@intel.com Raj, Ashok ashok.raj@intel.com Pan, Jacob jacob.jun.pan@intel.com 1 High-Level View of SVM CPU GVA Device GVA GuestOS Managed VMM Managed

More information

CS 550 Operating Systems Spring Introduction to Virtual Machines

CS 550 Operating Systems Spring Introduction to Virtual Machines CS 550 Operating Systems Spring 2018 Introduction to Virtual Machines 1 How to share a physical computer Operating systems allows multiple processes/applications to run simultaneously Via process/memory

More information

VDPA: VHOST-MDEV AS NEW VHOST PROTOCOL TRANSPORT

VDPA: VHOST-MDEV AS NEW VHOST PROTOCOL TRANSPORT VDPA: VHOST-MDEV AS NEW VHOST PROTOCOL TRANSPORT CUNMING(Steve) LIANG, Intel cunming.liang AT intel.com KVM Forum 2018, Edinburgh October, 2018 Background KVM Forum 2018 / Edinburg / 2018 Intel Corporation

More information

Xen on ARM. Stefano Stabellini

Xen on ARM. Stefano Stabellini Xen on ARM Stefano Stabellini What is Xen? a type-1 hypervisor small footprint (less than 90K LOC) Xen: Open Source GPLv2 with DCO (like Linux) Diverse contributor community Xen: Open Source source: Mike

More information

Real-Time KVM for the Masses Unrestricted Siemens AG All rights reserved

Real-Time KVM for the Masses Unrestricted Siemens AG All rights reserved Siemens Corporate Technology August 2015 Real-Time KVM for the Masses Unrestricted Siemens AG 2015. All rights reserved Real-Time KVM for the Masses Agenda Motivation & requirements Reference architecture

More information

ECE 598 Advanced Operating Systems Lecture 18

ECE 598 Advanced Operating Systems Lecture 18 ECE 598 Advanced Operating Systems Lecture 18 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 5 April 2018 Announcements Homework #9 will be posted (graphics) 1 Graphics Interface

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

KVM 在 OpenStack 中的应用. Dexin(Mark) Wu

KVM 在 OpenStack 中的应用. Dexin(Mark) Wu KVM 在 OpenStack 中的应用 Dexin(Mark) Wu Agenda Overview CPU Memory Storage Network Architecture Overview nova-api REST API nova-scheduler nova-conductor nova-compute DB RPC Call libvirt driver libvirt Cinder

More information

OpenAMP Discussion - Linaro2018HK. Copyright 2018 Xilinx

OpenAMP Discussion - Linaro2018HK. Copyright 2018 Xilinx OpenAMP Discussion - Linaro2018HK Agenda o SPDX Short Licenses Identifier o Coding Guideline o API Standardisation o Coprocessor Image Format o OpenAMP and Container Page 2 OpenAMP License Page 3 SPDX

More information

Virtualization. Adam Belay

Virtualization. Adam Belay Virtualization Adam Belay What is a virtual machine Simulation of a computer Running as an application on a host computer Accurate Isolated Fast Why use a virtual machine? To run multiple

More information

Wireless Base Band Device (bbdev) Amr Mokhtar DPDK Summit Userspace - Dublin- 2017

Wireless Base Band Device (bbdev) Amr Mokhtar DPDK Summit Userspace - Dublin- 2017 Wireless Base Band Device (bbdev) Amr Mokhtar DPDK Summit Userspace - Dublin- 2017 why baseband..? MAC Tx Data Downlink * Reference: 3GPP TS 36.211 & 36.212 architecture Common programing framework for

More information

Changpeng Liu, Cloud Software Engineer. Piotr Pelpliński, Cloud Software Engineer

Changpeng Liu, Cloud Software Engineer. Piotr Pelpliński, Cloud Software Engineer Changpeng Liu, Cloud Software Engineer Piotr Pelpliński, Cloud Software Engineer Introduction to VirtIO and Vhost SPDK Vhost Architecture Use cases for vhost Benchmarks Next steps QEMU VIRTIO Vhost (KERNEL)

More information

Porting Tizen-IVI 3.0 to an ARM based SoC Platform. Damian Hobson-Garcia, IGEL Co., Ltd.

Porting Tizen-IVI 3.0 to an ARM based SoC Platform. Damian Hobson-Garcia, IGEL Co., Ltd. Porting Tizen-IVI 3.0 to an ARM based SoC Platform Damian Hobson-Garcia, IGEL Co., Ltd. Current State of Affairs Intel architecture (x86) system Tizen IVI 2.0alpha, Tizen IVI 3.0 ARM architecture based

More information

Crossing the endianness bridge

Crossing the endianness bridge Crossing the endianness bridge (or a foolish attempt at mixed-endian virtualization) Marc Zyngier KVM Forum 13 Foreword This is a (hopefully short) talk about mixed-endianness virtualization

More information

viommu/arm: full emulation and virtio-iommu approaches Eric Auger KVM Forum 2017

viommu/arm: full emulation and virtio-iommu approaches Eric Auger KVM Forum 2017 viommu/arm: full emulation and virtio-iommu approaches Eric Auger KVM Forum 2017 Overview Goals & Terminology ARM IOMMU Emulation QEMU Device VHOST Integration VFIO Integration Challenges VIRTIO-IOMMU

More information

libvirt integration and testing for enterprise KVM/ARM Drew Jones, Eric Auger Linaro Connect Budapest 2017 (BUD17)

libvirt integration and testing for enterprise KVM/ARM Drew Jones, Eric Auger Linaro Connect Budapest 2017 (BUD17) libvirt integration and testing for enterprise KVM/ARM Drew Jones, Eric Auger Linaro Connect Budapest 2017 (BUD17) Overview Enterprise guest requirements QEMU/KVM enterprise guest management libvirt A

More information

Vhost dataplane in Qemu. Jason Wang Red Hat

Vhost dataplane in Qemu. Jason Wang Red Hat Vhost dataplane in Qemu Jason Wang Red Hat Agenda History & Evolution of vhost Issues Vhost dataplane TODO Userspace Qemu networking Qemu Guest mainloop in IOThread virtio VCPU VCPU tap fd vcpu fd vcpu

More information

Kata Containers The way to run virtualized containers. Sebastien Boeuf, Linux Software Engineer Intel Corporation

Kata Containers The way to run virtualized containers. Sebastien Boeuf, Linux Software Engineer Intel Corporation Kata Containers The way to run virtualized containers Sebastien Boeuf, Linux Software Engineer Intel Corporation https://regmedia.co.uk/2017/09/11/shutterstock_containers_in_port.jpg Containers 101 Process

More information

Virtio 1 - why do it? And - are we there yet? Michael S. Tsirkin Red Hat

Virtio 1 - why do it? And - are we there yet? Michael S. Tsirkin Red Hat Virtio 1 - why do it? And - are we there yet? 2015 Michael S. Tsirkin Red Hat 1 Uses material from https://lwn.net/kernel/ldd3/ Gcompris, tuxpaint Distributed under the Creative commons license. Lots of

More information

Virtualization. ...or how adding another layer of abstraction is changing the world. CIS 399: Unix Skills University of Pennsylvania.

Virtualization. ...or how adding another layer of abstraction is changing the world. CIS 399: Unix Skills University of Pennsylvania. Virtualization...or how adding another layer of abstraction is changing the world. CIS 399: Unix Skills University of Pennsylvania April 6, 2009 (CIS 399 Unix) Virtualization April 6, 2009 1 / 22 What

More information

Vhost and VIOMMU. Jason Wang (Wei Xu Peter Xu

Vhost and VIOMMU. Jason Wang (Wei Xu Peter Xu Vhost and VIOMMU Jason Wang (Wei Xu ) Peter Xu Agenda IOMMU & Qemu viommu background Motivation of secure virtio DMAR (DMA Remapping) Design Overview

More information

File I/0. Advanced Programming in the UNIX Environment

File I/0. Advanced Programming in the UNIX Environment File I/0 Advanced Programming in the UNIX Environment File Descriptors Created and managed by the UNIX kernel. Created using open or creat system call. Used to refer to an open file UNIX System shells

More information

VIRTIO 1.0. Paravirtualized I/O for KVM and beyond. Stefan Hajnoczi 8 th February 2014 INTERNAL ONLY PRESENTER NAME

VIRTIO 1.0. Paravirtualized I/O for KVM and beyond. Stefan Hajnoczi 8 th February 2014 INTERNAL ONLY PRESENTER NAME VIRTIO 1.0 Paravirtualized I/O for KVM and beyond Stefan Hajnoczi 8 th February 2014 1 What we're going to cover How VIRTIO 1.0 works You want to: Understand paravirtualized I/O Design

More information

SR-IOV support in Xen. Yaozu (Eddie) Dong Yunhong Jiang Kun (Kevin) Tian

SR-IOV support in Xen. Yaozu (Eddie) Dong Yunhong Jiang Kun (Kevin) Tian SR-IOV support in Xen Yaozu (Eddie) Dong (Eddie.Dong@intel.com) Yunhong Jiang Kun (Kevin) Tian Agenda SR-IOV specification overview Xen/SR-IOV architecture Discussions 2 SR-IOV specification overview Start

More information

Files. Eric McCreath

Files. Eric McCreath Files Eric McCreath 2 What is a file? Information used by a computer system may be stored on a variety of storage mediums (magnetic disks, magnetic tapes, optical disks, flash disks etc). However, as a

More information

Input / Output. Kevin Webb Swarthmore College April 12, 2018

Input / Output. Kevin Webb Swarthmore College April 12, 2018 Input / Output Kevin Webb Swarthmore College April 12, 2018 xkcd #927 Fortunately, the charging one has been solved now that we've all standardized on mini-usb. Or is it micro-usb? Today s Goals Characterize

More information

Development of I/O Pass-through: Current Status & the Future. Nov 21, 2008 Yuji Shimada NEC System Technologies, Ltd.

Development of I/O Pass-through: Current Status & the Future. Nov 21, 2008 Yuji Shimada NEC System Technologies, Ltd. Development of I/O Pass-through: Current Status & the Future Nov 21, 2008 Yuji Shimada NEC System Technologies, Ltd. Agenda 1.Implementation of I/O Pass-through 2.Future Enhancement Plan 3.Challenges for

More information

MDev-NVMe: A NVMe Storage Virtualization Solution with Mediated Pass-Through

MDev-NVMe: A NVMe Storage Virtualization Solution with Mediated Pass-Through MDev-NVMe: A NVMe Storage Virtualization Solution with Mediated Pass-Through Bo Peng 1,2, Haozhong Zhang 2, Jianguo Yao 1, Yaozu Dong 2, Yu Xu 1, Haibing Guan 1 1 Shanghai Key Laboratory of Scalable Computing

More information

Xen on ARM. How fast is it, really? Stefano Stabellini. 18 August 2014

Xen on ARM. How fast is it, really? Stefano Stabellini. 18 August 2014 Xen on ARM How fast is it, really? Stefano Stabellini 18 August 2014 Status Xen Project 4.4 release: status Features: 64-bit guest support in ARMv8 stable hypercall ABI basic lifecycle operations memory

More information

The Shiny New I2C Slave Framework

The Shiny New I2C Slave Framework The Shiny New I2C Slave Framework Wolfram Sang Consultant/Renesas Kernel Team 6.10.2015, ELCE15 Wolfram Sang (wsa@the-dreams.de) The Shiny New I2C Slave Framework 6.10.2015, ELCE15 1 / 26 A typical I2C

More information

KVM on System z: Channel I/O And How To Virtualize It

KVM on System z: Channel I/O And How To Virtualize It KVM on System z: Channel I/O And How To Virtualize It Cornelia Huck 10/26/12 Agenda Quick history Basic concepts Initiating I/O Linux support for channel I/O Virtualization support

More information

Final Step #7. Memory mapping For Sunday 15/05 23h59

Final Step #7. Memory mapping For Sunday 15/05 23h59 Final Step #7 Memory mapping For Sunday 15/05 23h59 Remove the packet content print in the rx_handler rx_handler shall not print the first X bytes of the packet anymore nor any per-packet message This

More information

Socket Programming for TCP and UDP

Socket Programming for TCP and UDP CSCI4430 Data Communication and Computer Networks Socket Programming for TCP and UDP ZHANG, Mi Jan. 19, 2017 Outline Socket Programming for TCP Introduction What is TCP What is socket TCP socket programming

More information

SSE3052: Embedded Systems Practice

SSE3052: Embedded Systems Practice SSE3052: Embedded Systems Practice Minwoo Ahn minwoo.ahn@csl.skku.edu Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong

More information

Hardware-Assisted Mediated Pass-Through with VFIO. Kevin Tian Principal Engineer, Intel

Hardware-Assisted Mediated Pass-Through with VFIO. Kevin Tian Principal Engineer, Intel Hardware-Assisted Mediated Pass-Through with VFIO Kevin Tian Principal Engineer, Intel 1 Legal Disclaimer No license (express or implied, by estoppel or otherwise) to any intellectual property rights is

More information

Biquasiles, Triquasiles and Spatial Graphs

Biquasiles, Triquasiles and Spatial Graphs Biquasiles, Triquasiles and Spatial Graphs International Workshop on Spatial Graphs 2016 Waseda University, Japan Partially supported by Simons Foundation Joint Work With Joint Work With Deanna Needell

More information

Linux Virtualization Update

Linux Virtualization Update Linux Virtualization Update Chris Wright Japan Linux Symposium, November 2007 Intro Virtualization mini summit Paravirtualization Full virtualization Hardware changes Libvirt Xen Virtualization

More information

Modernization of Kemari using HVM with PV Drivers

Modernization of Kemari using HVM with PV Drivers Modernization of Kemari using HVM with PV Drivers Yoshi Tamura NTT Cyber Space Labs. 2008/11/20 What is Kemari? Don t drop the ball! Don t drop the VMs! Hardware failure Keep running transparently Kemari:

More information

Improve VNF safety with Vhost-User/DPDK IOMMU support

Improve VNF safety with Vhost-User/DPDK IOMMU support Improve VNF safety with Vhost-User/DPDK IOMMU support No UIO anymore! Maxime Coquelin Software Engineer KVM Forum 2017 AGENDA Background Vhost-user device IOTLB implementation Benchmarks Future improvements

More information

Bringing display and 3D to the C.H.I.P computer

Bringing display and 3D to the C.H.I.P computer Embedded Linux Conference 2016 Bringing display and 3D to the C.H.I.P computer Maxime Ripard maxime@bootlin.com Copyright 2004-2018, Bootlin. Creative Commons BY-SA 3.0 license. embedded Linux and kernel

More information

How to Introduce Virtualization in AGL? Objectives, Plans and Targets for AGL EG-VIRT

How to Introduce Virtualization in AGL? Objectives, Plans and Targets for AGL EG-VIRT How to Introduce Virtualization in AGL? Objectives, Plans and Targets for AGL EG-VIRT Michele Paolino m.paolino@virtualopensystems.com Automotive Grade Linux Summit 2017 2017-06-01, Tokyo, Japan http://www.tapps-project.eu/

More information

viommu/arm: full emulation and virtio-iommu approaches Eric Auger KVM Forum 2017

viommu/arm: full emulation and virtio-iommu approaches Eric Auger KVM Forum 2017 viommu/arm: full emulation and virtio-iommu approaches Eric Auger KVM Forum 2017 Overview Goals & Terminology ARM IOMMU Emulation QEMU Device VHOST Integration VFIO Integration Challenges VIRTIO-IOMMU

More information

the murgiahack experiment Gianluca Guida

the murgiahack experiment Gianluca Guida the murgiahack experiment Gianluca Guida Bruxelles, 30 January 2016 mh / introduction MH is a microkernel and a set of libraries early stage BSD license portable but not ported Original

More information

LINUX KVM FRANCISCO JAVIER VARGAS GARCIA-DONAS CLOUD COMPUTING 2017

LINUX KVM FRANCISCO JAVIER VARGAS GARCIA-DONAS CLOUD COMPUTING 2017 LINUX KVM FRANCISCO JAVIER VARGAS GARCIA-DONAS CLOUD COMPUTING 2017 LINUX KERNEL-BASED VIRTUAL MACHINE KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware

More information

DRM(Direct Rendering Manager) of Tizen Kernel Joonyoung Shim

DRM(Direct Rendering Manager) of Tizen Kernel Joonyoung Shim DRM(Direct Rendering Manager) of Tizen Kernel Joonyoung Shim jy0922.shim@samsung.com Contents What is DRM Why DRM What can we do How to implement Tizen kernel DRM Exynos DRM driver Future work 2 What is

More information

Virtio SCSI. An alternative virtualized storage stack for KVM. Stefan Hajnoczi Paolo Bonzini

Virtio SCSI. An alternative virtualized storage stack for KVM. Stefan Hajnoczi Paolo Bonzini Virtio SCSI An alternative virtualized storage stack for KVM Stefan Hajnoczi stefanha@linux.vnet.ibm.com Paolo Bonzini pbonzini@redhat.com Overview Limitations in QEMU's storage stack virtio-scsi: a new

More information

Graphics Stack Update

Graphics Stack Update Graphics Stack Update Presented by Jammy Zhou Date March 9, 2016 Event BKK16 Agenda X11/Wayland/Android graphics overview Mali and Adreno driver status Linaro effort around graphics Discussion and Q&A

More information

HKG : OpenAMP Introduction. Wendy Liang

HKG : OpenAMP Introduction. Wendy Liang HKG2018-411: OpenAMP Introduction Wendy Liang Agenda OpenAMP Projects Overview OpenAMP Libraries Changes in Progress Future Improvements OpenAMP Projects Overview Introduction With today s sophisticated

More information

Interdomain Routing Security Workshop 21 BGP, 4 Bytes AS. Brocade Communications Systems, K.K.

Interdomain Routing Security Workshop 21 BGP, 4 Bytes AS. Brocade Communications Systems, K.K. Interdomain Routing Security Workshop 21 BGP, 4 Bytes AS Ken ichiro Hashimoto Brocade Communications Systems, K.K. September, 14 th, 2009 BGP Malformed AS_PATH そもそもうちは as0 を出せるのか? NetIron MLX-4 Router(config-bgp)#router

More information

Current situation of reusing used PC in Thailand

Current situation of reusing used PC in Thailand Session 4 "Regional and Global Issues in Reuse of Used Electronic Appliances" The Third NIES Workshop on E-waste 18 Nov., 2006 Current situation of reusing used PC in Thailand So SASAKI Research Fellow,

More information

Installing the Cisco IOS XRv 9000 Router in KVM Environments

Installing the Cisco IOS XRv 9000 Router in KVM Environments Installing the Cisco IOS XRv 9000 Router in KVM Environments These file types are needed to install Cisco IOS XRv 9000 Router on the KVM hypervisor:.qcow2 Used for booting the software image in KVM OpenStack

More information

Decomposing a Scene into Geometric and Semantically Consistent Regions

Decomposing a Scene into Geometric and Semantically Consistent Regions Decomposing a Scene into Geometric and Semantically Consistent Regions Stephen Gould sgould@stanford.edu Richard Fulton rafulton@cs.stanford.edu Daphne Koller koller@cs.stanford.edu IEEE International

More information

VGPU ON KVM VFIO BASED MEDIATED DEVICE FRAMEWORK Neo Jia & Kirti Wankhede, 08/25/2016

VGPU ON KVM VFIO BASED MEDIATED DEVICE FRAMEWORK Neo Jia & Kirti Wankhede, 08/25/2016 V ON K BASED MEDIATED DEVICE FEWORK Neo Jia & Kirti Wankhede, 08/25/2016 Background / Motivation Framework Overview AGENDA Framework Deep-Dive Current Status Demo Future work 2 TODAY, HOW PRESENTED INSIDE

More information

Bringing display and 3D to the C.H.I.P computer

Bringing display and 3D to the C.H.I.P computer Embedded Linux Conference 2016 Bringing display and 3D to the C.H.I.P computer Maxime Ripard Free Electrons maxime@free-electrons.com Free Electrons Embedded Linux Developers c Copyright 2004-2016, Free

More information

CLIENT-SIDE PROGRAMMING

CLIENT-SIDE PROGRAMMING CLIENT-SIDE PROGRAMMING George Porter Apr 11, 2018 ATTRIBUTION These slides are released under an Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0) Creative Commons license These slides

More information

Accelerating Storage with NVM Express SSDs and P2PDMA Stephen Bates, PhD Chief Technology Officer

Accelerating Storage with NVM Express SSDs and P2PDMA Stephen Bates, PhD Chief Technology Officer Accelerating Storage with NVM Express SSDs and P2PDMA Stephen Bates, PhD Chief Technology Officer 2018 Storage Developer Conference. Eidetic Communications Inc. All Rights Reserved. 1 Outline Motivation

More information

I/O Devices. Nima Honarmand (Based on slides by Prof. Andrea Arpaci-Dusseau)

I/O Devices. Nima Honarmand (Based on slides by Prof. Andrea Arpaci-Dusseau) I/O Devices Nima Honarmand (Based on slides by Prof. Andrea Arpaci-Dusseau) Hardware Support for I/O CPU RAM Network Card Graphics Card Memory Bus General I/O Bus (e.g., PCI) Canonical Device OS reads/writes

More information

Intel Graphics Virtualization on KVM. Aug KVM Forum 2011 Rev. 3

Intel Graphics Virtualization on KVM. Aug KVM Forum 2011 Rev. 3 Intel Graphics Virtualization on KVM Aug-16-2011 allen.m.kay@intel.com KVM Forum 2011 Rev. 3 Agenda Background on IO Virtualization Device Operation on Native Platform QEMU IO Virtualization Device Direct

More information

Virtual Open Systems (VOSyS)

Virtual Open Systems (VOSyS) Virtual Open Systems (VOSyS) 2018-06-14 Company Profile contact@virtualopensystems.com 2018-05-05www.virtualopensystems.com Virtual Open Systems: Profile Virtual Open Systems (VOSyS) is a French fully

More information

Alex Bennée stsquad on #qemu Virtualization Linaro Projects: QEMU, KVM, ARM 2. 1

Alex Bennée stsquad on #qemu Virtualization Linaro Projects: QEMU, KVM, ARM 2. 1 VECTORS MEET VIRTUALIZATION ALEX BENNÉE FOSDEM 2018 1 INTRODUCTION Alex Bennée alex.bennee@linaro.org stsquad on #qemu Virtualization Developer @ Linaro Projects: QEMU, KVM, ARM 2. 1 WHAT IS QEMU? From:

More information

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

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

More information