自旋锁定参数值的高效调整的制作方法

文档序号:34867146发布日期:2023-07-23 22:18阅读:31来源:国知局
自旋锁定参数值的高效调整的制作方法

本公开涉及用于资源管理系统和数据库管理系统的基于锁的并发性控制。更具体而言,本公开涉及自旋锁定作为在访问资源时响应查询的手段的改进。


背景技术:

1、本节中描述的方法是可以采用的方法,但不一定是以前设想或采用的方法。因此,除非另有说明,否则不应当假设本节中描述的任何方法仅仅因为它们包括在本节中就有资格作为现有技术。另外,不应当假设本节中描述的任何方法仅仅因为它们包括在本节中就已被充分理解、是例行的或常规的。

2、资源管理系统中的并发性控制确保向访问资源的请求提供资源的正确版本。在基于锁的并发性控制中,进程或操作请求访问一个或多个资源,并且如果一个或多个资源可用,那么进程或操作将被给予一个或多个资源上的锁。当进程或操作维持一个或多个资源上的锁时,其它进程或操作不能访问该一个或多个资源。

3、当进程或操作请求访问被另一个进程或操作锁定的资源时,存在可以给出的几个可能的响应。作为示例,资源管理系统可以拒绝对于访问的请求,要求在未来做出新的请求。这对于接收大量查询或事务时间相对短的系统可能无效。因此,许多系统使用自旋锁实施方式,从而使线程在重新请求访问资源之前通过执行pause(暂停)指令等待。这个循环可以重复多次,直到资源变得可用或者经过一定数量的循环并且系统执行上下文切换。

4、虽然自旋锁在实现并发性控制方面往往非常高效,但自旋锁的不同配置可能效率较低并导致cpu周期的浪费或更长的查询时间。可以通过改变一个或多个自旋锁参数的值来配置自旋锁,该一个或多个自旋锁参数包括与常常用暂停指令的数量表达的线程在重试访问资源之前等待多长时间以及在系统执行上下文切换之前线程尝试访问资源的次数相关的参数。这些参数的最优值可以确保线程不会通过在不太可能很快可用的资源上自旋太长时间而浪费cpu周期,或者确保线程可以在资源变得可用时快速访问资源。

5、出于多种原因,上面提到的参数的特性调节可能是困难的。一个问题是自旋锁定参数的最优值往往是特定于工作负载的。此外,最优值可以随着新软件被发布或旧软件被更新而改变。因此,当自旋锁要应用于不同的服务器或不同类型的工作负载时,预先调节参数以找到最优默认参数是不可能的。

6、第二个问题是工作负载很少保持静态。当工作负载改变时,用于自旋锁定的最优参数值也会改变。虽然可以重新调节这些值,但操作者识别效率下降并重新调节这些值所花费的时间是系统低效率运行的所有时间。可替代地,参数可以被连续或周期性地调节,但这增加了效率低下,因为调节参数的动作可能使系统低效率执行,诸如当选择与设置默认参数时相比使系统以较低效率运行的值时。

7、第三个问题是单个暂停指令的长度可以取决于硬件。对于每个系统体系架构,将必须修改以暂停指令的数量表达的延迟值。此外,如果代码从一种系统体系架构转移到另一种系统体系架构,那么将需要为新的系统体系架构确定新的参数值。

8、因此,需要一种可以动态调节用于自旋锁定的参数值的系统,以确保资源的高效利用。


技术实现思路

1、所附权利要求可以作为本公开的概要。



技术特征:

1.一种方法,包括:

2.如权利要求1所述的方法,

3.如权利要求2所述的方法,其中确定当前吞吐量值与先前吞吐量值之间的吞吐量值的改变小于第一阈值包括:

4.如权利要求1所述的方法,

5.如权利要求4所述的方法,其中确定当前吞吐量值与先前吞吐量值之间的吞吐量值的改变大于阈值包括:

6.如权利要求1所述的方法,其中调整用于由所述资源管理系统执行的自旋锁定的所述多个参数包括:使用以自旋等待延迟值的范围的最高值开始的自旋等待延迟值的范围内的多个自旋等待延迟值,通过以下操作来执行对用于由所述资源管理系统执行的自旋锁定的自旋等待延迟值的调整:

7.如权利要求6所述的方法,其中调整用于由所述资源管理系统执行的自旋锁定的所述多个参数还包括:

8.如权利要求7所述的方法,其中调整用于自旋锁定机制的所述多个参数还包括:

9.如权利要求1所述的方法,

10.如权利要求1所述的方法,还包括:

11.如权利要求1所述的方法,还包括:

12.一种系统,包括:

13.一个或多个存储指令的非暂态计算机可读介质,所述指令在由一个或多个处理器执行时使得如权利要求1-11中的任一项所述的方法被执行。


技术总结
本文描述了用于调整用于并发性控制的自旋锁实施方式的参数的系统和方法。在实施例中,系统从资源管理系统连续地检索定义资源管理系统的状态的一个或多个状态值。基于一个或多个状态值,系统确定资源管理系统已经达到稳态,并且作为响应,调整用于由所述资源管理系统执行的自旋锁定的多个参数以识别多个参数的最优值。在调整多个参数之后,系统基于一个或多个当前状态值检测资源管理系统中的工作负载改变,并且作为响应,重新调整用于由所述资源管理系统执行的自旋锁定的所述多个参数以识别参数的新的最优值。

技术研发人员:O·科克柏柏尔,M·班西,M·乔利斯,S·圣德拉,N·阿格尔沃
受保护的技术使用者:甲骨文国际公司
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1