affinity aw are dynam ic pinning scheduling for virtual
play

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


  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

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

  3. Motivation L2 Cache misses on both non-virtualization and virtualization Virtualization leads to w orse cache m iss

  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

  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

  6. CPU Affinity-aware Method  Timing Control ◦ When CR3 is changing  Methodology for Capture ◦ Affinity Coefficient (AC)  API ◦ Provide AC for the scheduler

  7. Dynamic Pinning Scheduling . . . Driver Guest OS 1 Guest OS 2 Guest OS n Domain Scheduler PI Manager API VCPU DP- Affinity-aware Monitor Scheduling Detector . . . Core Core Core Core Core Core . . . Disk Memory L2 cache L2 cache L2 cache

  8. Dynamic Pinning Scheduling CPU i CPU i CPU j CPU j CPU i CPU i CPU j CPU j VCPU VCPU VCPU VCPU VCPU VCPU VCPU VCPU X.0 Y.1 Y.1 Y.0 X.0 Y.1 Y.0 Y.1 VCPU VCPU VCPU VCPU VCPU VCPU X.1 Y.0 X.0 X.1 Y.0 X.0 VCPU VCPU CPU i CPU m CPU n CPU i CPU j CPU m CPU n CPU j X.1 X.1 B A Pinned-VCPU Run Queue Common VCPU Run Queue VCPU VCPU VCPU VCPU VCPU VCPU VCPU VCPU Y.3 Y.1 Y.2 Y.3 X.0 Y.1 Y.2 X.0 Common VCPU Idle VCPU Pinned VCPU VCPU VCPU VCPU VCPU VCPU VCPU VCPU VCPU X.1 Y.0 X.1 Y.0 X.2 X.3 X.2 X.3 Common VCPU Idle VCPU Pinned VCPU Idle CPU

  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.

  10. DP-Scheduling Algorithm

  11. Performance Evaluation Platform • Xeon 5405(two quad-core) • L2 cache: 6M • RAM: 4G • Xen: 3.4.3 Benchmark Benchmark Category Code Name Variable Measurement Memory HPCC STREAM Array size Bandwidth OpenMP Micro- Thread EPCC Time benchmark suite Number Sendrecv Message IMB Transfer Speed Size Exchange

  12. Performance Evaluation

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

Recommend


More recommend