使用GPU虚拟化技术搭建支持3D设计的职校学生机房(云教室)
背景
学校为职业学校,计算机教室需要进行Maya、Adobe Illustrator、Adobe Dreamweaver、Adobe PhotoShop等软件的教学。每个教室为35用户。资源需求为4核、8G内存、80G硬盘。
基于桌面虚拟化VDI技术的机房在成本、可管理性方面,相对于传统胖终端的机房,具有独特的优势。不足之处是由于没有GPU,对于3D应用的支持较差。如果没有DirectX和OpenGL的支持,这些软件将无法运行,或者无法流畅运行。
GPU虚拟化技术使得多个虚拟机可以共享物理的GPU,提供了资源利用率,降低了GPU的成本。相对于每个胖终端配置显,GPU虚拟化技术,通过在服务器上集中部署高性能GPU,实现多用户共享资源,可以实现更优的成本,降低能耗。 还具有更大的灵活性,可以通过调整资源配置,为用户配置不同规格的vGPU。
方案
每个云教室配置35个云终端,1台服务器,一台PC做教师机。
服务器配置如下:
Dell R740 Xeon 金牌6226R 2.9Ghz * 2,64G * 6,960G 企业级SSD,2TB SATA, GE * 4, TESLA P40-24G * 2, 1100W电源*2
选Dell R740服务器的原因是这款服务器销量的,兼容性好,对GPU的支持非常好。服务器提供idrac远程管理,远程装机,故障定位,都非常便捷。为了支持GPU,电源肯定选最高功能率。
上述配置中,TESLA P40卡带有24G显存,可以分配出24个1G显存的vGPU。两个P40卡,足够满足为35个用户分配vGPU。 服务器可以35用户,人均 8G 内存,1G 显存的资源分配。

云终端采用 朵拉云 DC20
DC20 配置为 : ARM A55,1G/8G,VGA/HDMI,6*USB,千兆网卡。
DC20终端可以满足在 1920 x 1080分辨率下,流畅使用云桌面业务的需求。

服务器、云终端、教师机器,通过交换机连接。

部署过程
1、安装服务器、云终端硬件。
2、服务器部署 DoraCloud 虚拟化系统。
服务器安装好 Proxmox VE后,可以实现一键在线部署 DoraCloud 桌面云。

3、从在线仓库下载桌面模板。然后编辑模板,增加 Maya、PS、DW、AI等应用软件。

4、创建35用户的桌面池,创建班级群组、用户。
桌面池创建的时候,选择P40显卡以及vGPU类型为 1Q

然后创建群组(班级)

再创建35个用户账号。

5、配置云终端的自动发现和自动配置,实现终端的即插即用。

6、将云终端顺序开机,实现云终端和云桌面账户的依次绑定。保证座位、终端、用户、桌面的编号,一一对应。
7、为了启用vGPU,需要把Maya的ViewPort 渲染引擎修改为 DirectX 11

然后打开一个Maya教学用的模型,性能也是不错的,可以平滑的拖动,旋转。

实施效果
成本分析
服务器采用R740,GPU选择P40,性价比非常高。低于使用核显胖终端,远低于使用独显的胖终端。 配置已经给了,不难自己核算成本。 如果想最求更好性能,可以把服务器、显卡再升级1-2代。
性能分析
每个桌面使用 鲁大师跑分,性能远高于核显的跑分,超过 1050Ti,接近GTX 1060的水平了。


管理便捷
VDI模式具有天然的管理优势。 创建35个桌面,可以在5-10分钟内完成。 桌面还原,可以在1-3分钟内完成。
桌面可以设置多种还原策略。比如断开时还原、定时还原,或者按照课表的时间,进行还原。
管理便捷
由于VDI是在服务器上分配资源,可以灵活的调整桌面的资源配置。
比如平时上课的桌面为:8G内存,1G显存。 如果暑假期间,做一个课题项目,可以调整桌面池,比如创建出 10个桌面,每个桌面16G内存,4G显存。 这个灵活性,是买PC不能比拟的。
另外,后续如果1G的显存不够用,可以选择增加服务器,人均分配2G,或者4G显存。不会出现像PC一样的报废式升级。
最后看看机房的效果。

相关文章:
使用GPU虚拟化技术搭建支持3D设计的职校学生机房(云教室)
背景 学校为职业学校,计算机教室需要进行Maya、Adobe Illustrator、Adobe Dreamweaver、Adobe PhotoShop等软件的教学。每个教室为35用户。资源需求为4核、8G内存、80G硬盘。 基于桌面虚拟化VDI技术的机房在成本、可管理性方面,相对于传统胖终端的机房…...
【C++入门】C语言的不足之处
概要 C入门主要讲的是C语言的一些不足,C作为补充,来补充C的不足之处 C的关键字有63个,C语言有32个(作为了解,不需要专门记) 变量的命名规则: 变量名必须以字母或下划线开头。变量名只能包含字…...
【已解决】oracle获取最近2学年的数据
已解决 :oracle获取最近2学年的数据 SELECT * FROM (SELECT * FROM xx.JWXT_XSKB WHERE AND xn IN (‘2023-2024’,‘2022-2023’)); 问题 某某系统课表数据过大,要求只获取最近2学年的数据,不能写死。 思路 mysql 在子查询的WHERE子句中…...
【图卷积神经网络】1-入门篇:为什么使用图神经网络(下)
为什么使用图神经网络? 在本书中,我们将重点介绍图学习技术中的深度学习家族,通常称为图神经网络。GNNs是一种新的深度学习架构类别,专门设计用于处理图结构化数据。与主要用于文本和图像的传统深度学习算法不同,GNNs明确地用于处理和分析图数据集(见图1.4)。 图1.4 - …...
AIGC(生成式AI)试用 2 -- 胡言乱语
小时候曾希望做个科学家,才师笑着说:努力、加油,一定会实现的。 也曾说要做个发明家,家人一笑了之:你那笨手笨脚的,想啥呢。 也曾幻想自己要成为英雄,被朋友嘲笑:连架都不敢…...
爬虫逆向实战(30)-某查查股东关联公司(HmacSHA512)
一、数据接口分析 主页地址:某查查 1、抓包 通过抓包可以发现数据接口是api/people/getRelatCompany 2、判断是否有加密参数 请求参数是否加密? 无 请求头是否加密? 通过查看“标头”可以发现,请求头中有一个key和value都是…...
多态(个人学习笔记黑马学习)
多态分为两类 静态多态: 函数重载和 运算符重载属于静态多态,复用函数名动态多态: 派生类和虚图数实现运行时多态 静态多态和动态多态区别: 静态多态的函数地址早绑定 编译阶段确定函数地址动态多态的函数地址晚绑定 运行阶段确定函数地址 1、基本语法 #include &…...
线程中future/atomic/async及nlohmann json的学习
1)std::future的其他成员函数 wait_for()成员函数,wait_for返回的是一个std::future_status枚举类型,根据返回值做相应处理 std::future_status state result.wait_for(std::chrono::seconds(1)); if(state std::future_status::ready) { cout<<result.get…...
windows安装MongoDB后进入命令交互界面失败解决方案
MongoDB下载链接:https://www.mongodb.com/download-center MongoDB安装教程:https://juejin.cn/post/6844903912000978952 不要安装最新的高版本MongoDB,因为配置方法可能会有差别,比如7.0一直失败的话就换5.0及以下版本试试&am…...
基于Java+SpringBoot+Vue前后端分离高校专业实习管理系统设计和实现
博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…...
E. Hanging Hearts
Problem - E - Codeforces 思路:我们考虑用树形dp,用f[i][0]表示以i为根,并且当前节点不在最长上升子序列中,用f[i][1]表示以i为根,当前节点在最长上升子序列中,那么f[i][0]max(f[j][0],f[j][1])࿰…...
docker安装RabbitMQ教程
可以通过Docker来安装RabbitMQ,具体步骤如下: 安装Docker:请参考官方文档进行安装。 拉取RabbitMQ镜像:通过以下命令拉取最新版本的RabbitMQ镜像。 docker pull rabbitmq:latest运行RabbitMQ容器:通过以下命令运行Rab…...
Java虚拟机整型数加载指令学习
JVM中 int 类型数值,根据 取值范围将 入栈的 字节码指令 就分为4类: 取值 -1~5 采用 iconst 指令; 取值 -128~127 采用 bipush 指令; 取值 -32768~32767 采用 sipush指令; 取值 -2147483648~2147483647 采用 ldc 指令。…...
Docker 实现 MySQL 一主一从配置
1、新建主服务器容器实例,端口: 3307 docker run \ -p 3307:3306 \ --name mysql-master \ -v /var/docker/mysql-master/log:/var/log/mysql \ -v /var/docker/mysql-master/data:/var/lib/mysql \ -v /var/docker/mysql-master/conf:/etc/mysql \ --p…...
Python编程练习与解答 练习113:避免重复
本练习将创建一个程序,从用户处读取单词,直到用户输入空行,在用户输入空行之后,程序应该显示一次用户输入的每个单词。单词应该按照他们最初的输入顺序显示。例如如果用户输入: first second first third second …...
线上 udp 客户端请求服务端客户端句柄泄漏问题
本题分别从如下三个方面来分享: 问题描述 自定义连接池的编写 common_pool 的使用 问题描述 线上有一个业务,某个通服务通知 udp 客户端通过向 udp 服务端(某个硬件设备)发送 udp 包来进行用户上线操作 当同时有大量的请求打到…...
合宙Air724UG LuatOS-Air LVGL API控件-窗口 (Window)
窗口 (Window) 分 享导出pdf 示例代码 win lvgl.win_create(lvgl.scr_act(), nil) lvgl.win_set_title(win, "Window title") -- close_btn lvgl.win_add_btn_right(win, "\xef\x80\x8d") -- --lvgl.obj_set_event_cb(cl…...
80 # 图片防盗链
referer 来源,表示这个资源被谁引用过,可以用来做防盗链。 我们新建文件 no-referer.js const fs require("fs"); const path require("path"); const url require("url"); const http require("http");h…...
App自动化测试持续集成效率提高50%
持续集成是一种开发实践,它倡导团队成员需要频繁的集成他们的工作,每次集成都通过自动化构建(包括编译、构建、自动化测试)来验证,从而尽快地发现集成中的错误。让正在开发的软件始终处于可工作状态,让产品…...
LeetCode —— 复写零(双指针)
题目链接 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 题目解析 将数组中出现的每个零复写一遍,然后将其他元素向右平移,数组长度不能改变。 法一:使用额外空间的做法 class Solution { public:void duplica…...
加拿大无人机产业:从感知到执行的自主化跃迁与BVLOS破局
1. 加拿大无人机产业的现状与挑战提起无人机,很多人脑海里首先蹦出来的可能是大疆,那个在全球消费级和部分商用市场占据绝对主导地位的中国品牌。这确实是一个不争的事实,也是加拿大本土无人机产业必须直面的现实。我接触过不少加拿大的初创公…...
Hummingbot自动化交易框架:从原理到实战的量化交易指南
1. 项目概述:一个为专业交易者打造的自动化交易框架如果你在加密货币交易领域摸爬滚打过一段时间,一定会对“手动盯盘”的疲惫和“情绪化操作”的代价深有体会。市场24/7运转,机会转瞬即逝,而人的精力终究有限。这正是我最初接触并…...
RPG Maker Decrypter终极指南:轻松解密游戏资源文件
RPG Maker Decrypter终极指南:轻松解密游戏资源文件 【免费下载链接】RPGMakerDecrypter Tool for decrypting and extracting RPG Maker XP, VX and VX Ace encrypted archives and MV and MZ encrypted files. 项目地址: https://gitcode.com/gh_mirrors/rp/RPG…...
从网线到数据包:手把手拆解以太网帧,搞懂GMAC接口到底在忙啥
从网线到数据包:手把手拆解以太网帧,搞懂GMAC接口到底在忙啥 当我们在浏览器输入一个网址,敲下回车键的瞬间,数据便开始了一场奇妙的旅程。这场旅程的起点,往往是一根不起眼的网线,而GMAC接口则是这场旅程中…...
终极指南:如何用Python轻松解锁QQ音乐资源,打造个人音乐库
终极指南:如何用Python轻松解锁QQ音乐资源,打造个人音乐库 【免费下载链接】MCQTSS_QQMusic QQ音乐解析 项目地址: https://gitcode.com/gh_mirrors/mc/MCQTSS_QQMusic 你是否曾遇到过这样的困扰?在QQ音乐上发现了一首心仪的歌曲&…...
QSplitter实战:打造可动态调整的专业级应用界面
1. QSplitter:让界面布局活起来的魔法棒 第一次用QSplitter的时候,我正被一个IDE项目的界面布局折磨得焦头烂额。左侧导航栏、中间代码区、右侧属性面板,这三个区域就像三个固执的老头,死活不肯按照用户期望的比例显示。直到发现Q…...
从火箭背包到现代VTOL飞行器:FPGA飞控与传感器融合技术解析
1. 从科幻到现实:个人喷气背包的工程梦想每次看到老式喷气背包的影像,比如那些在早期007电影里出现的、两侧喷着火焰的装置,心里总会涌起一股混合着兴奋与敬畏的复杂情绪。那种感觉,就像小时候第一次拆开收音机,既惊叹…...
2002-2024年 人工智能发展能壮大耐心资本吗
本文基于2002-2024年上市公司数据,借鉴《人工智能发展能壮大耐心资本吗? ——来自国家新一代人工智能创新发展试验区的经验证据》一文中的变量构建与基准回归部分,探讨人工智能发展能否培育壮大耐心资本,含原始数据、处理代码、实…...
全球扩张加剧法律复杂性,但仅有7%的企业实现全面合规
• 47%的总法律顾问表示,实际控制人规则对法律运营构成了最大的风险 • 44%的企业对能否满足跨境数据安全要求缺乏信心 随着企业在2026年加速全球扩张,合规工作却未能跟上步伐。事实上,根据全球领先的商业管理与合规解决方案提供商CSC的一项最…...
零基础避坑指南什么工具可以录音转待办
还在手动把面试录音扒成文字再摘待办?做HR的谁没踩过这个坑:整理一小时,漏了候选人关键信息,还把待办记错,今天直接讲能直接上手的方法,零基础也不会踩坑。我做HR那几年,光整理录音待办就熬了无…...
