一遍。
一颗8080加配套的动态存储芯片和静态存储缓存,组成一个完整的计算节点。
每个节点的理论峰值约一百万次每秒。
一百二十个节点构成一个阵列,通过网格互联网络连接起来。
控制节点负责把计算任务拆分后分配到每个节点,再把结果汇总回来。
网格互联的拓扑结构在他的脑海里自动铺开,四乘六乘五的三维网格,每个节点与相邻六个节点相连。
这种结构的最大优点是对通信延迟不敏感,数据在网格中传递的路径长度有限,最长路径不超过十几跳。
光纤通信已经把单跳延迟压到了微秒级别,整个网络的通信开销完全可以接受。
存储体系的分层结构也自动成型了。
最顶层是每颗8080内部集成的静态存储缓存,芯片上的仙童512位缓存就做这个用。
中间层是每颗8080配备的动态存储芯片,也就是龙芯1103,用于存放当前计算任务的数据块。
最底层是共享的大容量磁芯存储阵列,存放程序的完整数据和计算结果。
计算任务的分块方案他用了数据并行的思路。
把需要计算的大型矩阵或者网格数据切成一百二十份,每份送到一个节点独立计算,节点之间仅在边界区域交换数据。
这种方案的通信开销占比较低,并行效率能做到百分之八十以上。
操作系统需要重新设计。
现有的汉语言系统是针对单机和少量终端开发的,调度器不支持大规模并行。
他在脑子里推演了一套分布式调度方案,控制节点上运行主调度程序,每个计算节点上运行一个轻量级的从调度程序。
主程序把任务打包发送到各节点,从程序接收任务包之后独立运行,计算完成后再把结果打包发回。
编程接口的改造相对简单。
在现有的汉语指令集基础上增加几条并行指令,让程序员可以用并行块、等待同步、共享数据这些关键词来组织并行程序。
编译器的改造工作他打算交给电子厂的技术团队去做,他们已经有了前两代编译器的开发经验,理解这套方案不需要太多时间。
整台超算的物理尺寸在他的估算中逐渐清晰。
一百二十个节点,每个节点包含一颗8080、四颗仙童静态存储芯片和十六颗龙芯1103动态存储芯片。
芯片总
本章未完,请点击下一页继续阅读!