Affinity-aw are Dynam ic Pinning Scheduling for Virtual Machines - - PowerPoint PPT Presentation

affinity aw are dynam ic pinning scheduling for virtual
SMART_READER_LITE
LIVE PREVIEW

Affinity-aw are Dynam ic Pinning Scheduling for Virtual Machines - - PowerPoint PPT Presentation

Affinity-aw are Dynam ic Pinning Scheduling for Virtual Machines Zhi Li lizhi@cse.buaa.edu.cn School of Computer Science, BeiHang University, Beijing, China Outline Motivation CPU Affinity-aware Method Dynamic Pinning Scheduling


slide-1
SLIDE 1

Affinity-aw are Dynam ic Pinning Scheduling for Virtual Machines

Zhi Li lizhi@cse.buaa.edu.cn School of Computer Science, BeiHang University, Beijing, China

slide-2
SLIDE 2

Outline

 Motivation  CPU Affinity-aware Method  Dynamic Pinning Scheduling  Performance Evaluation

slide-3
SLIDE 3

Virtualization leads to w orse cache m iss

Motivation

L2 Cache misses on both non-virtualization and virtualization

slide-4
SLIDE 4

Analysis of the Issue

 VCPUs from same Domain take turns to

run in a same CPU runq

 Frequent migrations from this kind of

VCPU

slide-5
SLIDE 5

How to bridge the semantic gap between Guest OS and VMM

 Affinity-aware DP-Scheduling:

  • Affinity-aware method: providing the task affinity

information to VMM.

  • DP-Scheduling: implementing that VCPU can be

pinned or unpinned dynamically

slide-6
SLIDE 6

CPU Affinity-aware Method

 Timing Control

  • When CR3 is changing

 Methodology for Capture

  • Affinity Coefficient (AC)

 API

  • Provide AC for the scheduler
slide-7
SLIDE 7

Dynamic Pinning Scheduling

Memory Disk . . .

. . .

Guest OS 2 Driver Domain Guest OS 1 Guest OS n

Core Core L2 cache Core Core L2 cache Core Core L2 cache . . .

PI Manager Scheduler VCPU Monitor DP- Scheduling Affinity-aware Detector API

slide-8
SLIDE 8

Dynamic Pinning Scheduling

A Common VCPU Run Queue B Pinned-VCPU Run Queue

CPU j CPU i CPU i CPU j VCPU Y.1 VCPU X.1 VCPU Y.0 VCPU Y.0 VCPU X.1 VCPU Y.1 VCPU X.0 VCPU X.0 CPU j CPU i CPU i CPU j VCPU Y.1 VCPU X.1 VCPU Y.0 VCPU Y.1 VCPU X.1 VCPU Y.0 VCPU X.0 VCPU X.0 Common VCPU Pinned VCPU Idle VCPU

CPU j CPU i CPU m CPU n VCPU Y.1 VCPU Y.0 VCPU Y.3 VCPU X.1 VCPU Y.2 Common VCPU Pinned VCPU Idle VCPU VCPU X.2 VCPU X.0 VCPU X.3 CPU j CPU i CPU m CPU n VCPU Y.1 VCPU Y.0 VCPU Y.3 VCPU X.1 VCPU Y.2 VCPU X.2 VCPU X.0 VCPU X.3 Idle CPU

slide-9
SLIDE 9

Dynamic Pinning Scheduling

 strategies :

  • (a).pin VCPU to the CPU with no pinned VCPU

at this time.

  • (b).pin VCPU to the CPU with lower workload.
  • (c).pin VCPU to the local CPU if both (a) and

(b) do not happen.

  • (d).do not migrate the VCPU actively when it is

unpinned.

  • (e).unpin the VCPU with the lowest value of AC

when the number of CPU equals.

  • (f).unpin the VCPU pinned before if it goes to

the state of OVER or IDLE.

slide-10
SLIDE 10

DP-Scheduling Algorithm

slide-11
SLIDE 11

Benchmark Category Code Name Variable Measurement HPCC STREAM Array size Memory Bandwidth EPCC OpenMP Micro- benchmark suite Thread Number Time IMB Sendrecv Message Size Transfer Speed Exchange

Performance Evaluation

Platform

  • Xeon 5405(two quad-core)
  • L2 cache: 6M
  • RAM: 4G
  • Xen: 3.4.3

Benchmark

slide-12
SLIDE 12

Performance Evaluation

slide-13
SLIDE 13

Conclusion

DP-Scheduling outperforms Credit scheduling for kinds of CPU-bound tasks, without interfering the load balance

slide-14
SLIDE 14