OrionX计算平台(猎户座计算平台)可以在几乎零性能损失的情况下,提供对于物理GPU的细粒度、可远程、运行时动态可配置的虚拟化方案。

商品介绍
商品介绍
商品介绍
概述
Orion vGPU软件是一个为云或者数据中心内的AI应用,CUDA应用提供GPU资源池化,提供GPU虚拟化能力的系统软件。通过高效的通讯机制,使得AI应用,CUDA应用可以运行在云或者数据中心内任何一个物理机,Container或者VM内而无需挂载物理GPU。同时为这些应用程序提供在GPU资源池中的硬件算力。通过这种Orion GPU池化的能力,可以提供多个优点:
- 兼容已有的AI应用和CUDA应用,使其仍然具有使用GPU加速的性能
- 为AI应用和CUDA应用在云和数据中心的部署提供了很大的灵活度。无需受GPU服务器位置、资源数量的约束。
- Orion GPU资源随AI应用和CUDA应用启动时分配,随应用程序退出时自动释放。减少GPU空闲时间,提高共享GPU的周转率。
- 通过对GPU资源池的管理和优化,提高整个云和数据中心GPU的利用率和吞吐率。
- 通过统一管理GPU,减轻GPU的管理复杂度和成本。
支持列表
处理器
- x8664
操作系统
- 64位 Ubuntu 18.04 LTS,16.04 LTS, 14.04 LTS
- 64位 CentOS 7.x
NVIDIA GPU
- NVIDIA T4, RTX 2080 Series, RTX 6000, RTX 8000
- NVIDIA V100
- NVIDIA P100, P40, P4, GTX 1080 Series, GTX 1060 Series
- Nvidia K80,Nvidia K40
NVIDIA CUDA
- CUDA 10.1
- CUDA 10.0
- CUDA 9.2
- CUDA 9.1
- CUDA 9.0
- CUDNN 7.4.2 及以上
深度学习框架
- TensorFlow 2.0, TensorFlow 1.8 – 1.14
- Pytorch 1.0 – 1.3
- PaddlePaddle 1.5.2
- NVCaffe
络
- RoCE v2, Infiniband
- TCP以太 络
容器环境
- Docker 1.13 及以后版本
虚拟化环境
- QEMU-KVM (QEMU 2.x)
容器框架
- Kubernetes 1.10 及以后版本
已知问题
下面列出当前版本不支持的CUDA库、工具以及使用模式
- 不支持CUDA应用程序使用 Unified Memory
- 不支持 nvidia-smi 工具
- 不支持OpenGL相关接口,不支持图形渲染相关接口
- 有限支持CUDA IPC,对部分程序可能不支持。
- 部分应用需要从源码重新编译以保证动态链接 CUDA 库。
必要组件介绍
Orion Controller
该组件为一个长运行的服务程序,其负责整个GPU资源池的资源管理。其响应Orion Client的vGPU请求,并从GPU资源池中为Orion Client端的CUDA应用程序分配并返回Orion vGPU资源。 该组件可以部署在数据中心任何 络可到达的系统当中。每个资源池部署一个该组件。资源池的大小取决于IT管理的需求,可以是整个数据中心的所有GPU作为一个资源池,也可以每个GPU服务器作为一个独立的资源池。
Orion Server
该组件为一个长运行的系统服务,其负责GPU资源化的后端服务程序。Orion Server部署在每一个CPU以及GPU节点上,接管本机内的所有物理GPU。通过和Orion Controller的交互把本机的GPU加入到由Orion Controller管理维护的GPU资源池当中。 当Orion Client端应用程序运行时,通过Orion Controller的资源调度,建立和Orion Server的连接。Orion Server为其应用程序的所有CUDA调用提供一个隔离的运行环境以及真实GPU硬件算力。
Orion Client
该组件为一个运行环境,其模拟了NVidia CUDA的运行库环境,为CUDA程序提供了API接口兼容的全新实现。通过和Orion其他功能组件的配合,为CUDA应用程序虚拟化了一定数量的虚拟GPU(Orion vGPU)。 使用CUDA动态链接库的CUDA应用程序可以通过操作系统环境设置,使得一个CUDA应用程序在运行时由操作系统负责链接到Orion Client提供的动态链接库上。由于Orion Client模拟了NVidia CUDA运行环境,因此CUDA应用程序可以透明无修改地直接运行在Orion vGPU之上。
典型部署架构
以下介绍两种常见的Orion GPU资源池化部署方案。一种是All-in-One的本地GPU虚拟化方案,一种是部署到分布式多台物理机的GPU资源池化方案。
Orion GPU资源池化方案
分布式GPU资源池化方案指的是把一台或者多台服务器内的GPU作为资源池,通过Orion向局域 内任一个物理机、Container或者VM内的CUDA应用程序提供虚拟化GPU的部署方式。 选择局域 内至少一个Linux服务器部署Orion Controller。该Controller必须可以被属于同一个资源池的其他Orion组件通过 络访问。 每一个服务器上部署Orion Server服务,Oiron Server自动适配该服务器是否安装有GPU,从而开启不同的功能。 在每一个需要运行CUDA应用程序的物理机、Container和VM里部署Orion Client运行库。 各个Oiron组件通过Orion Controller的控制功能完成服务发现,资源调度等功能。 从逻辑上,以上各个Orion组件使用了control plane和data plane两套 络。其中control plane用于和Orion Controller组件的通讯。该部分通讯流量不大,对 络延迟和带宽需求不高。data plane用于Orion Client和Orion Server之间执行CUDA任务之间的通讯。该部分对于 络的延迟和带宽有一定需求。建议使用支持RDMA的 络。在实际环境中,control plane和data plane可以是同一个物理 络。
安装部署
请联系客服
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!