掌桥专利:专业的专利平台
掌桥专利
首页

在多线程系统中动态共享有序资源的管理系统和方法

文献发布时间:2023-06-19 10:06:57


在多线程系统中动态共享有序资源的管理系统和方法

技术领域

本申请涉及处理器设计领域,且更具体地涉及在多线程系统中动态共享有序资源的管理系统、处理装置和方法。

背景技术

目前多数处理器都实现了用于提高处理器内部资源利用率和整体指令吞吐率的同时多线程(SMT)技术。多线程技术可以提高核心利用率,将空闲的计算资源充分调度起来,增加核心处理部件的并行运算性能,从而提高处理器的整体性能。

由于处理器内部多个线程相关的状态和信息都会使用共享资源进行保存,因此共享资源的管理机制直接影响处理器的整体性能。由于线程执行过程中会因为自己的特性而申请不同资源,因此当线程进入流水线后,处理器核心就应该为线程分配好所需全部资源,确保在执行过程中不会被阻断。

因此,合理的资源管理方法,对于有效配置处理器共享资源和提升处理整体性能具有重要意义。

发明内容

技术问题

目前主流处理器系统都支持同步多线程技术。同步多线程是指在一个中央处理单元(CPU)核心上同时执行多个线程,尽管多个线程同时在一个核心内执行,但是到这些线程被执行时,它们之间是相互隔离的,无需软件介入来进行上下文切换。由于处理器核心的高主频与外部输入输出设备之间的高延迟之间的差距越来越大,在处理器核心上执行程序往往会因为等待一系列的输入输出操作导致处理器核心无法执行后续指令而停顿,此时处理器核心要么等待,要么通过上下文的切换转换到另外的线程上;同时,进行线程切换也需要较长时间才能完成,这些都带来了核心计算资源利用率的降低。

当前对资源的分配主要分为两种方式,一种是静态分配(static allocation),另一种是动态分配(dynamic allocation)。静态分配是指在资源分配完成后,被分配的资源仅仅供给一个线程使用,即使该线程利用不到该资源,也不能在中途将该资源转给其它线程。静态分配方式管理简单,但分配效率低。动态分配是指在线程执行过程中,可以由调度模块根据每个线程的执行情况完成资源分配,这样的动态分配方式能有效提高资源分配效率。对于资源本身也分为需要有序释放的资源和允许无序释放的资源,在现有技术中,静态分配方式使用需要有序释放的资源,而动态分配方式使用允许无序释放的资源。

在线程执行过程中,资源释放顺序是无法控制的,因此资源本身被分配的顺序会因为资源被释放的顺序而变得无序。例如,资源调度器在分配资源时,将1、3号资源分配给线程m,将2、4号资源分配给线程n,且资源的原始序为1、2、3、4,由于线程n先释放了2号资源,此时线程m将2号申请为自己的新资源,调度器可以将2号资源重新分配给m,此时,m中资源序就变为了1、3、2,这显然与原始资的源序是不一致的。如果资源调度器坚持按照1、2、3、4的顺序对资源进行分配,则如果线程m由于某些原因无法释放1号资源,即使线程n释放了其所有资源,也只能等待1号资源释放后才能被分配新的资源,这样的资源分配效率是及其低下的。

目前存在的有序资源的共享方案都是静态共享方式,即在每个线程的内部对有序资源进行有序管理。在线程执行之前,将线程所要使用的资源按照一定原则、一次性地进行固定分配。线程在执行过程中不能将自己私有的资源共享给同一个处理器上的其它线程,即使其它线程的资源比较紧张而导致了相应的线程停顿。显然,这种资源的静态分配方式效率低下,无法充分利用所有资源,从而导致处理器整体性能下降。此外,这种资源管理方式另一个问题是,当线程退出时,资源重新划分也比较复杂,为保证资源分配的正确性,往往都要等到流水线排空后,再重新对线程进行资源分配。

为达到同时执行多个线程的能力,需要在独立保持每个线程的上下文同时,让所有可计算资源对所有线程可见,其中最大的一个挑战就是如何让所有资源能够动态让不同虚拟核使用,以提高资源利用率。

解决问题的技术方案

本申请是为了解决有序释放资源的动态分配共享(例如指令重排缓冲(ROB))。目前对于这类资源都是采用资源的静态分配方式,每个线程只能使用自己在进入流水线时就被预先分配的固有资源。这样的机制实现和管理都相对简单,但是资源无法得到充分利用,而且难以实现资源分配的服务质量保证(QoS)。

为了提高有序资源的利用率,克服静态共享方式的不足,本申请提供了一种基于令牌(token)的动态管理有序资源的方法和系统。该方法可以让有序资源在不同线程之间被动态地共享,资源令牌管理模块仅需管理各个线程可分配资源的数量,而无需对资源的顺序负责。线程资源管理模块完成对资源顺序的管理,以解决有序资源再利用时的乱序问题。同时本发明所公开的方法结合令牌机制,确保线程再申请资源时,保证不会被分配到额度外的资源,从而实现资源使用上的服务质量保证。当资源被释放时,直接将资源放回可用资源池,因此当线程资源释放完毕并退出时,无需重新分配资源,就能让其它线程获得先前退出线程所释放的资源。

根据本发明的一个方面,公开了一种在多线程系统中动态共享有序资源的管理系统,该系统包括:被配置为管理可用资源的可用资源池;被配置为管理各个线程可分配资源的数量的资源令牌管理模块;被配置为根据可用资源的数量、各个线程可分配资源的数量、各个线程申请分配的资源数量来对各个线程分配资源的仲裁模块;以及线程资源管理模块,其中一个线程资源管理模块管理一个线程的资源,每个线程资源管理模块被配置为以被管理的线程被分配的资源的顺序,向可用资源池释放被管理的线程的资源。

根据本发明的另一个方面,公开了一种在多线程系统中动态共享有序资源的方法,该方法包括由可用资源池管理可用资源;由资源令牌管理模块管理各个线程可分配资源的数量;由仲裁模块根据可用资源的数量、各个线程可分配资源的数量、各个线程申请分配的资源数量来对各个线程分配资源,其中,由一个线程资源管理模块管理一个线程的资源,每个线程资源管理模块每个被配置为以被管理的线程被分配的资源的顺序,释放被管理的线程的资源。

根据本发明的另一个方面,公开了一种在多线程系统中动态共享有序资源的处理装置,该装置包括处理单元和存储了计算机可读指令的存储单元,指令被处理单元执行时执行本发明所公开的在多线程系统中动态共享有序资源的方法。

发明的有益效果

本申请提供了一种能够动态共享有序资源的管理系统和方法,以确保资源能够有效分配并按照被分配的顺序被释放,有效地提高了资源利用率,并结合令牌机制实现了资源分配的QoS。

附图说明

当结合附图时,根据以下详细描述,本发明的上述和其他方面、特征和优点将更加清楚。

图1示出了根据本发明的在多线程系统中动态共享有序资源的管理系统的框图;

图2示出了根据本发明的可用资源池的管理结构的图;

图3示出了根据本发明的线程资源管理模块以线程被分配的资源的顺序释放资源的示例过程。

图4示出了根据本发明的资源令牌管理模块的框图;

图5示出了根据本发明的仲裁模块的框图;

图6示出了根据本发明在多线程系统中动态共享有序资源的方法的流程图;

图7示出了根据本发明的资源令牌管理模块管理各个线程可分配资源的数量的方法的流程图;

图8示出了根据本发明的仲裁模块对各个线程分配资源的方法的流程图;以及

图9示出了根据本发明的在多线程系统中动态共享有序资源的处理装置的示例框图。

具体实施方式

下面参考附图详细描述本发明的实施例。相同或相似的组件可以用相似的附图标记来表示,尽管它们在不同的附图中示出。可以省略对本领域已知的构造或过程的详细描述,以避免模糊本发明的主题。

如前所述,有些资源在使用完成后需要按序回收(例如指令重排缓冲)。在SMT系统中,目前已知的方案都是采用资源的静态分配方式,资源在分配的初始阶段就将被全部分配给相应的线程,并且整个使用过程中不再被重新分配。在多线程系统中,多个线程会共享核心的大量资源,以提高各种资源的利用率。然而,这样的资源管理方式对于资源的利用并不是足够充分的,因为首先,运行在线程上的程序对资源的使用并不是完全一样的,如果一开始就固定每个线程所需的资源会导致其不用资源闲等;其次,在线程在退出后,不能及时释放所有资源,并且需要排空流水线,然后才能重新进行资源分配,效率较为低下。

本方案提出一种动态共享有序资源的管理系统和方法,能有效解决上述有序资源静态分配中遇到的各类问题。

图1示出了根据本发明的在多线程系统中动态共享有序资源的管理系统100的示例框图。参考图1,本发明所提出的管理系统包括可用资源池101、资源令牌管理模块102、仲裁模块103以及各个线程的线程资源管理模块1041-104n。

如图1所示,可用资源池101被配置为管理可用资源。具体地,可用资源池101被配置为当有资源被分配给线程时,将被分配给线程的资源标记为不可用;并且当有资源从线程释放时,将被释放的资源标记为可用。可用资源池以这样的方式对每个线程释放的资源进行回收,其并不参与资源到线程的分配,也不对资源的顺序进行管理。

图1中示出的可用资源池管理方式可以任何合适的结构(诸如链表(List)、向量(Vector)或者先入先出队列(FIFO))实现,如图2所示。在每个时钟周期内,资源令牌管理模块102从可用资源池101的管理结构中找出被标识为可用的一个或者多个可用资源,在可用资源中的一个或多个被分配给某个线程后,可用资源池101可以将该被分配了的资源上的相应有效位置设置为0来将已被分配的资源标识为不可用。此外,在各个线程将资源释放后,可用资源池101可以通过将被释放的资源上的相应有效位设置为1来将被释放的资源标识为可用,向资源令牌管理模块102发送资源释放信息,以使得该资源可以被其他线程使用。

本领域技术人员可以理解的是,可用资源池101通过其他任何合适的方式来将资源标识为可用或不可用是可能的。可用资源池101不对资源的顺序进行管理和维护,无论各个线程按照何种顺序对资源进行释放,可用资源池101都可以按照既定算法找到可用资源,而无需考虑该资源是哪个线程在何时释放的。

如图1所示,本发明所提出的管理系统100的还包括被配置为管理各个线程可分配资源的数量(即,每个线程的占用令牌的数量)的资源令牌管理模块102。当线程还有可用资源配额时,资源令牌管理模块102确定该线程可以参加之后由仲裁模块103执行的资源分配。由于每个线程资源可由软件配置,通过不同资源配比实现该资源管理的QoS。具体地,一种可能的实现方式是,对于两个即更多个被设置有不同优先级的线程,软件可以基于每个线程的优先级为不同的线程分配不同数量的资源。资源令牌管理模块102管理每个线程可分配资源的数量的算法可以采用对占用令牌的数量进行计数的方式,而不采用传统的占用数量递减方式。当相应的线程被分配到来自可用资源池101的若干资源时,资源令牌管理模块102需要累加此次被分配到各个线程的占用令牌的数量(即,被分配的资源的数量);并且当每次使用完资源,在线程释放资源后,响应于接收到由可用资源池101发送的资源释放消息,资源令牌管理模块102需要减去所释放的占用令牌的数量(即,所释放的资源的数量)。资源令牌管理模块102的一个具体实现方式将在下面参考图3进行详细的描述。

如图1所示,本发明所提出的管理系统100还包括被配置为根据可用资源的数量、各个线程可分配资源的数量、各个线程申请分配的资源数量来对各个线程分配资源的仲裁模块103。如图1所示,仲裁模块103从可用资源池101获得可用资源的数量,从资源令牌管理模块102获得各个线程可分配资源的数量,并且从每个线程的线程资源管理模块1041至104n获得每个线程对可用资源的资源申请来执行资源分配,并将资源分配的结果反馈给资源令牌管理模块102和相应线程的资源管理模块,以确保资源令牌管理模块102能够计算相应线程后续是否可以参与资源分配。

如图1所示,本发明所提出的管理系统100还包括n个线程的线程资源管理模块1041至104n(n为大于1的正整数),其中,每个线程资源管理模块管理相应线程的资源,并且向仲裁模块103发送对资源的资源申请请求。每个线程资源管理模块每个被配置为以被管理的线程被分配的资源的顺序,向可用资源池释放被管理的线程的资源。也就是说,每个线程资源管理模块被配置为记录线程被分配的多个资源的顺序,且当多个资源中的一个或多个资源被线程释放时,后分配的资源不能先于先分配的资源被释放。具体地,参考图3,当特定线程以资源3、资源5、资源1、资源4和资源2的顺序被分配资源时,不论这些资源在该特定线程中以何种顺序被使用(例如,图3中给出的以4、1、5、2和3的顺序被特定线程使用或者以其他任何可能的顺序被特定线程使用),这些资源最终还是以资源3、资源5、资源1、资源4和资源2的顺序被特定线程释放。当然,线程被分配以其他数量的线程也是可能的。

如上所述,图1所示的管理系统使得有序资源可以灵活地、动态地被分配给不同的线程,实现了资源分配的QoS,提高了资源的利用率。对于传统的静态的资源分配方式,系统将资源1至资源5视为一个整体资源块,当资源1至资源5被分配给特定线程后,当在资源块中的某些资源被释放且剩余的资源还未被释放时,资源块中已经被特定线程释放了的资源并不能被其他线程申请或使用,而必须等待作为整体资源块的所有的资源1至资源5均被释放之后,其他线程才能够申请或使用这些资源;结合图3,本申请并未将资源1至资源5视为整体资源块,当在资源块中的某些资源被释放且剩余的资源还未被释放时,只要已被释放资源之前不再存在先于其被分配的资源,则已被释放的资源可以被其他线程申请或使用,也就是说,在需要改变线程可占用资源的数量时,无需等待所有资源全部被释放。

图4示出了根据本发明的资源令牌管理模块102的示例框图。参考图4,资源令牌管理模块102可以包括计数器401、最高可分配资源寄存器402以及比较器403。

最高可分配资源402寄存器用作存储可分配资源的数量(即,可占用令牌的数量)的阈值的寄存器,其由软件动态地设置。当计数器401中的值超过该阈值后,相应线程将被资源令牌管理模块102确定为不能参与下一次资源分配,直到该线程释放了足够的资源、以使其所占用的资源的数量(即,占用令牌的数量)低于该阈值后,才能被资源令牌管理模块102确定为可以参加下一次资源分配。具体地,可以通过将所有线程的最高可分配资源寄存器402都设置为可用资源的最大值来实现所有线程完全共享整个可用资源。此外,如果不同线程的优先级不同(即,通过不同的静态或动态的方式被设置有不同的优先级),可以根据优先级的高低,为不同线程设置不同的阈值。通过动态地改变最高可分配资源寄存器402中的阈值,可以避免引起资源分配的死锁,即使当所有线程的最高可分配资源寄存器中的阈值之和大于可用资源的总数量时也不会造成死锁,因为比较器403对于每个线程的比较结果是用于确定是否让相应线程参加下一次资源分配的,而不是指有所有最高可分配资源寄存器中的阈值之和这么多数量的可用资源可用于分配。

如图4所示的计数器401被配置为通过在各个线程被分配到资源时累加被分配到各个线程的占用令牌的数量、且在各个线程释放资源时减去各个线程所释放的占用令牌的数量,对各个线程的占用令牌进行计数。如图4所示的比较器403被配置为比较各个线程的占用令牌的数量与各个线程可占用令牌的阈值,资源令牌管理模块102基于比较器403的结果,确定各个线程是否可以参加资源分配,具体地,当计数器401中的值等于或超过最高可分配资源寄存器402中的阈值时,确定相应线程不可以参加资源分配(不可被分配资源);并且当计数器401中的值小于阈值时,确定相应线程可以参加资源分配(可被分配资源)。也就是说,如图4所示,基于比较器403的比较结果,图1的资源令牌管理模块102可以输出包括线程不可被分配资源或线程可被分配资源的线程可分配资源的状态。

图5示出了根据本发明的仲裁模块103的示例框图。参考图5,仲裁模块103根据可用资源的数量、各个线程可分配资源的数量、各个线程申请分配的资源数量来对各个线程分配资源。具体地,仲裁模块103可以使用不同的仲裁算法来执行资源分配,诸如可以使用轮询调度(round-robin)算法,或者使用彩票算法,以确保效率优先且不失公平的资源分配。仲裁模块103首先结合线程资源管理模块1041至104n和资源令牌管理模块102所反馈的状态与线程资源管理模块1041至104n所发出的资源申请请求,为申请资源的各个线程计算资源分配权重值,具体地,仲裁模块103可以通过将各个线程的可分配资源的数量减去已占用资源的数量来计算资源分配权重值,当然,其他任何合适的计算资源分配权重值的方式也是可能的;然后,仲裁模块103根据为各个线程计算出的资源分配权重值和以前对各个线程的资源分配结果,计算出最终获得可用资源的线程;最后,仲裁模块103将资源分配的结果(即,已被分配的资源的结果)反馈给各个线程的线程资源管理模块1041至104n和资源令牌管理模块102,并且资源令牌管理模块102通过将占用令牌的数量加上已被分配的资源的数量来更新占用令牌的数量,以用于下一次资源分配。

下面将结合图6至图8对在多线程系统中动态共享有序资源的方法进行详细地描述。

图6示出了根据本发明在多线程系统中动态共享有序资源的方法600的流程图。

参考图6,在S610,可用资源池101管理可用资源,具体地,可用资源池101在线程释放资源之后,将所释放的资源设置为可用,然后向资源令牌管理模块102发送资源释放信息,以使资源令牌管理模块102将该线程的占用令牌的数量减去所释放的资源的数量;在S620,资源令牌管理模块102管理各个线程可分配资源的数量;在S630,各个线程的线程资源管理模块1041至104n发出资源申请请求;在S640,仲裁模块103根据可用资源的数量、各个线程可分配资源的数量、各个线程申请分配的资源数量来对各个线程分配资源。

图7示出了根据本发明的资源令牌管理模块102管理各个线程可分配资源的数量的方法700的流程图。

参考图7,在S710,计数器401在各个线程被分配到资源时累加被分配到各个线程的占用令牌的数量,并且在各个线程释放资源时减去各个线程所释放的占用令牌的数量;在S720,最高可分配资源寄存器402设置各个线程可占用令牌的阈值;在S730,比较器403通过比较各个线程的占用令牌的数量与各个线程可占用令牌的阈值,确定各个线程是否可被分配资源,具体地,当计数器401的值等于或超过阈值时,比较器403确定线程不可被分配资源,并且当计数器401的值小于阈值时,比较器403确定线程可被分配资源。

图8示出了根据本发明的仲裁模块103对各个线程分配资源的方法800的流程图。

参考图8,在S810,仲裁模块103结合线程资源管理模块1041至104n和资源令牌管理模块102所反馈的状态与线程资源管理模块1041至104n所发出的资源申请请求,为申请资源的各个线程计算资源分配权重值;在S820,仲裁模块103根据为各个线程计算出的资源分配权重值和以前对各个线程的资源分配结果,计算出最终获得可用资源的线程;在S830,仲裁模块103将资源分配的结果(即,已被分配的资源的结果)反馈给各个线程的线程资源管理模块1041至104n和资源令牌管理模块102,并且资源令牌管理模块102通过将占用令牌的数量加上已被分配的资源的数量来更新占用令牌的数量,以用于下一次资源分配。

图9示出了根据本发明的在多线程系统中动态共享有序资源的装置900的示例框图。

参考图9,在多线程系统中动态共享有序资源的处理装置900可以包括控制单元901、处理单元902和存储单元903。控制单元901是整个处理装置901的控制中心,可以包括用于寄存指令的指令寄存器(IR)、用于对所存储的指令进行译码的指令译码器(ID)以及操作控制器(OC)等。控制单元901基于预编程的程序,依次从存储单元903中取出指令,将指令寄存在指令寄存器IR中,通过指令译码器ID确定应该执行什么操作,然后通过操作控制器OC、按照确定的时序,向相应的组件发出控制信号。操作控制器OC可以包括节拍脉冲发生器、控制矩阵、时钟脉冲发生器、复位电路和启停电路等控制逻辑。处理单元902可以执行算术运算(包括加减乘除等基本运算及其附加运算)和逻辑运算(包括移位、逻辑测试或两个值比较)。相对控制单元901而言,处理单元可以接收控制单元901发出的命令而进行操作,即处理单元902作为处理装置900的执行单元,其全部的操作都是由控制单元901发出的控制信号来控制的。存储单元903可以包括缓存和寄存器组,是处理装置900中用于暂时存放数据(包括等待处理的数据或指令,或者已经处理过的数据或指令)的组件,处理装置900访问存储单元903的寄存器所用的时间要比访问存储单元903的缓存的时间短。寄存器组可以分为专用寄存器和通用寄存器。专用寄存器的作用是固定的,分别寄存相应的数据和指令。而通用寄存器用途广泛并且可以由程序员规定其用途。如上所述,处理装置900通过由控制单元901来控制处理单元902和存储单元903之间的交互,来实现上述的根据本申请的在多线程系统中动态共享有序资源的方法。为了保证资源的有序回收,每个线程需要自己维护这些有序资源的顺序,最后按照自己被分配资源的顺序进行资源的释放。资源的使用方式可以与以前使用方式一致,当资源使用完成后需要由各个线程的线程资源管理模块将该资源的状态设置为可以回收。

在本发明中,首先,所有资源对对所有线程都可见;其次,当资源被分配给该线程后,线程需要记录资源被分配的顺序,并且在线程的某个资源满足可释放条件后,使该要被释放的资源被排到队列最前端,如上图3所描述的,这里可以采用的实现方式可以是FIFO或年龄矩阵(age matrix)算法或者其他任何合适的方式,即前面已经没有未释放比该资源更先分配的资源;最后,当一个资源被线程释放后,线程需要通知可用资源池将该资源标记为可用,将相应的资源释放信息发送给资源令牌管理模块,以让其对占用令牌的数量进行相应处理。以这样的管理系统和方法来共享有序资源,使得有序资源可以灵活地、动态地被分配给不同的线程,实现了资源分配的QoS,提高了资源的利用率,同时,在需要改变线程可占用资源的数量时,无需等待流水线的排空。

本发明提供了一种基于令牌(令牌)的动态管理有序资源的方法和系统。该方法可以让有序资源在不同线程之间被动态地共享,资源令牌管理模块仅需管理各个线程可分配资源的数量,而无需对资源的顺序负责。线程资源管理模块完成对资源顺序的管理,以解决有序资源再利用时的乱序问题。

注意,本文中提到的元件和组件的名称,例如可用资源池、资源令牌管理模块、仲裁模块、线程资源管理模块和最高可分配资源寄存器等均是示例,为了标识作用,而非限制,事实上根据本发明的原理,实现相同功能的其他元件和组件也是可行的。同时,本文中提到的可用资源池、资源令牌管理模块、仲裁模块、线程资源管理模块和最高可分配资源寄存器可以通过软件、硬件、固件或它们的任意组合来实现。

本文所描述的技术和方法可以在硬件、软件、固件或其任意组合中实现,除非被具体描述为以特定方式实现。被描述为模块或组件的任何特征也可以在集成逻辑设备中一起实现,或者作为分立但可互操作的逻辑设备单独实现。

此外,如本文所使用的,“基于”不应被解释为对封闭条件集的引用。例如,被描述为“基于条件A”的示例性步骤可以基于条件A和条件B,而不脱离本公开的范围。换句话说,如本文所使用的,“基于”和“根据”应该以与短语“至少部分地基于”和“至少部分地根据”相同的方式来解释。

在附图中,相似的组件或特征可以具有相同的附图标记。此外,相同类型的各种组件可以通过在附图标记之后加上破折号和区分相似组件的第二标记来区分。如果在说明书中仅使用第一附图标记,则该描述适用于具有相同第一附图标记的任何一个相似的组件,而与第二附图标记或其他后续附图标记无关。

结合附图,本文所阐述的描述描述了示例配置、方法和装置,并且不表示可以实现的或者在权利要求范围内的所有示例。本文所使用的术语“示例”意味着“用作示例、实例或说明”,而不是“优选的”或“优于其他示例的”。详细的描述包括具体细节,目的是提供对所描述的技术的理解。然而,可以在没有这些具体细节的情况下实践这些技术。在一些情况下,以框图形式示出了公知的结构和设备,以避免模糊所描述的示例的概念。

尽管本说明书包含多个具体的实现方式细节,但是这些不应被解释为对任何发明或所要求保护的范围的限制,而是对特定发明的特定实施例的特定特征的描述。本说明书中在单独实施例的上下文中所描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中所描述的各种特征也可以在多个实施例中单独实现或者在任何合适的子组合中实现。此外,尽管特征可以在上文中被描述为在某些组合中起作用,并且甚至最初被如此要求保护的,但是在一些情况下,来自所要求保护的组合的一个或多个特征可以从该组合中被删除,并且所要求保护的组合可以针对子组合或子组合的变型。

应当理解,本发明的方法中的步骤的特定顺序或层次是示例性过程的说明。基于设计偏好,可以理解,方法中步骤的特定顺序或层次可以被重新排列。所附的方法权利要求以示例顺序呈现各种步骤的元素,并且不意味着限于所呈现的特定顺序或层次,除非另有特别陈述。此外,尽管可以以单数形式描述或要求保护元件,但是除非明确说明了对单数的限制,否则复数也是可以预期的。因此,本公开不限于所示出的示例,并且用于执行本文所描述的功能的任何装置都包括在本公开的各方面中。

以上公开的主题将被认为是例示性的而不是限制性的,并且所附权利要求意图覆盖落入本发明构思的真实精神和范围的所有这样的修改、增强、和其它实施例。因此,本发明构思的范围被对所附权利要求及其等同物的最广泛可允许解释确定到法律所允许的最大程度,并且不应该被前述详细描述所约束或限制。

相关技术
  • 在多线程系统中动态共享有序资源的管理系统和方法
  • 共享资源管理系统和共享资源管理方法
技术分类

06120112423024