作者softpak (喔喔喔)
看板Minecraft
标题Re: [讨论] 请问如何建立大型伺服器(2)
时间Mon May 19 02:24:23 2014
软体篇
测试环境:
Windows7 +
Aparapi +
OpenCL
测试硬体1:I3-3220 + Quadro K2000 (FP performance:732.7 GFLOPS) 0.7 T
测试硬体2:Phenom II X3 720 + AMD 6670 (FP performance:1,360.0 GFLOPS)1.3 T
测试硬体3:G3420 + R270X (FP performance:2,560.0 GFLOPS)2.5 T
模式1:JTP模式(Java Thread Pool)
模式2:GPU模式(用GPU计算)
(原本有要用E5,但是LINUX下的环境一直建置失败,只好先拿这三个出来讲)
这三台电脑的主要差异在於Conversion Time(GPU模式)
主要是跑四则运算的回圈(10次)
硬体1平均为22ms
硬体2平均为50ms
硬体3平均为45ms
(影响Convertion Time的主因应该是处理器没错)
而四则运算的时间如下:
GPU平均执行时间为1ms
JTP平均执行时间为2ms
但是将回圈增加到100次时
GPU平均为2ms
JTP平均为8ms
回圈增加到1000次
GPU平均为3ms
JTP平均为25ms
从这可以得知GPU的确是很快
但是以Aparapi来说还无法做即时运算
(仔细思考过後 转换时间普遍小於50ms 1 tick 应该可以承担重要回圈的运算)
这个套件算是最好上手的
如果要快速套用在麦块的伺服端
我想是可行的
像是非即时的运算如地图的载入(手拿的地图)
一次就要跑128*128次的回圈
像是CHUNK 产生器
一次要产生上千个阵列
还有AI的部分
以上参考Spigot的原始码
使用了大量回圈
就很适合丢给GPU算
最近会先尝试将比较简单的部分作程式码的置换
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.172.58.9
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Minecraft/M.1400437466.A.CCF.html
1F:推 GTR12534:专业推可是都看不懂(炸 05/19 06:59
2F:推 up9cloud:hi想请教,这样的效益比换算成设备价钱。会合算吗? 05/19 11:04
这个要做个浮点运算效能与价格的比较表
以GTX TITAN BLACK来说FP效能为5121.0 GFLOPS(5.1 T)
价格为3万5左右
最低阶的PHI-3120为例 FP效能为1003.0 GFLOPS(1.0 T)
售价为6万左右
不过专门用来做平行处理的协同处理器跟显卡的运算单元当然是有差别的
我个人认为用一般个人电脑等级的显卡就能够自己玩玩看
市面上5000块左右的显卡FP效能普遍在2.0 TFLOPS
绝对划算
最後还有一点很重要
就是GPU模式在转换时
会消耗部分处理器效能
占用约10~20%不等
所以实际使用情形尚须测试
处理器不能太差就是了
此时更多的核心就有非常大的帮助了
※ 编辑: softpak (1.175.118.105), 05/19/2014 13:25:31
3F:推 janice001:我有问题! 现行上万人伺服器已经存在 所以程式面上 05/19 13:35
4F:→ janice001:应该也有解决方案了? 是因为没有释出吗? 05/19 13:35
5F:→ lsslss:国外有出租专架麦块伺服的伺服器 出租业者还可以帮忙写插件 05/19 13:44
6F:→ lsslss:高级的方案人数可以无上限 应该是有解决方案 05/19 13:45
几个比较大的万人服
以hypixel为例
有玩的人都知道他分流很多
但并不是全部的玩家都集中在同一张地图里
玩家都被分散了
他是无法查询用了什麽插件
毕竟人家商业化(商业秘密被知道可能就没钱赚了)
我个人推测是单纯用多重世界跟Bungeecord来达成
这样其实是不需要额外的解决方案
只要伺服器的分流和游戏内容规划好就好了
这样也妥善利用了麦块伺服端的特性
另外可以提供推文中所谓专业出租麦块伺服器的业者名称或网页吗?
这样我也较好参考
※ 编辑: softpak (1.175.118.105), 05/19/2014 14:11:11