好久没有写技术性的博文了,今天有点时间,随便说两句。
哥们我做可重构计算的研究算下来也快5年了,经历了从懵懂到熟悉的过程。09年的时候还给研究生开讲座,讲了讲研究可重构计算的心得。
不过经过5年的研究,我不得不说:可重构计算的倒掉是必然的,而取而代之的是云计算的兴起。
为什么这么说呢?我们首先来看看可重构计算的提出是基于什么样一个目的和前提。可重构计算是的出发点是想让计算兼顾硬件的高效性和软件的灵活性,以可编程/可配置电路或芯片为基础,让硬件的电路结构随着计算的运行按需发生改变,从而实现算法加速。但注意这是基于以下前提:1、软件运算速度不够快,因此必须要用硬件加速的办法提高运算效果;2、硬件资源不足,所以不能直接把硬件做死,需要它灵活的变动以适应不同的算法。
那么我们来看第一点,软件运算速度不够快,这是永远都存在的问题。人们总是欲求不满,随时随地都想要更好的。现有的计算机都是电子计算机,其运算能力受限于基本的电子学定律,虽然这么多年速度一直在提升,但是总还是不断有新的需求出来赶超性能的提升。更何况同时期底层电子元器件技术的发展速度总是要慢于人们需求的发展,因此采用多种手段实现运算加速也是对的。那么再看看第二点,也就是硬件资源不足。什么时候会出现硬件资源不足呢,通常有以下三种情况:钱太少、体积小、功耗低。钱太少,这个好理解,任何硬件都是要花钱的,无论是一根电阻还是一个管子,都是要花真金白银的。体积小嘛,硬件是一个物理实体,既然是物理实体就会有体积,虽然现在的管子能够做到多少多少nm,但总归是有的。功耗低,有一个电子元器件就多了一个耗电的玩意,很多时候电子系统能量供应是受限的。那么综合这三点下来可重构计算最适合的其实是移动终端,尤其是需要很高性能的移动终端。首先,移动终端体积小,这个不说了。体积大的那个叫步话机。其次功耗要低,这是自然的,移动设备都是电池供电,用完就没了。第三点钱要少,这不是绝对的,但是如果不是给少数人用的高档货,终端的钱肯定是要大大少于局端的。
但是我前面说的这些还有一个前提,就是计算要在本机完成。因此才会在移动终端体积小、功耗低、价钱少所带来的硬件受限的条件下追求更高的计算性能。但是如果我们换一种思路,计算并不在本机完成,而是在云端完成,也就是现在常说的云计算。那么移动终端所需要提升的就不是计算能力,而只需要专注于提升通信能力即可。换言之,在云计算时代,移动终端不过是显示和输入设备,整个计算过程是在远端的计算中心完成的,对移动终端本身的计算能力的要求就大大降低了。换言之,可重构计算最大的一个应用场景就已经不存在了。
那么又会引出来两点问题,1、移动终端变成了输入和输出设备,那么对输入输出设备本身就没有进一步提高性能的需求了么?2、处于云端的计算中心的性能又如何解决,可重构计算是否有用武之地呢?对于这两个问题,我个人的理解是这样的。可重构计算之所以是要重构,追求的就是灵活性和性能兼顾,如果单独追求性能的话,完全不必要采用可重构计算这一模式。原来移动终端终端的计算是在本机完成的,这种计算是通用计算,也就是说计算任务是多种多样的。这就需要考虑灵活性的问题。而如果转变为单纯的输入输出设备了,那么其功能实际上上就变得更加固定了,对灵活性的要求也就大大降低了,完全可以采用固定硬件加速这一效率更高的模式来完成各项功能。对于计算中心而言,则基本不存在硬件受限的问题,可以大量使用硬件加速单元。对于计算中心这部分我研究得不多,就不好再说什么了。
最后要谈一点的是,可重构计算虽然必然倒掉,但是可重构设计方法学或者可重构技术却不会消亡。只是不再适用于提高硬件灵活性实现算法加速这一应用点而已。以后可重构技术可以用于提高系统可靠性、稳定性等其它应用上,对于此我们正在从事新方向上的研究,希望不久之后我能公布最新的研究成果。