OrionX计算平台/AI加速器资源池化软件
共 2516字,需浏览 6分钟
·
2020-11-26 04:25
商品参数
商品介绍
商品介绍
商品介绍
概述
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可以是同一个物理网络。
安装部署
请联系客服