CN102609313B - 多核系统资源延迟回收锁的实现方法及系统 - Google Patents

多核系统资源延迟回收锁的实现方法及系统 Download PDF

Info

Publication number
CN102609313B
CN102609313B CN201210010796.XA CN201210010796A CN102609313B CN 102609313 B CN102609313 B CN 102609313B CN 201210010796 A CN201210010796 A CN 201210010796A CN 102609313 B CN102609313 B CN 102609313B
Authority
CN
China
Prior art keywords
data
current
module
resource
unit
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.)
Expired - Fee Related
Application number
CN201210010796.XA
Other languages
English (en)
Other versions
CN102609313A (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.)
Opzoon Technology Co Ltd
Original Assignee
Opzoon Technology Co Ltd
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 Opzoon Technology Co Ltd filed Critical Opzoon Technology Co Ltd
Priority to CN201210010796.XA priority Critical patent/CN102609313B/zh
Publication of CN102609313A publication Critical patent/CN102609313A/zh
Priority to PCT/CN2012/086437 priority patent/WO2013104230A1/zh
Application granted granted Critical
Publication of CN102609313B publication Critical patent/CN102609313B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System (AREA)

Abstract

本发明公开了一种多核系统资源延迟回收锁的实现方法及系统,涉及数据共享技术领域,本发明通过设置由数据单元组成的环形链表,来标识CPU的状态,使得在垃圾回收期间,在垃圾回收的CPU进入静默状态时,能够使得其他CPU同时进行垃圾回收,解决了在资源突发大量集中回收,造成此类资源耗竭而影响业务正常运行的问题。

Description

多核系统资源延迟回收锁的实现方法及系统
技术领域
本发明涉及数据共享技术领域,特别涉及一种多核系统资源延迟回收锁的实现方法及系统。
背景技术
众所周知,为了保护共享数据,需要一些同步机制,如自旋锁(spinlock),读写锁(rwlock),它们使用起来非常简单,而且是一种很有效的同步机制,在Linux系统中得到了广泛的使用。但是随着计算机硬件的快速发展,获得这种锁的开销相对于CPU的速度在成倍地增加,原因很简单,CPU的速度与访问内存的速度差距越来越大,而这种锁使用了原子操作指令,它需要原子地访问内存,也就说获得锁的开销与访存速度相关,因此它的开销相对于CPU速度而言就越来越大,并且这种锁机制的另一个问题在于其可扩展性,在多处理器系统上,可扩展性非常重要,否则根本无法发挥其性能。自旋锁和读写锁的锁着核增加的理论性能并不理想。正是在这种背景下,一个高性能的锁机制RCU被提出,具有很好的扩展性,但是这种锁机制的使用范围比较窄,它只适用于读多写少的情况,如网络路由表的查询更新、设备状态表的维护、数据结构的延迟释放等。
Linux的RCU锁实现方法为:RCU(Read-Copy Update)顾名思义就是读-拷贝修改,它是基于其原理命名的。对于被RCU保护的共享数据结构,读数据者不需要获得任何锁就可以访问它,但写数据者在访问它时首先拷贝一个副本,然后对副本进行修改,最后使用一个回调(callback)机制在适当的时机把指向原来数据的指针重新指向新的被修改的数据。这个时机就是所有引用该数据的CPU都退出对共享数据的操作。
因此RCU实际上是一种改进的读写锁(rwlock),读数据者几乎没有什么同步开销,它不需要锁,不使用原子指令,因此不会导致锁竞争,内存延迟以及流水线停滞。不需要锁也使得使用更容易,因为死锁问题就不需要考虑了。写数据者的同步开销比较大,它需要延迟数据结构的释放,复制被修改的数据结构,它也必须使用某种锁机制同步并行的其它写数据者的修改操作。读数据者必须提供一个信号给写数据者以便写数据者能够确定数据可以被安全地释放或修改的时机。有一个专门的垃圾收集器来探测读数据者的信号,一旦所有的读数据者都已经发送信号告知它们都不在使用被RCU保护的数据结构,垃圾收集器就调用回调函数完成最后的数据释放或修改操作。
读数据者在访问被RCU保护的共享数据期间不能被阻塞,这是RCU机制得以实现的一个基本前提,也就说当读数据者在引用被RCU保护的共享数据期间,读数据者所在的CPU不能发生上下文切换,自旋锁(spinlock)和读写锁(rwlock)都需要这样的前提。写数据者在访问被RCU保护的共享数据时不需要和读数据者竞争任何锁,只有在有多于一个写数据者的情况下需要获得某种锁以与其他写数据者同步。写数据者修改数据前首先拷贝一个被修改元素的副本,然后在副本上进行修改,修改完毕后它向垃圾回收器注册一个回调函数以便在适当的时机执行真正的修改操作。等待适当时机的这一时期称为宽限时期(grace period),而CPU发生了上下文切换称为经历一个静默状态(quiescent state),宽限时期就是所有CPU都经历一次静默状态所需要的等待的时间。垃圾收集器就是在宽限时期之后调用写数据者注册的回调函数来完成真实的数据修改操作或数据释放操作的。
现有技术的RCU的主要缺点为:由于RCU在垃圾回收期间(下一个宽限时期内包括垃圾回收期间),无法让CPU进入静默状态,当需要回收的资源很多,会造成下一个宽限时期很长,在较长的宽限时间内,因为回收不及时造成对内存资源消耗很大,严重情况下资源耗竭而影响业务正常运行。另一个缺点是:RCU为了记录和访问判断宽限时期是否结束,采用的是自旋锁保护共享数据的方式来实现,对于RCU锁在对于垃圾回收及时性上有略微的性能损耗。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何在垃圾回收期间让CPU进入静默状态,以解决在资源突发大量集中回收,造成此类资源耗竭而影响业务正常运行的问题。
(二)技术方案
为解决上述技术问题,本发明提供了一种多核系统资源延迟回收锁的实现方法,所述方法包括以下步骤:
S1:设置由n个数据单元所构成的环形链表,并将多核系统中的每个CPU分别对应数据单元中的一位数据;
S2:在当前CPU发生了上下文切换后,进入资源回收处理过程中,获取当前CPU进入宽限时期的次数,根据所述次数选择相应的当前数据单元,并将所述当前数据单元中与当前CPU对应的一位数据进行置位;
S3:根据所述当前数据单元中的值判断当前宽限时期是否已经结束,若没有结束,则执行步骤S4,否则执行步骤S5;
S4:退出此次的资源回收处理过程,等待其它CPU发生上下文切换,再执行步骤S2;
S5:选择环形链表中所述当前数据单元的下一个单元;
S6:将当前CPU记录的宽限时期的次数加1;
S7:通过回调函数进行X个资源的资源回收,所述X为正整数;
S8:判断资源是否都已经回收完毕,若是,则执行步骤S4,否则执行步骤S9;
S9:将步骤S5中选择的下一个数据单元中与当前CPU对应的一位数据进行置位;
S10:根据步骤S5中选择的下一个数据单元中的值判断当前宽限时期是否已经结束,若是,则执行步骤S5,否则执行步骤S7。
优选地,步骤S1中,n取值为大于1的奇数。
优选地,步骤S2中,根据所述次数选择相应的当前数据单元是通过以下公式进行选择:
C=v mod n
其中,C为环形链表中数据单元的序号,v为所述次数,mod为取模运算,n为环形链表中数据单元的个数。
本发明还公开了一种多核系统资源延迟回收锁的实现系统,所述系统包括:
链表构建模块,用于设置由n个数据单元所构成的环形链表,并将多核系统中的每个CPU分别对应数据单元中的一位数据;
置位模块,用于在当前CPU发生了上下文切换后,进入资源回收处理过程中,获取当前CPU进入宽限时期的次数,根据所述次数选择相应的当前数据单元,并将所述当前数据单元中与当前CPU对应的一位数据进行置位;
宽限结束判断模块,用于根据所述当前数据单元中的值判断当前宽限时期是否已经结束,若没有结束,则执行退出等待模块,否则执行选择模块;
退出等待模块,用于退出此次的资源回收处理过程,等待其它CPU发生上下文切换,再执行置位模块;
选择模块,用于选择环形链表中所述当前数据单元的下一个单元;
次数自加模块,用于将当前CPU记录的宽限时期的次数加1;
资源回收模块,用于通过回调函数进行X个资源的资源回收,所述X为正整数;
回收完毕判断模块,用于判断资源是否都已经回收完毕,若是,则执行退出等待模块,否则执行再置位模块;
再置位模块,用于将选择模块中选择的下一个数据单元中与当前CPU对应的一位数据进行置位;
宽限结束再判断模块,用于根据选择模块中选择的下一个数据单元中的值判断当前宽限时期是否已经结束,若是,则执行选择模块,否则执行资源回收模块。
优选地,链表构建模块中,n取值为大于1的奇数。
优选地,置位模块中,根据所述次数选择相应的当前数据单元是通过以下公式进行选择:
C=v mod n
其中,C为环形链表中数据单元的序号,v为所述次数,mod为取模运算,n为环形链表中数据单元的个数。
(三)有益效果
本发明通过设置由数据单元组成的环形链表,来标识CPU的状态,使得在垃圾回收期间,在垃圾回收的CPU进入静默状态时,能够使得其他CPU同时进行垃圾回收,解决了在资源突发大量集中回收,造成此类资源耗竭而影响业务正常运行的问题。
附图说明
图1是按照本发明一种实施方式的多核系统资源延迟回收锁的实现方法的流程图;
图2是按照图1所示的方法进行处理的环形链表的示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1是按照本发明一种实施方式的多核系统资源延迟回收锁的实现方法的流程图;参照图1,本实施方式的方法包括以下步骤:
S1:设置由n个数据单元所构成的环形链表,并将多核系统中的每个CPU分别对应数据单元中的一位数据;
S2:在当前CPU发生了上下文切换后,进入资源回收处理过程中,获取当前CPU进入宽限时期的次数,根据所述次数选择相应的当前数据单元,并将所述当前数据单元中与当前CPU对应的一位数据进行置位;
S3:根据所述当前数据单元中的值判断当前宽限时期是否已经结束,若没有结束,则执行步骤S4,否则执行步骤S5;
S4:退出此次的资源回收处理过程,等待其它CPU发生上下文切换,再执行步骤S2;
S5:选择环形链表中所述当前数据单元的下一个单元;
S6:将当前CPU记录的宽限时期的次数加1;
S7:通过回调函数进行X个资源的资源回收,所述X为正整数;
S8:判断资源是否都已经回收完毕,若是,则执行步骤S4,否则执行步骤S9;
S9:将步骤S5中选择的下一个数据单元中与当前CPU对应的一位数据进行置位;
S10:根据步骤S5中选择的下一个数据单元中的值判断当前宽限时期是否已经结束,若是,则执行步骤S5,否则执行步骤S7。
优选地,步骤S1中,n取值为大于1的奇数。
优选地,步骤S2中,根据所述次数选择相应的当前数据单元是通过以下公式进行选择:
C=v mod n
其中,C为环形链表中数据单元的序号(该序号为环形链表中数据单元从左到右分别为1、2、...、n-1、0),v为所述次数,mod为取模运算,n为环形链表中数据单元的个数。
实施例1
下面以三个数据单元形成环形链表为例来说明本发明,但不限定本发明的保护范围,其中每个数据单元具有八个比特位,且均基于比特位形式分别表示某个CPU是否进入静默状态。
本实施例的方法为:
S101:设置由3个数据单元所构成的环形链表,并将多核系统中的八个CPU分别对应数据单元(每个数据单元具有八个比特位,)中的一位数据。
S102:当某个CPU发生了上下文切换后,进入多核资源回收锁处理过程中,获取当前CPU进入宽限周期的次数,根据所述次数选择相应的当前数据单元,并将所述当前数据单元中与当前CPU对应的一位数据进行置位;置位时利用次数的奇偶特点设置宽限周期数据单元内的比特位来标识此CPU已经进入静默状态,具体为:当CPU进入次数为奇数次,是将对应比特位由“1”置为“0”;若为偶数次,是将比特位由“0”置为“1”。
参照图2,所述三个数据单元的初值从左到右分别为:“11111111”、“00000000”、以及“11111111”。
当第一次进入宽限时期,由于是奇数次,在所有的CPU进入静默状态时,都会将环形链表的表头的数据单元(三个数据单元中从左至右的第一个)内代表自身的比特位从1置为0。
当第二次进入宽限时期,由于是偶数次,所有的CPU进入静默状态时,都会将环形链表的表头的下一个数据单元(三个数据单元中从左至右的第二个)内代表自身的比特位从0置为1。
当第三次进入宽限时期,由于是奇数次,所有的CPU进入静默状态时,都会将环形链表的最后一个数据单元(三个数据单元中从左至右的第三个)内代表自身的比特位从1置为0。
当第四次进入宽限时期,由于是偶数次,所有的CPU当进入静默状态,都会将环形链表的表头的数据单元(由于环形链表,又回到了三个数据单元中从左至右的第一个)内的代表自身比特位从0置为1。依次类推,就能够根据进入宽限时期的奇偶次数特点,将静默状态记录到环形链表相应的数据单元内,以便判断本次宽限周期是否结束。当利用此方法实现,可以达到宽限时期的数据访问免锁保护。
S103:判断当前CPU对应记录的宽限周期的数据单元值是否已经表示为此周期结束,主要根据当前CPU记录进入宽限周期的次数。如果为奇数次,那么当宽限周期中数据单元值中所有比特位都为1,表示所有CPU都进入了静默状态且此宽限周期结束。如果为偶数次,那么当宽限周期中数据单元值中所有比特位都为0,表示所有CPU都进入了静默状态且此宽限周期结束。如果当前宽限周期没有结束,进入步骤S104,如果结束进入步骤S105。
S104:退出此次的资源回收处理,等待下一次的CPU发生上下文切换,再进入S102。
S105:选择环形链表中所述当前数据单元的下一个单元,表示当前CPU进入下一个宽限周期内。
S106:将当前CPU记录的宽限周期次数加1。
S107:通过回调函数将注册需要回收的资源进行回收,一次性仅回收N个资源(其中,N是由实际系统运行定义,根据系统整体情况定义一次回收多少合适)。
S108:判断资源是否都回收完毕,如果回收完毕进入步骤S104,如果没有,进入步骤S109。
S109:将步骤S105中选择的下一个数据单元中与当前CPU对应的一位数据进行置位;
S110:根据步骤S105中选择的下一个数据单元中的值判断当前宽限时期是否已经结束,若是,则执行步骤S105,否则执行步骤S107。
本实施例的方法相对于传统的RCU具有以下几点优势:
1、本发明在垃圾资源回收期,同样进入宽限周期并将CPU进入静默状态,CPU的产生的新垃圾资源能够尽早回收,并且保证当前CPU尽量将所有的资源回收完毕再去产生新的资源。这样不但提高了资源回收的效率和及时性,还可以解决在资源突发大量集中回收,造成此类资源耗竭而影响业务正常运行的问题。
2、本实施例利用三个数据单元的环形链表形式来记录宽限周期方式,配合奇偶次数特点来达到宽限周期在多核之间数据访问免锁,提高了资源回收锁的效率。
本发明还公开了一种多核系统资源延迟回收锁的实现系统,所述系统包括:
链表构建模块,用于设置由n个数据单元所构成的环形链表,并将多核系统中的每个CPU分别对应数据单元中的一位数据;
置位模块,用于在当前CPU发生了上下文切换后,进入资源回收处理过程中,获取当前CPU进入宽限时期的次数,根据所述次数选择相应的当前数据单元,并将所述当前数据单元中与当前CPU对应的一位数据进行置位;
宽限结束判断模块,用于根据所述当前数据单元中的值判断当前宽限时期是否已经结束,若没有结束,则执行退出等待模块,否则执行选择模块;
退出等待模块,用于退出此次的资源回收处理过程,等待其它CPU发生上下文切换,再执行置位模块;
选择模块,用于选择环形链表中所述当前数据单元的下一个单元;
次数自加模块,用于将当前CPU记录的宽限时期的次数加1;
资源回收模块,用于通过回调函数进行X个资源的资源回收,所述X为正整数;
回收完毕判断模块,用于判断资源是否都已经回收完毕,若是,则执行退出等待模块,否则执行再置位模块;
再置位模块,用于将选择模块中选择的下一个数据单元中与当前CPU对应的一位数据进行置位;
宽限结束再判断模块,用于根据选择模块中选择的下一个数据单元中的值判断当前宽限时期是否已经结束,若是,则执行选择模块,否则执行资源回收模块。
优选地,链表构建模块中,n取值为大于1的奇数。
优选地,置位模块中,根据所述次数选择相应的当前数据单元是通过以下公式进行选择:
C=v mod n
其中,C为环形链表中数据单元的序号,v为所述次数,mod为取模运算,n为环形链表中数据单元的个数。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

Claims (6)

1.一种多核系统资源延迟回收锁的实现方法,其特征在于,所述方法包括以下步骤:
S1:设置由n个数据单元所构成的环形链表,并将多核系统中的每个CPU分别对应数据单元中的一位数据;
S2:在当前CPU发生了上下文切换后,进入资源回收处理过程中,获取当前CPU进入宽限时期的次数,根据所述次数选择相应的当前数据单元,并将所述当前数据单元中与当前CPU对应的一位数据进行置位;
S3:根据所述当前数据单元中的值判断当前宽限时期是否已经结束,若没有结束,则执行步骤S4,否则执行步骤S5;
S4:退出此次的资源回收处理过程,等待其它CPU发生上下文切换,再执行步骤S2;
S5:选择环形链表中所述当前数据单元的下一个单元;
S6:将当前CPU记录的宽限时期的次数加1;
S7:通过回调函数进行X个资源的资源回收,所述X为正整数;
S8:判断资源是否都已经回收完毕,若是,则执行步骤S4,否则执行步骤S9;
S9:将步骤S5中选择的下一个数据单元中与当前CPU对应的一位数据进行置位;
S10:根据步骤S5中选择的下一个数据单元中的值判断当前宽限时期是否已经结束,若是,则执行步骤S5,否则执行步骤S7。
2.如权利要求1所述的方法,其特征在于,步骤S1中,n取值为大于1的奇数。
3.如权利要求1所述的方法,其特征在于,步骤S2中,根据所述次数选择相应的当前数据单元是通过以下公式进行选择:
C=v mod n
其中,C为环形链表中数据单元的序号,v为所述次数,mod为取模运算,n为环形链表中数据单元的个数。
4.一种多核系统资源延迟回收锁的实现系统,其特征在于,所述系统包括:
链表构建模块,用于设置由n个数据单元所构成的环形链表,并将多核系统中的每个CPU分别对应数据单元中的一位数据;
置位模块,用于在当前CPU发生了上下文切换后,进入资源回收处理过程中,获取当前CPU进入宽限时期的次数,根据所述次数选择相应的当前数据单元,并将所述当前数据单元中与当前CPU对应的一位数据进行置位;
宽限结束判断模块,用于根据所述当前数据单元中的值判断当前宽限时期是否已经结束,若没有结束,则执行退出等待模块的操作,否则执行选择模块的操作;
退出等待模块,用于退出此次的资源回收处理过程,等待其它CPU发生上下文切换,再执行置位模块的操作;
选择模块,用于选择环形链表中所述当前数据单元的下一个单元;
次数自加模块,用于将当前CPU记录的宽限时期的次数加1;
资源回收模块,用于通过回调函数进行X个资源的资源回收,所述X为正整数;
回收完毕判断模块,用于判断资源是否都已经回收完毕,若是,则执行退出等待模块的操作,否则执行再置位模块的操作;
再置位模块,用于将选择模块中选择的下一个数据单元中与当前CPU对应的一位数据进行置位;
宽限结束再判断模块,用于根据选择模块中选择的下一个数据单元中的值判断当前宽限时期是否已经结束,若是,则执行选择模块的操作,否则执行资源回收模块的操作。
5.如权利要求4所述的系统,其特征在于,链表构建模块中,n取值为大于1的奇数。
6.如权利要求4所述的系统,其特征在于,置位模块中,根据所述次数选择相应的当前数据单元是通过以下公式进行选择:
C=v mod n
其中,C为环形链表中数据单元的序号,v为所述次数,mod为取模运算,n为环形链表中数据单元的个数。
CN201210010796.XA 2012-01-13 2012-01-13 多核系统资源延迟回收锁的实现方法及系统 Expired - Fee Related CN102609313B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201210010796.XA CN102609313B (zh) 2012-01-13 2012-01-13 多核系统资源延迟回收锁的实现方法及系统
PCT/CN2012/086437 WO2013104230A1 (zh) 2012-01-13 2012-12-12 多核系统资源延迟回收锁的实现方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210010796.XA CN102609313B (zh) 2012-01-13 2012-01-13 多核系统资源延迟回收锁的实现方法及系统

Publications (2)

Publication Number Publication Date
CN102609313A CN102609313A (zh) 2012-07-25
CN102609313B true CN102609313B (zh) 2014-04-02

Family

ID=46526706

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210010796.XA Expired - Fee Related CN102609313B (zh) 2012-01-13 2012-01-13 多核系统资源延迟回收锁的实现方法及系统

Country Status (2)

Country Link
CN (1) CN102609313B (zh)
WO (1) WO2013104230A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609313B (zh) * 2012-01-13 2014-04-02 汉柏科技有限公司 多核系统资源延迟回收锁的实现方法及系统
CN104079526A (zh) * 2013-03-25 2014-10-01 北京百度网讯科技有限公司 支持实时策略加载的流量过滤防攻击方法与系统
CN107357648B (zh) * 2017-05-25 2020-05-15 吕锦柏 一种多核cpu访问资源时自旋锁的实现方法
CN108491727B (zh) * 2018-04-08 2021-03-16 成都三零嘉微电子有限公司 一种融合通用计算、可信计算、密码计算的安全处理器
CN109962861B (zh) * 2019-03-28 2022-02-25 新华三信息安全技术有限公司 一种报文统计方法及装置
CN112445428B (zh) * 2020-10-23 2023-01-10 苏州浪潮智能科技有限公司 一种硬盘主从垃圾回收方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101178679A (zh) * 2007-12-14 2008-05-14 华为技术有限公司 多核系统中内存核查的方法和系统
CN101770403A (zh) * 2008-12-30 2010-07-07 北京天融信网络安全技术有限公司 一种多核平台上控制系统配置并发与同步的方法
CN101894049A (zh) * 2010-07-14 2010-11-24 中兴通讯股份有限公司 一种自适应回收垃圾对象的系统及方法
CN102209016A (zh) * 2010-03-29 2011-10-05 成都市华为赛门铁克科技有限公司 一种数据处理方法、装置和数据处理系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7454581B2 (en) * 2004-10-27 2008-11-18 International Business Machines Corporation Read-copy update grace period detection without atomic instructions that gracefully handles large numbers of processors
US9459963B2 (en) * 2009-09-03 2016-10-04 International Business Machines Corporation Safely rolling back transactions in a transactional memory system with concurrent readers
CN102609313B (zh) * 2012-01-13 2014-04-02 汉柏科技有限公司 多核系统资源延迟回收锁的实现方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101178679A (zh) * 2007-12-14 2008-05-14 华为技术有限公司 多核系统中内存核查的方法和系统
CN101770403A (zh) * 2008-12-30 2010-07-07 北京天融信网络安全技术有限公司 一种多核平台上控制系统配置并发与同步的方法
CN102209016A (zh) * 2010-03-29 2011-10-05 成都市华为赛门铁克科技有限公司 一种数据处理方法、装置和数据处理系统
CN101894049A (zh) * 2010-07-14 2010-11-24 中兴通讯股份有限公司 一种自适应回收垃圾对象的系统及方法

Also Published As

Publication number Publication date
WO2013104230A1 (zh) 2013-07-18
CN102609313A (zh) 2012-07-25

Similar Documents

Publication Publication Date Title
CN102609313B (zh) 多核系统资源延迟回收锁的实现方法及系统
CN101576830B (zh) 数据库事务锁机制的死锁检测方法及装置
CN101493785B (zh) 根据客户软件的特许级支持向虚拟机监视器转移
CN102163072B (zh) 用于节能的基于软件的线程重映射
CN101877120B (zh) 支持多个绘图处理器的互动的方法与系统
CN101968751B (zh) 共享已空闲的处理器执行资源
CN101452400A (zh) 处理多处理器系统中事务缓冲器溢出的方法和系统
CN103761182A (zh) 一种死锁检测方法及装置
CN102999378A (zh) 一种读写锁实现方法
CN101840390B (zh) 适用于多处理器系统的硬件同步电路结构及其实现方法
CN101702231A (zh) 绘图处理单元同步系统与方法
CN102103541B (zh) 防止内存泄露和内存多次释放的内核模块内存管理方法
CN105700941A (zh) 三维调度器模型及其调度算法
CN101788922A (zh) 基于辅助线程实现事务存储系统的方法和装置
CN101729410A (zh) 一种媒体访问控制地址表的同步方法及装置
CN100543686C (zh) 一种检测任务死循环的方法及系统
CN102436393B (zh) 任务处理装置
CN102141932B (zh) 大临界区保护方法
CN102209016A (zh) 一种数据处理方法、装置和数据处理系统
CN101504615A (zh) 为任务死循环提供定位信息的方法和装置
Madalinski et al. Predictability verification with parallel LTL-X model checking based on Petri net unfoldings
CN102737163B (zh) 一种印刷数据的处理方法及系统
CN102708195B (zh) 一种表单数据共享方法及装置
Garg et al. Efficient algorithms for global snapshots in large distributed systems
Alur et al. Contention—free complexity of shared memory algorithms

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
PP01 Preservation of patent right
PP01 Preservation of patent right

Effective date of registration: 20180823

Granted publication date: 20140402

PD01 Discharge of preservation of patent
PD01 Discharge of preservation of patent

Date of cancellation: 20210823

Granted publication date: 20140402

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140402

Termination date: 20190113