SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
Scheduler Support for
Video-oriented Multimedia on
   Client-side Virtualization
 Hwanju Kim1, Jinkyu Jeong1, Jaeho Hwang1, Joonwon Lee2,
                 and Seungryoul Maeng1

Korea Advanced Institute of Science and Technology (KAIST)1
                Sungkyunkwan University2
               ACM Multimedia Systems (MMSys)
       February, 22-24, Chapel Hill, North Carolina, USA
Virtualization Everywhere
•  A new layer between OS and HW
    =hypervisor
                                     Multiple OSes
                          VM
                 VM
                                                     High resource utilization
                          OS
                 OS
    Strong Isolation
                                                     Easy management
                                Hypervisor
          Live maintenance
                                                     Fast provisioning
                                                     …



Server-side virtualization
             Client-side virtualization


        Cloud computing
  Virtual desktop infrastructure


                                                                       2/22
Client-side Virtualization
•  Multiple OS instances on a local device
•  Primary use cases
  •  Different OSes for application compatibility
  •  Consolidating business and personal
     computing environments on a single device
    •  BYOD: Bring Your Own Device
       Managed 
       domain
        Business
      Personal
          VM
            VM

              Hypervisor
                                                3/22
Multimedia on Virtualized Clients
•  Multimedia is ubiquitous on any VM
  Video
                     Data                     Video
Playback
   Compilation   Processing   3D game
     conference
 Downloading




Windows
       Linux
      Business
    Personal
    Business
    Personal
  VM
           VM
          VM
          VM
          VM
          VM

     Hypervisor
                Hypervisor
               Hypervisor



1. Multimedia workloads are dominant on virtualized clients
2. Interactive systems can have concurrently mixed workloads
                                                                        4/22
Issues on Multi-layer Scheduling
 •  A multimedia-agnostic hypervisor invalidat
    es OS policies for multimedia
                                                            VM
                  VM
Larger CPU proportion
& Timely dispatching
                                    Task
 Task
          Task
 Task

                                                           OS 
                  OS
                                                        scheduler
            Scheduler
                                 Task
                         Task
                                                        Virtual CPU
      Virtual CPU
BVT [SOSP’99]            OS scheduler
   Additional
SMART [TOCS’03]                          abstraction
           Hypervisor
Rialto [SOSP’97]
BEST [MMCN’02]               CPU
                               Scheduler
HuC [TOMCCAP’06]
Redline [OSDI’08]                                                      CPU
RSIO [SIGMETRICS’10]       I’m unaware of any multimedia
Windows MMCSS              -specific OS policies in a VM,
                           since I see each VM as a black
                                                               Semantic gap!
                           box.
                                                       5/22
Multimedia-agnostic Hypervisor
•  Multimedia QoS degradation                                                                    Video playback
    Competing


                    •  Two VMs with equal CPU shares
                                                                                                  or 3D game
       workloads




                      •  Multimedia VM + Competing VM                                                VM
                VM
                                                                                                        Xen hypervisor
                                                                                                        Credit scheduler
                           Video playback (720p)
                           on VLC media player
                                     Quake III Arena (demo1)
               30                                                         100
                                                                           90
               25                                                          80




                                                           Average FPS
Average FPS




                                                                           70
               20
                                                                           60
               15                                                          50
                                                                           40
               10                                                          30
                                                                           20
                5
                                                                           10
                0                                                           0




                      Competing workloads in another VM
                        Competing workloads in another VM
                                                                                                                       6/22
Possible Solutions to Semantic Gap
•  Explicit vs. Implicit
       Explicit
                 Explicit
                 Implicit
    OS cooperation
        User involvement
            Hypervisor-only
         VM
                        VM
                        VM

     OS scheduler
              OS scheduler
             OS scheduler

                                                         Workload monitor
      Hypervisor 
               Hypervisor 
              Hypervisor 
      Scheduler
                 Scheduler
                Scheduler

+ Accurate
                + Simple
                + Transparency

                          
                        
- OS modification
         - Inconvenient
          - Difficult to identify 
- Infeasible w/o 
         - Unsuitable for
            workload demands
    multimedia-friendly
       dynamic workloads
       at the hypervisor
    OS schedulers
                                                      7/22
Proposed Approach
•  Multimedia-aware hypervisor scheduler
  •  Transparent scheduler support for multimedia
          •  No modifications to upper layer SW (OS & apps)
          •  “Feedback-driven VM scheduling”
          VM
                 VM
             VM
                                                   Scheduling command
                                                (e.g., CPU share or priority)
                         Hypervisor
                            Multimedia
    Multimedia
                                  CPU 
                              manager
     monitor
                                 scheduler
                         (feedback-driven)


                                                           Challenges
                           Estimated                       1. How to estimate multimedia QoS
                         multimedia QoS
                                                           based on a small set of HW events?
 Audio
         Video
                         CPU
                                                           2. How to control CPU scheduler
                                                           based on the estimated information
                                                                                     8/22
Multimedia QoS Estimation
 •  What is estimated as multimedia QoS?
      •  “Display rate” (i.e., frame rate)
           •  Used by HuC scheduler [TOMCCAP’06]
 •  How is a display rate captured at the
    hypervisor?
      •  Two types of display
 1.  Memory-mapped
                                                               2. GPU-accelerated
               display
                                                           display
(e.g., video playback)
                                                           (e.g., 3D game)
                           Display 
                                 Graphics 
                          interface
                                  Library
                             Memory-mapped

                                                      Acceleration
                                       Framebuffer
                                                          unit

                                                      Video device
                           9/22
Memory-mapped Display (1/2)
•  How to estimate a display update rate on
   the memory-mapped framebuffer
     •  Write-protection for virtual address space
        mapped to framebuffer


                           Display interface

                                     write
            The hypervisor can inspect any attempt to map memory

                             Virtual address space
                                                                  Write-protection
     Hypervisor 
           
                                                    Sampling to reduce trap overheads
 page fault handler                                             (1/128 pages, by default)
 {                                              Framebuffer
     Update display rate                          memory
 }
                                                                                                    10/22
Memory-mapped Display (2/2)
•  Accurate estimation
  •  Maintaining display rate per task
    •  An aggregated display rate does not                          Task

                                                                            10 FPS
       represent multimedia QoS
                                                       Task

                                                          25 FPS
    •  Tracking guest OS task at the hypervisor
       •  Inspecting address space switches (Antfarm [USENIX’06])


  •  Monitoring audio access (RSIO             [SIGMETRIC’10])
    •  Inspecting audio buffer access with write-protection
    •  A task with a high display rate and audio access
       à a multimedia task
                                                                       11/22
GPU-accelerated Display (1/2)
•  Naïve method
  •  Inspecting GPU command buffer with
     write-protection or polling
     •  Too heavy due to huge amount of GPU commands
•  Lightweight method
  •  Little overhead, but less accuracy
     •  3D games are less sensitive to frame rate degradation
        than video playback
  •  GPU interrupt-based estimation
     •  An interrupt is typically used for an application to
        manage buffer memory
     •  Hypothesis
        •  “A GPU interrupt rate is in proportion to a display rate”

                                                                       12/22
GPU-accelerated Display (2/2)
                      •  Linear relationship between display rates
                         and GPU interrupt rates
                                           Intel GMA 950
                                                            Nvidia 6150 Go
                                                          PowerVR
                                            (Apple MacBook)
                                                         (HP Pavillion tablet)
                                                (Samsung GalaxyS)
                                        Quake3 demo1 (640x480)                                                    Quake3 demo1 (640x480)                                           400   Quake3 demo4 (320x240)
# of GPU interrupt / sec




                                                                            # of GPU interrupt / sec




                                                                                                                                                       # of GPU interrupt / sec
                            12000       Quake3 demo2 (640x480)                                          160       Quake3 demo2 (640x480)                                           350
                            10000                                                                                                                                                        Quake3 demo4 (640x480)
                                        Quake3 demo1 (1024x768)                                         140       Quake3 demo1 (1024x768)                                          300
                            8000                                                                                                                                                   250
                                                                                                        120
                                                                                                                                                                                   200
                            6000
                                                                                                        100                                                                        150
                            4000
                                                                                                                                                                                   100
                            2000                                                                        80
                                                                                                                                                                                   50
                               0                                                                        60                                                                          0
                                    0     20    40      60   A GPU interrupt rate can be used to estimate 20 display rate
                                                                 80   100                           0     a   0     20
                                                                                                                   40    6040     60        80   100
                                                     FPS
    without additional overheads
                                                                                  FPS
                        FPS



                                    •  Exponential weighted moving average
                                       (EWMA) is used to reduce fluctuation
                                           •  EWMAt = (1-w) x EWMAt-1 + w x current value                                                                                                                   13/22
Multimedia Manager
  •  A feedback-driven CPU allocator
        •  Base assumption
              •  “Additional CPU share (or higher priority) improves
                 a display rate”
        •  Desired frame rate (DFR)
              •  A currently achievable display rate
                     •  Multiplied by tolerable ratio (0.8)
/* Exceptional cases:
 * 1) No relationship between CPU
and FPS                              IF current FPS < previous FPS AND
 * 2) FPS is saturated below DFR
 * 3) Local CPU contention in a VM
 */
                                   current FPS < DFR THEN
                                                                   If in initial phase Then
If no FPS improvement by CPU
                                            Increase CPU share         Exponential increase
   share increase (3 times) Then
    Decrease CPU share by half
                                                                   Else
                                                                       Linear increase

                                                                                        14/22
Priority Boosting
•  Responsive dispatching
  •  Problem
    •  The hypervisor does not distinguish the types of
       events for priority boosting
         •  A VM that will handle a multimedia event cannot preempt
            a currently running VM handling a normal event.
  •  Higher priority for multimedia-related events
    •  e.g., video, audio, one-shot timer
                  MMBOOST
 Multimedia events
                  IOBOOST
     Other events
                   Normal 
                               Based on remaining CPU shares
      Priority
    priority

                                                               15/22
Evaluation
•  Experimental environment
  •  Intel MacBook with Intel GMA 950
  •  Xen 3.4.0 with Ubuntu 8.04
    •  Implementation based on Xen Credit scheduler


  •  Two-VM scenario
    •  One with direct I/O + one with indirect (hosted) I/O
    •  Presenting the case of direct I/O in this talk
       •  See the paper for the details of the indirect I/O case




                                                                   16/22
Estimation Accuracy
•  Estimation accuracy
  •  Error rates: 0.55%~3.05%
 Video playback (720p)
                                                                              multimedia manager disabled
 (w/ CPU-bound VM)
                                         Real FPS           Estimated FPS

             30
             25
             20
      FPS




             15
             10
              5
              0
                  0   5       10        15    20    25    30    35        40     45     50     55    60        65    70   75   80   85
                                                                          Time (sec)

 Quake 3
 (w/ CPU-bound VM)
                      Real FPS        Estimated FPS              Estimated FPS (EWMA, w=0.2)

            100
             80
             60
     FPS




             40
             20
              0
                  0       5        10        15     20     25        30        35       40      45        50        55    60   65
                                                                          Time (sec)
                                                                                                                                    17/22
Estimation Overhead
•  CPU overhead caused by page faults
  •  Video playback
     •  0.3~1% with sampling
     •  Less than 5% with tracking all pages

                        All 
               Sampling
      Overhead
                       pages
   1/8 pages   1/32 pages   1/128 pages
   Low resolution 
                       4.95%     1.10%        0.54%        0.58%
     (640x354)
   High resolution 
                       3.91%     1.04%        0.69%        0.33%
     (1280x720)




                                                                   18/22
Multimedia Manager
•  Video playback (720p) + CPU-bound VM
                     FPS        DFR            CPU share (%)
        25                                                                                                           100
                                                                                                                     90
        20                                                                                                           80




                                                                                                                           CPU share (%)
                                                                                                                     70
        15                                                                                                           60
 FPS




                                                                                                                     50
        10                                                                                                           40
                                                                                                                     30
         5                                                                   25                                      20
                                                                                                                     100
 25                                                 100                                                              10
         0                                                                                                           0
                                                                                                                     90
                                                    90
                 0         10             20         30        40       50        60             70        80
 20                                                 80                       20                                      80
                                                               Time (sec)
                                                    70
                                                                                                                     70
 15                                                 60
                                                    50                       15                                      60

 10                                                 40                                                               50
                                                    30
                                                                             10                                      40
  5                                                 20                                 80   81        82   83   84
             5       6     7    8     9        10

                                                                                                                       19/22
Performance Improvement
•  Performance improvement
                                                                                                         Video playback
     Competing
                                                                                                          or 3D game
        workloads




                •  Closed to maximum achievable                                                               VM
                 VM

                   frame rates                                                                                      Hypervisor


                                Video playback (720p)
                                on VLC media player
                                      Quake III Arena (demo1)
                    Credit scheduler
                                              Credit scheduler
                    Credit scheduler w/ multimedia support
                        Credit scheduler w/ multimedia support

               25
                                                                             100
               20
Average FPS




                                                              Average FPS
                                                                             80
               15
                                                                             60
               10                                                            40
                5                                                            20

                0                                                             0




                         Competing workloads in another VM
                             Competing workloads in another VM
                                                                                                                       20/22
Limitations & Discussion
•  Network-streamed multimedia
  •  Additional preemption support required for
     multimedia-related network packets
•  Multiple multimedia workloads in a VM
  •  Multimedia manager algorithm should be
     refined to satisfy QoS of mixed multimedia
     workloads in the same VM
•  Adaptive management for SMP VMs
  •  Adaptive vCPU allocation based on hosted
     multimedia workloads
                                              21/22
Conclusions
•  Demands for multimedia-aware hypervisor
  •  Multimedia are increasingly dominant in
     virtualized systems
•  “Multimedia-friendly hypervisor scheduler”
  •  Transparent and lightweight multimedia support
     on client-side virtualization
•  Future directions
  •  Multimedia for server-side VDI
  •  Multicore extension for SMP VMs
  •  Considerations for network-streamed multimedia

                                                22/22
Thank You!
•  Questions and comments

•  Contact
  •  hjukim@calab.kaist.ac.kr




                                23/22
EXTRA SLIDES
Workload Details
•  Descriptions and CPU usages for used
   workloads




                                          25/22
Task-based Display Rate Management
  •  Different types of frame rate accounting

                                                                              For Unix-like OSes, a display rate is 
                                                                              accounted to a previously scheduled task 
                                                                              when a framebuffer write is observed
                                                                              (this heuristic works well because a display
                                                                              interface is interactive and is highly likely
                                                                              to be scheduled promptly on requests)

                    Video playback (640x354) + Directory listing on the screen (ls –alR /)
                    (w/ CPU-bound VM)

                                          Real FPS        Estimated FPS

       30
       25
       20
FPS




       15
       10
        5                                                                 Error rate = 1.78%
        0
            0   5     10   15   20   25   30   35    40    45      50   55   60   65   70   75   80   85
                                                     Time (sec)
                                                26/22
Local CPU Contention in a VM
•  Increasing the number of CPU-bound tasks
    with a video playback application
         Native Linux
                     Virtualized Linux w/ our scheme




Ø  Our scheme provides sufficient CPU to a VM (IDD) that hosts a multimedia workload
    even though local CPU contention increases
Ø  No starvation of another CPU-bound VM (guest)                            27/22

Weitere ähnliche Inhalte

Was ist angesagt?

6. Live VM migration
6. Live VM migration6. Live VM migration
6. Live VM migrationHwanju Kim
 
Virtualization 101 - DeepDive
Virtualization 101 - DeepDiveVirtualization 101 - DeepDive
Virtualization 101 - DeepDiveAmit Agarwal
 
Virtualization & Network Connectivity
Virtualization & Network Connectivity Virtualization & Network Connectivity
Virtualization & Network Connectivity itplant
 
Hyper-V High Availability and Live Migration
Hyper-V High Availability and Live MigrationHyper-V High Availability and Live Migration
Hyper-V High Availability and Live MigrationPaulo Freitas
 
Introduction to Virtualization, Virsh and Virt-Manager
Introduction to Virtualization, Virsh and Virt-ManagerIntroduction to Virtualization, Virsh and Virt-Manager
Introduction to Virtualization, Virsh and Virt-Managerwalkerchang
 
Hypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVM
Hypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVMHypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVM
Hypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVMvwchu
 
Virtual Machine Migration & Hypervisors
Virtual Machine Migration & HypervisorsVirtual Machine Migration & Hypervisors
Virtual Machine Migration & HypervisorsArun Shukla
 
Building a KVM-based Hypervisor for a Heterogeneous System Architecture Compl...
Building a KVM-based Hypervisor for a Heterogeneous System Architecture Compl...Building a KVM-based Hypervisor for a Heterogeneous System Architecture Compl...
Building a KVM-based Hypervisor for a Heterogeneous System Architecture Compl...Hann Yu-Ju Huang
 
Hardware supports for Virtualization
Hardware supports for VirtualizationHardware supports for Virtualization
Hardware supports for VirtualizationYoonje Choi
 
Introduction to Virtualization
Introduction to VirtualizationIntroduction to Virtualization
Introduction to VirtualizationSplatDot.com Inc.
 
Yabusame: postcopy live migration for qemu/kvm
Yabusame: postcopy live migration for qemu/kvmYabusame: postcopy live migration for qemu/kvm
Yabusame: postcopy live migration for qemu/kvmIsaku Yamahata
 
Virtualization and cloud Computing
Virtualization and cloud ComputingVirtualization and cloud Computing
Virtualization and cloud ComputingRishikese MR
 
Open source hypervisors in cloud
Open source hypervisors in cloudOpen source hypervisors in cloud
Open source hypervisors in cloudChetna Purohit
 
Implementation levels of virtualization
Implementation levels of virtualizationImplementation levels of virtualization
Implementation levels of virtualizationGokulnath S
 
Virtualization Technology Overview
Virtualization Technology OverviewVirtualization Technology Overview
Virtualization Technology OverviewOpenCity Community
 

Was ist angesagt? (20)

6. Live VM migration
6. Live VM migration6. Live VM migration
6. Live VM migration
 
Virtualization 101 - DeepDive
Virtualization 101 - DeepDiveVirtualization 101 - DeepDive
Virtualization 101 - DeepDive
 
Live VM Migration
Live VM MigrationLive VM Migration
Live VM Migration
 
Virtualization & Network Connectivity
Virtualization & Network Connectivity Virtualization & Network Connectivity
Virtualization & Network Connectivity
 
Hyper-V High Availability and Live Migration
Hyper-V High Availability and Live MigrationHyper-V High Availability and Live Migration
Hyper-V High Availability and Live Migration
 
Introduction to Virtualization, Virsh and Virt-Manager
Introduction to Virtualization, Virsh and Virt-ManagerIntroduction to Virtualization, Virsh and Virt-Manager
Introduction to Virtualization, Virsh and Virt-Manager
 
Hypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVM
Hypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVMHypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVM
Hypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVM
 
Virtual Machine Migration & Hypervisors
Virtual Machine Migration & HypervisorsVirtual Machine Migration & Hypervisors
Virtual Machine Migration & Hypervisors
 
Building a KVM-based Hypervisor for a Heterogeneous System Architecture Compl...
Building a KVM-based Hypervisor for a Heterogeneous System Architecture Compl...Building a KVM-based Hypervisor for a Heterogeneous System Architecture Compl...
Building a KVM-based Hypervisor for a Heterogeneous System Architecture Compl...
 
Hardware supports for Virtualization
Hardware supports for VirtualizationHardware supports for Virtualization
Hardware supports for Virtualization
 
Introduction to Virtualization
Introduction to VirtualizationIntroduction to Virtualization
Introduction to Virtualization
 
Introduction to Virtualization (viadmin.com)
Introduction to Virtualization (viadmin.com)Introduction to Virtualization (viadmin.com)
Introduction to Virtualization (viadmin.com)
 
Server virtualization
Server virtualizationServer virtualization
Server virtualization
 
Yabusame: postcopy live migration for qemu/kvm
Yabusame: postcopy live migration for qemu/kvmYabusame: postcopy live migration for qemu/kvm
Yabusame: postcopy live migration for qemu/kvm
 
Virtualization and cloud Computing
Virtualization and cloud ComputingVirtualization and cloud Computing
Virtualization and cloud Computing
 
Open source hypervisors in cloud
Open source hypervisors in cloudOpen source hypervisors in cloud
Open source hypervisors in cloud
 
Vm migration techniques
Vm migration techniquesVm migration techniques
Vm migration techniques
 
Implementation levels of virtualization
Implementation levels of virtualizationImplementation levels of virtualization
Implementation levels of virtualization
 
Virtualization Technology Overview
Virtualization Technology OverviewVirtualization Technology Overview
Virtualization Technology Overview
 
Virtualization
VirtualizationVirtualization
Virtualization
 

Ähnlich wie Scheduler Support for Video-oriented Multimedia on Client-side Virtualization

Virtualization: Hyper-V, VMM, App-V and MED-V.
Virtualization: Hyper-V, VMM, App-V and MED-V.Virtualization: Hyper-V, VMM, App-V and MED-V.
Virtualization: Hyper-V, VMM, App-V and MED-V.Microsoft Iceland
 
Ready for cloud computing with hyper v
Ready for cloud computing with hyper vReady for cloud computing with hyper v
Ready for cloud computing with hyper vAndik Susilo
 
Dynamic Data Center for Hosters, by Stefan Simon
Dynamic Data Center for Hosters, by Stefan SimonDynamic Data Center for Hosters, by Stefan Simon
Dynamic Data Center for Hosters, by Stefan SimonAlexey Kovyazin
 
Security Best Practices For Hyper V And Server Virtualization
Security Best Practices For Hyper V And Server VirtualizationSecurity Best Practices For Hyper V And Server Virtualization
Security Best Practices For Hyper V And Server Virtualizationrsnarayanan
 
z/VM 6.2: Increasing the Endless Possibilities of Virtualization
z/VM 6.2: Increasing the Endless Possibilities of Virtualizationz/VM 6.2: Increasing the Endless Possibilities of Virtualization
z/VM 6.2: Increasing the Endless Possibilities of VirtualizationIBM India Smarter Computing
 
Virtualizare si SCVMM2008
Virtualizare si SCVMM2008Virtualizare si SCVMM2008
Virtualizare si SCVMM2008Tudor Damian
 
The Next Generation of Microsoft Virtualization With Windows Server 2012
The Next Generation of Microsoft Virtualization With Windows Server 2012The Next Generation of Microsoft Virtualization With Windows Server 2012
The Next Generation of Microsoft Virtualization With Windows Server 2012Lai Yoong Seng
 
Ws08 r2 hyper v overview r2
Ws08 r2 hyper v overview r2Ws08 r2 hyper v overview r2
Ws08 r2 hyper v overview r2Omid Koushki
 
Linux Foundation Collaboration Summit 13 :10 years of Xen and Beyond
Linux Foundation Collaboration Summit 13 :10 years of Xen and BeyondLinux Foundation Collaboration Summit 13 :10 years of Xen and Beyond
Linux Foundation Collaboration Summit 13 :10 years of Xen and BeyondThe Linux Foundation
 
Virtualization securityv2
Virtualization securityv2Virtualization securityv2
Virtualization securityv2vivekbhat
 
CSA Presentation 26th May Virtualization securityv2
CSA Presentation 26th May Virtualization securityv2CSA Presentation 26th May Virtualization securityv2
CSA Presentation 26th May Virtualization securityv2vivekbhat
 
System Center Virtual Machine Manager 2008 R2
System Center Virtual Machine Manager 2008 R2System Center Virtual Machine Manager 2008 R2
System Center Virtual Machine Manager 2008 R2aralves
 
Presentation cloud computing workshop - virtualization
Presentation   cloud computing workshop - virtualizationPresentation   cloud computing workshop - virtualization
Presentation cloud computing workshop - virtualizationxKinAnx
 
Virtualization Manager 5.0 – Now with Hyper-V Support!
Virtualization Manager 5.0 – Now with Hyper-V Support!Virtualization Manager 5.0 – Now with Hyper-V Support!
Virtualization Manager 5.0 – Now with Hyper-V Support!SolarWinds
 
NIC 2013 - VM Mobility
NIC 2013 - VM MobilityNIC 2013 - VM Mobility
NIC 2013 - VM MobilityKristian Nese
 
Client Virtualization
Client VirtualizationClient Virtualization
Client VirtualizationAmit Gatenyo
 
Prairie DevCon-What's New in Hyper-V in Windows Server "8" Beta - Part 2
Prairie DevCon-What's New in Hyper-V in Windows Server "8" Beta - Part 2Prairie DevCon-What's New in Hyper-V in Windows Server "8" Beta - Part 2
Prairie DevCon-What's New in Hyper-V in Windows Server "8" Beta - Part 2Damir Bersinic
 
Windows 8 Virtualization
Windows 8 VirtualizationWindows 8 Virtualization
Windows 8 VirtualizationLai Yoong Seng
 
Hyper V R2 Deep Dive
Hyper V R2 Deep DiveHyper V R2 Deep Dive
Hyper V R2 Deep DiveAidan Finn
 
Cooperative VM Migration for a virtualized HPC Cluster with VMM-bypass I/O de...
Cooperative VM Migration for a virtualized HPC Cluster with VMM-bypass I/O de...Cooperative VM Migration for a virtualized HPC Cluster with VMM-bypass I/O de...
Cooperative VM Migration for a virtualized HPC Cluster with VMM-bypass I/O de...Ryousei Takano
 

Ähnlich wie Scheduler Support for Video-oriented Multimedia on Client-side Virtualization (20)

Virtualization: Hyper-V, VMM, App-V and MED-V.
Virtualization: Hyper-V, VMM, App-V and MED-V.Virtualization: Hyper-V, VMM, App-V and MED-V.
Virtualization: Hyper-V, VMM, App-V and MED-V.
 
Ready for cloud computing with hyper v
Ready for cloud computing with hyper vReady for cloud computing with hyper v
Ready for cloud computing with hyper v
 
Dynamic Data Center for Hosters, by Stefan Simon
Dynamic Data Center for Hosters, by Stefan SimonDynamic Data Center for Hosters, by Stefan Simon
Dynamic Data Center for Hosters, by Stefan Simon
 
Security Best Practices For Hyper V And Server Virtualization
Security Best Practices For Hyper V And Server VirtualizationSecurity Best Practices For Hyper V And Server Virtualization
Security Best Practices For Hyper V And Server Virtualization
 
z/VM 6.2: Increasing the Endless Possibilities of Virtualization
z/VM 6.2: Increasing the Endless Possibilities of Virtualizationz/VM 6.2: Increasing the Endless Possibilities of Virtualization
z/VM 6.2: Increasing the Endless Possibilities of Virtualization
 
Virtualizare si SCVMM2008
Virtualizare si SCVMM2008Virtualizare si SCVMM2008
Virtualizare si SCVMM2008
 
The Next Generation of Microsoft Virtualization With Windows Server 2012
The Next Generation of Microsoft Virtualization With Windows Server 2012The Next Generation of Microsoft Virtualization With Windows Server 2012
The Next Generation of Microsoft Virtualization With Windows Server 2012
 
Ws08 r2 hyper v overview r2
Ws08 r2 hyper v overview r2Ws08 r2 hyper v overview r2
Ws08 r2 hyper v overview r2
 
Linux Foundation Collaboration Summit 13 :10 years of Xen and Beyond
Linux Foundation Collaboration Summit 13 :10 years of Xen and BeyondLinux Foundation Collaboration Summit 13 :10 years of Xen and Beyond
Linux Foundation Collaboration Summit 13 :10 years of Xen and Beyond
 
Virtualization securityv2
Virtualization securityv2Virtualization securityv2
Virtualization securityv2
 
CSA Presentation 26th May Virtualization securityv2
CSA Presentation 26th May Virtualization securityv2CSA Presentation 26th May Virtualization securityv2
CSA Presentation 26th May Virtualization securityv2
 
System Center Virtual Machine Manager 2008 R2
System Center Virtual Machine Manager 2008 R2System Center Virtual Machine Manager 2008 R2
System Center Virtual Machine Manager 2008 R2
 
Presentation cloud computing workshop - virtualization
Presentation   cloud computing workshop - virtualizationPresentation   cloud computing workshop - virtualization
Presentation cloud computing workshop - virtualization
 
Virtualization Manager 5.0 – Now with Hyper-V Support!
Virtualization Manager 5.0 – Now with Hyper-V Support!Virtualization Manager 5.0 – Now with Hyper-V Support!
Virtualization Manager 5.0 – Now with Hyper-V Support!
 
NIC 2013 - VM Mobility
NIC 2013 - VM MobilityNIC 2013 - VM Mobility
NIC 2013 - VM Mobility
 
Client Virtualization
Client VirtualizationClient Virtualization
Client Virtualization
 
Prairie DevCon-What's New in Hyper-V in Windows Server "8" Beta - Part 2
Prairie DevCon-What's New in Hyper-V in Windows Server "8" Beta - Part 2Prairie DevCon-What's New in Hyper-V in Windows Server "8" Beta - Part 2
Prairie DevCon-What's New in Hyper-V in Windows Server "8" Beta - Part 2
 
Windows 8 Virtualization
Windows 8 VirtualizationWindows 8 Virtualization
Windows 8 Virtualization
 
Hyper V R2 Deep Dive
Hyper V R2 Deep DiveHyper V R2 Deep Dive
Hyper V R2 Deep Dive
 
Cooperative VM Migration for a virtualized HPC Cluster with VMM-bypass I/O de...
Cooperative VM Migration for a virtualized HPC Cluster with VMM-bypass I/O de...Cooperative VM Migration for a virtualized HPC Cluster with VMM-bypass I/O de...
Cooperative VM Migration for a virtualized HPC Cluster with VMM-bypass I/O de...
 

Kürzlich hochgeladen

FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
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
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
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
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
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
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

Kürzlich hochgeladen (20)

FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
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
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
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
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
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
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

Scheduler Support for Video-oriented Multimedia on Client-side Virtualization

  • 1. Scheduler Support for Video-oriented Multimedia on Client-side Virtualization Hwanju Kim1, Jinkyu Jeong1, Jaeho Hwang1, Joonwon Lee2, and Seungryoul Maeng1 Korea Advanced Institute of Science and Technology (KAIST)1 Sungkyunkwan University2 ACM Multimedia Systems (MMSys) February, 22-24, Chapel Hill, North Carolina, USA
  • 2. Virtualization Everywhere •  A new layer between OS and HW =hypervisor Multiple OSes VM VM High resource utilization OS OS Strong Isolation Easy management Hypervisor Live maintenance Fast provisioning … Server-side virtualization Client-side virtualization Cloud computing Virtual desktop infrastructure 2/22
  • 3. Client-side Virtualization •  Multiple OS instances on a local device •  Primary use cases •  Different OSes for application compatibility •  Consolidating business and personal computing environments on a single device •  BYOD: Bring Your Own Device Managed domain Business Personal VM VM Hypervisor 3/22
  • 4. Multimedia on Virtualized Clients •  Multimedia is ubiquitous on any VM Video Data Video Playback Compilation Processing 3D game conference Downloading Windows Linux Business Personal Business Personal VM VM VM VM VM VM Hypervisor Hypervisor Hypervisor 1. Multimedia workloads are dominant on virtualized clients 2. Interactive systems can have concurrently mixed workloads 4/22
  • 5. Issues on Multi-layer Scheduling •  A multimedia-agnostic hypervisor invalidat es OS policies for multimedia VM VM Larger CPU proportion & Timely dispatching Task Task Task Task OS OS scheduler Scheduler Task Task Virtual CPU Virtual CPU BVT [SOSP’99] OS scheduler Additional SMART [TOCS’03] abstraction Hypervisor Rialto [SOSP’97] BEST [MMCN’02] CPU Scheduler HuC [TOMCCAP’06] Redline [OSDI’08] CPU RSIO [SIGMETRICS’10] I’m unaware of any multimedia Windows MMCSS -specific OS policies in a VM, since I see each VM as a black Semantic gap! box. 5/22
  • 6. Multimedia-agnostic Hypervisor •  Multimedia QoS degradation Video playback Competing •  Two VMs with equal CPU shares or 3D game workloads •  Multimedia VM + Competing VM VM VM Xen hypervisor Credit scheduler Video playback (720p) on VLC media player Quake III Arena (demo1) 30 100 90 25 80 Average FPS Average FPS 70 20 60 15 50 40 10 30 20 5 10 0 0 Competing workloads in another VM Competing workloads in another VM 6/22
  • 7. Possible Solutions to Semantic Gap •  Explicit vs. Implicit Explicit Explicit Implicit OS cooperation User involvement Hypervisor-only VM VM VM OS scheduler OS scheduler OS scheduler Workload monitor Hypervisor Hypervisor Hypervisor Scheduler Scheduler Scheduler + Accurate + Simple + Transparency - OS modification - Inconvenient - Difficult to identify - Infeasible w/o - Unsuitable for workload demands multimedia-friendly dynamic workloads at the hypervisor OS schedulers 7/22
  • 8. Proposed Approach •  Multimedia-aware hypervisor scheduler •  Transparent scheduler support for multimedia •  No modifications to upper layer SW (OS & apps) •  “Feedback-driven VM scheduling” VM VM VM Scheduling command (e.g., CPU share or priority) Hypervisor Multimedia Multimedia CPU manager monitor scheduler (feedback-driven) Challenges Estimated 1. How to estimate multimedia QoS multimedia QoS based on a small set of HW events? Audio Video CPU 2. How to control CPU scheduler based on the estimated information 8/22
  • 9. Multimedia QoS Estimation •  What is estimated as multimedia QoS? •  “Display rate” (i.e., frame rate) •  Used by HuC scheduler [TOMCCAP’06] •  How is a display rate captured at the hypervisor? •  Two types of display 1.  Memory-mapped 2. GPU-accelerated display display (e.g., video playback) (e.g., 3D game) Display Graphics interface Library Memory-mapped Acceleration Framebuffer unit Video device 9/22
  • 10. Memory-mapped Display (1/2) •  How to estimate a display update rate on the memory-mapped framebuffer •  Write-protection for virtual address space mapped to framebuffer Display interface write The hypervisor can inspect any attempt to map memory Virtual address space Write-protection Hypervisor Sampling to reduce trap overheads page fault handler (1/128 pages, by default) { Framebuffer Update display rate memory } 10/22
  • 11. Memory-mapped Display (2/2) •  Accurate estimation •  Maintaining display rate per task •  An aggregated display rate does not Task 10 FPS represent multimedia QoS Task 25 FPS •  Tracking guest OS task at the hypervisor •  Inspecting address space switches (Antfarm [USENIX’06]) •  Monitoring audio access (RSIO [SIGMETRIC’10]) •  Inspecting audio buffer access with write-protection •  A task with a high display rate and audio access à a multimedia task 11/22
  • 12. GPU-accelerated Display (1/2) •  Naïve method •  Inspecting GPU command buffer with write-protection or polling •  Too heavy due to huge amount of GPU commands •  Lightweight method •  Little overhead, but less accuracy •  3D games are less sensitive to frame rate degradation than video playback •  GPU interrupt-based estimation •  An interrupt is typically used for an application to manage buffer memory •  Hypothesis •  “A GPU interrupt rate is in proportion to a display rate” 12/22
  • 13. GPU-accelerated Display (2/2) •  Linear relationship between display rates and GPU interrupt rates Intel GMA 950 Nvidia 6150 Go PowerVR (Apple MacBook) (HP Pavillion tablet) (Samsung GalaxyS) Quake3 demo1 (640x480) Quake3 demo1 (640x480) 400 Quake3 demo4 (320x240) # of GPU interrupt / sec # of GPU interrupt / sec # of GPU interrupt / sec 12000 Quake3 demo2 (640x480) 160 Quake3 demo2 (640x480) 350 10000 Quake3 demo4 (640x480) Quake3 demo1 (1024x768) 140 Quake3 demo1 (1024x768) 300 8000 250 120 200 6000 100 150 4000 100 2000 80 50 0 60 0 0 20 40 60 A GPU interrupt rate can be used to estimate 20 display rate 80 100 0 a 0 20 40 6040 60 80 100 FPS without additional overheads FPS FPS •  Exponential weighted moving average (EWMA) is used to reduce fluctuation •  EWMAt = (1-w) x EWMAt-1 + w x current value 13/22
  • 14. Multimedia Manager •  A feedback-driven CPU allocator •  Base assumption •  “Additional CPU share (or higher priority) improves a display rate” •  Desired frame rate (DFR) •  A currently achievable display rate •  Multiplied by tolerable ratio (0.8) /* Exceptional cases: * 1) No relationship between CPU and FPS IF current FPS < previous FPS AND * 2) FPS is saturated below DFR * 3) Local CPU contention in a VM */ current FPS < DFR THEN If in initial phase Then If no FPS improvement by CPU Increase CPU share Exponential increase share increase (3 times) Then Decrease CPU share by half Else Linear increase 14/22
  • 15. Priority Boosting •  Responsive dispatching •  Problem •  The hypervisor does not distinguish the types of events for priority boosting •  A VM that will handle a multimedia event cannot preempt a currently running VM handling a normal event. •  Higher priority for multimedia-related events •  e.g., video, audio, one-shot timer MMBOOST Multimedia events IOBOOST Other events Normal Based on remaining CPU shares Priority priority 15/22
  • 16. Evaluation •  Experimental environment •  Intel MacBook with Intel GMA 950 •  Xen 3.4.0 with Ubuntu 8.04 •  Implementation based on Xen Credit scheduler •  Two-VM scenario •  One with direct I/O + one with indirect (hosted) I/O •  Presenting the case of direct I/O in this talk •  See the paper for the details of the indirect I/O case 16/22
  • 17. Estimation Accuracy •  Estimation accuracy •  Error rates: 0.55%~3.05% Video playback (720p) multimedia manager disabled (w/ CPU-bound VM) Real FPS Estimated FPS 30 25 20 FPS 15 10 5 0 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 Time (sec) Quake 3 (w/ CPU-bound VM) Real FPS Estimated FPS Estimated FPS (EWMA, w=0.2) 100 80 60 FPS 40 20 0 0 5 10 15 20 25 30 35 40 45 50 55 60 65 Time (sec) 17/22
  • 18. Estimation Overhead •  CPU overhead caused by page faults •  Video playback •  0.3~1% with sampling •  Less than 5% with tracking all pages All Sampling Overhead pages 1/8 pages 1/32 pages 1/128 pages Low resolution 4.95% 1.10% 0.54% 0.58% (640x354) High resolution 3.91% 1.04% 0.69% 0.33% (1280x720) 18/22
  • 19. Multimedia Manager •  Video playback (720p) + CPU-bound VM FPS DFR CPU share (%) 25 100 90 20 80 CPU share (%) 70 15 60 FPS 50 10 40 30 5 25 20 100 25 100 10 0 0 90 90 0 10 20 30 40 50 60 70 80 20 80 20 80 Time (sec) 70 70 15 60 50 15 60 10 40 50 30 10 40 5 20 80 81 82 83 84 5 6 7 8 9 10 19/22
  • 20. Performance Improvement •  Performance improvement Video playback Competing or 3D game workloads •  Closed to maximum achievable VM VM frame rates Hypervisor Video playback (720p) on VLC media player Quake III Arena (demo1) Credit scheduler Credit scheduler Credit scheduler w/ multimedia support Credit scheduler w/ multimedia support 25 100 20 Average FPS Average FPS 80 15 60 10 40 5 20 0 0 Competing workloads in another VM Competing workloads in another VM 20/22
  • 21. Limitations & Discussion •  Network-streamed multimedia •  Additional preemption support required for multimedia-related network packets •  Multiple multimedia workloads in a VM •  Multimedia manager algorithm should be refined to satisfy QoS of mixed multimedia workloads in the same VM •  Adaptive management for SMP VMs •  Adaptive vCPU allocation based on hosted multimedia workloads 21/22
  • 22. Conclusions •  Demands for multimedia-aware hypervisor •  Multimedia are increasingly dominant in virtualized systems •  “Multimedia-friendly hypervisor scheduler” •  Transparent and lightweight multimedia support on client-side virtualization •  Future directions •  Multimedia for server-side VDI •  Multicore extension for SMP VMs •  Considerations for network-streamed multimedia 22/22
  • 23. Thank You! •  Questions and comments •  Contact •  hjukim@calab.kaist.ac.kr 23/22
  • 25. Workload Details •  Descriptions and CPU usages for used workloads 25/22
  • 26. Task-based Display Rate Management •  Different types of frame rate accounting For Unix-like OSes, a display rate is accounted to a previously scheduled task when a framebuffer write is observed (this heuristic works well because a display interface is interactive and is highly likely to be scheduled promptly on requests) Video playback (640x354) + Directory listing on the screen (ls –alR /) (w/ CPU-bound VM) Real FPS Estimated FPS 30 25 20 FPS 15 10 5 Error rate = 1.78% 0 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 Time (sec) 26/22
  • 27. Local CPU Contention in a VM •  Increasing the number of CPU-bound tasks with a video playback application Native Linux Virtualized Linux w/ our scheme Ø  Our scheme provides sufficient CPU to a VM (IDD) that hosts a multimedia workload even though local CPU contention increases Ø  No starvation of another CPU-bound VM (guest) 27/22