11月9日,KAUST的研究人员开发的一种先发制人的内存管理系统,通过消除由于数据传输缓慢而造成的延迟,可以将数据密集型模拟的速度提高2.5倍。该开发优雅而透明地解决了现代超级计算中最顽固的瓶颈之一--从内存中传输数据的速度足以跟上计算。
"减少数据的移动,同时让数据贴近计算硬件,是计算科学家处理大数据所面临的最艰巨的挑战之一,"研究团队的Hatem Ltaief解释说。"计算速度和内存传输能力之间的差距越来越大,而且需要将大容量数据存储在远程存储介质上,这就加剧了这一问题。"
处理大数据的关键挑战是在内存中存储数据的成本和规模。存储器的速度越快,成本越高,数据需要在计算元素之间移动的速度也越快。因为即使是最强大的超级计算平台上也只有容量相对较小的最快内存,所以系统工程师要连续增加更大、更慢、更远的内存层,以容纳大数据集典型的TB级和PB级数据。
"正是在这种恶劣的环境下,我们的系统通过减少数据进出远程存储硬件的开销而发挥作用,"Ltaief说。
Ltaief与同事David Keyes和Tariq Alturkestani一起开发了他们的多层缓冲系统(MLBS),通过协调数据在内存层之间的移动,主动工作以保持数据尽可能接近计算硬件。
"MLBS依赖于多层次缓冲技术,通过使其'看到'所有数百PB的数据都在快速内存中,从而超越了模拟,"Alturkestani说。"缓冲机制可以防止应用程序在需要访问位于远程存储上的数据时停滞不前,使应用程序可以全速进行异步计算操作。"
MLBS提供的这种协同效应,在使用KAUST的Shaheen-2超级计算机进行涉及数百PB数据运动的三维地震勘探模拟时,实现了2.5倍的速度提升。
"这种方法还减少了将数据移动到远程存储介质和从远程存储介质移动到远程存储介质所需的能量,这可能比在本地内存上执行一次计算的能量高出数百倍,"Ltaief说。"使用MLBS,我们可以减轻数据移动的能量开销,这也是我们中心的主要目标之一。"