SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
Argo
Hypervisor-Mediated data eXchange
Christopher Clark
OpenXT Project
Xen Design and Developer Summit, 10th
July, 2019
Argo
● What it is
○ Overview
○ Origin
● Why
○ Key properties
○ What is different, distinctive about it
● How it relates to other hypervisors
○ HMX in other hypervisors
● A bit more about what it is
○ Details of the interface
○ Examples of it in use
● References
Argo : an interdomain communication transport
● An OpenXT technology, originally developed for XenClient.
○ Derived from v4v deployed in uXen in Bromium’s vSentry on millions of machines.
● Hypervisor-mediated data copies via private ring buffers with notifications.
○ Prioritizes isolation, access control and mandatory conformance to the transfer protocol.
○ Simple but powerful primitive to build upon.
● Included in Xen 4.12
○ Set the KConfig option CONFIG_ARGO=y to build it in,
then turn it on at the Xen boot command line: argo=1,mac_permissive=1
Argo : an Odyssey
The longest patch upstreaming process in Xen’s history. 2011 - 2019.
Argo : an Odyssey
The longest patch upstreaming process in Xen’s history. 2011 - 2019.
● 2010: XenClient project begins
● 2011: Ross reserves the hypercall number (39) in Xen. ← The timer starts here with the first patch integrated.
● 2012: Jean’s v4v patch series posted
● 2013: Phil’s Xen Summit presentation, Ross’s v4v patch series posted
● 2014: OpenXT project begins
● 2016: Clark presentation at Xen Summit
● 2017: HP ships laptops with Bromium micro-virtualization for Hyper-V and Windows 10 VBS
● 2018 - 2019: Argo patch series submitted, iterated, reviewed and accepted into Xen
● 2019: Design activity on Argo’s next development
HMX:
● 2019: Microsoft ships Windows Sandbox and SystemGuard in Windows 10
● 2019: IBM/RedHat microvm QEMU machine type inspired by Intel NEMU and AWS Firecracker
Argo : an Odyssey
One new hypercall, with four operations.
○ Register ring
○ Unregister ring
○ Sendv
○ Notify
Argo : Key Properties
● No memory is shared between guest VMs.
● Data is copied from the source to the destination.
○ Maintains spatial isolation between guest VMs.
● The Hypervisor performs the data transfer into guest-accessible memory.
○ Ensures that the transfer protocol in the ring structure is strictly adhered to.
○ Enables enforcement of mandatory access control policy by the hypervisor.
These properties will be maintained.
MILS Architecture Foundational Security Principals (2005)
● Data Isolation
Information in a partition is accessible only by that partition and private data remains private.
● Control of Information Flow
Information flow between partitions is from an authenticated source to authenticated recipients;
the source of information is authenticated to the recipient, and information only goes where intended.
● Periods Processing / Temporal Separation
Resources may be used by different components by time-slicing, where the system enforces that the
resource is cleaned to remove any trace of its previous use before being reassigned.
● Fault Isolation
Failure within a partition is prevented from cascading to any other partition.
Failures are detected, contained and recovered locally.
Argo : an interdomain communication transport
● Strong isolation between communicating domains
○ No memory is shared between VMs.
○ Does not use or require grant tables or XenStore.
● Strong mechanism for data transfer
○ Hypervisor performs the data movement. Memory accesses conform to the protocol.
● High performance suitable for sustained throughput
● A clean mapping to Linux and Windows native I/O primitives
● Clear separation from guest Operating System networking stacks
● A foundation for the future work that we intend to do
HMX : Hypervisor Mediated data eXchange
A term to describe:
Asynchronous authenticated message passing between VM partitions,
performed by the hypervisor.
Channels use no shared memory between the source and the receiver.
Enable enforcement of Control of Information Flow between domains
and preserve Data Isolation.
HMX: pattern for data delivery
Hypervisor
Message
Data
Receive memory
buffer
Delivery performed by the hypervisor:
● data delivered with context (size, origin)
● writes to the receive buffer, will conform to protocol / structure
VM : Sender VM : Receiver
DataContext
Hypervisor invoked
to send message
Inter-partition Communication: Xen (Grants)
Traditional PV communication channels using Xen’s primitives: Grants + Events
eg: PV network front and back ends.
Grants are most commonly used to share or copy pages between domains.
● Grant copy operations can ask hypervisor to write to a remote page, but:
○ Conformance to a ring access protocol is not enforced.
○ Hypervisor does not provide message header with metadata about the source.
=> HMX: no.
Aside: Grant table code has excessive complexity: Attributed responsibility for 5% of Xen’s XSA/CVEs.
Most recent grant table XSA was issued... yesterday.
Two API versions, switchable at runtime plus legacy operations... so OpenXT adds KCONFIGs to reduce it.
Inter-partition Communication: Hyper-V
VMBus : HvPostMessage
Messages are copied by the hypervisor into a private per-receiver message buffer
in hypervisor-owned private memory.
For delivery, individual messages are then copied by the hypervisor out into a
Message Page shared between the hypervisor and the receiver partition, when free
slots within the page are available.
=> HMX: yes.
since at least 2006.
Inter-partition Communication: uXen
Bromium vSentry uses uXen, which uses v4v.
● Open Source
● Has no legacy PV interfaces.
○ no grant tables
○ no XenStore
● All virtual devices use the simple, copy-based primitive.
○ No memory sharing of any kind.
Demonstrates that Xen’s problematic legacy interfaces can be replaced with an
approach built upon Argo.
=> HMX: yes.
Inter-partition Communication: Xen (Argo, since 4.12)
=> HMX : yes.
Argo: ring registration
Hypercall operations to establish and tear down a communication channel:
Register ring:
● Guest supplies memory to be used for receiving incoming messages.
● Specifies either: a specific other domain as sender, or receive from anyone.
● Access control policy check: is this channel allowed?
● Ring is mapped into the hypervisor address space.
Unregister ring
● Removes the hypervisor state. Message delivery ceases.
Argo: sendv
Sendv:
● Guest indicates the destination ring it wants to send a message to
○ and provides the data to be sent
● Access control check: is this transmission allowed?
● Is there sufficient space in the destination ring?
○ If not, interest is recorded and a notification will occur when sufficient space is free.
● Hypervisor synchronously copies the data into the ring.
○ Message header is written by the hypervisor, indicating the size and source.
Argo: notify
Notify:
● Queries for space availability in remote rings
○ Access control check: can this domain send to the specified ring?
○ Returns ring state indicator flags:
■ Exists
■ Shared
■ Empty
■ Sufficient space exists for the specified message size
■ Busy
○ Register sender’s interest: notification issued when available space becomes sufficient
● Initiates checking of space within own rings to trigger pending notifications
Argo: XSM/Flask controls
● enable
○ governs whether a domain may access any Argo operations at all
● ring registration
○ single-sender rings: allow / disallow registration of rings with the specified sender
○ any-sender rings: allow / disallow a domain to register any-sender rings
● send
○ allow sending a message to a specified domain
○ if the send permission is not granted, notify query operations will also be disallowed
Argo: use cases in OpenXT
Examples:
● User interface export from the control domain to the User Interface renderer VM
● Stubdomain toolstack helper services
● Interdomain DBUS service
○ Enables use of existing components maintained by other Open Source
communities, deployed in a multi-domain configuration
■ eg. NetworkManager and its user interface
● VM provisioning services for remote management
● Debugging support: ssh access to remote VM terminals
Argo: simple to use: ssh example
eg. Using the Linux device driver and userspace library to communicate between VMs:
# VM1: load the Argo kernel module:
insmod /lib/modules/*/extra/xen-argo.ko
# use the interposer to run the ssh server on port 8022
export INET_IS_ARGO=1
LD_PRELOAD=/usr/lib/libargo-1.0.so.0.0.0/usr/sbin/sshd -p 8022
# VM2: load the Argo kernel module:
insmod /lib/modules/*/extra/xen-argo.ko
# use the interposer to run the ssh client to connect to the server
export INET_IS_ARGO=1
LD_PRELOAD=/usr/lib/libargo-1.0.so.0.0.0/usr/bin/ssh 1.0.0.1 -p 8022
ssh example
ssh server process
libargo interposer library
process env: INET_IS_ARGO=1
Linux kernel driver: xen-argo.ko
/dev/argo_stream
Xen hypervisor
System calls using the Linux Argo device
Hypercalls: argo_op : REGISTER_RING,
SENDV, NOTIFY
Argo VIRQ
ssh client process
libargo interposer library
process env: INET_IS_ARGO=1
Linux kernel driver: xen-argo.ko
/dev/argo_stream
System calls using the Linux Argo device
Hypercalls: argo_op: SENDV, NOTIFY
Argo VIRQ
ssh example
Xen
Message
Data
Receive memory
buffer
Delivery performed by Argo in Xen:
● data delivered with context (size, origin)
● writes to the receive buffer, will conform to protocol / structure
VM with ssh client VM with ssh server
DataContext
Hypervisor invoked
to send message
Development items
● Sender domain context: hypervisor to provide metadata to message recipient
○ message header conveys sender’s XSM sid and bits indicating stubdomain relationship state
● Connection state: enforce and track ring pairings for bidirectional communication
○ Tracking bidirectional connections enables fine-grained access policy control
● Access control: run-time configurable firewall
○ Uses sender context and connection state. Replaces OpenXT’s existing v4vtables port.
● Nesting data transport
○ Sending data between VMs at different levels of nesting, with firewall policy enforcement
● Wildcard rings: protection of client forward progress
○ Increases resilience of the clients of any-sender rings to DoS by other clients
● Shutter rings: mechanism and policy controls for reducing hypervisor mappings
Research items
● Accelerated transport options leveraging available hardware
● Asynchronous message send primitive
● Reducing scope of notify wakeups to replace existing broadcast
● Integration with memory encryption technologies
References
Ian Pratt, Founder of the Xen Project, CTO of Bromium, at PSEC 2018: Hypervisor Security : Lessons Learned
Essential viewing. Strongly recommended.
References
● PSEC 2018: Hypervisor-Mediated data eXchange (HMX): Primitives for Authentic Communication
● Xen Summit 2013: XenClient Mechanisms to Strengthen Guest Separation
● Microsoft Hyper-V: Hypercall APIs Explained WinHEC 2006 presentation, slide 45 describes HvPostMessage.
○ Hypervisor Top Level Functional Specification, v5.0C, see HvPostMessage references, inc. section 11.11.
● OpenXT Summit 2016: Secure Virtual Platform
● Argo source code:
○ Hypervisor: argo.c in Xen 4.12
○ Linux drivers: current driver, and under-development vsock-based driver
○ Linux userspace: libargo, including LD_PRELOAD interposer enabling transparent use by socket applications
○ For a Windows driver, a port from v4v is required: see the xenv4v source code in OpenXT as a starting point.
● Argo documentation: argo.pandoc in Xen 4.12
● Argo next development: OpenXT wiki on Argo development items
● OpenXT: about the Project, project events, v4v documentation, v4vtables port for basic access control, with tooling
● uXen: v4v.c in uXen 4.1.6. uXen hypervisor source code repository: https://github.com/OpenXT/uxen/
Any questions? Please get in touch: #OpenXT on freenode IRC

Mais conteúdo relacionado

Mais procurados

LCEU13: Securing your cloud with Xen's advanced security features - George Du...
LCEU13: Securing your cloud with Xen's advanced security features - George Du...LCEU13: Securing your cloud with Xen's advanced security features - George Du...
LCEU13: Securing your cloud with Xen's advanced security features - George Du...The Linux Foundation
 
XPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM Systems
XPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM SystemsXPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM Systems
XPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM SystemsThe Linux Foundation
 
Scale17x: Thinking outside of the conceived tech comfort zone
Scale17x: Thinking outside of the conceived tech comfort zoneScale17x: Thinking outside of the conceived tech comfort zone
Scale17x: Thinking outside of the conceived tech comfort zoneThe Linux Foundation
 
Erlang on Xen: Redefining the cloud software stack
Erlang on Xen:  Redefining the cloud software stackErlang on Xen:  Redefining the cloud software stack
Erlang on Xen: Redefining the cloud software stackViktor Sovietov
 
XPDDS18: Unleashing the Power of Unikernels with Unikraft - Florian Schmidt, ...
XPDDS18: Unleashing the Power of Unikernels with Unikraft - Florian Schmidt, ...XPDDS18: Unleashing the Power of Unikernels with Unikraft - Florian Schmidt, ...
XPDDS18: Unleashing the Power of Unikernels with Unikraft - Florian Schmidt, ...The Linux Foundation
 
LinuxCon Japan 13 : 10 years of Xen and Beyond
LinuxCon Japan 13 : 10 years of Xen and BeyondLinuxCon Japan 13 : 10 years of Xen and Beyond
LinuxCon Japan 13 : 10 years of Xen and BeyondThe Linux Foundation
 
Scale14x: Are today's foss security practices robust enough in the cloud era ...
Scale14x: Are today's foss security practices robust enough in the cloud era ...Scale14x: Are today's foss security practices robust enough in the cloud era ...
Scale14x: Are today's foss security practices robust enough in the cloud era ...The Linux Foundation
 
XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...
XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...
XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...The Linux Foundation
 
Scale 12x Securing Your Cloud with The Xen Hypervisor
Scale 12x Securing Your Cloud with The Xen HypervisorScale 12x Securing Your Cloud with The Xen Hypervisor
Scale 12x Securing Your Cloud with The Xen HypervisorThe Linux Foundation
 
OSSEU18: From Handcraft to Unikraft: Simpler Unikernelization of Your Applica...
OSSEU18: From Handcraft to Unikraft: Simpler Unikernelization of Your Applica...OSSEU18: From Handcraft to Unikraft: Simpler Unikernelization of Your Applica...
OSSEU18: From Handcraft to Unikraft: Simpler Unikernelization of Your Applica...The Linux Foundation
 
CIF16: Building the Superfluid Cloud with Unikernels (Simon Kuenzer, NEC Europe)
CIF16: Building the Superfluid Cloud with Unikernels (Simon Kuenzer, NEC Europe)CIF16: Building the Superfluid Cloud with Unikernels (Simon Kuenzer, NEC Europe)
CIF16: Building the Superfluid Cloud with Unikernels (Simon Kuenzer, NEC Europe)The Linux Foundation
 
OSSEU18: NVDIMM and Virtualization - George Dunlap, Citrix
OSSEU18: NVDIMM and Virtualization  - George Dunlap, CitrixOSSEU18: NVDIMM and Virtualization  - George Dunlap, Citrix
OSSEU18: NVDIMM and Virtualization - George Dunlap, CitrixThe Linux Foundation
 
XPDS14 - Zero-Footprint Guest Memory Introspection from Xen - Mihai Dontu, Bi...
XPDS14 - Zero-Footprint Guest Memory Introspection from Xen - Mihai Dontu, Bi...XPDS14 - Zero-Footprint Guest Memory Introspection from Xen - Mihai Dontu, Bi...
XPDS14 - Zero-Footprint Guest Memory Introspection from Xen - Mihai Dontu, Bi...The Linux Foundation
 
XPDS14: OpenXT - Security and the Properties of a Xen Virtualisation Platform...
XPDS14: OpenXT - Security and the Properties of a Xen Virtualisation Platform...XPDS14: OpenXT - Security and the Properties of a Xen Virtualisation Platform...
XPDS14: OpenXT - Security and the Properties of a Xen Virtualisation Platform...The Linux Foundation
 
XPDDS19: Xen API Archaeology: Creating a Full-Featured VMI Debugger for the...
XPDDS19:   Xen API Archaeology: Creating a Full-Featured VMI Debugger for the...XPDDS19:   Xen API Archaeology: Creating a Full-Featured VMI Debugger for the...
XPDDS19: Xen API Archaeology: Creating a Full-Featured VMI Debugger for the...The Linux Foundation
 
Unikraft Landing Page Master Slides
Unikraft Landing Page Master SlidesUnikraft Landing Page Master Slides
Unikraft Landing Page Master SlidesThe Linux Foundation
 
Rootlinux17: An introduction to Xen Project Virtualisation
Rootlinux17:  An introduction to Xen Project VirtualisationRootlinux17:  An introduction to Xen Project Virtualisation
Rootlinux17: An introduction to Xen Project VirtualisationThe Linux Foundation
 
XPDDS18: Introducing ViryaOS: Secure Containers for Embedded and IoT - Stefan...
XPDDS18: Introducing ViryaOS: Secure Containers for Embedded and IoT - Stefan...XPDDS18: Introducing ViryaOS: Secure Containers for Embedded and IoT - Stefan...
XPDDS18: Introducing ViryaOS: Secure Containers for Embedded and IoT - Stefan...The Linux Foundation
 
XPDDS18: LCC18: Xen Project: After 15 years, What's Next? - George Dunlap, C...
XPDDS18: LCC18:  Xen Project: After 15 years, What's Next? - George Dunlap, C...XPDDS18: LCC18:  Xen Project: After 15 years, What's Next? - George Dunlap, C...
XPDDS18: LCC18: Xen Project: After 15 years, What's Next? - George Dunlap, C...The Linux Foundation
 

Mais procurados (20)

LCEU13: Securing your cloud with Xen's advanced security features - George Du...
LCEU13: Securing your cloud with Xen's advanced security features - George Du...LCEU13: Securing your cloud with Xen's advanced security features - George Du...
LCEU13: Securing your cloud with Xen's advanced security features - George Du...
 
XPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM Systems
XPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM SystemsXPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM Systems
XPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM Systems
 
Scale17x: Thinking outside of the conceived tech comfort zone
Scale17x: Thinking outside of the conceived tech comfort zoneScale17x: Thinking outside of the conceived tech comfort zone
Scale17x: Thinking outside of the conceived tech comfort zone
 
Erlang on Xen: Redefining the cloud software stack
Erlang on Xen:  Redefining the cloud software stackErlang on Xen:  Redefining the cloud software stack
Erlang on Xen: Redefining the cloud software stack
 
XPDDS18: Unleashing the Power of Unikernels with Unikraft - Florian Schmidt, ...
XPDDS18: Unleashing the Power of Unikernels with Unikraft - Florian Schmidt, ...XPDDS18: Unleashing the Power of Unikernels with Unikraft - Florian Schmidt, ...
XPDDS18: Unleashing the Power of Unikernels with Unikraft - Florian Schmidt, ...
 
LinuxCon Japan 13 : 10 years of Xen and Beyond
LinuxCon Japan 13 : 10 years of Xen and BeyondLinuxCon Japan 13 : 10 years of Xen and Beyond
LinuxCon Japan 13 : 10 years of Xen and Beyond
 
Scale14x: Are today's foss security practices robust enough in the cloud era ...
Scale14x: Are today's foss security practices robust enough in the cloud era ...Scale14x: Are today's foss security practices robust enough in the cloud era ...
Scale14x: Are today's foss security practices robust enough in the cloud era ...
 
XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...
XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...
XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...
 
Scale 12x Securing Your Cloud with The Xen Hypervisor
Scale 12x Securing Your Cloud with The Xen HypervisorScale 12x Securing Your Cloud with The Xen Hypervisor
Scale 12x Securing Your Cloud with The Xen Hypervisor
 
OSSEU18: From Handcraft to Unikraft: Simpler Unikernelization of Your Applica...
OSSEU18: From Handcraft to Unikraft: Simpler Unikernelization of Your Applica...OSSEU18: From Handcraft to Unikraft: Simpler Unikernelization of Your Applica...
OSSEU18: From Handcraft to Unikraft: Simpler Unikernelization of Your Applica...
 
CIF16: Building the Superfluid Cloud with Unikernels (Simon Kuenzer, NEC Europe)
CIF16: Building the Superfluid Cloud with Unikernels (Simon Kuenzer, NEC Europe)CIF16: Building the Superfluid Cloud with Unikernels (Simon Kuenzer, NEC Europe)
CIF16: Building the Superfluid Cloud with Unikernels (Simon Kuenzer, NEC Europe)
 
OSSEU18: NVDIMM and Virtualization - George Dunlap, Citrix
OSSEU18: NVDIMM and Virtualization  - George Dunlap, CitrixOSSEU18: NVDIMM and Virtualization  - George Dunlap, Citrix
OSSEU18: NVDIMM and Virtualization - George Dunlap, Citrix
 
XPDS14 - Zero-Footprint Guest Memory Introspection from Xen - Mihai Dontu, Bi...
XPDS14 - Zero-Footprint Guest Memory Introspection from Xen - Mihai Dontu, Bi...XPDS14 - Zero-Footprint Guest Memory Introspection from Xen - Mihai Dontu, Bi...
XPDS14 - Zero-Footprint Guest Memory Introspection from Xen - Mihai Dontu, Bi...
 
XPDS14: OpenXT - Security and the Properties of a Xen Virtualisation Platform...
XPDS14: OpenXT - Security and the Properties of a Xen Virtualisation Platform...XPDS14: OpenXT - Security and the Properties of a Xen Virtualisation Platform...
XPDS14: OpenXT - Security and the Properties of a Xen Virtualisation Platform...
 
XPDDS19: Xen API Archaeology: Creating a Full-Featured VMI Debugger for the...
XPDDS19:   Xen API Archaeology: Creating a Full-Featured VMI Debugger for the...XPDDS19:   Xen API Archaeology: Creating a Full-Featured VMI Debugger for the...
XPDDS19: Xen API Archaeology: Creating a Full-Featured VMI Debugger for the...
 
Unikraft Landing Page Master Slides
Unikraft Landing Page Master SlidesUnikraft Landing Page Master Slides
Unikraft Landing Page Master Slides
 
Rootlinux17: An introduction to Xen Project Virtualisation
Rootlinux17:  An introduction to Xen Project VirtualisationRootlinux17:  An introduction to Xen Project Virtualisation
Rootlinux17: An introduction to Xen Project Virtualisation
 
XPDDS18: Introducing ViryaOS: Secure Containers for Embedded and IoT - Stefan...
XPDDS18: Introducing ViryaOS: Secure Containers for Embedded and IoT - Stefan...XPDDS18: Introducing ViryaOS: Secure Containers for Embedded and IoT - Stefan...
XPDDS18: Introducing ViryaOS: Secure Containers for Embedded and IoT - Stefan...
 
XPDDS18: LCC18: Xen Project: After 15 years, What's Next? - George Dunlap, C...
XPDDS18: LCC18:  Xen Project: After 15 years, What's Next? - George Dunlap, C...XPDDS18: LCC18:  Xen Project: After 15 years, What's Next? - George Dunlap, C...
XPDDS18: LCC18: Xen Project: After 15 years, What's Next? - George Dunlap, C...
 
Xen Project: Windows PV Drivers
Xen Project: Windows PV DriversXen Project: Windows PV Drivers
Xen Project: Windows PV Drivers
 

Semelhante a XPDDS19: Argo and Hypervisor-Mediated Data eXchange (HMX) - Christopher Clark, OpenXT Project

Containerization & Docker - Under the Hood
Containerization & Docker - Under the HoodContainerization & Docker - Under the Hood
Containerization & Docker - Under the HoodImesha Sudasingha
 
Why Choose Xen For Your Cloud?
Why Choose Xen For Your Cloud? Why Choose Xen For Your Cloud?
Why Choose Xen For Your Cloud? Todd Deshane
 
Heterogeneous multiprocessing on androd and i.mx7
Heterogeneous multiprocessing on androd and i.mx7Heterogeneous multiprocessing on androd and i.mx7
Heterogeneous multiprocessing on androd and i.mx7Kynetics
 
Oscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCP
Oscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCPOscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCP
Oscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCPThe Linux Foundation
 
Performance characterization in large distributed file system with gluster fs
Performance characterization in large distributed file system with gluster fsPerformance characterization in large distributed file system with gluster fs
Performance characterization in large distributed file system with gluster fsNeependra Khare
 
Docker Swarm secrets for creating great FIWARE platforms
Docker Swarm secrets for creating great FIWARE platformsDocker Swarm secrets for creating great FIWARE platforms
Docker Swarm secrets for creating great FIWARE platformsFederico Michele Facca
 
XPDS16: The OpenXT Project in 2016 - Christopher Clark, BAE Systems
XPDS16: The OpenXT Project in 2016 - Christopher Clark, BAE SystemsXPDS16: The OpenXT Project in 2016 - Christopher Clark, BAE Systems
XPDS16: The OpenXT Project in 2016 - Christopher Clark, BAE SystemsThe Linux Foundation
 
CloudStack In Production
CloudStack In ProductionCloudStack In Production
CloudStack In ProductionClayton Weise
 
RPC in Smalltalk
 RPC in Smalltalk RPC in Smalltalk
RPC in SmalltalkESUG
 
FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE Platforms
FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE PlatformsFIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE Platforms
FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE PlatformsFIWARE
 
Security of Linux containers in the cloud
Security of Linux containers in the cloudSecurity of Linux containers in the cloud
Security of Linux containers in the cloudDobrica Pavlinušić
 
The lies we tell our code, LinuxCon/CloudOpen 2015-08-18
The lies we tell our code, LinuxCon/CloudOpen 2015-08-18The lies we tell our code, LinuxCon/CloudOpen 2015-08-18
The lies we tell our code, LinuxCon/CloudOpen 2015-08-18Casey Bisson
 
Linux 开源操作系统发展新趋势
Linux 开源操作系统发展新趋势Linux 开源操作系统发展新趋势
Linux 开源操作系统发展新趋势Anthony Wong
 
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storageWebinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storageMayaData Inc
 

Semelhante a XPDDS19: Argo and Hypervisor-Mediated Data eXchange (HMX) - Christopher Clark, OpenXT Project (20)

Containerization & Docker - Under the Hood
Containerization & Docker - Under the HoodContainerization & Docker - Under the Hood
Containerization & Docker - Under the Hood
 
Autopilot : Securing Cloud Native Storage
Autopilot : Securing Cloud Native StorageAutopilot : Securing Cloud Native Storage
Autopilot : Securing Cloud Native Storage
 
Why Choose Xen For Your Cloud?
Why Choose Xen For Your Cloud? Why Choose Xen For Your Cloud?
Why Choose Xen For Your Cloud?
 
Why Choose Xen For Your Cloud?
Why Choose Xen For Your Cloud? Why Choose Xen For Your Cloud?
Why Choose Xen For Your Cloud?
 
Heterogeneous multiprocessing on androd and i.mx7
Heterogeneous multiprocessing on androd and i.mx7Heterogeneous multiprocessing on androd and i.mx7
Heterogeneous multiprocessing on androd and i.mx7
 
OpenStack on SmartOS
OpenStack on SmartOSOpenStack on SmartOS
OpenStack on SmartOS
 
Oscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCP
Oscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCPOscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCP
Oscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCP
 
OpenVZ Linux Containers
OpenVZ Linux ContainersOpenVZ Linux Containers
OpenVZ Linux Containers
 
Performance characterization in large distributed file system with gluster fs
Performance characterization in large distributed file system with gluster fsPerformance characterization in large distributed file system with gluster fs
Performance characterization in large distributed file system with gluster fs
 
Docker Swarm secrets for creating great FIWARE platforms
Docker Swarm secrets for creating great FIWARE platformsDocker Swarm secrets for creating great FIWARE platforms
Docker Swarm secrets for creating great FIWARE platforms
 
XPDS16: The OpenXT Project in 2016 - Christopher Clark, BAE Systems
XPDS16: The OpenXT Project in 2016 - Christopher Clark, BAE SystemsXPDS16: The OpenXT Project in 2016 - Christopher Clark, BAE Systems
XPDS16: The OpenXT Project in 2016 - Christopher Clark, BAE Systems
 
CloudStack In Production
CloudStack In ProductionCloudStack In Production
CloudStack In Production
 
RPC in Smalltalk
 RPC in Smalltalk RPC in Smalltalk
RPC in Smalltalk
 
FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE Platforms
FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE PlatformsFIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE Platforms
FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE Platforms
 
Security of Linux containers in the cloud
Security of Linux containers in the cloudSecurity of Linux containers in the cloud
Security of Linux containers in the cloud
 
State of ARM-based HPC
State of ARM-based HPCState of ARM-based HPC
State of ARM-based HPC
 
The lies we tell our code, LinuxCon/CloudOpen 2015-08-18
The lies we tell our code, LinuxCon/CloudOpen 2015-08-18The lies we tell our code, LinuxCon/CloudOpen 2015-08-18
The lies we tell our code, LinuxCon/CloudOpen 2015-08-18
 
Linux 开源操作系统发展新趋势
Linux 开源操作系统发展新趋势Linux 开源操作系统发展新趋势
Linux 开源操作系统发展新趋势
 
Kubernetes: My BFF
Kubernetes: My BFFKubernetes: My BFF
Kubernetes: My BFF
 
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storageWebinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
 

Mais de The Linux Foundation

ELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made SimpleELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made SimpleThe Linux Foundation
 
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...The Linux Foundation
 
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...The Linux Foundation
 
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...The Linux Foundation
 
XPDDS19 Keynote: Unikraft Weather Report
XPDDS19 Keynote:  Unikraft Weather ReportXPDDS19 Keynote:  Unikraft Weather Report
XPDDS19 Keynote: Unikraft Weather ReportThe Linux Foundation
 
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...The Linux Foundation
 
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, XilinxXPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, XilinxThe Linux Foundation
 
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...The Linux Foundation
 
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, BitdefenderXPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, BitdefenderThe Linux Foundation
 
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...The Linux Foundation
 
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
 OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making... OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...The Linux Foundation
 
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, CitrixXPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, CitrixThe Linux Foundation
 
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltdXPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltdThe Linux Foundation
 
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...The Linux Foundation
 
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&DXPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&DThe Linux Foundation
 
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM SystemsXPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM SystemsThe Linux Foundation
 
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...The Linux Foundation
 
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...The Linux Foundation
 
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...The Linux Foundation
 
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSEXPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSEThe Linux Foundation
 

Mais de The Linux Foundation (20)

ELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made SimpleELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made Simple
 
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
 
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
 
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
 
XPDDS19 Keynote: Unikraft Weather Report
XPDDS19 Keynote:  Unikraft Weather ReportXPDDS19 Keynote:  Unikraft Weather Report
XPDDS19 Keynote: Unikraft Weather Report
 
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
 
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, XilinxXPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
 
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
 
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, BitdefenderXPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
 
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
 
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
 OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making... OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
 
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, CitrixXPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
 
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltdXPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
 
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
 
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&DXPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
 
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM SystemsXPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
 
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
 
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
 
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
 
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSEXPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
 

Último

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 

Último (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 

XPDDS19: Argo and Hypervisor-Mediated Data eXchange (HMX) - Christopher Clark, OpenXT Project

  • 1. Argo Hypervisor-Mediated data eXchange Christopher Clark OpenXT Project Xen Design and Developer Summit, 10th July, 2019
  • 2. Argo ● What it is ○ Overview ○ Origin ● Why ○ Key properties ○ What is different, distinctive about it ● How it relates to other hypervisors ○ HMX in other hypervisors ● A bit more about what it is ○ Details of the interface ○ Examples of it in use ● References
  • 3. Argo : an interdomain communication transport ● An OpenXT technology, originally developed for XenClient. ○ Derived from v4v deployed in uXen in Bromium’s vSentry on millions of machines. ● Hypervisor-mediated data copies via private ring buffers with notifications. ○ Prioritizes isolation, access control and mandatory conformance to the transfer protocol. ○ Simple but powerful primitive to build upon. ● Included in Xen 4.12 ○ Set the KConfig option CONFIG_ARGO=y to build it in, then turn it on at the Xen boot command line: argo=1,mac_permissive=1
  • 4. Argo : an Odyssey The longest patch upstreaming process in Xen’s history. 2011 - 2019.
  • 5. Argo : an Odyssey The longest patch upstreaming process in Xen’s history. 2011 - 2019. ● 2010: XenClient project begins ● 2011: Ross reserves the hypercall number (39) in Xen. ← The timer starts here with the first patch integrated. ● 2012: Jean’s v4v patch series posted ● 2013: Phil’s Xen Summit presentation, Ross’s v4v patch series posted ● 2014: OpenXT project begins ● 2016: Clark presentation at Xen Summit ● 2017: HP ships laptops with Bromium micro-virtualization for Hyper-V and Windows 10 VBS ● 2018 - 2019: Argo patch series submitted, iterated, reviewed and accepted into Xen ● 2019: Design activity on Argo’s next development HMX: ● 2019: Microsoft ships Windows Sandbox and SystemGuard in Windows 10 ● 2019: IBM/RedHat microvm QEMU machine type inspired by Intel NEMU and AWS Firecracker
  • 6. Argo : an Odyssey One new hypercall, with four operations. ○ Register ring ○ Unregister ring ○ Sendv ○ Notify
  • 7. Argo : Key Properties ● No memory is shared between guest VMs. ● Data is copied from the source to the destination. ○ Maintains spatial isolation between guest VMs. ● The Hypervisor performs the data transfer into guest-accessible memory. ○ Ensures that the transfer protocol in the ring structure is strictly adhered to. ○ Enables enforcement of mandatory access control policy by the hypervisor. These properties will be maintained.
  • 8. MILS Architecture Foundational Security Principals (2005) ● Data Isolation Information in a partition is accessible only by that partition and private data remains private. ● Control of Information Flow Information flow between partitions is from an authenticated source to authenticated recipients; the source of information is authenticated to the recipient, and information only goes where intended. ● Periods Processing / Temporal Separation Resources may be used by different components by time-slicing, where the system enforces that the resource is cleaned to remove any trace of its previous use before being reassigned. ● Fault Isolation Failure within a partition is prevented from cascading to any other partition. Failures are detected, contained and recovered locally.
  • 9. Argo : an interdomain communication transport ● Strong isolation between communicating domains ○ No memory is shared between VMs. ○ Does not use or require grant tables or XenStore. ● Strong mechanism for data transfer ○ Hypervisor performs the data movement. Memory accesses conform to the protocol. ● High performance suitable for sustained throughput ● A clean mapping to Linux and Windows native I/O primitives ● Clear separation from guest Operating System networking stacks ● A foundation for the future work that we intend to do
  • 10. HMX : Hypervisor Mediated data eXchange A term to describe: Asynchronous authenticated message passing between VM partitions, performed by the hypervisor. Channels use no shared memory between the source and the receiver. Enable enforcement of Control of Information Flow between domains and preserve Data Isolation.
  • 11. HMX: pattern for data delivery Hypervisor Message Data Receive memory buffer Delivery performed by the hypervisor: ● data delivered with context (size, origin) ● writes to the receive buffer, will conform to protocol / structure VM : Sender VM : Receiver DataContext Hypervisor invoked to send message
  • 12. Inter-partition Communication: Xen (Grants) Traditional PV communication channels using Xen’s primitives: Grants + Events eg: PV network front and back ends. Grants are most commonly used to share or copy pages between domains. ● Grant copy operations can ask hypervisor to write to a remote page, but: ○ Conformance to a ring access protocol is not enforced. ○ Hypervisor does not provide message header with metadata about the source. => HMX: no. Aside: Grant table code has excessive complexity: Attributed responsibility for 5% of Xen’s XSA/CVEs. Most recent grant table XSA was issued... yesterday. Two API versions, switchable at runtime plus legacy operations... so OpenXT adds KCONFIGs to reduce it.
  • 13. Inter-partition Communication: Hyper-V VMBus : HvPostMessage Messages are copied by the hypervisor into a private per-receiver message buffer in hypervisor-owned private memory. For delivery, individual messages are then copied by the hypervisor out into a Message Page shared between the hypervisor and the receiver partition, when free slots within the page are available. => HMX: yes. since at least 2006.
  • 14. Inter-partition Communication: uXen Bromium vSentry uses uXen, which uses v4v. ● Open Source ● Has no legacy PV interfaces. ○ no grant tables ○ no XenStore ● All virtual devices use the simple, copy-based primitive. ○ No memory sharing of any kind. Demonstrates that Xen’s problematic legacy interfaces can be replaced with an approach built upon Argo. => HMX: yes.
  • 15. Inter-partition Communication: Xen (Argo, since 4.12) => HMX : yes.
  • 16. Argo: ring registration Hypercall operations to establish and tear down a communication channel: Register ring: ● Guest supplies memory to be used for receiving incoming messages. ● Specifies either: a specific other domain as sender, or receive from anyone. ● Access control policy check: is this channel allowed? ● Ring is mapped into the hypervisor address space. Unregister ring ● Removes the hypervisor state. Message delivery ceases.
  • 17. Argo: sendv Sendv: ● Guest indicates the destination ring it wants to send a message to ○ and provides the data to be sent ● Access control check: is this transmission allowed? ● Is there sufficient space in the destination ring? ○ If not, interest is recorded and a notification will occur when sufficient space is free. ● Hypervisor synchronously copies the data into the ring. ○ Message header is written by the hypervisor, indicating the size and source.
  • 18. Argo: notify Notify: ● Queries for space availability in remote rings ○ Access control check: can this domain send to the specified ring? ○ Returns ring state indicator flags: ■ Exists ■ Shared ■ Empty ■ Sufficient space exists for the specified message size ■ Busy ○ Register sender’s interest: notification issued when available space becomes sufficient ● Initiates checking of space within own rings to trigger pending notifications
  • 19. Argo: XSM/Flask controls ● enable ○ governs whether a domain may access any Argo operations at all ● ring registration ○ single-sender rings: allow / disallow registration of rings with the specified sender ○ any-sender rings: allow / disallow a domain to register any-sender rings ● send ○ allow sending a message to a specified domain ○ if the send permission is not granted, notify query operations will also be disallowed
  • 20. Argo: use cases in OpenXT Examples: ● User interface export from the control domain to the User Interface renderer VM ● Stubdomain toolstack helper services ● Interdomain DBUS service ○ Enables use of existing components maintained by other Open Source communities, deployed in a multi-domain configuration ■ eg. NetworkManager and its user interface ● VM provisioning services for remote management ● Debugging support: ssh access to remote VM terminals
  • 21. Argo: simple to use: ssh example eg. Using the Linux device driver and userspace library to communicate between VMs: # VM1: load the Argo kernel module: insmod /lib/modules/*/extra/xen-argo.ko # use the interposer to run the ssh server on port 8022 export INET_IS_ARGO=1 LD_PRELOAD=/usr/lib/libargo-1.0.so.0.0.0/usr/sbin/sshd -p 8022 # VM2: load the Argo kernel module: insmod /lib/modules/*/extra/xen-argo.ko # use the interposer to run the ssh client to connect to the server export INET_IS_ARGO=1 LD_PRELOAD=/usr/lib/libargo-1.0.so.0.0.0/usr/bin/ssh 1.0.0.1 -p 8022
  • 22. ssh example ssh server process libargo interposer library process env: INET_IS_ARGO=1 Linux kernel driver: xen-argo.ko /dev/argo_stream Xen hypervisor System calls using the Linux Argo device Hypercalls: argo_op : REGISTER_RING, SENDV, NOTIFY Argo VIRQ ssh client process libargo interposer library process env: INET_IS_ARGO=1 Linux kernel driver: xen-argo.ko /dev/argo_stream System calls using the Linux Argo device Hypercalls: argo_op: SENDV, NOTIFY Argo VIRQ
  • 23. ssh example Xen Message Data Receive memory buffer Delivery performed by Argo in Xen: ● data delivered with context (size, origin) ● writes to the receive buffer, will conform to protocol / structure VM with ssh client VM with ssh server DataContext Hypervisor invoked to send message
  • 24. Development items ● Sender domain context: hypervisor to provide metadata to message recipient ○ message header conveys sender’s XSM sid and bits indicating stubdomain relationship state ● Connection state: enforce and track ring pairings for bidirectional communication ○ Tracking bidirectional connections enables fine-grained access policy control ● Access control: run-time configurable firewall ○ Uses sender context and connection state. Replaces OpenXT’s existing v4vtables port. ● Nesting data transport ○ Sending data between VMs at different levels of nesting, with firewall policy enforcement ● Wildcard rings: protection of client forward progress ○ Increases resilience of the clients of any-sender rings to DoS by other clients ● Shutter rings: mechanism and policy controls for reducing hypervisor mappings
  • 25. Research items ● Accelerated transport options leveraging available hardware ● Asynchronous message send primitive ● Reducing scope of notify wakeups to replace existing broadcast ● Integration with memory encryption technologies
  • 26. References Ian Pratt, Founder of the Xen Project, CTO of Bromium, at PSEC 2018: Hypervisor Security : Lessons Learned Essential viewing. Strongly recommended.
  • 27. References ● PSEC 2018: Hypervisor-Mediated data eXchange (HMX): Primitives for Authentic Communication ● Xen Summit 2013: XenClient Mechanisms to Strengthen Guest Separation ● Microsoft Hyper-V: Hypercall APIs Explained WinHEC 2006 presentation, slide 45 describes HvPostMessage. ○ Hypervisor Top Level Functional Specification, v5.0C, see HvPostMessage references, inc. section 11.11. ● OpenXT Summit 2016: Secure Virtual Platform ● Argo source code: ○ Hypervisor: argo.c in Xen 4.12 ○ Linux drivers: current driver, and under-development vsock-based driver ○ Linux userspace: libargo, including LD_PRELOAD interposer enabling transparent use by socket applications ○ For a Windows driver, a port from v4v is required: see the xenv4v source code in OpenXT as a starting point. ● Argo documentation: argo.pandoc in Xen 4.12 ● Argo next development: OpenXT wiki on Argo development items ● OpenXT: about the Project, project events, v4v documentation, v4vtables port for basic access control, with tooling ● uXen: v4v.c in uXen 4.1.6. uXen hypervisor source code repository: https://github.com/OpenXT/uxen/ Any questions? Please get in touch: #OpenXT on freenode IRC