Full scalable Media Cloud Solution with Kubernetes Orchestration

网络中的大部分媒体工作负载,如视频主机服务、流媒体直播和广播等,都需要云服务器对媒体编码、解码和转码支持的强大能力。英特尔GPU的媒体硬件和全开源的“Media Server Studio”(MSS)软件提供高性能的媒体加速支持,满足媒体处理的要求。 我们将展示如何在云环境中使用容器和KubNeNE编排的GPU硬件应用MSS软件。它将展示如何利用GPU硬件在MSS媒体工作负载下进行基于GPU CGROUP的资源控制。还有关于Intel GPU的设备管理器,它连接到新的Kubernetes设备插件,以便于管理和调度通过Kubelet在吊舱上的GPU。最后的结果是完整的媒体云的解决方案,具有充分的可扩展性和编排性。

1.Full Scalable Media cloud solution with Kubernetes orchestration Zhenyu Wang , Xin ( Owen ) Zhang

2.Agenda M edia in the Network and Cloud Intel Media Server Reference Software Stack Container with MSS enablement Kubernetes with Container integration Kubernetes with Container enabling on VCA2 Kubernetes device plugin/Intel GPU plugin Use Case(1080p): VCA transcoding & k8s scheduling on VCA nodes

3.Media in the Network and Cloud Video Delivery Cloud and Comms: Ingest / Storage / Edge Transcode / Trans-size / Trans-rate Video Conferencing Visual Understanding Object Recognition & Tracking Indexing / Search Smart Cities, Security and Surveillance Graphics in the Cloud Remote Desktop Remote Workstation Cloud Gaming Rendering

4.Intel® Media Server Reference Software Stack Guest Host Xen * Docker * KVM VMWare * OS (Windows * Server, Linux Server) HyperV Guest OS (Linux) Provisioning OpenStack * Linux 3.x/4.x Kernel Intel® Media Server Studio Software Video Codecs i915 Driver Software Audio Codecs Streaming Media Applications Hardware Acceleration Path OpenGL * Intel® SDK for OpenCL ™ Intel® HD Graphics Driver for Linux * Video Conference Video Surveillance Guest Media Software Stack Host & Hypervisor Cloud Management Video Index/Search Kubernetes FFmpeg-qsv Container

5.Container with MSS integration More Dockers can run than VMs Almost same performance with Native Package application and dependencies integrated Share same kernel as host No need to provide hardware based isolation

6.Kubernetes with Container integration O rchestrate intelligent scheduling, self-healing, and horizontal scaling for rapid delivery of apps. Easy to customize the worker nodes. CPU/memory resources control. Proxy Kubectl K8s Dashboard Kube- Scheduler etcd Controller Manager API server Authentication control Container Registry Kubelet Proxy Docker pod Docker pod Docker pod Kubelet Proxy Docker pod Docker pod Docker pod Streams Pool Media transcoding services Media transcoding services Master Node Node

7.Kubernetes with Container enabling on VCA2 Intel® Visual Compute Accelerator 2 (Intel® VCA 2) (VCA1585LMV) Intel® Xeon® Scalable processor and Intel® Xeon® processor E5-based platforms with Iris® Pro Graphics and Intel® Quick Sync Video media transcode capabilities Applications include : Broadcast – Ultra-high channel density with high visual quality. Remotely rendered graphics – High video quality, low latency graphics for enterprise productivity and anytime anywhere gaming. Multi-party communication – Video-enabled B2B, B2C, and C2C communication with massive scaling

8.Kubernetes with Container enabling on VCA2

9.Kubernetes with Container enabling on VCA2 Each VCA CPU is one k8s node In one physical server it is possible to use up to 3 VCA2 PCIe cards Up to 9 k8s nodes in one physical server Image registry Master node1 node2 node3 Kubelet Kubelet Kubelet

10.Kubernetes device plugin k8s version 1.8 above The device plugins feature is gated by the DevicePlugins feature gate Default enabled after k8s 1.10

11.Intel GPU device plugin Enumerate all DRM devices for Intel GPU /dev/ dri /card[0-9]* /dev/ dri / renderD [0-9]* Create server and sock / var /lib/ kubelet /device-plugins/ intelGPU.sock Register resource to kubelet Resource name: “intel.com/ gpu ” Serve “ ListAndWatch ” request Send device id and healthy Serve “Allocate” request Return device id’s HostPath / ContainerPath to assign

12.Use of Intel GPU plugin https://github.com/intel/intel-device-plugins-for-kubernetes

13.Use Case(1080p): Media transcoding on VCA the performance compare of number of real time streams between per VCA card and per Iris P580 MEDIA TRANSCODING Number of real time streams per card @30fps 1080p H.264 -> H.264 45 H.264 -> H.265 39 H.265 -> H.265 24

14.Use Case(1080p): k8s scheduling on VCA nodes