The Xen Credit CPU S Scheduler Emmanuel Ackaouy ack@xensource.com - - PowerPoint PPT Presentation

the xen credit cpu s scheduler
SMART_READER_LITE
LIVE PREVIEW

The Xen Credit CPU S Scheduler Emmanuel Ackaouy ack@xensource.com - - PowerPoint PPT Presentation

The Xen Credit CPU S Scheduler Emmanuel Ackaouy ack@xensource.com Goals Maintainability Simple & Fast Zero-admin good default behavior Fairness : Weight based I/O versus CPU intensive VCPUs Tuning via per-VM weight


slide-1
SLIDE 1

The Xen Credit CPU S Scheduler

Emmanuel Ackaouy

ack@xensource.com

slide-2
SLIDE 2

9/18/06 XenSource: Open Source Enterprise Virtualization 2

Goals

  • Maintainability

– Simple & Fast

  • Zero-admin good default behavior

– Fairness: Weight based – I/O versus CPU intensive VCPUs – Tuning via per-VM weight & cap

  • Better SMP support

– Work conserving – Transparent cross CPU migration – System wide accounting & fairness

slide-3
SLIDE 3

9/18/06 XenSource: Open Source Enterprise Virtualization 3 CPU0

VCPU 1.0 VCPU 2.0 VCPU 3.0 5 1 0 1 5 2 0 2 5 VCPU1 VCPU2 VCPU3 VCPU4

CPU Usage

VCPU 4.0

Round Robin

slide-4
SLIDE 4

9/18/06 XenSource: Open Source Enterprise Virtualization 4 CPU0

VCPU I/O VCPU SPIN

2 0 4 0 6 0 8 0 100 I/O SPIN

CPU Usage Latency to Run

5 1 0 1 5 I/O 5 1 0 1 5 I/O

2 0 4 0 6 0 8 0 I/O SPIN

Preemption

slide-5
SLIDE 5

9/18/06 XenSource: Open Source Enterprise Virtualization 5 CPU0

VCPU I/O VCPU SPIN

Run Queue Active Domains DOM I/O DOM SPIN Host

DOM I/O

Credit Cap 30

VCPU I/O

Priority UNDER

Priorities!

slide-6
SLIDE 6

9/18/06 XenSource: Open Source Enterprise Virtualization 6 CPU0

VCPU 1.0 VCPU 2.0 VCPU 3.0 5 1 0 1 5 2 0 2 5 VCPU1 VCPU2 VCPU3 VCPU4

CPU Usage

VCPU 4.0

CPU1

slide-7
SLIDE 7

9/18/06 XenSource: Open Source Enterprise Virtualization 7 CPU0

VCPU 1.0 VCPU 2.0

CPU1

VCPU 3.0 1 0 2 0 3 0 4 0 5 0 VCPU1 VCPU2 VCPU3

CPU Usage

slide-8
SLIDE 8

9/18/06 XenSource: Open Source Enterprise Virtualization 8 CPU0

VCPU 1.0 VCPU 2.0

CPU1

VCPU 3.0

Run Queues Active Domains DOM2 DOM1 DOM3 Host

DOM4

Credit Cap

  • 10

VCPU 3.0

Priority OVER

slide-9
SLIDE 9

9/18/06 XenSource: Open Source Enterprise Virtualization 9 CPU0

VCPU 1.0 VCPU 2.0

CPU1

VCPU 3.0 1 0 2 0 3 0 4 0 5 0 VCPU1 VCPU2 VCPU3 5 1 0 1 5 2 0 2 5 3 0 3 5 VCPU1 VCPU2 VCPU3

CPU0

VCPU 1.0 VCPU 3.0

CPU1

VCPU 2.0

CPU0

VCPU 3.0 VCPU 1.0

CPU1

VCPU 2.0

CPU Usage

Self Balancing!

slide-10
SLIDE 10

9/18/06 XenSource: Open Source Enterprise Virtualization 10

Global A Accounting

  • Periodically recompute priorities for all active

VCPUs

– UNDER (below fair share usage) – OVER (above fair share)

  • VCPU fair shares derived from VM weight

and cap in proportion to all active VMs

  • Accounting cost

– A function of # active VCPUs in system – NOT a function of # scheduling decisions

slide-11
SLIDE 11

9/18/06 XenSource: Open Source Enterprise Virtualization 11

Local C CPU S Scheduling

  • Per-CPU sorted runq

– 2 VCPU priorities: OVER and UNDER fair share

  • Clock tick

– Charge running VCPU

  • Scheduling decision

– End of time slice or VCPU blocks – Common case: run next local VCPU under fair share – Otherwise: pick queued remote under fair share VCPU, local

  • ver VCPU, or remote over VCPU (in that order)
  • Scheduling cost

– Common case: Pick next VCPU on local runq

slide-12
SLIDE 12

9/18/06 XenSource: Open Source Enterprise Virtualization 12 CPU0

VCPU 1.0 VCPU 2.0 VCPU 3.0 VCPU 0.0

CPU1

VCPU 1.1 VCPU 2.1 VCPU 3.1

CPU2

VCPU 1.2 VCPU 2.2 VCPU 3.2

CPU3

VCPU 1.3 VCPU 2.3 VCPU 3.3 VCPU 4.1 VCPU 4.0

Run Queues Active Domains DOM1 DOM0 DOM2 DOM3 DOM4 Host

DOM4

Credit Cap

  • 10

VCPU 4.1

Priority OVER

Credit Scheduler Internals