OrionX计算平台/AI加速器资源池化软件

趋动科技

共 2516字,需浏览 6分钟

 ·

2020-11-26 04:25

商品参数

交付方式
人工交付
交付时长
15天

商品介绍

商品介绍

商品介绍

概述

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可以是同一个物理网络。

安装部署

请联系客服

浏览 5
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报