[发明专利]对无用存储单元收集的GPU支持有效
申请号: | 201180020912.X | 申请日: | 2011-02-22 |
公开(公告)号: | CN102985910A | 公开(公告)日: | 2013-03-20 |
发明(设计)人: | 埃里克·R·卡斯波尔 | 申请(专利权)人: | 超威半导体公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 上海胜康律师事务所 31263 | 代理人: | 李献忠 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 无用 存储 单元 收集 gpu 支持 | ||
背景技术
技术领域
本发明涉及计算系统,并且更具体地涉及计算机无用存储单元收集机制。相关领域的描述
当软件程序员根据一种算法或方法编写应用程序以执行工作时,程序员通常会利用变量来引用临时数据和结果数据。可称为数据对象的此数据要求在计算机存储器中分配空间。在一个或多个应用程序的执行期间,可用于数据对象的分配的计算机存储器的未分配或空闲的量可减少至次优水平。空闲空间量的这种减少可使系统性能降低,并且最终可能不存在任何可用空闲空间。可在应用程序执行期间使用自动存储器管理技术,例如无用存储单元收集。无用存储单元收集维持足够的空闲空间,识别并移除内存泄漏,将可获得的数据对象中的一些或全部复制到新存储区中,根据需要更新对数据对象的引用等。
无用存储单元收集算法在带来益处的同时也有一些设计代价。例如,无用存储单元收集算法通常包括若干步骤,并且可能比较耗时。因此,当无用存储单元收集算法执行其任务时,计算系统可能会经历暂停。如果无用存储单元收集程序实时运行或在执行应用程序的同时运行,则无用存储单元收集暂停的时长可能是不可接受的。此外,该算法可能在其执行期间利用高速缓存空间。高速缓存空间的使用又可能导致有用信息被排除,一旦该算法完成就必须重新获取该信息。
对存储器的一部分而非整个存储器执行无用存储单元收集算法的步骤可减少与无用存储单元收集相关的暂停时间。此外,研究已表明在许多软件应用程序中大多数数据对象存活时间不长。因此,对于上述无用存储单元收集的问题的一个解决方案包括对具有最新数据对象的存储器的一部分执行无用存储单元收集算法。一种此类技术为分代无用存储单元收集。
在确定运行无用存储单元收集时,执行一些预处理步骤,然后才进行无用存储单元收集。例如,在此时计算指向较新数据对象的较旧数据对象的地址。无用存储单元收集算法随后使用这些地址以将所有可获得的数据对象定位。随着地址的数量和大小的增加,用于地址计算的时间也增加,并且可能减少分代无用存储单元收集技术的有益效果。
鉴于以上情况,需要用于进行计算机无用存储单元收集的有效方法和机制。
发明概述
考虑了用于进行有效无用存储单元收集的系统和方法。
在一个实施方案中,处理节点包括通用中央处理单元(CPU)、专用处理单元(SPU)和存储器。在一个实施方案中,SPU具有单指令多数据(SIMD)并行架构,并且可为图形处理单元(GPU)。CPU进行操作以将存储器内的分配的堆分成多个区域。在各个实施方案中,这些区域可按照龄期来排序或识别,并且可称为“代”。此外,每个区域均可包括多个子区域或“卡”。在一些实施方案中,每个卡均具有固定大小,例如128个字节、4KB虚拟页或其它大小。在应用程序执行期间,CPU响应于检测到对存储于卡中的数据对象的修改有资格作为潜在跨代引用来标记与特定卡相对应的指示。例如,在一个实施方案中,可修改存储于数据对象中的指针值以指向存储于另一代中的数据对象。在另一个实施方案中,当修改指针值以指向存储于最新代中的数据对象时,对相应指示进行标记。可能存在且可考虑其它资格条件。
在各个实施方案中,CPU可检测到无用存储单元收集起始条件被满足,例如最新代具有小于预定阈值的空闲存储空间。响应于确定无用存储单元收集起始条件被满足,CPU将指示SPU将执行预定无用存储单元收集相关任务的通知发送至SPU。在一个实施方案中,SPU可确定一个或多个卡根地址,每个卡根地址均对应于标记的指示之一。SPU可利用SIMD核心的并行架构来同时计算多个卡根地址。当SPU执行无用存储单元收集相关任务时,CPU可继续处理其它任务。因此,可在CPU不引起无用存储单元收集暂停的情况下确定这些卡根地址。另外,这些任务无需CPU的高速缓存子系统。因此,可提高总体系统性能。在各个实施方案中,第一处理节点的CPU可经由网络连接将上述通知发送至位于第二处理节点中的SPU。然后,如上所述,SPU可确定卡根地址,以便卸载CPU。
这些和其它实施方案将通过参考以下描述和附图来进一步理解。
附图简述
图1为包括具有并行架构的专用处理单元的示例性处理节点的一个实施方案的总体框图。
图2为进程地址空间的一个实施方案的总体框图。
图3为分区存储器的一个实施方案的总体框图。
图4为一种通过具有并行架构的专用处理单元来进行有效无用存储单元收集的方法的一个实施方案的流程图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于超威半导体公司,未经超威半导体公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180020912.X/2.html,转载请声明来源钻瓜专利网。