流计算系统和用于流计算系统的内存回收方法及计算设备技术方案

技术编号:38566494 阅读:9 留言:0更新日期:2023-08-22 21:04
本申请提供一种流计算系统和用于流计算系统的内存回收方法及计算设备。一种流计算系统包括:流计算单元,用于对流数据进行处理;存储引擎,根据所述流计算单元的请求为所述流计算单元分配预定限额的内存空间,所述内存空间用于存储流数据及流数据的处理结果;内存回收单元,所述内存回收单元独立于所述流计算单元和存储引擎,在操作系统内核态对所述内存空间进行冷内存页回收。根据本申请的技术方案将存储引擎自身的惰性回收优化为提前回收,可减少内存的使用率,提供更多的可调度的内存给流计算的调度器使用,从而提高CPU利用率,降低计算成本。成本。成本。

【技术实现步骤摘要】
流计算系统和用于流计算系统的内存回收方法及计算设备


[0001]本专利技术涉及大数据
,具体涉及一种流计算系统和用于流计算系统的内存回收方法及计算设备。

技术介绍

[0002]流计算(Stream Computing)是一种实时数据处理模型,用于处理连续的、无限流式的数据。它是一种处理数据的方式,不断从数据源中读取数据,并对其进行实时处理,以提供实时的反馈和响应。与传统的批处理不同,流计算处理的是数据流,可以对其进行实时处理和分析,而不必等待所有数据都被收集完毕。流计算可以应用于各种场景,如金融领域的实时交易风险分析、物联网领域的实时数据检测、智能制造领域的生产流程监测等。与传统的数据处理方法相比,流计算可以提供更快的响应时间和更高的处理效率,同时可以减少数据处理的延迟和数据的存储量。流计算需要实时处理大量数据,因此需要高效的内存管理和分配以优化计算资源的使用。

技术实现思路

[0003]本申请旨在提供一种流计算系统和用于流计算系统的内存回收方法及计算设备,能够提高集群中的流计算作业的密集度。
[0004]根据本申请的一方面,提供一种流计算系统,包括:
[0005]流计算单元,用于对流数据进行处理;
[0006]存储引擎,根据所述流计算单元的请求为所述流计算单元分配预定限额的内存空间,所述内存空间用于存储流数据及流数据的处理结果;
[0007]内存回收单元,所述内存回收单元独立于所述流计算单元和所述存储引擎,在操作系统内核态对所述内存空间进行冷内存页回收。
>[0008]根据一些实施例,所述流计算单元基于虚拟机系统实现,所述虚拟机系统为所述流计算单元提供堆内内存回收,所述存储引擎分配的所述内存空间为独立于所述堆内内存的堆外内存。
[0009]根据一些实施例,所述内存回收单元包括:
[0010]扫描模块,用于根据扫描周期定期扫描所述内存空间的内存页的访问标识,并根据所述访问标识确定所述内存页的访问冷值累加结果;
[0011]回收模块,用于根据所述访问冷值累加结果对所述内存页进行压缩及回收所述内存页,压缩后的内存页保持在所述内存空间中;
[0012]配置模块,用于为所述扫描模块和所述回收模块提供配置参数。
[0013]根据一些实施例,所述回收模块还用于:根据对已回收内存页的再次访问请求,对所述压缩后的内存页进行解压缩以进行访问。
[0014]根据一些实施例,所述回收模块配置为执行如下操作从而根据所述访问冷值累加结果对所述内存页进行压缩及回收所述内存页:
[0015]将所述访问冷值累加结果与所述扫描周期的乘积结果与超时阈值进行比较;
[0016]如果所述乘积结果超过所述超时阈值,则对所述内存页进行压缩及回收所述内存页,压缩后的内存页保持在所述内存空间中。
[0017]根据一些实施例,所述回收模块还配置为执行如下操作从而根据所述访问冷值累加结果对所述内存页进行压缩及回收所述内存页:
[0018]如果所述乘积结果超过所述超时阈值,扫描并删除与所述内存页相同的其他所有内存页。
[0019]根据本申请的另一方面,提供一种用于流计算系统的内存回收的方法,所述流计算系统包括流计算单元和存储引擎,所述存储引擎根据所述流计算单元的请求为所述流计算单元分配预定限额的内存空间,所述内存空间用于存储流数据及流数据的处理结果,所述方法包括:
[0020]根据扫描周期定期扫描所述内存空间的内存页的访问标识,并根据所述访问标识确定所述内存页的访问冷值累加结果;
[0021]根据所述访问冷值累加结果对所述内存页进行压缩及回收所述内存页,压缩后的内存页保持在所述内存空间中;
[0022]根据对已回收内存页的再次访问请求,对所述压缩后的内存页进行解压缩以进行访问。
[0023]根据一些实施例,所述流计算单元基于虚拟机系统实现,所述虚拟机系统为所述流计算单元提供堆内内存回收,所述存储引擎分配的所述内存空间为独立于所述堆内内存的堆外内存。
[0024]根据一些实施例,根据所述访问冷值累加结果对所述内存页进行压缩及回收所述内存页,包括:
[0025]将所述访问冷值累加结果与所述扫描周期的乘积结果与超时阈值进行比较;
[0026]如果所述乘积结果超过所述超时阈值,扫描并删除与所述内存页相同的其他所有内存页,对所述内存页进行压缩及回收所述内存页,并将压缩后的内存页保持在所述内存空间中。
[0027]根据本申请的另一方面,提供一种计算设备,包括:
[0028]处理器;以及
[0029]存储器,存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行如上任一项所述的方法。
[0030]根据本申请的另一方面,提供一种非瞬时性计算机可读存储介质,其上存储有计算机可读指令,当所述指令被处理器执行时,使得所述处理器执行如上任一项所述的方法。
[0031]根据本申请的另一方面,提供一种计算机程序产品,包括存储在非暂态计算机可读存储介质上的计算程序,该计算机程序包括程序指令,当该程序指令被计算机执行时,使该计算机执行如上任一项所述的方法。
[0032]根据本申请的实施例,通过独立于流计算单元和存储引擎的内存回收单元在操作系统内核态对所述内存空间进行冷内存页回收,将存储引擎自身的惰性回收优化为提前回收,可减少内存的使用率,提供更多的可调度的内存给流计算的调度器使用,从而提高CPU利用率,降低计算成本。
[0033]应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
[0034]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
[0035]图1示出根据示例实施例包括内存回收单元的流计算系统示意图。
[0036]图2示出根据示例实施例的内存回收单元的示意图。
[0037]图3示出根据示例实施例的用于流计算系统的内存回收的方法流程图。
[0038]图4示出根据示例性实施例的计算设备的框图。
具体实施方式
[0039]现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本申请将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
[0040]此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
[0041]附图中所示的方框图仅仅是功能实体,不本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种流计算系统,其特征在于,包括:流计算单元,用于对流数据进行处理;存储引擎,根据所述流计算单元的请求为所述流计算单元分配预定限额的内存空间,所述内存空间用于存储流数据及流数据的处理结果;内存回收单元,所述内存回收单元独立于所述流计算单元和所述存储引擎,在操作系统内核态对所述内存空间进行冷内存页回收。2.根据权利要求1所述的流计算系统,其特征在于,所述流计算单元基于虚拟机系统实现,所述虚拟机系统为所述流计算单元提供堆内内存回收,所述存储引擎分配的所述内存空间为独立于所述堆内内存的堆外内存。3.根据权利要求1所述的流计算系统,其特征在于,所述内存回收单元包括:扫描模块,用于根据扫描周期定期扫描所述内存空间的内存页的访问标识,并根据所述访问标识确定所述内存页的访问冷值累加结果;回收模块,用于根据所述访问冷值累加结果对所述内存页进行压缩及回收所述内存页,压缩后的内存页保持在所述内存空间中;配置模块,用于为所述扫描模块和所述回收模块提供配置参数。4.根据权利要求3所述的流计算系统,其特征在于,所述回收模块还用于:根据对已回收内存页的再次访问请求,对所述压缩后的内存页进行解压缩以进行访问。5.根据权利要求3所述的流计算系统,其特征在于,所述回收模块配置为执行如下操作从而根据所述访问冷值累加结果对所述内存页进行压缩及回收所述内存页:将所述访问冷值累加结果与所述扫描周期的乘积结果与超时阈值进行比较;如果所述乘积结果超过所述超时阈值,则对所述内存页进行压缩及回收所述内存页,压缩后的内存页保持在所述内存空间中。6.根据权利要求5所述的流计算系统,其特征在于,所述回收模块还配置为执行如下操作从而根...

【专利技术属性】
技术研发人员:欧阳武林张宁王华陈烘白铠豪王阳
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1