Findings Video conference with Azure Virtual Desktop using Teams

Introduction

Over the last couple of years, there has been an impressive flux with many businesses and institutions adopting and relying on large-scale remote working and remote learning environments to maintain workforce and learning continuity. During this time, it’s generally been recognised that this type of remote working/learning has been quite successful, with many businesses and institutions continuing remoting working/learning practices or introducing hybrid models with a combination of remote and office work for their staff. 

One of the reasons why remote working/learning has been successful is the availability of supporting technologies that have delivered a high standard of human communication and engagement across large numbers of workers or students/faculty in remote environments. Video conferencing applications, which includes video conferencing, screen sharing, IMs and more, are such technologies that have contributed to viable remote working/learning environment success.  

But to use these applications to their fullest potential, a robust IT infrastructure is also a must. Many large enterprise companies, as well as SMB and other institutions have centralised their IT environment into virtualized desktop infrastructure (VDI), either as an on-premises solution or as a managed-service by cloud service providers (CSP). Centralizing resources, applications and data into a single infrastructure allows for better IT management and security of vital resources and data which can help improve workforce productivity, data security and IT efficiencies.

Investigation overview

This blog details a recent technical investigation where popular video conferencing applications are deployed on AMD-based Azure instances to determine the performance of each application, the number of deployable users in a multi-session environment, and the user experience each person would receive. The AMD-based instances includes both CPU-only based instances and CPU+GPU based instances to understand the impact of GPU-enabled resources to the density and experience of the users.

So next let’s look at the various parameters for the investigation.  

The Lab: 

For the investigation, we had three areas of consideration: 

   This image has an empty alt attribute; its file name is image-5.png
1) Azure session host 2) Application3) End-point devices

Azure Session Host

For the host, we used Microsoft Azure. The system used Windows 10 Multisession 1909, running on Microsoft Remote Desktop Protocol (RDP) in Azure Virtual Desktop. The instances used are NV32asV4 (32 vCPU/112 GB/ 1xGPU), D32av4 (32 vCPU/112 GB) and D32sv4 (32 vCPU/112 GB). The host was in West Europe (Amsterdam) and the tests we conducted in Hinnerup, Denmark – with a rough distance of 500 miles from the datacenter.

Applications

The applications we used as part of this investigation are listed below. These are the most used video conferencing applications used to for remote working/learning. 

1) Microsoft TEAMs 

Teams WebSocket Service is installed and teams is installed per-machine mode according to microsoft docs to get Teams optimization for AVD supported in a best configuration so it offloads to the endpoints that supports this.

Endpoint devices 

The investigation looked at using physical end point devices as opposed to virtual, giving a truer representation of the environment and experience. This as a result limited the sample size to 15+1 concurrent users, due to lab space.

Within the sample size, we used 11x Windows PCs, 5x Chromebooks and 1x MacBook Air laptop. Each device used the latest OS. In relation to the workload, we have 15 users connected and 1 additional user as host of the video call.  

The workload:

For the investigation we looked at three types of workloads typically seen with video conferencing and run over a 30-minute period: 

Workload 1 (length of time: 30mins) 

1x host and 14x guest video conference (video and audio sharing) +Screen sharing static (PDF) content

 Workload 2 (length of time: 30mins)

1x host and 14x guest video conference (video and audio sharing) +Screen sharing dynamic (video) content

 

Workload 3 (length of time: 30mins)

1x host and 14x guest video conference (video and audio sharing) +Screen sharing dynamic (video) content+Guests are multi-tasking, taking notes on office 365 suite

 

These workloads will become more demanding because of the increase in workload requirements – with video and audio sharing to dynamic screen-sharing to to multi-tasking. This gives a set of different types of common uses cases seen in remote working/learning environments.

Methodology

There are two areas in which we are collecting the data for this investigation.  

How are we collecting the data?


Session host
This image has an empty alt attribute; its file name is image-5.png
End-point device
CPU utilization,
Memory utilization, 
GPU utilization,
GPU memory utilization

In/Out Frames Per Second (FPS)
Encode time 
In/output bandwidth per user
Output Bandwidth  pr User
Input Bandwidth  pr User
Latency per user

The data was captured each 3 seconds using the Windows OS system from Sepago’s Azure Monitor for AVD monitoring tools. This allowed for cross checking of the data delivered

 

Considerations

Not all applications and devices are built the same 

Before we look at the results of this investigation, we also need to reflect on the parameters and support each of the applications has for the different end-point devices as well as how they are viewed/installed. 

Microsoft TEAMS

For this application, we can see in the below table there is general support across the typical platforms, however some have more features and support compared to others.

Importantly, “Windows desktop” is the only platform that supports TEAMS media optimization – Which pushes the audio and video processing locally to the Windows Desktop client for Teams calls and meetings freeing up more host resources for greater numbers of users on the VM. This is done not be installing a dedicated client but it being built into and optimised for Windows Desktop Client

For the other devices connected to the host, in this case the 5x Chromebooks and 1x MacBook devices as they are not supported by the TEAMS media optimisation it means the audio and visual processing is done on the host – taking more host resources as a result. 

Azure Virtual Desktop redirection support

Another area to consider is Azure Virtual Desktop support for audio and camera redirection with end-point devices. Redirection helps to improve latency with camera and audio as its essentially a pass-through to the host.

Camera – redirection camera support for AVD is supported with Windows devices and MacOS – this means no redirect support for ChromeOS and HMTL5 (Web client). So there is an expectation to see more latency with ChromeBooks and devices connected via a Web client. 

Speakers – with AVD, speaker redirect support is across all platforms, whether is Windows, ChromeOS, MacOS and HTML5.

Investigation findings

In the section we are going to review the findings from the investigation. Just to reiterate, there was 3x session hosts with 1x applications tested against 3x workloads, giving a total of 9 findings. Let’s begin….

Microsoft Azure NV32as_v4

Metrics captured each 3seconds with 15 concurrent users using AVD

 

 
Session host
CPU Utilization RAM memoryGPU UtilizationGPU memory
Workload 115.3%16.9GB49%3.7GB
Workload 217.5%20GB87.7%3.8GB
Workload 315.1%16GB66.8%4.6GB

 

This image has an empty alt attribute; its file name is image-5.png
End-point device 
Input FPSOutput FPSEncode timeInput BandwidthOutput BandwidthLatency
Workload 122 FPS25 FPS15 MS20 MB/s12 MB/s57ms
Workload 221 FPS28 FPS21 MS41 MB/s12 MB/s67ms
Workload 325 FPS27 FPS14 MS30 MB/s12 MB/s54ms

 

Observations: 

  • ALL 3 workloads works great across devices, video in sync and audio. 
  • Delivered a great user experience

 

Microsoft Azure D32as_v4

Metrics captured each 3seconds with 15 concurrent users using AVD

 
Session host
CPU Utilization RAM memory
Workload 111.4%13GB
Workload 215.4%12.6GB
Workload 313.7%15.8GB

 

This image has an empty alt attribute; its file name is image-5.png
End-point device 
Input FPSOutput FPSEncode timeInput BandwidthOutput BandwidthLatency
Workload 126 FPS29 FPS2 MS16 MB/s12 MB/s95ms
Workload 225 FPS28 FPS15 MS42 MB/s11 MB/s111ms
Workload 325 FPS28 FPS4 MS39 MB/s10 MB/s85ms

Observations: 

  • ALL 3 workloads works great across devices, video in sync and audio. 
  • Delivered a great user experience

Microsoft Azure D32s_v4

Metrics captured each 3seconds with 15 concurrent users using AVD

 
Session host
CPU Utilization RAM memory
Workload 111%12.2GB
Workload 215%12.6GB
Workload 313.7%15.8GB

 

This image has an empty alt attribute; its file name is image-5.png
End-point device 
Input FPSOutput FPSEncode timeInput BandwidthOutput BandwidthLatency
Workload 117 FPS22 FPS3 MS20 MB/s10 MB/s90ms
Workload 211 FPS23 FPS12 MS42 MB/s10 MB/s111ms
Workload 315.6 FPS21.99 FPS4 MS38 MB/s10 MB/s107ms

Observations: 

  • ALL 3 workloads works great across devices, video in sync and audio. 
  • Delivered a great user experience

Summary, scalability, user experience and recommendations

I will cover in my findings what does the data means when it comes to scalability and user experience.

Scalability 

Lets look at some raw data. Instance was benchmarked with 15 CCU and if you divide CPU util with 100% and multiply with 15x this is how I did the raw estimate.


Please keep in mind this is a raw estimate so keep the data with caution

Microsoft Azure NV32as_v4

  • Workload 1 could potential be scaled up to 97 CCU according to 100% CPU utilization pr instance
  • Workload 2 could potential be scaled up to 85 CCU according to 100% CPU utilization pr instance
  • Workload 3 could potential be scaled up to 99 CCU according to 100% CPU utilization pr instance

Microsoft Azure D32as_v4

  • Workload 1 could potential be scaled up to 130 CCU according to 100% CPU utilization pr instance
  • Workload 2 could potential be scaled up to 96 CCU according to 100% CPU utilization pr instance
  • Workload 3 could potential be scaled up to 108 CCU according to 100% CPU utilization pr instance

Microsoft Azure D32s_v4

  • Workload 1 could potential be scaled up to 135 CCU according to 100% CPU utilization pr instance
  • Workload 2 could potential be scaled up to 99 CCU according to 100% CPU utilization pr instance
  • Workload 3 could potential be scaled up to 108 CCU according to 100% CPU utilization pr instance

Summary scalability

Intel instance D32s_v4 gets the highest density users

NV32as_v4 (GPU) instance gets 25% less users on Workload 1 and 10% less users on Workload 2 & Workload 3.

Take away is that Teams optimization works great with Windows Endpoint offload GPU which brings higher density on CPU only instances.

Teams utilise GPU when maxed reverted to s/w rasterise on CPU.

D32s_v4 & D32as_v4 delivers approx 1.5x more users compared to NV32as_v4 with Microsoft Teams.

D32s_v4 delivers more users than D32as_v4 with Teams.

 

Summary User Experience

User experience works great across all 3 instance type.

GPU delivers 2x less latency which means that user input is faster than NonGPU.

NV32as_v4 delivers more frames than D32s_v4

 

 

Recommendations

It’s recommended to use Teams optimization to get offload of video encode to Windows endpoints so the encode can be used for other device such as MacOS/Android. Teams optimization also reduce the offloading on CPU/GPU so these ressources can be used for other applications such as Office/Windows GUI.

Windows endpoint delivers the best experience and best encoding capability with AVD and Teams. Windows endpoint with AVD client supports Teams offload. MacOS endpoint requires alot of GPU encode when 1-2 device are in use with Video encode. MacOS dont have Teams optimization which is why it see it uses alot of GPU encode and not happening on the endpoint.

ChromeOS works good with AVD but there is notice some UX lag compared to MacOS and Windows Endpoint with keyboard/mouse. But screen/video is great performing. There is no camera redirection supported yet on Android or HTML5 so ChromeOS is limited when it comes to if users wants to use camera on these devices with Teams in Azure Virtual Desktop. There is also no optimization for Teams.

amd, avd, Azure

Leave a Reply

Your email address will not be published. Required fields are marked *

Turn on pictures to see the captcha *