分形计算系统
在许多领域,编程成本已经成为阻碍计算机技术应用发展的主要瓶颈问 题:超级计算机性能走向百亿亿次级别,然而现代超级计算机发展趋势是采用 异构运算部件,导致编程困难的问题越来越严峻;在物端边缘计算领域,设备 数量和种类呈现爆炸式增长,而应用程序开发者不可能针对上百亿种异构设 备进行编程,产生了“昆虫纲悖论”;在机器学习领域,编程框架 TensorFlow 的代码规模已经突破 400 万行,为机器学习或深度学习开发领域特定加速器产 品的主要成本已经来源于配套软件生态的研发。
编程难题包括并行编程难、异构编程难、大规模系统编程难、跨系统编程 难等诸多表现形式。学位论文拟提出分形计算概念,通过分形计算系统的研究 以回应编程难题;具体来说,分形计算系统针对来源于“编程-规模相关性”的 编程难题提供了解决方案。具体贡献包括:
• 提出分形计算模型(FPM),一种采用了层次同性原理的通用并行计算 模型。分形计算模型具有编程-规模无关性,是一种串行编程、并行执 行的模型。使用者只需编写串行的程序,该计算模型可以自动展开至任 意规模的系统上并行执行,因此可以在通用领域解决来源于编程-规模 相关性的编程难题。
• 提出分形冯·诺伊曼体系结构(FvNA),一种采用了层次同性原理的专 用并行体系结构。相同任务负载在不同规模的分形冯·诺依曼体系结构 计算机上可以分别自动展开、执行,因此可以做到对一系列不同规模的 计算机仅需进行一次编程。以机器学习领域专用体系结构为例,本文实 现了一系列分形机器学习计算机 Cambricon-F,以解决机器学习计算机 编程困难的问题。实验结果表明,Cambricon-F 在改善了编程生产率的 同时,还能获得不劣于 GPU 系统的性能和能效。
• 提出可重配分形指令集结构(FRISA),一种按照分形计算模型设计的 分形计算机指令集结构。分形可重配指令集结构能够在分形冯·诺依曼 体系结构计算机上定义任意的分形运算,因此可以支持实现分形计算模型,形成通用分形冯·诺依曼体系结构计算机。以机器学习领域专用体 系结构为例,本文在 Cambricon-F 的基础上实现了一系列可重配的分形 机器学习计算机 Cambricon-FR,以解决 Cambricon-F 在新兴机器学习应 用上遇到的失效现象。实验结果表明,Cambricon-FR 在解决了失效现 象、提高系统运行效率的同时,还能通过定义分形扩展指令缩短描述应 用所需的分形指令串的长度。