IBM提出新计算范式克服关键性能瓶颈,提高查询大型数据库能力
3570
数据库是信息技术和整个数字世界的核心。当查询大型数据库时,主要挑战之一是检索存储的数据,并将其带到执行查询的处理器上。与将数据移动到处理器相关的延迟和能量是一个关键的性能瓶颈,随着现实世界数据库规模的不断扩大,这个瓶颈将逐渐恶化。日前,来自IBM Research Europe和TU Delft的研究人员提出了一种方法,使用一种被称为内存计算的有前途的新计算范式来解决这一挑战。
内存计算
在这种计算范式中,内存设备的物理属性及其阵列级组织使内存阵列本身的计算成为可能。一类特别适合于内存计算的内存设备是记忆性设备。在记忆性器件中,信息是以器件电阻的形式存储的。例如,高电阻状态可以代表逻辑 "0",低电阻状态可以代表逻辑 "1"。即使在不连接电源的情况下,记忆性器件也能保留存储的信息。虽然内存计算可以解决延迟和能源问题,但它仅限于特定的计算任务,无法解决传统计算机可以解决的高复杂计算问题。其中一个任务是内存逻辑,在内存中存储的1和0之间进行逻辑AND或OR运算。
使用内存计算的数据库查询
幸运的是,一些数据库查询可以用长串1和0之间的逻辑运算来表述。因此,关键的思想是将数据库存储在密集的memristive设备阵列中,并利用内存逻辑来执行执行查询所需的逻辑运算。可以看出,只要对memristive数组的外围电路进行比较小的改动,就可以单纯地基于读取数组的内容来执行内存中的逻辑运算。我们介绍了由相变存储器(PCM)器件组成的小型阵列的实验结果,PCM是一种基于碲化锗锑等材料的记忆性器件。我们还介绍了将多个查询串联起来的方法,并将其应用在实际的医疗相关数据库上。
内存逻辑的杀手级应用?
早在近十年前,随着内存逻辑的提出,内存计算领域首次崭露头角。然而,近年来,人们对内存逻辑的兴趣逐渐减弱,大部分注意力都集中在帮助实现某些机器学习算法的内存算术运算上。一个重要的原因是,早期关于内存逻辑的很多工作都集中在所谓的有状态逻辑上。在实现内存有状态逻辑时,在执行逻辑运算时,要反复写入memristive设备。这样耗费的能量太大,而且多次写入时设备会磨损。而提出的数据库查询方案则纯粹依靠读操作。
使用memristive器件的内存逻辑的另一个致命弱点是缺乏杀手级应用。希望数据库查询能够成为杀手级应用,为内存逻辑这一引人入胜的研究课题带来新的兴趣。
可以想象,在不远的将来,存储在超密集的memristive阵列中的大型数据库将能够自己选择要看的电影或要读的文章。