CN116610599B - 处理器缓存的优化方法、装置、电子设备及可读存储介质 - Google Patents

处理器缓存的优化方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN116610599B
CN116610599B CN202310892389.4A CN202310892389A CN116610599B CN 116610599 B CN116610599 B CN 116610599B CN 202310892389 A CN202310892389 A CN 202310892389A CN 116610599 B CN116610599 B CN 116610599B
Authority
CN
China
Prior art keywords
allocation
cache
difference set
target
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310892389.4A
Other languages
English (en)
Other versions
CN116610599A (zh
Inventor
张传奇
唐丹
包云岗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Open Source Chip Research Institute
Original Assignee
Beijing Open Source Chip Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Open Source Chip Research Institute filed Critical Beijing Open Source Chip Research Institute
Priority to CN202310892389.4A priority Critical patent/CN116610599B/zh
Publication of CN116610599A publication Critical patent/CN116610599A/zh
Application granted granted Critical
Publication of CN116610599B publication Critical patent/CN116610599B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本申请提供了一种处理器缓存的优化方法、装置、电子设备及可读存储介质,包括:对处理器缓存的缓存组,设置第一分配标记和第二分配标记;确定每个缓存组的差集;在试运行应用程序的过程中,记录每个差集中存储块的使用情况;根据使用情况及预设的判定阈值,将第一分配标记或第二分配标记设置为缓存组的目标分配标记,其中,第一分配标记表征初始分配的第一存储块的位置;第二分配标记表征初始分配的第二存储块的位置;差集为第一存储块的集合和第二存储块的集合的差集,以实现为应用程序分配处理器缓存的缓存空间,且无需人工设置,解决了在先技术中所有缓存组只使用单一存储标记而导致缓存空间的利用效率低下的问题。

Description

处理器缓存的优化方法、装置、电子设备及可读存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种处理器缓存的优化方法、装置、电子设备及可读存储介质。
背景技术
对应用程序分配处理器(CPU,Central Processing Unit)缓存的缓存空间,需要一种处理器缓存的优化方法。
在先技术中,工作人员人工设置为应用程序分配的处理器缓存的缓存空间,这种设置方式对处理器缓存的所有缓存组只使用单一存储标记。
在实现本申请过程中,发明人发现在先技术中至少存在如下问题:由于人工通过固定单一的方式为应用程序分配设置处理器缓存的缓存空间,导致设置的方式粒度粗糙,缓存空间的利用效率低下。
发明内容
本申请实施例提供一种处理器缓存的优化方法、装置、电子设备及可读存储介质,以解决在先技术中人工设置的方式粒度粗糙,效率低下的问题。
第一方面,本申请实施例提供了一种处理器缓存的优化方法,处理器缓存为阵列形式,处理器缓存的一行存储块为一个缓存组,所述方法包括:
针对所述处理器缓存的缓存组,分别设置相同的第一分配标记和相同的第二分配标记;
根据所述第一分配标记和所述第二分配标记,确定每个所述缓存组的差集;
在试运行应用程序的过程中,记录每个所述差集中的存储块的使用情况;
根据所述差集中的存储块的使用情况以及预设的判定阈值,将所述第一分配标记或所述第二分配标记设置为所述缓存组的目标分配标记;
其中,第一分配标记用于表征所述缓存组初始分配给所述应用程序的第一存储块的位置;第二分配标记用于表征所述缓存组初始分配给所述应用程序的第二存储块的位置;所述第一存储块的数量小于所述第二存储块的数量;所述目标分配标记用于表征所述缓存组最终分配给所述应用程序的存储块的位置;所述差集为所述缓存组中第一存储块的集合和第二存储块的集合的差集。
第二方面,本申请实施例提供了一种处理器缓存的优化装置,处理器缓存为阵列形式,处理器缓存的一行存储块为一个缓存组,所述装置包括:
第一设置模块,用于针对所述处理器缓存的缓存组,分别设置相同的第一分配标记和相同的第二分配标记;
差集模块,用于根据所述第一分配标记和所述第二分配标记,确定每个所述缓存组的差集;
记录模块,用于在试运行应用程序的过程中,记录每个所述差集中的存储块的使用情况;
第二设置模块,用于根据所述差集中的存储块的使用情况以及预设的判定阈值,将所述第一分配标记或所述第二分配标记设置为所述缓存组的目标分配标记;
其中,第一分配标记用于表征所述缓存组初始分配给所述应用程序的第一存储块的位置;第二分配标记用于表征所述缓存组初始分配给所述应用程序的第二存储块的位置;所述第一存储块的数量小于所述第二存储块的数量;所述目标分配标记用于表征所述缓存组最终分配给所述应用程序的存储块的位置;所述差集为所述缓存组中第一存储块的集合和第二存储块的集合的差集。
第三方面,本申请实施例还提供了一种电子设备,包括处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现所述第一方面的方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行所述第一方面的方法。
在本申请实施例中,通过针对处理器缓存的缓存组,分别设置相同的第一分配标记和相同的第二分配标记;根据第一分配标记和第二分配标记,确定每个缓存组的差集;在试运行应用程序的过程中,记录每个差集中的存储块的使用情况;根据差集中的存储块的使用情况以及预设的判定阈值,将第一分配标记或第二分配标记设置为缓存组的目标分配标记;其中,第一分配标记用于表征缓存组初始分配给应用程序的第一存储块的位置;第二分配标记用于表征缓存组初始分配给应用程序的第二存储块的位置;第一存储块的数量小于第二存储块的数量;目标分配标记用于表征缓存组最终分配给应用程序的存储块的位置;差集为缓存组中第一存储块的集合和第二存储块的集合的差集,以实现为应用程序分配处理器缓存的缓存空间,且无需人工设置,提高了缓存空间的利用效率,解决了在先技术中所有缓存组只使用单一存储标记而导致缓存空间的利用效率低下的问题。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见的,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种处理器缓存的优化方法步骤流程图;
图2是本发明实施例提供的另一种处理器缓存的优化方法步骤流程图;
图3是本发明实施例提供的又一种处理器缓存的优化方法步骤流程图;
图4是本申请实施例提供的处理器缓存的优化方法的过程演示示意图;
图5是本申请实施例提供的缓存组分配给应用程序的存储块的一种状态变化示意图;
图6是本申请实施例提供的缓存组分配给应用程序的存储块的另一种状态变化示意图;
图7是本发明实施例提供的一种处理器缓存的优化装置框图;
图8是本发明实施例提供的一种电子设备的框图;
图9是本发明另一个实施例的另一种电子设备的框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中的术语“和/或”用于描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
术语解释:
处理器缓存(cache):在处理器芯片中为了弥补处理器核心巨大的访问内存延迟,利用局部性原理设计的关键部件,其中会存储处理器核心近期使用过或者是将要使用的数据以便进行快速访问从而避免访问内存带来的延迟开销。如果核心访问需要的数据在cache中,称为命中(hit),反之则称为丢失(miss)。
需要说明的是,处理器缓存包括FLC(first-level cache,一级缓存)、MLC(mid-level cache,二级缓存)、LLC (last-level cache,三级缓存)。
本申请实施例中的处理器缓存为组相连(set-associative)缓存。
组相连(set-associative)缓存:处理器缓存的一种主流组织方式,将处理器缓存划分成一个 n*m的矩阵形式。处理器缓存共有n行,每个行称为组(set),由访存地址中的一部分进行索引;每个行有m列,每个列称为路(way),不同访存地址可以索引到同一个set,可以在这个set中使用不同的way;处理器缓存被切分出来的每一块都是一个存储块(block)。
路掩码:是路划分技术用来表示分配way的一种常用表示方式,其为一组bit(二进制位)掩码,可以为表征缓存组(set)分配给应用程序的存储块的位置和缓存组未被分配的存储块的位置的二进制码。
存储块:组相连缓存中按照矩阵形式被划分成的缓存空间,每个存储块对应一个set和一个way。
第一分配标记:用于表征缓存组初始分配给应用程序的第一存储块的位置,可以为路掩码的形式。
第二分配标记:第二分配标记用于表征缓存组初始分配给应用程序的第二存储块的位置,可以为路掩码的形式;第一分配标记表征的第二存储块的集合包含第二分配标记表征的第一存储块的集合。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的处理器缓存的优化方法进行详细地说明。
图1是本申请实施例提供的一种处理器缓存的优化方法的步骤流程图,如图1所示,该方法可以包括:
步骤101、针对所述处理器缓存的缓存组,分别设置相同的第一分配标记和相同的第二分配标记。
其中,第一分配标记用于表征所述缓存组初始分配给所述应用程序的第一存储块的位置;第二分配标记用于表征所述缓存组初始分配给所述应用程序的第二存储块的位置;所述第一存储块的数量小于所述第二存储块的数量。
在本申请实施例中,通过针对处理器缓存的缓存组,分别设置相同的第一分配标记和相同的第二分配标记,进而根据第一分配标记和第二分配标记,确定每个缓存组的差集。
需要说明的是,处理器缓存为组相连缓存,处理器缓存为阵列形式,即处理器缓存被划分为以阵列形式排布的多个存储块;处理器缓存的一行存储块为一个缓存组,即一个set;每个缓存组有多个路,每个存储块对应有一个路,即每个缓存组有多路存储块。
通常,一个缓存组中具有的路的数量范围为8个至16个。
应用程序通过第一分配标记表征的第一存储块的位置使用对应的第一存储块;应用程序通过第二分配标记表征的第二存储块的位置使用对应的第二存储块。
步骤102、根据所述第一分配标记和所述第二分配标记,确定每个所述缓存组的差集。
其中,所述差集为所述缓存组中第一存储块的集合和第二存储块的集合的差集。
在本申请实施例中,根据第一分配标记和第二分配标记,确定每个缓存组的差集,进而可以在试运行应用程序的过程中,记录每个差集中的存储块的使用情况。
例如,缓存组共有8个存储块,分别为处于第1路的位置的存储块1、处于第2路的位置的存储块2、处于第3路的位置的存储块3、处于第4路的位置的存储块4、处于第5路的位置的存储块5、处于第6路的位置的存储块6、处于第7路的位置的存储块7、处于第8路的位置的存储块8。
第一分配标记表征的第一存储块有处于第1路的位置的存储块1、处于第2路的位置的存储块2、处于第6路的位置的存储块6,则第一存储块的集合包括第1路的位置的存储块1、处于第2路的位置的存储块2、处于第6路的位置的存储块6。
第二分配标记表征的第二存储块有处于第1路的位置的存储块1、处于第2路的位置的存储块2、处于第4路的位置的存储块4、处于第6路的位置的存储块6、处于第8路的位置的存储块8,则第一存储块的集合包括处于第1路的位置的存储块1、处于第2路的位置的存储块2、处于第4路的位置的存储块4、处于第6路的位置的存储块6、处于第8路的位置的存储块8。
因此,缓存组的差集为处于第4路的位置的存储块4、处于第8路的位置的存储块8。
步骤103、在试运行应用程序的过程中,记录每个所述差集中的存储块的使用情况。
在本申请实施例中,通过在试运行应用程序的过程中,记录每个差集中的存储块的使用情况,以根据差集中的存储块的使用情况以及预设的判定阈值,将第一分配标记或第二分配标记设置为缓存组的目标分配标记。
步骤104、根据所述差集中的存储块的使用情况以及预设的判定阈值,将所述第一分配标记或所述第二分配标记设置为所述缓存组的目标分配标记。
其中,所述目标分配标记用于表征所述缓存组最终分配给所述应用程序的存储块的位置。
在本申请实施例中,通过根据差集中的存储块的使用情况以及预设的判定阈值,将第一分配标记或第二分配标记设置为缓存组的目标分配标记,以实现为应用程序分配处理器缓存的缓存空间。
综上所述,在本申请实施例中,通过针对处理器缓存的缓存组,分别设置相同的第一分配标记和相同的第二分配标记;根据第一分配标记和第二分配标记,确定每个缓存组的差集;在试运行应用程序的过程中,记录每个差集中的存储块的使用情况;根据差集中的存储块的使用情况以及预设的判定阈值,将第一分配标记或第二分配标记设置为缓存组的目标分配标记;其中,第一分配标记用于表征缓存组初始分配给应用程序的第一存储块的位置;第二分配标记用于表征缓存组初始分配给应用程序的第二存储块的位置;第一存储块的数量小于第二存储块的数量;目标分配标记用于表征缓存组最终分配给应用程序的存储块的位置;差集为缓存组中第一存储块的集合和第二存储块的集合的差集,以实现为应用程序分配处理器缓存的缓存空间,且无需人工设置,提高了缓存空间的利用效率,解决了在先技术中所有缓存组只使用单一存储标记而导致缓存空间的利用效率低下的问题。
图2是本申请实施例提供的一种处理器缓存的优化方法的具体步骤流程图,如图2示,该方法可以包括:
步骤201、针对所述处理器缓存的缓存组,分别设置相同的第一分配标记和相同的第二分配标记。
其中,第一分配标记用于表征所述缓存组初始分配给所述应用程序的第一存储块的位置;第二分配标记用于表征所述缓存组初始分配给所述应用程序的第二存储块的位置;所述第一存储块的数量小于所述第二存储块的数量。
本步骤的实现方式与上述步骤101实现过程类似,此处不再赘述。
步骤202、根据所述第一分配标记和所述第二分配标记,确定每个所述缓存组的差集。
其中,所述差集为所述缓存组中第一存储块的集合和第二存储块的集合的差集。
本步骤的实现方式与上述步骤102实现过程类似,此处不再赘述。
步骤203、在试运行应用程序的过程中,记录每个所述差集中的存储块的使用情况。
本步骤的实现方式与上述步骤103实现过程类似,此处不再赘述。
步骤204、在所述差集中存在被所述应用程序根据所述第二分配标记使用的存储块的情况下,将所述差集作为第一差集。
在本申请实施例中,通过在差集中存在被应用程序根据第二分配标记使用的存储块的情况下,将差集作为第一差集,以进一步统计每个第一差集中存储块被应用程序根据第二分配标记使用的使用次数,以及对应的应用程序根据第二分配标记首次使用第一差集中的存储块的使用时刻。
步骤205、统计每个所述第一差集中存储块被所述应用程序根据所述第二分配标记使用的使用次数,以及对应的应用程序根据所述第二分配标记首次使用所述第一差集中的存储块的使用时刻。
在本申请实施例中,通过统计每个第一差集中存储块被应用程序根据第二分配标记使用的使用次数,以及对应的应用程序根据第二分配标记首次使用第一差集中的存储块的使用时刻,以根据判定阈值和使用次数,确定释放时刻。
例如,缓存组共有8个存储块,分别为处于第1路的位置的存储块1、处于第2路的位置的存储块2、处于第3路的位置的存储块3、处于第4路的位置的存储块4、处于第5路的位置的存储块5、处于第6路的位置的存储块6、处于第7路的位置的存储块7、处于第8路的位置的存储块8。
第一分配标记表征的第一存储块有处于第1路的位置的存储块1、处于第2路的位置的存储块2、处于第6路的位置的存储块6,则第一存储块的集合包括第1路的位置的存储块1、处于第2路的位置的存储块2、处于第6路的位置的存储块6。
第二分配标记表征的第二存储块有处于第1路的位置的存储块1、处于第2路的位置的存储块2、处于第4路的位置的存储块4、处于第6路的位置的存储块6、处于第8路的位置的存储块8,则第二存储块的集合包括处于第1路的位置的存储块1、处于第2路的位置的存储块2、处于第4路的位置的存储块4、处于第6路的位置的存储块6、处于第8路的位置的存储块8。
缓存组的差集为处于第4路的位置的存储块4、处于第8路的位置的存储块8。
在试运行应用程序的过程中,应用程序在第一时刻根据第二分配标记表征的第4路的位置找到存储块4,随后使用存储块4;应用程序在第二时刻根据第二分配标记表征的第8路的位置找到存储块8,随后使用存储块8;应用程序在第三时刻根据第二分配标记表征的第4路的位置找到存储块4,随后使用存储块4。其中,第一时刻早于第二时刻,第二时刻早于第三时刻。
则该缓存组的差集为第一差集,由于应用程序根据第二分配标记使用存储块4的次数为2次,应用程序根据第二分配标记使用存储块8的次数为1次,则使用次数为3次;由于第一时刻早于第二时刻,第二时刻早于第三时刻,则使用时刻为第一时刻。
步骤206、根据所述判定阈值和所述使用次数,确定释放时刻。
在本申请实施例中,通过根据判定阈值和使用次数,确定释放时刻,进而确定第一差集中,使用时刻晚于或等于释放时刻的第一目标差集。
可选的,步骤206具体可以包括子步骤2061:
子步骤2061、在所述使用时刻中存在满足第一预设时刻条件的第一使用时刻的情况下,将所述第一使用时刻作为所述释放时刻。
其中,所述第一预设时刻条件为:所有的所述使用时刻晚于或等于所述第一使用时刻的第一差集的使用次数之和,小于或等于所述判定阈值。
在本申请实施例中,通过在使用时刻中存在满足第一预设时刻条件的第一使用时刻的情况下,将第一使用时刻作为释放时刻,进而确定第一差集中,使用时刻晚于或等于释放时刻的第一目标差集。
优选的,在存在多个第一使用时刻的情况下,将其中最早的第一使用时刻作为释放时刻。
例如,判定阈值设置为20,处理器缓存共有5个第一差集,分别为第一差集1(第一差集1的使用次数为3次,第一差集1的使用时刻为第一时刻),第一差集2(第一差集2的使用次数为5次,第一差集2的使用时刻为第二时刻),第一差集3(第一差集3的使用次数为7次,第一差集3的使用时刻为第三时刻),第一差集4(第一差集4的使用次数为8次,第一差集4的使用时刻为第四时刻),第一差集5(第一差集5的使用次数为2次,第一差集5的使用时刻为第五时刻),其中,第一时刻早于第二时刻,第二时刻早于第三时刻,第三时刻早于第四时刻,第四时刻早于第五时刻。
由于第一时刻早于第二时刻,第二时刻早于第三时刻,第三时刻早于第四时刻,第四时刻早于第五时刻,且:
第一差集5的使用次数为2次,第五时刻是第一使用时刻;
第一差集4的使用次数为(8次)、第一差集5的使用次数为(2次)之和为10次(8+2),小于判定阈值(20次),第四时刻是第一使用时刻;
第一差集3的使用次数(7次)、第一差集4的使用次数为(8次)、第一差集5的使用次数为(2次)之和为17次(7+8+2),小于判定阈值(20次),第三时刻是第一使用时刻;
第一差集2的使用次数(5次)、第一差集3的使用次数(7次)、第一差集4的使用次数为(8次)、第一差集5的使用次数为(2次)之和为22次(5+7+8+2),大于判定阈值(20次),因此,第二时刻不是第一使用时刻;同理,第一时刻不是第一使用时刻,此处不再赘述。
因此,可以将第三时刻、第四时刻、第五时刻中的任一个作为释放时刻,优选的,将第三时刻作为释放时刻。
步骤207、确定所述第一差集中,使用时刻晚于或等于释放时刻的第一目标差集。
在本申请实施例中,通过确定第一差集中,使用时刻晚于或等于释放时刻的第一目标差集,进而将第一分配标记设置为第一目标差集所属缓存组的目标分配标记。
步骤208、将所述第一分配标记设置为第一目标差集所属缓存组的目标分配标记。
其中,所述目标分配标记用于表征所述缓存组最终分配给所述应用程序的存储块的位置。
在本申请实施例中,通过将第一分配标记设置为第一目标差集所属缓存组的目标分配标记,以实现为应用程序分配处理器缓存中目标分配标记的存储块的缓存区域。
可选的,在步骤206之后,所述方法还可以包括步骤209-210:
步骤209、确定所述第一差集中,使用时刻早于释放时刻的第二目标差集。
在本申请实施例中,通过确定第一差集中,使用时刻早于释放时刻的第二目标差集,进而将第二分配标记设置为第二目标差集所属缓存组的目标分配标记。
步骤210、将所述第二分配标记设置为第二目标差集所属缓存组的目标分配标记。
在本申请实施例中,通过将第二分配标记设置为第二目标差集所属缓存组的目标分配标记,以实现为应用程序分配处理器缓存中目标分配标记的存储块的缓存区域。
通过执行步骤209至步骤210可以实现,确定第一差集中,使用时刻早于释放时刻的第二目标差集,进而将第二分配标记设置为第二目标差集所属缓存组的目标分配标记,为应用程序分配处理器缓存中目标分配标记的存储块的缓存区域。
可选的,在步骤206之前,所述方法还可以包括步骤211-212:
步骤211、将所有的所述第一差集按照使用时刻进行排序,获取排序结果。
在本申请实施例中,通过将所有的第一差集按照使用时刻进行排序,获取排序结果,进而将排序结果中的第一差集,按照顺序分别划分至预设的多个桶分区中,并对每个桶分区中包含的第一差集的使用次数进行求和,获得使用总次数。
步骤212、将所述排序结果中的第一差集,按照顺序分别划分至预设的多个桶分区中,并对每个桶分区中包含的第一差集的使用次数进行求和,获得使用总次数。
在本申请实施例中,通过将排序结果中的第一差集,按照顺序分别划分至预设的多个桶分区中,并对每个桶分区中包含的第一差集的使用次数进行求和,获得使用总次数,进而根据使用总次数,确定释放时刻。
可选的,所述将所述排序结果中的第一差集,按照顺序分别划分至预设的多个桶分区中,具体可以包括子步骤2121:
子步骤2121、将所述排序结果中,每相邻预设数量的所述第一差集划分至一个所述桶分区。
在本申请实施例中,通过将排序结果中,每相邻预设数量的第一差集划分至一个桶分区,可以实现桶分区的划分,进而对每个桶分区中包含的第一差集的使用次数进行求和,获得使用总次数,进而根据使用总次数,确定释放时刻。
需要说明的是,当划分剩下的未被划分的第一差集的数量小于预设数量时,将剩下的所有第一差集划分至一个桶分区中。
例如,预设数量为2,处理器缓存共有5个第一差集,分别为第一差集1(第一差集1的使用时刻为第一时刻),第一差集2(第一差集2的使用时刻为第二时刻),第一差集3(第一差集3的使用时刻为第三时刻),第一差集4(第一差集4的使用时刻为第四时刻),第一差集5(第一差集5的使用时刻为第五时刻),其中,第一时刻早于第二时刻,第二时刻早于第三时刻,第三时刻早于第四时刻,第四时刻早于第五时刻。
因此,预设三个桶分区,分别为桶分区1、桶分区2、桶分区3,其中,桶分区1包括第一差集1、第一差集2;桶分区2包括第一差集3、第一差集4;桶分区3包括第一差集5。
通过执行步骤211至步骤212可以实现,使用桶分区对使用次数进行统计,获得使用总次数,进而根据使用总次数,确定释放时刻。
步骤206具体可以包括子步骤2062:
子步骤2062、在所述使用时刻中,存在满足第二预设时刻条件的第二使用时刻的情况下,将所述第二使用时刻作为所述释放时刻。
其中,所述第二预设时刻条件为:所有满足预设相加条件的桶分区对应的使用总次数之和小于或等于所述判定阈值,其中,所述预设相加条件为所述桶分区包含的第一差集的使用时刻均晚于或等于所述第二使用时刻。
在本申请实施例中,通过在使用时刻中,存在满足第二预设时刻条件的第二使用时刻的情况下,将第二使用时刻作为释放时刻,进而确定第一差集中,使用时刻晚于或等于释放时刻的第一目标差集。
优选的,在存在多个第二使用时刻的情况下,将其中最早的第二使用时刻作为释放时刻。
例如,判定阈值设置为20,处理器缓存共有5个第一差集,分别为第一差集1(第一差集1的使用次数为3次,第一差集1的使用时刻为第一时刻),第一差集2(第一差集2的使用次数为5次,第一差集2的使用时刻为第二时刻),第一差集3(第一差集3的使用次数为7次,第一差集3的使用时刻为第三时刻),第一差集4(第一差集4的使用次数为8次,第一差集4的使用时刻为第四时刻),第一差集5(第一差集5的使用次数为2次,第一差集5的使用时刻为第五时刻),其中,第一时刻早于第二时刻,第二时刻早于第三时刻,第三时刻早于第四时刻,第四时刻早于第五时刻。
预设三个桶分区,分别为桶分区1、桶分区2、桶分区3,其中,桶分区1包括第一差集1、第一差集2;桶分区2包括第一差集3、第一差集4;桶分区3包括第一差集5。
由于第一时刻早于第二时刻,第二时刻早于第三时刻,第三时刻早于第四时刻,第四时刻早于第五时刻,且:
桶分区3中的第一差集5的使用次数为2次,桶分区3的使用总次数为2次,小于判定阈值(20次),第五时刻是第一使用时刻;
桶分区2中的第一差集3的使用次数(7次)、第一差集4的使用次数为(8次)之和为15次(7+8),则桶分区2的使用总次数为15次,桶分区3的使用总次数(2次)与桶分区2的使用总次数(15次)之和为17次(2+15),小于判定阈值(20次),第三时刻是第一使用时刻;
桶分区1中的第一差集1的使用次数(3次)、第一差集2的使用次数(5次)之和为8次(3+5),则桶分区1的使用总次数为8次,桶分区3的使用总次数(2次)、桶分区2的使用总次数(15次)、桶分区1的使用总次数(8次)之和为25次(2+15+8),大于判定阈值(20次),第一时刻不是第一使用时刻。
因此,可以将第三时刻、第五时刻中的任一个作为释放时刻,优选的,将第三时刻作为释放时刻。
可选的,所述方法还可以包括步骤213-214:
步骤213、在所述差集中存在满足预设修改条件的目标存储块的情况下,将所述第一分配标记表征的第一存储块中的目标第一存储块剔除。
其中,所述目标第一存储块为处理器按照第一预设条件从所有所述第一存储块中选出的一个第一存储块。
在本申请实施例中,通过在差集中存在满足预设修改条件的目标存储块的情况下,将第一分配标记表征的第一存储块中的目标第一存储块剔除,进而将目标存储块作为第一存储块使用第一分配标记表征。
需要说明的是,不同的CPU具有不同的第一预设条件,例如第一预设条件可以为第一存储块中未被使用的最早时刻的第一存储块。
步骤214、将所述目标存储块作为所述第一存储块使用第一分配标记表征。
在本申请实施例中,通过在差集中存在满足预设修改条件的目标存储块的情况下,将第一分配标记表征的第一存储块中的目标第一存储块剔除之后,将目标存储块作为第一存储块使用第一分配标记表征,进而进行差集使用次数的统计。
通过执行步骤213至步骤214可以实现,更新差集中的存储块的位置。
可选的,确定所述目标存储块的步骤,可以包括步骤215:
步骤215、在所述差集中存在被所述应用程序根据所述第二分配标记使用的第一目标存储块的情况下,将所述第一目标存储块作为所述目标存储块。
需要说明的是,目标存储块在被剔除之前,被应用程序根据第一分配标记使用的次数,记入目标第一存储块所在的缓存组的差集的使用次数中;在目标第一存储块在被剔除之前,被应用程序根据第一分配标记首次使用的时刻,为差集中的存储块被应用程序根据第一分配标记首次使用的时刻中最早的时刻时,将被应用程序根据第一分配标记首次使用的时刻作为该差集的使用时刻。
在本申请实施例中,通过在差集中存在被应用程序根据第二分配标记使用的第一目标存储块的情况下,将第一目标存储块作为目标存储块,进而将第一分配标记表征的第一存储块中的目标第一存储块剔除,并将目标存储块作为第一存储块使用第一分配标记表征。
例如,缓存组共有8个存储块,分别为处于第1路的位置的存储块1、处于第2路的位置的存储块2、处于第3路的位置的存储块3、处于第4路的位置的存储块4、处于第5路的位置的存储块5、处于第6路的位置的存储块6、处于第7路的位置的存储块7、处于第8路的位置的存储块8。
第一分配标记表征的第一存储块有处于第1路的位置的存储块1、处于第2路的位置的存储块2、处于第6路的位置的存储块6,则第一存储块的集合包括第1路的位置的存储块1、处于第2路的位置的存储块2、处于第6路的位置的存储块6。
第二分配标记表征的第二存储块有处于第1路的位置的存储块1、处于第2路的位置的存储块2、处于第4路的位置的存储块4、处于第6路的位置的存储块6、处于第8路的位置的存储块8,则第一存储块的集合包括处于第1路的位置的存储块1、处于第2路的位置的存储块2、处于第4路的位置的存储块4、处于第6路的位置的存储块6、处于第8路的位置的存储块8。
缓存组的差集为处于第4路的位置的存储块4、处于第8路的位置的存储块8。
应用程序根据第二分配标记表征的第4路的位置找到存储块4,随后使用存储块4(例如访问存储块4中存储的数据),则存储块4为第一目标存储块,将存储块4作为目标存储块,然后将第一分配标记表征的第一存储块中的目标第一存储块(例如目标第一存储块为处于第2路的位置的存储块2)剔除,并将存储块4作为第一存储块使用第一分配标记表征。
因此,在目标第一存储块为处于第2路的位置的存储块2的情况下,在应用程序根据第二分配标记表征的第4路的位置找到存储块4,随后使用存储块4之后:
第一分配标记表征的第一存储块有第1路的位置的存储块1、处于第4路的位置的存储块4、处于第6路的位置的存储块6,则第一存储块的集合包括第1路的位置的存储块1、处于第2路的位置的存储块2、处于第6路的位置的存储块6;
缓存组的差集为处于第2路的位置的存储块2、处于第8路的位置的存储块8。
可选的,参照图5,图5中最上方的图像(d)表示在试运行应用程式时,一个缓存组分配给应用程序的存储块的初始状态,一个方块表示一个存储块,标号0至7表示存储块的位置,例如“0”表示处于第0路的位置的存储块,标注“a1”的方块表示第一分配标记表征的第一存储块,标注“a2”的方块表示差集中的存储块,标注“a1”的方块和标注“a2”的方块组成了第二分配标记表征的第二存储块;图5中左侧箭头所指的下方图像(e)表示在试运行应用程式时,一个缓存组分配给应用程序的存储块的第一中间状态,一个方块表示一个存储块,标号0至7表示存储块的位置,例如“0”表示处于第0路的位置的存储块,标注“a1”的方块表示第一分配标记表征的第一存储块,标注“a2”的方块表示差集中的存储块,标注“a1”的方块和标注“a2”的方块组成了第二分配标记表征的第二存储块,在应用程序根据第一分配标记表征的第一存储块位置使用第一存储块(处于第0路至第5路的位置的存储块中的任一个)的情况下,图像中的存储块的初始状态变为第一中间状态,即差集中的存储块没有变化;图5中右侧箭头所指的下方图像(f)表示在试运行应用程式时,一个缓存组分配给应用程序的存储块的第二中间状态,在差集中存在被所述应用程序根据所述第二分配标记使用的第一目标存储块(图像中处于第6路的位置的存储块)的情况下,图像中的存储块的初始状态变为第二中间状态,即差集中的存储块由处于第6路的位置的存储块修改为处于第5路的位置的存储块。
可选的,确定所述目标存储块的步骤,可以包括步骤215:
步骤216、在所述试运行应用程序的过程中,在所述差集中存在被所述处理器按照第二预设条件,分配给所述应用程序使用的第二目标存储块的情况下,将所述第二目标存储块作为所述目标存储块。
在本申请实施例中,通过在试运行应用程序的过程中,在差集中存在被处理器按照第二预设条件,分配给应用程序使用的第二目标存储块的情况下,将第二目标存储块作为目标存储块,进而将第一分配标记表征的第一存储块中的目标第一存储块剔除,并将目标存储块作为第一存储块使用第一分配标记表征。
需要说明的是,不同的CPU具有不同的第二预设条件,例如第二预设条件为所有的存储块中未被使用的最早时刻的第一存储块。
在试运行应用程序的过程中,在差集中存在被处理器按照第二预设条件,分配给应用程序使用的第二目标存储块的情况,可以为在应用程序需要使用一个新的路的存储块(例如有新的数据需要存储至新的路的存储块中),但第二存储块中没有新的路的存储块,则需要将第一存储块中未被使用的最早时刻的第一存储块分配给应用程序使用。例如,第二存储块中的路的范围为第1路至第8路,应用程序需要使用的路为第9路,则处理器按照第二预设条件,将差集中的处于第8路的位置的第二目标存储块分配给应用程序使用。
可选的,参照图6,图6中最上方的图像(g)表示在试运行应用程式时,一个缓存组分配给应用程序的存储块的初始状态,一个方块表示一个存储块,标号0至7表示存储块的位置,例如“0”表示处于第0路的位置的存储块,标注“a1”的方块表示第一分配标记表征的第一存储块,标注“a2”的方块表示差集中的存储块,标注“a1”的方块和标注“a2”的方块组成了第二分配标记表征的第二存储块;图6中左侧箭头所指的下方图像(h)表示在试运行应用程式时,一个缓存组分配给应用程序的存储块的第三中间状态,一个方块表示一个存储块,标号0至7表示存储块的位置,例如“0”表示处于第0路的位置的存储块,标注“a1”的方块表示第一分配标记表征的第一存储块,标注“a2”的方块表示差集中的存储块,标注“a1”的方块和标注“a2”的方块组成了第二分配标记表征的第二存储块,在应用程序根据第一分配标记表征的第一存储块位置使用第一存储块(处于第0路至第5路的位置的存储块中的任一个)的情况下,图像中的存储块的初始状态变为第三中间状态,即差集中的存储块没有变化;图6中右侧箭头所指的下方图像(i)表示在试运行应用程式时,一个缓存组分配给应用程序的存储块的第四中间状态,一个方块表示一个存储块,标号0至7表示存储块的位置,例如“0”表示处于第0路的位置的存储块,标注“a1”的方块表示第一分配标记表征的第一存储块,标注“a2”的方块表示差集中的存储块,标注“a1”的方块和标注“a2”的方块组成了第二分配标记表征的第二存储块,在所述差集中存在被所述处理器按照第二预设条件,分配给所述应用程序使用的第二目标存储块(图像中处于第7路的位置的存储块)的情况下,图像中的存储块的初始状态变为第四中间状态,即差集中的存储块由处于第7路的位置的存储块修改为处于第5路的位置的存储块。
可选的,所述第一分配标记和所述第二分配标记均为路掩码,所述路掩码为表征所述缓存组分配给所述应用程序的存储块的位置和所述缓存组未被分配的存储块的位置的二进制码。
在本申请实施例中,通过设置路掩码形式的第一分配标记和路掩码形式的第二分配标记,进而根据第一分配标记和第二分配标记,确定每个缓存组的差集。
需要说明的是,缓存组未被分配的存储块可以为所有应用程序共享的公共存储块,也可以为其他应用程序占用的存储块。
例如,缓存组共有8路存储块,路掩码的第一分配标记的二进制形式为0b01000011,其中,“b”右侧的“1”表示缓存组分配应用程序的第一存储块的位置,分别为处于第2路的位置的第二存储块、处于第7路的位置的第二存储块、处于第8路的位置的第二存储块,“b”右侧的“0”表示缓存组未被分配的第一存储块的位置,路掩码的第一分配标记表征的第一存储块的数量为3个;路掩码的第二分配标记的二进制形式为0b01011011,其中,“b”右侧的“1”表示缓存组分配应用程序的第二存储块的位置,分别为处于第2路的位置的第二存储块、处于第4路的位置的第二存储块、处于第5路的位置的第二存储块、处于第7路的位置的第二存储块、处于第8路的位置的第二存储块,“b”右侧的“0”表示缓存组未被分配的第二存储块的位置,路掩码的第二分配标记表征的第二存储块的数量为5个。
可选的,所述第一分配标记表征的第二存储块的集合包含所述第二分配标记表征的第一存储块的集合。
在本申请实施例中,由于第一分配标记表征的第二存储块的集合包含第二分配标记表征的第一存储块的集合,即第一分配标记表征的第二存储块的集合中的部分第二存储块与第二分配标记表征的第一存储块是同一个存储块,有利于分析第一分配标记和第二分配标记的差异,进而确定目标分配标记。
需要说明的是,判定阈值为在应用程序运行过程中,用户可以接受的应用程序使用存储块失败(例如存储块中的数据被清空,应用程序访问存储块中的数据失败)的次数。
在试运行应用程序的过程中,第一目标差集的使用时刻晚于或等于释放时刻,可以保证所有的第一目标差集的使用次数之和,小于或等于判定阈值。
在将第一分配标记设置为第一目标差集所属缓存组的目标分配标记之后,在运行应用程序的过程中,应用程序只能使用第一分配标记表征的第一存储块,而第一目标差集中的存储块不是第一存储块因而不能被应用程序使用,即造成应用程序使用第一目标差集中的存储块失败,则根据上述在试运行的应用程序的过程中第一目标差集的存储块的使用情况可知,造成应用程序使用第一目标差集中的存储块失败的次数小于或等于判定阈值,从而符合用户的要求。
在试运行应用程序的过程中,第二目标差集的使用时刻早于释放时刻。
在将第二分配标记设置为第二目标差集所属缓存组的目标分配标记之后,在运行应用程序的过程中,由于第二分配标记表征的第二存储块的集合包括第二目标差集中的存储块,应用程序可以使用第二目标差集中的存储块,不会造成应用程序使用第二目标差集中的存储块失败的情况。
由于在试运行应用程序的过程中,在第二差集中不存在被应用程序根据第二分配标记使用的存储块,则在将第一分配标记设置为第二差集所属的缓存组的目标分配标记之后,在运行应用程序的过程中,应用程序不需要使用第二差集中的存储块,因此不存在造成应用程序使用第二目标差集中的存储块失败的情况,可以避免将第二差集中的存储块划分给应用程序使用造成的存储块的资源浪费。
综上所述,在本申请实施例中,通过针对处理器缓存的缓存组,分别设置相同的第一分配标记和相同的第二分配标记;根据第一分配标记和第二分配标记,确定每个缓存组的差集;在试运行应用程序的过程中,记录每个差集中的存储块的使用情况;根据差集中的存储块的使用情况以及预设的判定阈值,将第一分配标记或第二分配标记设置为缓存组的目标分配标记;其中,第一分配标记用于表征缓存组初始分配给应用程序的第一存储块的位置;第二分配标记用于表征缓存组初始分配给应用程序的第二存储块的位置;第一存储块的数量小于第二存储块的数量;目标分配标记用于表征缓存组最终分配给应用程序的存储块的位置;差集为缓存组中第一存储块的集合和第二存储块的集合的差集,以实现为应用程序分配处理器缓存的缓存空间,且无需人工设置,提高了缓存空间的利用效率,解决了在先技术中所有缓存组只使用单一存储标记而导致缓存空间的利用效率低下的问题。
图3是本申请实施例提供的一种处理器缓存的优化方法的具体步骤流程图,如图3示,该方法可以包括:
步骤301、针对所述处理器缓存的缓存组,分别设置相同的第一分配标记和相同的第二分配标记。
其中,第一分配标记用于表征所述缓存组初始分配给所述应用程序的第一存储块的位置;第二分配标记用于表征所述缓存组初始分配给所述应用程序的第二存储块的位置;所述第一存储块的数量小于所述第二存储块的数量。
本步骤的实现方式与上述步骤101实现过程类似,此处不再赘述。
步骤302、根据所述第一分配标记和所述第二分配标记,确定每个所述缓存组的差集。
其中,所述差集为所述缓存组中第一存储块的集合和第二存储块的集合的差集。
本步骤的实现方式与上述步骤102实现过程类似,此处不再赘述。
步骤303、在试运行应用程序的过程中,记录每个所述差集中的存储块的使用情况。
本步骤的实现方式与上述步骤103实现过程类似,此处不再赘述。
步骤304、在所述差集中不存在被所述应用程序根据所述第二分配标记使用的存储块的情况下,将所述差集作为第二差集。
在本申请实施例中,通过在差集中不存在被应用程序根据第二分配标记使用的存储块的情况下,将差集作为第二差集,进而将第一分配标记设置为第二差集所属的缓存组的目标分配标记。
步骤305、将所述第一分配标记设置为所述第二差集所属的缓存组的目标分配标记。
在本申请实施例中,通过将第一分配标记设置为第二差集所属的缓存组的目标分配标记,以实现为应用程序分配处理器缓存中目标分配标记的存储块的缓存区域。
需要说明的是,由于在该差集中不存在被应用程序根据第二分配标记使用的存储块,则说明该差集对应的缓存组的被第二分配标记表征的第二存储块中,存在应用程序不需要使用的第二存储块,即该差集中的所有的存储块,而该差集对应的缓存组的被第一分配标记表征的第一存储块的集合不包含差集中的存储块,因此,通过使用第一分配标记,为应用程序分配该缓存组的存储块,可以避免该差集中的存储块被划分给应用程序,因被应用程序占用却不被应用程序使用而造成的存储块的资源浪费。
可选的,所述方法还可以包括步骤306-307:
步骤306、在所述差集中存在满足预设修改条件的目标存储块的情况下,将所述第一分配标记表征的第一存储块中的目标第一存储块剔除。
其中,所述目标第一存储块为处理器按照第一预设条件从所有所述第一存储块中选出的一个第一存储块。
本步骤的实现方式与上述步骤213实现过程类似,此处不再赘述。
步骤307、将所述目标存储块作为所述第一存储块使用第一分配标记表征。
本步骤的实现方式与上述步骤214实现过程类似,此处不再赘述。
可选的,确定所述目标存储块的步骤,可以包括步骤308:
步骤308、在所述差集中存在被所述应用程序根据所述第二分配标记使用的第一目标存储块的情况下,将所述第一目标存储块作为所述目标存储块。
本步骤的实现方式与上述步骤215实现过程类似,此处不再赘述。
可选的,确定所述目标存储块的步骤,可以包括步骤309:
步骤309、在所述差集中存在被所述处理器按照第二预设条件,分配给所述应用程序使用的第二目标存储块的情况下,将所述第二目标存储块作为所述目标存储块。
本步骤的实现方式与上述步骤216实现过程类似,此处不再赘述。
可选的,所述第一分配标记和所述第二分配标记均为路掩码,所述路掩码为表征所述缓存组分配给所述应用程序的存储块的位置和所述缓存组未被分配的存储块的位置的二进制码。
本步骤的实现方式与前述实现过程类似,此处不再赘述。
可选的,所述第一分配标记表征的第二存储块的集合包含所述第二分配标记表征的第一存储块的集合。
本步骤的实现方式与前述实现过程类似,此处不再赘述。
综上所述,在本申请实施例中,通过针对处理器缓存的缓存组,分别设置相同的第一分配标记和相同的第二分配标记;根据第一分配标记和第二分配标记,确定每个缓存组的差集;在试运行应用程序的过程中,记录每个差集中的存储块的使用情况;根据差集中的存储块的使用情况以及预设的判定阈值,将第一分配标记或第二分配标记设置为缓存组的目标分配标记;其中,第一分配标记用于表征缓存组初始分配给应用程序的第一存储块的位置;第二分配标记用于表征缓存组初始分配给应用程序的第二存储块的位置;第一存储块的数量小于第二存储块的数量;目标分配标记用于表征缓存组最终分配给应用程序的存储块的位置;差集为缓存组中第一存储块的集合和第二存储块的集合的差集,以实现为应用程序分配处理器缓存的缓存空间,且无需人工设置,提高了缓存空间的利用效率,解决了在先技术中所有缓存组只使用单一存储标记而导致缓存空间的利用效率低下的问题。
可选的,图4为本申请实施例提供的处理器缓存的优化方法的过程演示示意图,图4中第一个箭头左侧的图像(a)是处理器缓存在应用程序试运行时的初始状态示意图像,一个小方块表示一个存储块,空白的方块表示没有被应用程序使用的存储块,斜杠阴影的小方块表示被应用程序使用的存储块,虚线10左侧的深色方块表示第一分配标记表征的第一存储块,虚线10与实线20之间的方块表示差集中的存储块,实线20右侧的深色方块表示未被分配给应用程序的存储块;图4中第一个箭头右侧的图像(b)是处理器缓存在应用程序正式运行还未达到释放时刻的状态的示意图像,一个小方块表示一个存储块,空白的方块表示没有被应用程序使用的存储块,斜杠阴影的小方块表示被应用程序使用的存储块,左侧的三列深色方块表示第一分配标记表征的第一存储块,中间的三列方块表示差集中的存储块,实线40右侧的深色方块表示未被分配给应用程序的存储块;图4中第二个箭头右侧的图像(c)是处理器缓存根据目标分配标记划分后在应用程序运行时的状态示意图像,一个小方块表示一个存储块,实线50左侧的下方倒数三行深色方块表示第一分配标记表征的第一存储块,实线50左侧的上方三行深色方块表示第二分配标记表征的第二存储块,实线50右侧的深色方块表示未被分配给应用程序的存储块。
综上所述,在本申请实施例中,通过针对处理器缓存的缓存组,分别设置相同的第一分配标记和相同的第二分配标记;根据第一分配标记和第二分配标记,确定每个缓存组的差集;在试运行应用程序的过程中,记录每个差集中的存储块的使用情况;根据差集中的存储块的使用情况以及预设的判定阈值,将第一分配标记或第二分配标记设置为缓存组的目标分配标记;其中,第一分配标记用于表征缓存组初始分配给应用程序的第一存储块的位置;第二分配标记用于表征缓存组初始分配给应用程序的第二存储块的位置;第一存储块的数量小于第二存储块的数量;目标分配标记用于表征缓存组最终分配给应用程序的存储块的位置;差集为缓存组中第一存储块的集合和第二存储块的集合的差集,以实现为应用程序分配处理器缓存的缓存空间,且无需人工设置,提高了缓存空间的利用效率,解决了在先技术中所有缓存组只使用单一存储标记而导致缓存空间的利用效率低下的问题。
参考图7,其示出了本申请实施例提供的一种处理器缓存的优化装置,处理器缓存为阵列形式,处理器缓存的一行存储块为一个缓存组,所述装置包括:
第一设置模块301,用于针对所述处理器缓存的缓存组,分别设置相同的第一分配标记和相同的第二分配标记;
差集模块302,用于根据所述第一分配标记和所述第二分配标记,确定每个所述缓存组的差集;
记录模块303,用于在试运行应用程序的过程中,记录每个所述差集中的存储块的使用情况;
第二设置模块304,用于根据所述差集中的存储块的使用情况以及预设的判定阈值,将所述第一分配标记或所述第二分配标记设置为所述缓存组的目标分配标记;
其中,第一分配标记用于表征所述缓存组初始分配给所述应用程序的第一存储块的位置;第二分配标记用于表征所述缓存组初始分配给所述应用程序的第二存储块的位置;所述第一存储块的数量小于所述第二存储块的数量;所述目标分配标记用于表征所述缓存组最终分配给所述应用程序的存储块的位置;所述差集为所述缓存组中第一存储块的集合和第二存储块的集合的差集。
可选的,第二设置模块304,具体包括:
第一差集子模块,用于在所述差集中存在被所述应用程序根据所述第二分配标记使用的存储块的情况下,将所述差集作为第一差集;
统计子模块,用于统计每个所述第一差集中存储块被所述应用程序根据所述第二分配标记使用的使用次数,以及对应的应用程序根据所述第二分配标记首次使用所述第一差集中的存储块的使用时刻;
第一确定子模块,用于根据所述判定阈值和所述使用次数,确定释放时刻;
第二确定子模块,用于确定所述第一差集中,使用时刻晚于或等于释放时刻的第一目标差集;
第一设置子模块,用于将所述第一分配标记设置为第一目标差集所属缓存组的目标分配标记。
可选的,所述装置还包括:
确定模块,用于确定所述第一差集中,使用时刻早于释放时刻的第二目标差集;
第三设置模块,用于将所述第二分配标记设置为第二目标差集所属缓存组的目标分配标记。
可选的,第一确定子模块,具体包括:
第一释放时刻分模块,用于在所述使用时刻中存在满足第一预设时刻条件的第一使用时刻的情况下,将所述第一使用时刻作为所述释放时刻;
其中,所述第一预设时刻条件为:所有的所述使用时刻晚于或等于所述第一使用时刻的第一差集的使用次数之和,小于或等于所述判定阈值。
可选的,所述装置还包括:
获取模块,用于将所有的所述第一差集按照使用时刻进行排序,获取排序结果;
求和模块,用于将所述排序结果中的第一差集,按照顺序分别划分至预设的多个桶分区中,并对每个桶分区中包含的第一差集的使用次数进行求和,获得使用总次数;
第一确定子模块,具体包括:
第二释放时刻分模块,用于在所述使用时刻中,存在满足第二预设时刻条件的第二使用时刻的情况下,将所述第二使用时刻作为所述释放时刻;
其中,所述第二预设时刻条件为:所有满足预设相加条件的桶分区对应的使用总次数之和小于或等于所述判定阈值,其中,所述预设相加条件为所述桶分区包含的第一差集的使用时刻均晚于或等于所述第二使用时刻。
可选的,所述装置还包括:
划分模块,用于将所述排序结果中,每相邻预设数量的所述第一差集划分至一个所述桶分区。
可选的,第二设置模块304,具体包括:
第二差集子模块,用于在所述差集中不存在被所述应用程序根据所述第二分配标记使用的存储块的情况下,将所述差集作为第二差集;
第二设置子模块,用于将所述第一分配标记设置为所述第二差集所属的缓存组的目标分配标记。
可选的,所述装置还包括:
剔除模块,用于在所述差集中存在满足预设修改条件的目标存储块的情况下,将所述第一分配标记表征的第一存储块中的目标第一存储块剔除;
第一目标存储块模块,用于将所述目标存储块作为所述第一存储块使用第一分配标记表征;
其中,所述目标第一存储块为处理器按照第一预设条件从所有所述第一存储块中选出的一个第一存储块。
可选的,所述装置还包括:
第二目标存储块模块,用于在所述差集中存在被所述应用程序根据所述第二分配标记使用的第一目标存储块的情况下,将所述第一目标存储块作为所述目标存储块。
可选的,所述装置还包括:
第三目标存储块模块,用于在所述差集中存在被所述处理器按照第二预设条件,分配给所述应用程序使用的第二目标存储块的情况下,将所述第二目标存储块作为所述目标存储块。
可选的,所述第一分配标记和所述第二分配标记均为路掩码,所述路掩码为表征所述缓存组分配给所述应用程序的存储块的位置和所述缓存组未被分配的存储块的位置的二进制码。
可选的,所述第一分配标记表征的第二存储块的集合包含所述第二分配标记表征的第一存储块的集合。
综上,在本申请实施例中,通过针对处理器缓存的缓存组,分别设置相同的第一分配标记和相同的第二分配标记;根据第一分配标记和第二分配标记,确定每个缓存组的差集;在试运行应用程序的过程中,记录每个差集中的存储块的使用情况;根据差集中的存储块的使用情况以及预设的判定阈值,将第一分配标记或第二分配标记设置为缓存组的目标分配标记;其中,第一分配标记用于表征缓存组初始分配给应用程序的第一存储块的位置;第二分配标记用于表征缓存组初始分配给应用程序的第二存储块的位置;第一存储块的数量小于第二存储块的数量;目标分配标记用于表征缓存组最终分配给应用程序的存储块的位置;差集为缓存组中第一存储块的集合和第二存储块的集合的差集,以实现为应用程序分配处理器缓存的缓存空间,且无需人工设置,提高了缓存空间的利用效率,解决了在先技术中所有缓存组只使用单一存储标记而导致缓存空间的利用效率低下的问题。
图8是根据一示例性实施例示出的一种电子设备600的框图。例如,电子设备600可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图8,电子设备600可以包括以下一个或多个组件:处理组件602,存储器604,电源组件606,多媒体组件608,音频组件610,输入/输出(I/ O)的接口612,传感器组件614,以及通信组件616。
处理组件602通常控制电子设备600的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件602可以包括一个或多个处理器620来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件602可以包括一个或多个模块,便于处理组件602和其他组件之间的交互。例如,处理组件602可以包括多媒体模块,以方便多媒体组件608和处理组件602之间的交互。
存储器604用于存储各种类型的数据以支持在电子设备600的操作。这些数据的示例包括用于在电子设备600上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,多媒体等。存储器604可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件606为电子设备600的各种组件提供电力。电源组件606可以包括电源管理系统,一个或多个电源,及其他与为电子设备600生成、管理和分配电力相关联的组件。
多媒体组件608包括在所述电子设备600和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的分界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件608包括一个前置摄像头和/或后置摄像头。当电子设备600处于操作模式,如拍摄模式或多媒体模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件610用于输出和/或输入音频信号。例如,音频组件610包括一个麦克风(MIC),当电子设备600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器604或经由通信组件616发送。在一些实施例中,音频组件610还包括一个扬声器,用于输出音频信号。
I/ O接口612为处理组件602和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件614包括一个或多个传感器,用于为电子设备600提供各个方面的状态评估。例如,传感器组件614可以检测到电子设备600的打开/关闭状态,组件的相对定位,例如所述组件为电子设备600的显示器和小键盘,传感器组件614还可以检测电子设备600或电子设备600一个组件的位置改变,用户与电子设备600接触的存在或不存在,电子设备600方位或加速/减速和电子设备600的温度变化。传感器组件614可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件614还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件614还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件616用于便于电子设备600和其他设备之间有线或无线方式的通信。电子设备600可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件616经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件616还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备600可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于实现本申请实施例提供的一种处理器缓存的优化方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器604,上述指令可由电子设备600的处理器620执行以完成上述方法。例如,所述非临时性存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图9是根据一示例性实施例示出的一种电子设备700的框图。例如,电子设备700可以被提供为一服务器。参照图9,电子设备700包括处理组件722,其进一步包括一个或多个处理器,以及由存储器732所代表的存储器资源,用于存储可由处理组件722的执行的指令,例如应用程序。存储器732中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件722被配置为执行指令,以执行本申请实施例提供的一种处理器缓存的优化方法。
电子设备700还可以包括一个电源组件726被配置为执行电子设备700的电源管理,一个有线或无线网络接口750被配置为将电子设备700连接到网络,和一个输入输出(I/O)接口758。电子设备700可以操作基于存储在存储器732的操作系统,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
本申请实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现所述的一种处理器缓存的优化方法。
本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
以上对本申请所提供的一种处理器缓存的优化方法、装置、电子设备及计算机可读存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (15)

1.一种处理器缓存的优化方法,处理器缓存为阵列形式,处理器缓存的一行存储块为一个缓存组,其特征在于,所述方法包括:
针对所述处理器缓存的缓存组,分别设置相同的第一分配标记和相同的第二分配标记;
根据所述第一分配标记和所述第二分配标记,确定每个所述缓存组的差集;
在试运行应用程序的过程中,记录每个所述差集中的存储块的使用情况;
根据所述差集中的存储块的使用情况以及预设的判定阈值,将所述第一分配标记或所述第二分配标记设置为所述缓存组的目标分配标记,具体包括:
确定存在被所述应用程序根据所述第二分配标记使用的存储块的第一差集;
统计每个所述第一差集中存储块的使用次数,以及所述第一差集中的存储块首次被使用的使用时刻;
根据所述判定阈值和所述使用次数,确定释放时刻;
根据所述使用时刻和所述释放时刻,将所述第一分配标记或所述第二分配标记设置为所述缓存组的目标分配标记;
其中,第一分配标记用于表征所述缓存组初始分配给所述应用程序的第一存储块的位置;第二分配标记用于表征所述缓存组初始分配给所述应用程序的第二存储块的位置;所述第一存储块的数量小于所述第二存储块的数量;所述目标分配标记用于表征所述缓存组最终分配给所述应用程序的存储块的位置;所述差集为所述缓存组中第一存储块的集合和第二存储块的集合的差集。
2.根据权利要求1所述的方法,其特征在于,所述根据所述使用时刻和所述释放时刻,将所述第一分配标记或所述第二分配标记设置为所述缓存组的目标分配标记,包括:
确定所述第一差集中,使用时刻晚于或等于释放时刻的第一目标差集;
将所述第一分配标记设置为第一目标差集所属缓存组的目标分配标记。
3.根据权利要求1所述的方法,其特征在于,所述根据所述使用时刻和所述释放时刻,将所述第一分配标记或所述第二分配标记设置为所述缓存组的目标分配标记,包括:
确定所述第一差集中,使用时刻早于释放时刻的第二目标差集;
将所述第二分配标记设置为第二目标差集所属缓存组的目标分配标记。
4.根据权利要求1所述的方法,其特征在于,所述根据所述判定阈值和所述使用次数,确定释放时刻,包括:
在所述使用时刻中存在满足第一预设时刻条件的第一使用时刻的情况下,将所述第一使用时刻作为所述释放时刻;
其中,所述第一预设时刻条件为:所有的所述使用时刻晚于或等于所述第一使用时刻的第一差集的使用次数之和,小于或等于所述判定阈值。
5.根据权利要求1所述的方法,其特征在于,在所述根据所述判定阈值和所述使用次数,确定释放时刻之前,所述方法还包括:
将所有的所述第一差集按照使用时刻进行排序,获取排序结果;
将所述排序结果中的第一差集,按照顺序分别划分至预设的多个桶分区中,并对每个桶分区中包含的第一差集的使用次数进行求和,获得使用总次数;
所述根据所述判定阈值和所述使用次数,确定释放时刻,包括:
在所述使用时刻中,存在满足第二预设时刻条件的第二使用时刻的情况下,将所述第二使用时刻作为所述释放时刻;
其中,所述第二预设时刻条件为:所有满足预设相加条件的桶分区对应的使用总次数之和小于或等于所述判定阈值,其中,所述预设相加条件为所述桶分区包含的第一差集的使用时刻均晚于或等于所述第二使用时刻。
6.根据权利要求5所述的方法,其特征在于,所述将所述排序结果中的第一差集,按照顺序分别划分至预设的多个桶分区中,包括:
将所述排序结果中,每相邻预设数量的所述第一差集划分至一个所述桶分区。
7.根据权利要求1所述的方法,其特征在于,所述根据所述差集中的存储块的使用情况以及预设的判定阈值,将所述第一分配标记或所述第二分配标记设置为所述缓存组的目标分配标记,具体还包括:
在所述差集中不存在被所述应用程序根据所述第二分配标记使用的存储块的情况下,将所述差集作为第二差集;
将所述第一分配标记设置为所述第二差集所属的缓存组的目标分配标记。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述差集中存在满足预设修改条件的目标存储块的情况下,将所述第一分配标记表征的第一存储块中的目标第一存储块剔除;
将所述目标存储块作为所述第一存储块使用第一分配标记表征;
其中,所述目标第一存储块为处理器按照第一预设条件从所有所述第一存储块中选出的一个第一存储块。
9.根据权利要求8所述的方法,其特征在于,确定所述目标存储块的步骤,包括:
在所述差集中存在被所述应用程序根据所述第二分配标记使用的第一目标存储块的情况下,将所述第一目标存储块作为所述目标存储块。
10.根据权利要求8所述的方法,其特征在于,确定所述目标存储块的步骤,包括:
在所述差集中存在被所述处理器按照第二预设条件,分配给所述应用程序使用的第二目标存储块的情况下,将所述第二目标存储块作为所述目标存储块。
11.根据权利要求1所述的方法,其特征在于,所述第一分配标记和所述第二分配标记均为路掩码,所述路掩码为表征所述缓存组分配给所述应用程序的存储块的位置和所述缓存组未被分配的存储块的位置的二进制码。
12.根据权利要求1所述的方法,其特征在于,所述第一分配标记表征的第二存储块的集合包含所述第二分配标记表征的第一存储块的集合。
13.一种处理器缓存的优化装置,处理器缓存为阵列形式,处理器缓存的一行存储块为一个缓存组,其特征在于,所述装置包括:
第一设置模块,用于针对所述处理器缓存的缓存组,分别设置相同的第一分配标记和相同的第二分配标记;
差集模块,用于根据所述第一分配标记和所述第二分配标记,确定每个所述缓存组的差集;
记录模块,用于在试运行应用程序的过程中,记录每个所述差集中的存储块的使用情况;
第二设置模块,用于根据所述差集中的存储块的使用情况以及预设的判定阈值,将所述第一分配标记或所述第二分配标记设置为所述缓存组的目标分配标记,具体包括:
确定存在被所述应用程序根据所述第二分配标记使用的存储块的第一差集;
统计每个所述第一差集中存储块的使用次数,以及所述第一差集中的存储块首次被使用的使用时刻;
根据所述判定阈值和所述使用次数,确定释放时刻;
根据所述使用时刻和所述释放时刻,将所述第一分配标记或所述第二分配标记设置为所述缓存组的目标分配标记;
其中,第一分配标记用于表征所述缓存组初始分配给所述应用程序的第一存储块的位置;第二分配标记用于表征所述缓存组初始分配给所述应用程序的第二存储块的位置;所述第一存储块的数量小于所述第二存储块的数量;所述目标分配标记用于表征所述缓存组最终分配给所述应用程序的存储块的位置;所述差集为所述缓存组中第一存储块的集合和第二存储块的集合的差集。
14.一种电子设备,其特征在于,包括:处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至12中任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至12中任一项所述的方法。
CN202310892389.4A 2023-07-19 2023-07-19 处理器缓存的优化方法、装置、电子设备及可读存储介质 Active CN116610599B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310892389.4A CN116610599B (zh) 2023-07-19 2023-07-19 处理器缓存的优化方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310892389.4A CN116610599B (zh) 2023-07-19 2023-07-19 处理器缓存的优化方法、装置、电子设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN116610599A CN116610599A (zh) 2023-08-18
CN116610599B true CN116610599B (zh) 2023-11-10

Family

ID=87680452

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310892389.4A Active CN116610599B (zh) 2023-07-19 2023-07-19 处理器缓存的优化方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN116610599B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117909258B (zh) * 2024-03-18 2024-05-14 北京开源芯片研究院 一种处理器缓存的优化方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105612499A (zh) * 2013-10-29 2016-05-25 华中科技大学 混合高速缓存管理
WO2018127206A1 (zh) * 2017-01-09 2018-07-12 中兴通讯股份有限公司 极性Polar码的速率匹配处理方法及装置
CN112799977A (zh) * 2021-02-26 2021-05-14 中国人民解放军国防科技大学 计算机的缓存分区和缓存访问实时性保护方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9626299B2 (en) * 2015-05-01 2017-04-18 Intel Corporation Changing a hash function based on a conflict ratio associated with cache sets
US10481817B2 (en) * 2018-06-28 2019-11-19 Intel Corporation Methods and apparatus to optimize dynamic memory assignments in multi-tiered memory systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105612499A (zh) * 2013-10-29 2016-05-25 华中科技大学 混合高速缓存管理
WO2018127206A1 (zh) * 2017-01-09 2018-07-12 中兴通讯股份有限公司 极性Polar码的速率匹配处理方法及装置
CN112799977A (zh) * 2021-02-26 2021-05-14 中国人民解放军国防科技大学 计算机的缓存分区和缓存访问实时性保护方法及装置

Also Published As

Publication number Publication date
CN116610599A (zh) 2023-08-18

Similar Documents

Publication Publication Date Title
CN109445811B (zh) 灰度发布方法、装置、计算机设备及计算机存储介质
CN108268322B (zh) 内存优化的方法、装置及计算机可读存储介质
US20180039819A1 (en) Method and device for identity verification
CN116610599B (zh) 处理器缓存的优化方法、装置、电子设备及可读存储介质
CN109447125B (zh) 分类模型的处理方法、装置、电子设备及存储介质
US20200084799A1 (en) Method and apparatus for controlling network access
US10229165B2 (en) Method and device for presenting tasks
CN114116215A (zh) 内存管理方法、装置、电子设备及存储介质
CN110795314B (zh) 一种检测慢节点的方法、装置及计算机可读存储介质
CN113254726B (zh) 账号分组方法、装置、电子设备及存储介质
CN116028568A (zh) 财政业务数据导出方法、装置及电子设备
CN115016944A (zh) 一种进程访问方法、装置及电子设备
CN114255114A (zh) 基于尾差信息的业务处理方法、装置及设备
CN113807540A (zh) 一种数据处理方法及装置
CN117909258B (zh) 一种处理器缓存的优化方法、装置、电子设备及存储介质
CN113157703B (zh) 数据的查询方法、装置、电子设备和存储介质
CN113873614A (zh) 接入控制限制方法及装置
CN112307353B (zh) 数据的处理方法、装置、电子设备、存储介质
CN112162918B (zh) 应用程序的测试方法、装置及电子设备
CN114416085A (zh) 一种数据处理方法、装置、电子设备及存储介质
CN113469215A (zh) 数据处理方法、装置、电子设备及存储介质
CN116781974A (zh) 数据处理方法、装置、电子设备及存储介质
CN114022248A (zh) 产品推荐计算方法、装置和设备
CN111831131A (zh) 一种联想输入方法和相关装置
CN114528318A (zh) 数据处理的方法、装置、电子设备、存储介质及产品

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant