cpu 一般都是有个数限制的,我所知道的最多也就是志强系列的八路,那么超算是如何实现动辄上万计算节点的呢

2018-11-17 20:37:20 +08:00
 Event
3633 次点击
所在节点    问与答
15 条回复
niubee1
2018-11-17 20:47:37 +08:00
你都说一般了嘛, 超算就是通过不一般的方法咯撒
zhichangxinren
2018-11-17 20:59:18 +08:00
并行计算
yexm0
2018-11-17 21:09:13 +08:00
超算是用的类似 Intel Xeon Phi 这类的特殊 U,不是一般机子的通用 U
Event
2018-11-17 22:05:08 +08:00
@zhichangxinren 不同节点通过网络连接吗 那岂不是会有延迟 哪怕 1ms 也是很严重的把
F1024
2018-11-17 22:30:51 +08:00
<amp-youtube data-videoid="LXHsc6pBfAQ" layout="responsive" width="480" height="270"></amp-youtube>
eastpiger
2018-11-17 22:34:30 +08:00
前面说的已经比较清楚了。超算并不是你想象的一个上万核的 CPU 这种东西。
至于你说的网络,很多超算就是通过网线连接的,至于延迟,你可以计算一下 1ms 乘上光速有多少。况且并行计算的算法设计一般是要针对性设计的,其中很大一部分精力就是在组织数据和分配计算任务上。
Event
2018-11-17 22:48:10 +08:00
@eastpiger soga
明白了 thks
Osk
2018-11-17 22:50:31 +08:00
把一个大型的任务精心设计成可以独立运行的多个小任务, 分配到各节点进行计算, 最后处理所以节点计算的结果, 已经不是个人机上那种多进程多线程了. 忘了是在哪里看到的了. 每个节点的 cpu 核数也不一定多, 看整个系统怎么设计的
Laynooor
2018-11-17 23:00:22 +08:00
@F1024 这个视频,运行快速傅立叶变换的时候,超算和个人电脑比较。

从画面上看个人电脑只有一个核心....
ryd994
2018-11-17 23:33:36 +08:00
@eastpiger 不是普通网络
首先就不是基于 ethernet 协议
比如说 IBM 超算就是 5 维双向环路,分配计算任务时会跟随环路方向,最大化数据同步效率

@Osk mpi 了解一下
@Event 1ms 怎么可能,都在亚微秒级
Twot
2018-11-17 23:47:15 +08:00
分成一个个小任务然后配合类似 slurm 这种调度来计算吧。。
hsheng
2018-11-18 00:15:50 +08:00
@eastpiger #6 一般不用普通的网线,延迟太高,都是通过 infiniband 连接各节点
andyhuzhill
2018-11-18 00:31:22 +08:00
超算的关键技术点其实不是堆砌 CPU,只是堆砌 CPU 并不能带来性能的一直提升,是有瓶颈的。
超算的关键技术就是各个 CPU 之间的互联网络 和 计算任务的分配。
pkookp8
2018-11-18 01:39:50 +08:00
所以才是技术
不然有钱堆硬件就够了
msg7086
2018-11-18 10:57:18 +08:00
1ms 够光走 300 米了。担心 1ms 延迟不如把服务器节点搬得近一点。
另外你可以了解一下 NUMA。跨 NUMA 存取是很慢的,所以一般会把大部分 IO 限制在节点内,提高工作速度。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/508839

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX