System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 高并发场景下锁竞争机制测试方法和系统技术方案_技高网

高并发场景下锁竞争机制测试方法和系统技术方案

技术编号:44827797 阅读:5 留言:0更新日期:2025-03-28 20:19
本申请涉及一种高并发场景下锁竞争机制测试方法和系统,涉及计算机技术领域。所述方法包括:多个处理单元基于预设自旋锁测试函数,进行目标锁资源的竞争处理;目标处理单元获得目标锁资源,通过锁状态标志更新目标锁资源的占用状态;在根据锁状态标志确定每个处理单元均获得过目标锁资源后,控制处理单元向每个处理单元发送竞争重置指令,以使每个处理单元重新开始进行目标锁资源的竞争处理,并更新测试轮数;在测试轮数达到预设次数后,控制处理单元控制退出目标锁资源的竞争测试。采用本方法可以通过多处理单元的竞争处理、同步机制的优化、以及控制处理单元的重置和轮数管理,形成一个高效、准确、可靠的测试流程。

【技术实现步骤摘要】

本申请涉及计算机,特别是涉及一种高并发场景下锁竞争机制测试方法和系统


技术介绍

1、锁竞争机制是一种同步技术,用于在多处理器或多线程环境中确保对共享资源的互斥访问。锁机制可以防止多个处理单元或线程同时访问和修改同一个资源,从而避免资源竞争和数据不一致的问题。在多处理单元系统中,每个处理单元(处理器核心或虚拟核心)都可以被看作一个hart,hart通常用于表示并发处理能力的基本单位,每个hart可以独立地执行指令和处理任务。锁竞争机制下,多个处理单元可能会同时尝试获得对某个资源的独占访问权限。在获取锁的过程中,处理单元会检查锁的状态,如果锁未被占用,则处理单元可以成功获取锁;如果锁已被其他处理单元占用,则处理单元会进入等待状态,直到锁被释放。对此,目前需要一种测试方法,以有效全面地对高并发情况下,所有处理单元参与锁竞争功能进行测试。


技术实现思路

1、基于此,有必要针对上述技术问题,提供一种高并发场景下锁竞争机制测试方法和系统、设备和存储介质。

2、第一方面,本申请提供了一种高并发场景下锁竞争机制测试方法。所述方法包括:

3、多个处理单元基于预设自旋锁测试函数,进行目标锁资源的竞争处理;

4、目标处理单元获得所述目标锁资源,通过锁状态标志更新所述目标锁资源的占用状态;

5、在根据所述锁状态标志确定每个所述处理单元均获得过所述目标锁资源后,控制处理单元向每个所述处理单元发送竞争重置指令,以使每个处理单元重新开始进行目标锁资源的竞争处理,并更新测试轮数;

6、在所述测试轮数达到预设次数后,所述控制处理单元控制退出所述目标锁资源的竞争测试。

7、在其中一个实施例中,所述锁状态标志为竞争完成标志;

8、所述方法还包括:

9、目标处理单元释放所述目标锁资源,通过所述竞争完成标志将所述目标锁资源的设置为释放状态,并在所述竞争完成标志中记录所述目标处理单元完成竞争。

10、在其中一个实施例中,所述在根据所述锁状态标志确定每个所述处理单元均获得过所述目标锁资源后,控制处理单元向每个所述处理单元发送竞争重置指令,包括:

11、控制处理单元根据所述竞争完成标志确定已完成竞争的处理单元的数量;

12、如果已完成竞争的处理单元的数量等于所述多个处理单元的总数,所述控制处理单元则向每个其它所述处理单元发送竞争重置指令,并重置所述竞争完成标志。

13、在其中一个实施例中,所述锁状态标志为竞争参与标志;

14、所述目标处理单元获得所述目标锁资源,通过锁状态标志更新所述目标锁资源的占用状态,包括:

15、目标处理单元获得所述目标锁资源,在所述竞争参与标志中记录所述目标处理单元已参与竞争。

16、在其中一个实施例中,所述在根据所述锁状态标志确定每个所述处理单元均获得过所述目标锁资源后,控制处理单元向每个所述处理单元发送竞争重置指令,包括:

17、所述目标处理单元释放所述目标锁资源,根据所述竞争参与标志确定已参与竞争的处理单元的数量;

18、如果已参与竞争的处理单元的数量等于所述多个处理单元的总数,所述目标处理单元则向每个其它所述处理单元发送竞争重置指令,并重置所述竞争参与标志,否则进入低功耗待机模式。

19、在其中一个实施例中,所述锁状态标志包括多个锁状态子标志,每个锁状态子标志对应不同部分的处理单元;

20、所述目标处理单元获得所述目标锁资源,通过锁状态标志更新所述目标锁资源的占用状态,包括:

21、目标处理单元获得所述目标锁资源,通过所述目标处理单元对应的所有锁状态标志更新所述目标锁资源的占用状态;

22、在根据所述锁状态标志确定每个所述处理单元均获得过所述目标锁资源后,控制处理单元向每个所述处理单元发送竞争重置指令,以使每个处理单元重新开始进行目标锁资源的竞争处理,包括:

23、在根据所述目标锁状态子标志确定其对应的每个特定处理单元均获得过所述目标锁资源后,控制处理单元向每个特定处理单元发送竞争重置指令,以使每个特定处理单元重新开始进行目标锁资源的竞争处理。

24、在其中一个实施例中,所述方法还包括:

25、所述控制处理单元基于每个处理单元的预设测试次数和处理性能信息,和待测试的多个锁资源,确定参与所述目标锁资源每轮测试的多个处理单元;

26、在根据所述锁状态标志确定每个所述处理单元均获得过所述目标锁资源后,控制处理单元向每个所述处理单元发送竞争重置指令,包括:

27、在根据所述锁状态标志确定每个所述处理单元均获得过所述目标锁资源后,控制处理单元根据测试轮数,向参与下一轮测试的每个候选处理单元发送竞争重置指令,以使每个候选处理单元重新开始进行锁资源的竞争处理。

28、第二方面,本申请还提供了一种高并发场景下锁竞争机制测试系统。所述系统包括多个处理单元和控制处理单元,其中:

29、所述多个处理单元,用于:

30、基于预设自旋锁测试函数,进行目标锁资源的竞争处理;

31、获得所述目标锁资源,通过锁状态标志更新所述目标锁资源的占用状态;

32、所述控制处理单元,用于:

33、在根据所述锁状态标志确定每个所述处理单元均获得过所述目标锁资源后,向每个所述处理单元发送竞争重置指令,以使每个处理单元重新开始进行目标锁资源的竞争处理,并更新测试轮数;

34、在所述测试轮数达到预设次数后,控制退出所述目标锁资源的竞争测试。

35、第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的方法中处理单元的步骤处理。

36、第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法的步骤。

37、第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述第一方面所述的方法的步骤。

38、采用本申请公开的高并发场景下锁竞争机制测试方法,控制处理单元根据锁状态标志确定每个处理单元均获得过目标锁资源后,发送竞争重置指令,使每个处理单元重新开始竞争。这种方法确保了每个处理单元在多轮测试中都有机会获取锁资源,提高了测试的全面性和公平性,避免了部分处理单元因竞争失败而始终无法参与测试的情况。在传统的忙等待方式下,处理单元会不断循环检查锁状态标志,导致大量cpu资源的浪费。而采用本方法,虽然处理单元在竞争失败后仍会进行忙等待,但由于每轮测试后会重置并重新开始竞争,避免了长时间的忙等待,从而减少了性能开销。这样,可以通过多处理单元的竞争处理、同步机制的优化、以及控制处理单元的重置和轮数管理,形成一个高本文档来自技高网...

【技术保护点】

1.一种高并发场景下锁竞争机制测试方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述锁状态标志为竞争完成标志;

3.根据权利要求2所述的方法,其特征在于,所述在根据所述锁状态标志确定每个所述处理单元均获得过所述目标锁资源后,控制处理单元向每个所述处理单元发送竞争重置指令,包括:

4.根据权利要求1所述的方法,其特征在于,所述锁状态标志为竞争参与标志;

5.根据权利要求4所述的方法,其特征在于,所述在根据所述锁状态标志确定每个所述处理单元均获得过所述目标锁资源后,控制处理单元向每个所述处理单元发送竞争重置指令,包括:

6.根据权利要求1所述的方法,其特征在于,所述锁状态标志包括多个锁状态子标志,每个锁状态子标志对应不同部分的处理单元;

7.根据权利要求1所述的方法,其特征在于,所述方法还包括:

8.一种高并发场景下锁竞争机制测试系统,其特征在于,所述系统包括多个处理单元和控制处理单元,其中:

9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法中处理单元的步骤处理。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。

...

【技术特征摘要】

1.一种高并发场景下锁竞争机制测试方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述锁状态标志为竞争完成标志;

3.根据权利要求2所述的方法,其特征在于,所述在根据所述锁状态标志确定每个所述处理单元均获得过所述目标锁资源后,控制处理单元向每个所述处理单元发送竞争重置指令,包括:

4.根据权利要求1所述的方法,其特征在于,所述锁状态标志为竞争参与标志;

5.根据权利要求4所述的方法,其特征在于,所述在根据所述锁状态标志确定每个所述处理单元均获得过所述目标锁资源后,控制处理单元向每个所述处理单元发送竞争重置指令,包括:

6.根据权利...

【专利技术属性】
技术研发人员:张伟
申请(专利权)人:上海思朗科技有限公司
类型:发明
国别省市:

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

1