SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
Core scheduling in Xen
Jürgen Groß
Virtualization Kernel Developer
SUSE Linux GmbH, jgross@suse.com
2
Agenda
• What is “Core scheduling”?
• Motivation
• How does it work?
• Performance numbers
• Current state
What is “Core scheduling”?
4
Today: Cpu scheduling
• On each physical cpu the scheduler is deciding which
vcpu is to be scheduled next
• When taking other physical cpus into account only the
load of the system is being looked at
• Each vcpu can run on each physical cpu within some
constraints (cpupools, pinning)
5
Cpu scheduling
Core 0
Thread 0 Thread 1
Core 1
Thread 0 Thread 1
Core 2
Thread 0 Thread 1
Core 3
Thread 0 Thread 1
Dom0
vcpu0
Dom0
vcpu1
Dom0
vcpu2Dom0
vcpu3Dom0
vcpu4
Dom0
vcpu5
Dom0
vcpu6
Dom0
vcpu7
blocked
6
Cpu scheduling
Core 0
Thread 0 Thread 1
Core 1
Thread 0 Thread 1
Core 2
Thread 0 Thread 1
Core 3
Thread 0 Thread 1
Dom0
vcpu0
Dom0
vcpu1
Dom0
vcpu2Dom0
vcpu3Dom0
vcpu4
Dom0
vcpu5
Dom0
vcpu6
Dom0
vcpu7
DomU
vcpu3
DomU
vcpu0
DomU
vcpu2
DomU
vcpu1
blocked
7
Cpu scheduling
Core 0
Thread 0 Thread 1
Core 1
Thread 0 Thread 1
Core 2
Thread 0 Thread 1
Core 3
Thread 0 Thread 1
Dom0
vcpu0
Dom0
vcpu1
Dom0
vcpu2Dom0
vcpu3
Dom0
vcpu4
Dom0
vcpu5
Dom0
vcpu6
Dom0
vcpu7
DomU
vcpu3
DomU
vcpu0
DomU
vcpu2
DomU
vcpu1
runq
blocked
8
Core scheduling
• The scheduler is no longer acting on (v)cpus, but on
(v)cores
• All siblings (threads) of a core are scheduled together,
scheduling for all siblings of a single core is
synchronized
• The relation between vcores and vcpus is fixed, in
contrast to “core aware scheduling” where it might
change
• Pinning and cpupools are affecting cores (so e.g. pinning
a vcpu to a specific physical cpu will pin all vcpus of the
same vcore)
9
Core scheduling
Core 0
Thread 0 Thread 1
Core 1
Thread 0 Thread 1
Core 2
Thread 0 Thread 1
Core 3
Thread 0 Thread 1
Dom0
vcpu0
Dom0
vcpu1
Dom0
vcpu4
Dom0
vcpu5
Dom0
vcpu6
Dom0
vcpu7
Dom0
vcpu2
Dom0
vcpu3
blocked
10
Core scheduling
Core 0
Thread 0 Thread 1
Core 1
Thread 0 Thread 1
Core 2
Thread 0 Thread 1
Core 3
Thread 0 Thread 1
Dom0
vcpu0
Dom0
vcpu1
Dom0
vcpu4
Dom0
vcpu5
Dom0
vcpu6
Dom0
vcpu7
DomU
vcpu0
DomU
vcpu1
DomU
vcpu3
DomU
vcpu2
runq Dom0
vcpu2
Dom0
vcpu3
blocked
Motivation
12
Cpu bugs
• Several cpu bugs (e.g. L1TF, MDS) involve side channel
attacks to steal data from threads of the same core
• Core scheduling prohibits cross-domain side channel
attacks
• This lays the groundwork for a safe operation with SMT
enabled
13
Fairness of accounting
• Threads running on the same core share multiple
resources (execution units, TLB, caches), so they are
influencing each other regarding performance
• With cpu scheduling a guest’s cpu performance is
depending on the host load, not on that of the guest
• In case the owner of the guest has to pay for the used
cpu time the price will depend on host load
14
Guest side optimizations
• The guest might decide to let run only one thread of a
core to make use of all resources of that core in a single
thread
• Some threads might be able to make use of shared
resources when running on the same core
• The guest might want to mitigate against cpu bugs via
core-aware scheduling
How does it work?
16
Decoupling scheduling from cpus
• In schedulers switch:
‒ vcpu→sched_unit
‒ pcpu→sched_resource
• Scheduling decisions are the same as before
• Amount of needed changes in sched_*.c rather high, but
mostly mechanical
• Scheduler.c is acting as abstraction layer for rest of the
hypervisor
• A sched_resource can be a cpu, core or socket
17
Syncing of context switches
• When switching vcpus on a cpu all other vcpus of the
same sched_unit must be switched on all other cpus of
the sched_resource
• Syncing is done in 2 steps:
‒ After decision is made to switch all other cpus of sched_resource
must rendezvous
‒ Context switch is performed on all affected cpus in parallel, after
that all cpus again rendezvous before they proceed
• At no time two vcpus of different sched_units are running
in guest mode on the same sched_resource
18
Syncing of context switches
1.Schedule event on one cpu
2.Take schedule lock, call scheduler for selecting next
sched_unit to run
3.If no change, drop lock and exit, otherwise signal other cpus
of sched_resource to process schedule_slave event, then
drop lock and wait for others to join
4.Last one to join switches sched_unit on sched_resource,
frees others to continue
5.On each cpu of sched_resource context is switched to new
vcpu
6.Wait on each cpu until all context switches are done, then
leave schedule handling
19
Idle vcpus
• A guest vcpu becoming idle will result in the idle vcpu
being scheduled
• Only if the scheduler decides to switch sched_units a
synchronized context switch is needed
• No change of address space when switching between
idle and guest vcpus without sched_unit switch (no
change on x86)
• An idle vcpu running in a guest sched_unit won’t run
tasklets or do livepatching in order to avoid activities for
other guests
20
Cpupools
• Only complete sched_resources can be moved from/to
cpupools
• For easy support of cpu hotplug cpus not in any cpupool
are not handled in units of sched_resources, but
individually
• At system boot cpupool0 is only created after all cpus
are brought online, as otherwise the number of cpus per
sched_resource isn’t yet known
• Cpus not in any pool are no longer handled by the
default scheduler, but by the new idle_scheduler
21
Cpu hotplug
• SMT on/off switching at runtime disabled with core
scheduling active
• Offlining a cpu will now first remove the related
sched_resource from cpupool0 if necessary
• Onlining a cpu will add it only to cpupool0 in case the
complete sched_resource is online
22
Cpupool0
Cpupools and cpu hotplug
Core 0
Thread 0 Thread 1
Core 1
Thread 0 Thread 1
Core 2
Thread 0 Thread 1
Core 3
Thread 0 Thread 1
23
Cpupool0
Cpupools and cpu hotplug
Core 0
Thread 0 Thread 1
Core 1
Thread 0 Thread 1
Core 2
Thread 0 Thread 1 Thread 0 Thread 1
24
Cpupool0
Cpupools and cpu hotplug
Core 0
Thread 0 Thread 1
Core 1
Thread 0 Thread 1
Core 2
Thread 0 Thread 1 Thread 0
Performance numbers
26
Test basics
• All tests done by Dario Faggioli (SUSE)
• Test machine was a 4-core system with HT (8 cpus)
• Dom0 always with 8 vcpus, HVM domU with 4 or 8 vcpus
• Scenarios (all results compared to “without patches, HT on”,
positive numbers are better):
‒ Without patches (HT on/off)
‒ sched-gran=cpu (HT on/off)
‒ sched-gran=core
• Benchmarks:
‒ Stream (memory benchmark, 4 tasks in parallel)
‒ Kernbench (kernel build with 2, 4, 8 or 16 threads)
‒ Hackbench (communication via pipes, machine saturated)
‒ Mutilate (load generator for memcached)
‒ Netperf (TCP/UDP/UNIX, two communicating tasks)
‒ Pgioperf (postgres micro-benchmark)
27
Dom0 only
Unpatched,
no-HT
gran=cpu, HT
gran=cpu, no-
HT
gran=core
Stream
-0.06% …
+0.11%
+0.11% …
+0.50%
-0.02% …
+1.11%
-7.37% …
-3.82%
Kernbench
-36.9% ...
+7.07%
-0.61% …
+0.21%
-36.81% …
+6.77%
-5.98% …
-0.01%
Hackbench
-67.08% …
-43.44%
-4.79% …
+7.35%
-68.30% …
-37.19%
-3.22% …
+5.38%
Mutilate
-20.65% …
+10.05%
-0.63% …
-0.08%
-19.70% …
+11.26%
-11.40% …
-2.23%
Netperf
-0.37% …
+3.14%
-4.38% …
+1.00%
-5.01% …
+1.71%
-33.08% …
+6.71%
Pgioperf
-14.01% …
-6.63%
-12.54% …
+1.15%
-11.04% …
+3.09%
-6.71% …
-4.04%
28
HVM domU, 4 vcpus
Unpatched,
no-HT
gran=cpu, HT
gran=cpu, no-
HT
gran=core
Stream
-6.67% …
-0.25%
-6.86% …
-5.38%
-1.35% …
+0.23%
-16.81% …
-8.35%
Kernbench
+1.17% ...
+14.52%
+1.14% …
+6.31%
-0.03% …
+13.52%
-39.96% …
-13.99%
Hackbench
-8.12% …
+26.34%
-33.51% …
+10.54%
-11.78% …
+24.71%
-43.25% …
-4.07%
Mutilate
-0.49% …
+9.76%
-4.49% …
-0.12%
-3.12% …
+8.80%
-16.66% …
-8.48%
Netperf
-8.04% …
+11.83%
-41.63% …
+2.55%
-10.78% …
+17.42%
-26.58% …
+4.74%
Pgioperf
-1.47% …
+3.57%
-29.63% …
+1.77%
+0.28% …
+5.48%
+0.10% …
+13.85%
29
HVM domU, 8 vcpus
Unpatched,
no-HT
gran=cpu, HT
gran=cpu, no-
HT
gran=core
Stream
+2.82% …
+6.84%
+0.47% …
+5.07%
+4.52% …
+5.73%
-14.91% …
-9.55%
Kernbench
-46.41% ...
+6.04%
+0.46% …
+1.70%
-46.42% …
+6.25%
-6.91% …
+0.19%
Hackbench
-50.23% …
+4.17%
-14.08% …
+14.06%
-48.40% …
+7.08%
-16.51% …
+11.06%
Mutilate
-68.33% …
-6.48%
-1.11% …
+2.33%
-66.81% …
-3.00%
-45.50% …
-6.17%
Netperf
-11.87% …
+25.95%
-15.48% …
+14.57%
-8.64% …
+4.58%
-18.00% …
+1.81%
Pgioperf
+0.79% …
+94.25%
-1.62% …
+19.02%
-0.44% …
+83.68%
-49.56% …
+0.51%
30
2 * HVM domU, 8 vcpus
Unpatched,
no-HT
gran=cpu, HT
gran=cpu, no-
HT
gran=core
Stream
-26.13% …
-22.94%
-0.87% …
+1.45%
-25.48% …
-22.58%
-13.34% …
-6.37%
Kernbench
-50.26% ...
-48.38%
-0.24% …
-0.13%
-51.79% …
-49.89%
-23.98% …
-17.84%
Hackbench
+15.02% …
+35.59%
-2.28% …
+5.42%
+10.41% …
+34.48%
-12.19% …
+16.91%
Mutilate
-93.85% …
-56.82%
-2.19% …
+8.57%
-91.89% …
-57.33%
-83.70% …
-13.03%
Netperf
-50.48% …
-15.77%
-16.39% …
+7.61%
-48.31% …
-18.41%
-36.22% …
+4.41%
Pgioperf
-7.32% …
-2.18%
-231.22% …
+0.30%
-1605.80% …
-5.63%
-6035.64% …
-30.76%
Current state
32
Patches already committed
• Removing cpu on/offlining hooks in schedule.c and
cpupool.c for suspend/resume handling
• Small correction in sched_credit2.c for SMT-aware
scheduling (needed for core scheduling)
• Inline wrappers for calling per-scheduler functions from
schedule.c
• Test for mandatory per-scheduler functions instead of
ASSERT()
• Interface change for sched_switch_sched() per-
scheduler function avoiding code duplication
33
Patches in review
• V1 of the (rest-)series, currently 57 patches
• 40 files changed, 3704 insertions(+), 2299 deletions(-)
• Only small parts of V1 have been reviewed up to now
(thanks to all reviewers!)
• All comments on RFC-V1 and RFC-V2 have been
addressed, those required some major reworks (partially
due to renaming requests, partially conceptual ones)
34
Future plans
• Rework of scheduler related files (move to
common/sched/, making sched-if.h really scheduler
private)
• ARM support
• Support of per-cpupool scheduling granularity
• Support of per-cpupool SMT setting
• Sane topology reporting to the guests
• Add hypercall syncing between threads for full
L1TF/MDS mitigation (probably kills performance)
35

Weitere ähnliche Inhalte

Was ist angesagt?

Presentation of helpdesk
Presentation of helpdeskPresentation of helpdesk
Presentation of helpdeskArchana Negi
 
HCL Sametime V11 installation - tips
HCL Sametime V11 installation - tipsHCL Sametime V11 installation - tips
HCL Sametime V11 installation - tipsAles Lichtenberg
 
Technical Support Helpdesk
Technical Support HelpdeskTechnical Support Helpdesk
Technical Support HelpdeskGagan Singh
 
Ugprade HCL Sametime V11.5 to V11.6 - Step by Step
Ugprade HCL Sametime V11.5 to V11.6 - Step by StepUgprade HCL Sametime V11.5 to V11.6 - Step by Step
Ugprade HCL Sametime V11.5 to V11.6 - Step by StepAles Lichtenberg
 
DLL in Math 7 Week 3.docx
DLL in Math 7 Week 3.docxDLL in Math 7 Week 3.docx
DLL in Math 7 Week 3.docxzaldytabugoca3
 
Building a centralized observability platform
Building a centralized observability platformBuilding a centralized observability platform
Building a centralized observability platformElasticsearch
 

Was ist angesagt? (7)

Windows 10 Migration
Windows 10 MigrationWindows 10 Migration
Windows 10 Migration
 
Presentation of helpdesk
Presentation of helpdeskPresentation of helpdesk
Presentation of helpdesk
 
HCL Sametime V11 installation - tips
HCL Sametime V11 installation - tipsHCL Sametime V11 installation - tips
HCL Sametime V11 installation - tips
 
Technical Support Helpdesk
Technical Support HelpdeskTechnical Support Helpdesk
Technical Support Helpdesk
 
Ugprade HCL Sametime V11.5 to V11.6 - Step by Step
Ugprade HCL Sametime V11.5 to V11.6 - Step by StepUgprade HCL Sametime V11.5 to V11.6 - Step by Step
Ugprade HCL Sametime V11.5 to V11.6 - Step by Step
 
DLL in Math 7 Week 3.docx
DLL in Math 7 Week 3.docxDLL in Math 7 Week 3.docx
DLL in Math 7 Week 3.docx
 
Building a centralized observability platform
Building a centralized observability platformBuilding a centralized observability platform
Building a centralized observability platform
 

Ähnlich wie XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE

AOS Lab 6: Scheduling
AOS Lab 6: SchedulingAOS Lab 6: Scheduling
AOS Lab 6: SchedulingZubair Nabi
 
Process Scheduler and Balancer in Linux Kernel
Process Scheduler and Balancer in Linux KernelProcess Scheduler and Balancer in Linux Kernel
Process Scheduler and Balancer in Linux KernelHaifeng Li
 
Introduction to ARM big.LITTLE technology
Introduction to ARM big.LITTLE technologyIntroduction to ARM big.LITTLE technology
Introduction to ARM big.LITTLE technology義洋 顏
 
Broken Performance Tools
Broken Performance ToolsBroken Performance Tools
Broken Performance ToolsC4Media
 
Process scheduling
Process schedulingProcess scheduling
Process schedulingHao-Ran Liu
 
QCon 2015 Broken Performance Tools
QCon 2015 Broken Performance ToolsQCon 2015 Broken Performance Tools
QCon 2015 Broken Performance ToolsBrendan Gregg
 
UNIPROCESS SCHEDULING.pptx
UNIPROCESS SCHEDULING.pptxUNIPROCESS SCHEDULING.pptx
UNIPROCESS SCHEDULING.pptxansariparveen06
 
Q2.12: Existing Linux Mechanisms to Support big.LITTLE
Q2.12: Existing Linux Mechanisms to Support big.LITTLEQ2.12: Existing Linux Mechanisms to Support big.LITTLE
Q2.12: Existing Linux Mechanisms to Support big.LITTLELinaro
 
VMworld 2016: vSphere 6.x Host Resource Deep Dive
VMworld 2016: vSphere 6.x Host Resource Deep DiveVMworld 2016: vSphere 6.x Host Resource Deep Dive
VMworld 2016: vSphere 6.x Host Resource Deep DiveVMworld
 
Kvm performance optimization for ubuntu
Kvm performance optimization for ubuntuKvm performance optimization for ubuntu
Kvm performance optimization for ubuntuSim Janghoon
 
Build an High-Performance and High-Durable Block Storage Service Based on Ceph
Build an High-Performance and High-Durable Block Storage Service Based on CephBuild an High-Performance and High-Durable Block Storage Service Based on Ceph
Build an High-Performance and High-Durable Block Storage Service Based on CephRongze Zhu
 
operating system (1).pdf
operating system (1).pdfoperating system (1).pdf
operating system (1).pdfAliyanAbbas1
 
Multithreading computer architecture
 Multithreading computer architecture  Multithreading computer architecture
Multithreading computer architecture Haris456
 
Round-ribon algorithm presntation
Round-ribon algorithm presntationRound-ribon algorithm presntation
Round-ribon algorithm presntationJamsheed Ali
 
Operating system 28 fundamental of scheduling
Operating system 28 fundamental of schedulingOperating system 28 fundamental of scheduling
Operating system 28 fundamental of schedulingVaibhav Khanna
 
Operating Systems 1 (10/12) - Scheduling
Operating Systems 1 (10/12) - SchedulingOperating Systems 1 (10/12) - Scheduling
Operating Systems 1 (10/12) - SchedulingPeter Tröger
 

Ähnlich wie XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE (20)

AOS Lab 6: Scheduling
AOS Lab 6: SchedulingAOS Lab 6: Scheduling
AOS Lab 6: Scheduling
 
Ch6 cpu scheduling
Ch6   cpu schedulingCh6   cpu scheduling
Ch6 cpu scheduling
 
Process Scheduler and Balancer in Linux Kernel
Process Scheduler and Balancer in Linux KernelProcess Scheduler and Balancer in Linux Kernel
Process Scheduler and Balancer in Linux Kernel
 
Introduction to ARM big.LITTLE technology
Introduction to ARM big.LITTLE technologyIntroduction to ARM big.LITTLE technology
Introduction to ARM big.LITTLE technology
 
Broken Performance Tools
Broken Performance ToolsBroken Performance Tools
Broken Performance Tools
 
Process scheduling
Process schedulingProcess scheduling
Process scheduling
 
QCon 2015 Broken Performance Tools
QCon 2015 Broken Performance ToolsQCon 2015 Broken Performance Tools
QCon 2015 Broken Performance Tools
 
UNIPROCESS SCHEDULING.pptx
UNIPROCESS SCHEDULING.pptxUNIPROCESS SCHEDULING.pptx
UNIPROCESS SCHEDULING.pptx
 
Q2.12: Existing Linux Mechanisms to Support big.LITTLE
Q2.12: Existing Linux Mechanisms to Support big.LITTLEQ2.12: Existing Linux Mechanisms to Support big.LITTLE
Q2.12: Existing Linux Mechanisms to Support big.LITTLE
 
VMworld 2016: vSphere 6.x Host Resource Deep Dive
VMworld 2016: vSphere 6.x Host Resource Deep DiveVMworld 2016: vSphere 6.x Host Resource Deep Dive
VMworld 2016: vSphere 6.x Host Resource Deep Dive
 
Kvm performance optimization for ubuntu
Kvm performance optimization for ubuntuKvm performance optimization for ubuntu
Kvm performance optimization for ubuntu
 
Build an High-Performance and High-Durable Block Storage Service Based on Ceph
Build an High-Performance and High-Durable Block Storage Service Based on CephBuild an High-Performance and High-Durable Block Storage Service Based on Ceph
Build an High-Performance and High-Durable Block Storage Service Based on Ceph
 
operating system (1).pdf
operating system (1).pdfoperating system (1).pdf
operating system (1).pdf
 
Section05 scheduling
Section05 schedulingSection05 scheduling
Section05 scheduling
 
Multithreading computer architecture
 Multithreading computer architecture  Multithreading computer architecture
Multithreading computer architecture
 
Round-ribon algorithm presntation
Round-ribon algorithm presntationRound-ribon algorithm presntation
Round-ribon algorithm presntation
 
OS.pptx
OS.pptxOS.pptx
OS.pptx
 
Operating system 28 fundamental of scheduling
Operating system 28 fundamental of schedulingOperating system 28 fundamental of scheduling
Operating system 28 fundamental of scheduling
 
Operating Systems 1 (10/12) - Scheduling
Operating Systems 1 (10/12) - SchedulingOperating Systems 1 (10/12) - Scheduling
Operating Systems 1 (10/12) - Scheduling
 
Programming Models for Heterogeneous Chips
Programming Models for  Heterogeneous ChipsProgramming Models for  Heterogeneous Chips
Programming Models for Heterogeneous Chips
 

Mehr von 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: Implementing AMD MxGPU - Jonathan Farrell, Assured Information Security
XPDDS19: Implementing AMD MxGPU - Jonathan Farrell, Assured Information SecurityXPDDS19: Implementing AMD MxGPU - Jonathan Farrell, Assured Information Security
XPDDS19: Implementing AMD MxGPU - Jonathan Farrell, Assured Information SecurityThe Linux Foundation
 

Mehr von 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: Implementing AMD MxGPU - Jonathan Farrell, Assured Information Security
XPDDS19: Implementing AMD MxGPU - Jonathan Farrell, Assured Information SecurityXPDDS19: Implementing AMD MxGPU - Jonathan Farrell, Assured Information Security
XPDDS19: Implementing AMD MxGPU - Jonathan Farrell, Assured Information Security
 

Kürzlich hochgeladen

Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile EnvironmentVictorSzoltysek
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 

Kürzlich hochgeladen (20)

Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 

XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE

  • 1. Core scheduling in Xen Jürgen Groß Virtualization Kernel Developer SUSE Linux GmbH, jgross@suse.com
  • 2. 2 Agenda • What is “Core scheduling”? • Motivation • How does it work? • Performance numbers • Current state
  • 3. What is “Core scheduling”?
  • 4. 4 Today: Cpu scheduling • On each physical cpu the scheduler is deciding which vcpu is to be scheduled next • When taking other physical cpus into account only the load of the system is being looked at • Each vcpu can run on each physical cpu within some constraints (cpupools, pinning)
  • 5. 5 Cpu scheduling Core 0 Thread 0 Thread 1 Core 1 Thread 0 Thread 1 Core 2 Thread 0 Thread 1 Core 3 Thread 0 Thread 1 Dom0 vcpu0 Dom0 vcpu1 Dom0 vcpu2Dom0 vcpu3Dom0 vcpu4 Dom0 vcpu5 Dom0 vcpu6 Dom0 vcpu7 blocked
  • 6. 6 Cpu scheduling Core 0 Thread 0 Thread 1 Core 1 Thread 0 Thread 1 Core 2 Thread 0 Thread 1 Core 3 Thread 0 Thread 1 Dom0 vcpu0 Dom0 vcpu1 Dom0 vcpu2Dom0 vcpu3Dom0 vcpu4 Dom0 vcpu5 Dom0 vcpu6 Dom0 vcpu7 DomU vcpu3 DomU vcpu0 DomU vcpu2 DomU vcpu1 blocked
  • 7. 7 Cpu scheduling Core 0 Thread 0 Thread 1 Core 1 Thread 0 Thread 1 Core 2 Thread 0 Thread 1 Core 3 Thread 0 Thread 1 Dom0 vcpu0 Dom0 vcpu1 Dom0 vcpu2Dom0 vcpu3 Dom0 vcpu4 Dom0 vcpu5 Dom0 vcpu6 Dom0 vcpu7 DomU vcpu3 DomU vcpu0 DomU vcpu2 DomU vcpu1 runq blocked
  • 8. 8 Core scheduling • The scheduler is no longer acting on (v)cpus, but on (v)cores • All siblings (threads) of a core are scheduled together, scheduling for all siblings of a single core is synchronized • The relation between vcores and vcpus is fixed, in contrast to “core aware scheduling” where it might change • Pinning and cpupools are affecting cores (so e.g. pinning a vcpu to a specific physical cpu will pin all vcpus of the same vcore)
  • 9. 9 Core scheduling Core 0 Thread 0 Thread 1 Core 1 Thread 0 Thread 1 Core 2 Thread 0 Thread 1 Core 3 Thread 0 Thread 1 Dom0 vcpu0 Dom0 vcpu1 Dom0 vcpu4 Dom0 vcpu5 Dom0 vcpu6 Dom0 vcpu7 Dom0 vcpu2 Dom0 vcpu3 blocked
  • 10. 10 Core scheduling Core 0 Thread 0 Thread 1 Core 1 Thread 0 Thread 1 Core 2 Thread 0 Thread 1 Core 3 Thread 0 Thread 1 Dom0 vcpu0 Dom0 vcpu1 Dom0 vcpu4 Dom0 vcpu5 Dom0 vcpu6 Dom0 vcpu7 DomU vcpu0 DomU vcpu1 DomU vcpu3 DomU vcpu2 runq Dom0 vcpu2 Dom0 vcpu3 blocked
  • 12. 12 Cpu bugs • Several cpu bugs (e.g. L1TF, MDS) involve side channel attacks to steal data from threads of the same core • Core scheduling prohibits cross-domain side channel attacks • This lays the groundwork for a safe operation with SMT enabled
  • 13. 13 Fairness of accounting • Threads running on the same core share multiple resources (execution units, TLB, caches), so they are influencing each other regarding performance • With cpu scheduling a guest’s cpu performance is depending on the host load, not on that of the guest • In case the owner of the guest has to pay for the used cpu time the price will depend on host load
  • 14. 14 Guest side optimizations • The guest might decide to let run only one thread of a core to make use of all resources of that core in a single thread • Some threads might be able to make use of shared resources when running on the same core • The guest might want to mitigate against cpu bugs via core-aware scheduling
  • 15. How does it work?
  • 16. 16 Decoupling scheduling from cpus • In schedulers switch: ‒ vcpu→sched_unit ‒ pcpu→sched_resource • Scheduling decisions are the same as before • Amount of needed changes in sched_*.c rather high, but mostly mechanical • Scheduler.c is acting as abstraction layer for rest of the hypervisor • A sched_resource can be a cpu, core or socket
  • 17. 17 Syncing of context switches • When switching vcpus on a cpu all other vcpus of the same sched_unit must be switched on all other cpus of the sched_resource • Syncing is done in 2 steps: ‒ After decision is made to switch all other cpus of sched_resource must rendezvous ‒ Context switch is performed on all affected cpus in parallel, after that all cpus again rendezvous before they proceed • At no time two vcpus of different sched_units are running in guest mode on the same sched_resource
  • 18. 18 Syncing of context switches 1.Schedule event on one cpu 2.Take schedule lock, call scheduler for selecting next sched_unit to run 3.If no change, drop lock and exit, otherwise signal other cpus of sched_resource to process schedule_slave event, then drop lock and wait for others to join 4.Last one to join switches sched_unit on sched_resource, frees others to continue 5.On each cpu of sched_resource context is switched to new vcpu 6.Wait on each cpu until all context switches are done, then leave schedule handling
  • 19. 19 Idle vcpus • A guest vcpu becoming idle will result in the idle vcpu being scheduled • Only if the scheduler decides to switch sched_units a synchronized context switch is needed • No change of address space when switching between idle and guest vcpus without sched_unit switch (no change on x86) • An idle vcpu running in a guest sched_unit won’t run tasklets or do livepatching in order to avoid activities for other guests
  • 20. 20 Cpupools • Only complete sched_resources can be moved from/to cpupools • For easy support of cpu hotplug cpus not in any cpupool are not handled in units of sched_resources, but individually • At system boot cpupool0 is only created after all cpus are brought online, as otherwise the number of cpus per sched_resource isn’t yet known • Cpus not in any pool are no longer handled by the default scheduler, but by the new idle_scheduler
  • 21. 21 Cpu hotplug • SMT on/off switching at runtime disabled with core scheduling active • Offlining a cpu will now first remove the related sched_resource from cpupool0 if necessary • Onlining a cpu will add it only to cpupool0 in case the complete sched_resource is online
  • 22. 22 Cpupool0 Cpupools and cpu hotplug Core 0 Thread 0 Thread 1 Core 1 Thread 0 Thread 1 Core 2 Thread 0 Thread 1 Core 3 Thread 0 Thread 1
  • 23. 23 Cpupool0 Cpupools and cpu hotplug Core 0 Thread 0 Thread 1 Core 1 Thread 0 Thread 1 Core 2 Thread 0 Thread 1 Thread 0 Thread 1
  • 24. 24 Cpupool0 Cpupools and cpu hotplug Core 0 Thread 0 Thread 1 Core 1 Thread 0 Thread 1 Core 2 Thread 0 Thread 1 Thread 0
  • 26. 26 Test basics • All tests done by Dario Faggioli (SUSE) • Test machine was a 4-core system with HT (8 cpus) • Dom0 always with 8 vcpus, HVM domU with 4 or 8 vcpus • Scenarios (all results compared to “without patches, HT on”, positive numbers are better): ‒ Without patches (HT on/off) ‒ sched-gran=cpu (HT on/off) ‒ sched-gran=core • Benchmarks: ‒ Stream (memory benchmark, 4 tasks in parallel) ‒ Kernbench (kernel build with 2, 4, 8 or 16 threads) ‒ Hackbench (communication via pipes, machine saturated) ‒ Mutilate (load generator for memcached) ‒ Netperf (TCP/UDP/UNIX, two communicating tasks) ‒ Pgioperf (postgres micro-benchmark)
  • 27. 27 Dom0 only Unpatched, no-HT gran=cpu, HT gran=cpu, no- HT gran=core Stream -0.06% … +0.11% +0.11% … +0.50% -0.02% … +1.11% -7.37% … -3.82% Kernbench -36.9% ... +7.07% -0.61% … +0.21% -36.81% … +6.77% -5.98% … -0.01% Hackbench -67.08% … -43.44% -4.79% … +7.35% -68.30% … -37.19% -3.22% … +5.38% Mutilate -20.65% … +10.05% -0.63% … -0.08% -19.70% … +11.26% -11.40% … -2.23% Netperf -0.37% … +3.14% -4.38% … +1.00% -5.01% … +1.71% -33.08% … +6.71% Pgioperf -14.01% … -6.63% -12.54% … +1.15% -11.04% … +3.09% -6.71% … -4.04%
  • 28. 28 HVM domU, 4 vcpus Unpatched, no-HT gran=cpu, HT gran=cpu, no- HT gran=core Stream -6.67% … -0.25% -6.86% … -5.38% -1.35% … +0.23% -16.81% … -8.35% Kernbench +1.17% ... +14.52% +1.14% … +6.31% -0.03% … +13.52% -39.96% … -13.99% Hackbench -8.12% … +26.34% -33.51% … +10.54% -11.78% … +24.71% -43.25% … -4.07% Mutilate -0.49% … +9.76% -4.49% … -0.12% -3.12% … +8.80% -16.66% … -8.48% Netperf -8.04% … +11.83% -41.63% … +2.55% -10.78% … +17.42% -26.58% … +4.74% Pgioperf -1.47% … +3.57% -29.63% … +1.77% +0.28% … +5.48% +0.10% … +13.85%
  • 29. 29 HVM domU, 8 vcpus Unpatched, no-HT gran=cpu, HT gran=cpu, no- HT gran=core Stream +2.82% … +6.84% +0.47% … +5.07% +4.52% … +5.73% -14.91% … -9.55% Kernbench -46.41% ... +6.04% +0.46% … +1.70% -46.42% … +6.25% -6.91% … +0.19% Hackbench -50.23% … +4.17% -14.08% … +14.06% -48.40% … +7.08% -16.51% … +11.06% Mutilate -68.33% … -6.48% -1.11% … +2.33% -66.81% … -3.00% -45.50% … -6.17% Netperf -11.87% … +25.95% -15.48% … +14.57% -8.64% … +4.58% -18.00% … +1.81% Pgioperf +0.79% … +94.25% -1.62% … +19.02% -0.44% … +83.68% -49.56% … +0.51%
  • 30. 30 2 * HVM domU, 8 vcpus Unpatched, no-HT gran=cpu, HT gran=cpu, no- HT gran=core Stream -26.13% … -22.94% -0.87% … +1.45% -25.48% … -22.58% -13.34% … -6.37% Kernbench -50.26% ... -48.38% -0.24% … -0.13% -51.79% … -49.89% -23.98% … -17.84% Hackbench +15.02% … +35.59% -2.28% … +5.42% +10.41% … +34.48% -12.19% … +16.91% Mutilate -93.85% … -56.82% -2.19% … +8.57% -91.89% … -57.33% -83.70% … -13.03% Netperf -50.48% … -15.77% -16.39% … +7.61% -48.31% … -18.41% -36.22% … +4.41% Pgioperf -7.32% … -2.18% -231.22% … +0.30% -1605.80% … -5.63% -6035.64% … -30.76%
  • 32. 32 Patches already committed • Removing cpu on/offlining hooks in schedule.c and cpupool.c for suspend/resume handling • Small correction in sched_credit2.c for SMT-aware scheduling (needed for core scheduling) • Inline wrappers for calling per-scheduler functions from schedule.c • Test for mandatory per-scheduler functions instead of ASSERT() • Interface change for sched_switch_sched() per- scheduler function avoiding code duplication
  • 33. 33 Patches in review • V1 of the (rest-)series, currently 57 patches • 40 files changed, 3704 insertions(+), 2299 deletions(-) • Only small parts of V1 have been reviewed up to now (thanks to all reviewers!) • All comments on RFC-V1 and RFC-V2 have been addressed, those required some major reworks (partially due to renaming requests, partially conceptual ones)
  • 34. 34 Future plans • Rework of scheduler related files (move to common/sched/, making sched-if.h really scheduler private) • ARM support • Support of per-cpupool scheduling granularity • Support of per-cpupool SMT setting • Sane topology reporting to the guests • Add hypercall syncing between threads for full L1TF/MDS mitigation (probably kills performance)
  • 35. 35