CN117076145A - 一种基于细粒度读写锁的安全高效stm同步方法 - Google Patents
一种基于细粒度读写锁的安全高效stm同步方法 Download PDFInfo
- Publication number
- CN117076145A CN117076145A CN202311057644.XA CN202311057644A CN117076145A CN 117076145 A CN117076145 A CN 117076145A CN 202311057644 A CN202311057644 A CN 202311057644A CN 117076145 A CN117076145 A CN 117076145A
- Authority
- CN
- China
- Prior art keywords
- transaction
- lock
- read
- shared resource
- write
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 15
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 230000007717 exclusion Effects 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 abstract description 8
- 238000004574 scanning tunneling microscopy Methods 0.000 description 12
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- HCIBTBXNLVOFER-UHFFFAOYSA-N diphenylcyclopropenone Chemical compound O=C1C(C=2C=CC=CC=2)=C1C1=CC=CC=C1 HCIBTBXNLVOFER-UHFFFAOYSA-N 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种基于细粒度读写锁的安全高效STM同步方法,应用于计算机领域,针对现有的基于无锁实现的软件事务性内存具有较差的时间可预测性的问题;本发明中一个写事务能够获得其所需要的写锁当且仅当其所有共享资源请求都处于队首,且不存在被写或读锁保护的共享资源,一个读事务能够获得其所需要的读锁当且仅当其所有共享资源请求都处于队首,且不存在被写锁保护的共享资源,否则事务将忙等;本发明将经典STM中的回滚机制由基于优先级队列的自旋锁代替,有效地保证了事务的推进,提高了系统的实时性。
Description
技术领域
本发明属于计算机领域,特别涉及一种计算机实时系统的任务调度与共享资源同步技术。
背景技术
在实时系统中,任务可能并发地访问共享资源。为了防止对共享资源的并发访问的竞态危害,实时系统通常使用锁来确保可能存在资源冲突的临界区的同步互斥执行,并通过实时锁协议来提高系统的时间可预测性,避免长时间的优先级翻转现象。
然而,锁的使用可能导致系统中发生死锁。避免发生死锁的方法主要有两种。第一种是使用粗粒度锁,粗粒度锁使用一个锁来保证对若干个共享资源的同步互斥访问,通过避免对相关资源的嵌套访问,从而防止死锁。如Linux早期版本所采用的大内核锁。第二种则考虑对细粒度锁的上锁顺序进行约束,从而避免可能形成的交叉等待。相对于粗粒度锁,细粒度锁则尽可能地区分不同的共享资源,并通过不同的锁进行保护,从而减少共享资源冲突。因此,粗粒度锁在实现和验证上更为简单,而细粒度锁则具有更高的并发效率。
软件事务内存(software transactional memory,STM)是一种无锁机制。与现在多线程应用程序广泛使用的锁机制不同,STM是一种乐观的并发控制机制:一个线程独立完成对共享内存的修改,完全忽略可能会有其它的线程存在,但是线程在日志中记录对共享内容的每一个读写动作。其他的并发控制一般是在进行写操作时来保证与其他事务的一致性(不能修改已经被别的事务修改过的共享数据),STM在完成一个事务之后,再验证其它线程有没有并发的对共享内存进行或修改,从而保证事务是完整的。因此,STM事务的最后一个操作是验证,如果验证通过,则提交,否则取消,导致所有以前进行的修改动作回滚。如果一个事务不能够提交,一般的,事务将回滚,并且从入口开始重新执行。关于软件事务内存在共享资源访问情形下的优势,以下通过图2的例子进行阐述。如图2所示,T1、T2、T3需要访问资源+1,任务T2、T3、T4需要访问资源R2,其中任务T2与T3对资源R1与R2的访问存在嵌套。在使用粗粒度锁时,由于资源访问不可嵌套,资源R1与R2将被视为是一个共享资源,并通过一个锁进行保护,任意对资源R1或R2的访问都需要请求相同的锁。因此在粗粒度锁的资源模型下,任务T1与T4之间也存在资源冲突。而在细粒度锁的资源模型下,资源R1与R2分别由不同的锁保护,任务T1与T4之间不存在资源冲突,因此系统可以获得更高的并发效率,但任务T2与T3对资源R1与R2的嵌套访问需要满足特定的顺序,否则将导致死锁。在STM模型下,资源R1与R2也分别由不同的锁保护,但任务T2与T3对资源R1与R2的嵌套访问需要“同时”获得对应的锁,即满足原子性,而任务T1与T4之间则不存在资源冲突。换言之,对于任务T2与T3来说,其资源同步与使用粗粒度锁的资源模型类似,而对于任务T1与T4来说,其资源同步则与使用细粒度锁的资源模型类似。对于细粒度共享资源访问的情况,软件事务内存,相对于粗粒度锁,任务之间减少了资源冲突,提升了并发效率;相对于细粒度锁,其消除了“占有且等待”这一必要条件,取消了对资源访问的顺序限制,更是有着无死锁这一优势。
现有的共享资源访问方案,分为粗粒度锁、细粒度锁以及经典的STM。其中使用粗粒度锁的方案,在单处理器平台下,最为广泛的是Sha等人所提出的优先级继承协议(priority inheritance protocol,PIP)与优先级天花板协议(priority ceilingprotocol,PCP)。PIP可以有效避免不可控的优先级反转现象,而PCP则确保了一个任务最多受到一个低优先级任务的临界区的阻塞,并且可以避免死锁的产生。在多处理器平台下,经典的实时锁协议有分布式优先级天花板协议(distributed priority ceiling protocol,DPCP)与面向共享内存的多处理器优先级天花板协议(multiprocessor priority ceilingprotocol,MPCP)。对于自旋锁,经典的协议有面向分组调度的多处理器栈资源策略(multiprocessor stack resource policy,MSRP)。使用细粒度锁的方案,代表是及能够有效控制资源嵌套传递阻塞的实时嵌套锁协议(real-time nested locking protocol,RNLP)。使用STM的方案,包括经典的STM实现(original STM),事务性锁Ⅱ(transactionallockingⅡ),以及取消了回滚的免回滚实时软件事务性内存(retry-free real-time STM,from RTSS21)。
实时锁协议普遍考虑通过粗粒度锁来避免死锁,但是粗粒度锁的使用可能加剧共享资源的竞争,降低系统并发效率。另一方面,细粒度锁虽然能够有效地缓解共享资源的竞争,但是对共享资源的嵌套访问可能导致死锁,因此给系统的实现与验证带来了很大的挑战。
软件事务性内存是一种简单高效的细粒度资源同步框架,主流的软件事务性内存实现方法主要通过事务的回滚来解决共享资源的冲突访问,是一种无锁同步机制。该方式虽然在一般情况下具有更高的并发效率,但由于缺乏事务的排队与推进机制,一个事务可能在极端情况下经历次数无法预测的回滚,从而导致任务在长时间内无法推进。因此,基于无锁实现的软件事务性内存具有较差的时间可预测性。
对时间可预测性的苛刻要求导致软件事务性内存在实时系统中的应用受到阻碍。尽管存在少数基于锁实现的软件事务性内存方案,但是目前已知的基于锁实现的软件事务性内存方案尚未采用细粒度的读写锁来实现,同时也并不能保证事务的有效推进,因此仍然无法直接应用于具有强实时性需求的场景,此外其实现需要编译器级别的支持,限制了其移植性。
发明内容
为解决上述技术问题,本发明提出一种基于细粒度读写锁的安全高效软件事务性内存同步方法,通过细粒度读写锁避免了传统软件事务性内存在资源访问冲突时的回滚,从而保证事务的有效推进。同时,本发明所涉及的同步框架能够保证事务在开始执行前原子性地对所需访问的共享资源上锁,从而可有效避免细粒度锁的随机嵌套而导致的死锁问题。
本发明采用的技术方案为:一种基于细粒度读写锁的安全高效软件事务性内存同步方法,包括:
S1、对任务中的共享资源请求进行封装,具体的:将包括有写操作的请求封装为写事务,将只包括读操作的请求封装为读事务;
S2、写事务的执行需要获得对应共享资源的写锁,读事务的执行需要获得对应共享资源的读锁,所有事务的执行不能抢占;
共享资源的读锁、写锁采用基于优先级队列的自旋锁实现;
S3、一个事务执行完毕后,释放所有的锁。
共享资源的写锁采用基于优先级队列的自旋锁实现,具体为:
当写事务对于所有共享资源的中的请求均位于优先级队列的队首,且这些共享资源不存在被写锁或读锁保护,则写事务获得这些共享资源的写锁;否则写事务忙等。
共享资源的读锁采用基于优先级队列的自旋锁实现,具体为:
当读事务对于所有共享资源的中的请求位于优先级队列的队首,且这些共享资源不存在被写锁保护,则读事务获得这些共享资源的读锁;否则读事务忙等。
本发明的有益效果:本发明的方法通过细粒度读写锁避免了传统软件事务性内存在资源访问冲突时的回滚,从而保证事务的有效推进;同时,本发明所涉及的同步框架能够保证事务在开始执行前原子性地对所需访问的共享资源上锁,从而可有效避免细粒度锁的随机嵌套而导致的死锁问题。本发明与现有技术相比具有以下优点及有益效果:
1.安全性/可靠性:借助STM模型,任务对多个细粒度资源的访问顺序没有限制,同时通过消除“占有且等待”这一必要条件避免了死锁问题。
2.实时性:将经典STM中的回滚机制由基于优先级队列的自旋锁代替,有效地保证了事务的推进,提高了系统的实时性。
3.并发效率/吞吐量:使用细粒度锁缓解了资源的竞争。
4.兼容性:无需硬件及特殊的编译器支持,分析上也可使用传统的支持粗粒度锁的分析方法进行实时系统的可调度性分析。
附图说明
图1为本发明的共享资源排队等待机制;
图2为任务访问共享资源的情况示例;
图3为时序图。
具体实施方式
为便于本领域技术人员理解本发明的技术内容,下面结合附图对本发明内容进一步阐释。
本发明具体实现内容如下:
规则1:任务中的一至若干个共享资源请求封装成一个事务,事务分为写事务与只读事务,包含写操作的事务为写事务,仅包含读操作为读事务。
规则2:写事务中的所有共享资源请求均需要获得写锁,且该写事务能得以执行当且仅当其已获得了所有所需的写锁。(写锁与同一资源的写、读锁互斥)。
规则3:读事务中的所有共享资源请求均需要获得读锁,且该读事务能得以执行当且仅当其已获得了所有所需的读锁(读锁与同一资源的写锁互斥)。
规则4:事务的执行不可抢占。
规则5:共享资源的读写锁由基于优先级队列的自旋锁实现。构建共享资源集合,具体如下:
对于系统中所有事务所需访问的所有共享资源,构建一个共享资源集合,如图1所示,共享资源集合包括的共享资源有R1、R2、R3;对于集合中任意一个共享资源,都有一个自旋锁,以及一个对应的等待队列,所有在此共享资源上等待的事务,将按照事务的优先级从高至低在队列中进行排队,且队列中事务的优先级唯一。
如图1所示,一共有A、B、C、D四个事务,优先级顺序为A>B>C>D;共享资源R1的等待队列包含事务D,共享资源R2对应的等待队列包含事务A、事务B、事务D;共享资源R3的等待队列包含事务A、事务C、事务D。
规则6:一个写事务能够获得其所需要的写锁当且仅当其所有共享资源请求都处于对应等待队列的队首,且不存在被写或读锁保护的共享资源,一个读事务能够获得其所需要的读锁当且仅当其所有共享资源请求都处于对应等待队列的队首,且不存在被写锁保护的共享资源,否则事务将忙等。
共享资源请求排队方案具体如下:
对一个共享资源提出请求的事务首先进入以优先级排序的等待队列,若该事务的所有请求均处于对应共享资源等待队列的队首位置,且对应的共享资源均未被具有互斥关系的事务锁住,即一个写事务所需要的共享资源未被任意其它读事务或写事务锁住,一个读事务所需要的共享资源未被任意其它写事务锁住,该事务将原子性地对所有所需的共享资源上锁,并从对应的共享资源等待队列中移除。否则事务将忙等直到所有条件得到满足。
如图1所示,写事务D对共享资源R1的请求处于等待队列的队首,而对共享资源R2、R3的请求尚未处于等待队列的队首,则事务D保持对共享资源R1的请求在队首,不发生回滚;同时在共享资源R2、R3的等待队列的中进行等待,直到其在共享资源R2、R3等待队列中的位置变为队首。
如图1所示,读事务A对共享资源R2、R3的请求处于等待队列的队首,且不存在被写锁保护的共享资源,则事务A同时获得共享资源R2、R3的读锁,并从等待队列中出队。
如图1所示,当读事务B、C分别对共享资源R2、R3的请求处于等待队列的队首,且不存在被写锁保护的共享资源,则读事务B、C分别获得共享资源R2、R3的读锁,并从等待队列中出队。
规则7:一个事务执行完毕后,将释放所有的锁。如图1所示,读A执行完毕后释放共享资源R2、R3的读锁。
如图3所示为各事务执行的时序图,具体执行过程为:
1、读事务A请求访问共享资源R2、R3,进入等待队列,不回滚;读事务B请求访问共享资源R2,进入等待队列,不回滚;读事务C请求访问共享资源R3,进入等待队列,不回滚;写事务D请求访问共享资源R1、R2、R3,进入等待队列,不回滚;此时,写事务可以访问共享资源R1;
2、当前共享资源R2、R3处于被释放状态,读事务A对共享资源R2、R3上锁,执行读事务A;读事务A执行完毕,释放共享资源R2、R3,并退出等待队列;读事务B、写事务D在共享资源R2的队列中分别前进一位;读事务C、写事务D在共享资源R3的队列中分别前进一位;
3、读事务B可以访问共享资源R2,读事务B对共享资源R2上锁,开始执行读事务B,执行完毕,释放共享资源R2,读事务B退出共享资源R2的等待队列;写事务D在共享资源R2的队列中前进一位;
读事务C可以访问共享资源R3,读事务C对共享资源R3上锁,读事务B/C不存在资源冲突,可以并行执行,执行完毕,释放共享资源R3,读事务C退出共享资源R3的等待队列;写事务D在共享资源R3的队列中前进一位;
4、当前写事务D分别在共享资源R1、R2、R3等待队列的队首,且共享资源R1、R2、R3未被写或读锁保护,即写事务D可以访问共享资源R1、R2、R3,写事务D对共享资源R1、R2、R3上锁,开始执行;执行完毕,释放共享资源R1、R2、R3;并退出共享资源R1、R2、R3的等待队列。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (5)
1.一种基于细粒度读写锁的安全高效软件事务性内存同步方法,其特征在于,包括:
S1、对任务中的共享资源请求进行封装,具体的:将包括有写操作的请求封装为写事务,将只包括读操作的请求封装为读事务;
S2、写事务的执行需要获得对应共享资源的写锁,读事务的执行需要获得对应共享资源的读锁,所有事务的执行不能被抢占;
共享资源的读锁、写锁采用基于优先级队列的自旋锁实现;
S3、一个事务执行完毕后,释放所有的锁。
2.根据权利要求1所述的一种基于细粒度读写锁的安全高效软件事务性内存同步方法,其特征在于,优先级队列具体为:每个共享资源对应一个等待队列;在同一共享资源上等待的事务,按照事务的优先级从高到低在等待队列中进行排队,且等待队列中事务的优先级唯一。
3.根据权利要求2所述的一种基于细粒度读写锁的安全高效软件事务性内存同步方法,其特征在于,共享资源的读锁、写锁采用基于优先级队列的自旋锁实现,具体的:
对一个共享资源提出请求的事务首先进入以优先级排序的等待队列,若该事务的所有请求均处于对应共享资源等待队列的队首位置,且对应的共享资源均未被具有互斥关系的事务锁住;则该事务将原子性地对所有所需的共享资源上锁,并从对应的共享资源等待队列中移除;否则事务忙等直到所有条件得到满足。
4.根据权利要求3所述的一种基于细粒度读写锁的安全高效软件事务性内存同步方法,其特征在于,写锁与同一共享资源的写锁、读锁互斥。
5.根据权利要求4所述的一种基于细粒度读写锁的安全高效软件事务性内存同步方法,其特征在于,读锁与同一共享资源的写锁互斥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311057644.XA CN117076145B (zh) | 2023-08-22 | 2023-08-22 | 一种基于细粒度读写锁的安全高效stm同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311057644.XA CN117076145B (zh) | 2023-08-22 | 2023-08-22 | 一种基于细粒度读写锁的安全高效stm同步方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117076145A true CN117076145A (zh) | 2023-11-17 |
CN117076145B CN117076145B (zh) | 2024-02-23 |
Family
ID=88712903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311057644.XA Active CN117076145B (zh) | 2023-08-22 | 2023-08-22 | 一种基于细粒度读写锁的安全高效stm同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117076145B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6076126A (en) * | 1997-06-30 | 2000-06-13 | Emc Corporation | Software locking mechanism for locking shared resources in a data processing system |
US20060206901A1 (en) * | 2005-03-08 | 2006-09-14 | Oracle International Corporation | Method and system for deadlock detection in a distributed environment |
CN102073540A (zh) * | 2010-12-15 | 2011-05-25 | 北京新媒传信科技有限公司 | 分布式事务提交方法和装置 |
CN102929711A (zh) * | 2012-09-24 | 2013-02-13 | 浙江大学 | 一种软件实时事务内存的实现方法 |
CN107463442A (zh) * | 2017-07-12 | 2017-12-12 | 北京控制工程研究所 | 一种星载多核SoC任务级负载均衡并行调度方法 |
CN111984379A (zh) * | 2020-07-14 | 2020-11-24 | 上海金仕达软件科技有限公司 | 读写事务控制方法、系统、终端设备及存储介质 |
CN117112244A (zh) * | 2023-08-22 | 2023-11-24 | 电子科技大学 | 一种面向混合实时性任务集的非对称stm同步方法 |
-
2023
- 2023-08-22 CN CN202311057644.XA patent/CN117076145B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6076126A (en) * | 1997-06-30 | 2000-06-13 | Emc Corporation | Software locking mechanism for locking shared resources in a data processing system |
US20060206901A1 (en) * | 2005-03-08 | 2006-09-14 | Oracle International Corporation | Method and system for deadlock detection in a distributed environment |
CN102073540A (zh) * | 2010-12-15 | 2011-05-25 | 北京新媒传信科技有限公司 | 分布式事务提交方法和装置 |
CN102929711A (zh) * | 2012-09-24 | 2013-02-13 | 浙江大学 | 一种软件实时事务内存的实现方法 |
CN107463442A (zh) * | 2017-07-12 | 2017-12-12 | 北京控制工程研究所 | 一种星载多核SoC任务级负载均衡并行调度方法 |
CN111984379A (zh) * | 2020-07-14 | 2020-11-24 | 上海金仕达软件科技有限公司 | 读写事务控制方法、系统、终端设备及存储介质 |
CN117112244A (zh) * | 2023-08-22 | 2023-11-24 | 电子科技大学 | 一种面向混合实时性任务集的非对称stm同步方法 |
Non-Patent Citations (2)
Title |
---|
ZHENGYU HE 等: "Impact of early abort mechanisms on lock-based software transactional memory", 《2009 INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING (HIPC)》, 18 March 2010 (2010-03-18), pages 225 - 234 * |
杨茂林 等: "共享资源约束下多核实时任务分配算法", 《浙江大学学报(工学版)》, 15 January 2014 (2014-01-15), pages 113 - 117 * |
Also Published As
Publication number | Publication date |
---|---|
CN117076145B (zh) | 2024-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9996402B2 (en) | System and method for implementing scalable adaptive reader-writer locks | |
US10353749B2 (en) | Lock-free dual queue with condition synchronization and time-outs | |
US8458721B2 (en) | System and method for implementing hierarchical queue-based locks using flat combining | |
US8973004B2 (en) | Transactional locking with read-write locks in transactional memory systems | |
US8539168B2 (en) | Concurrency control using slotted read-write locks | |
US7395383B2 (en) | Realtime-safe read copy update with per-processor read/write locks | |
US8473952B2 (en) | System and method for communication between concurrent transactions using transaction communicator objects | |
US10929201B2 (en) | Method and system for implementing generation locks | |
US7962923B2 (en) | System and method for generating a lock-free dual queue | |
US7793052B2 (en) | System and method for implementing hybrid single-compare-single-store operations | |
US20230333916A1 (en) | Generic Concurrency Restriction | |
US9268698B1 (en) | Method and system for maintaining context event logs without locking in virtual machine | |
US8166255B2 (en) | Reservation required transactions | |
US8302105B2 (en) | Bulk synchronization in transactional memory systems | |
US8239635B2 (en) | System and method for performing visible and semi-visible read operations in a software transactional memory | |
US20070067770A1 (en) | System and method for reduced overhead in multithreaded programs | |
JPH07191944A (ja) | 多重プロセッサによる多数の資源への命令におけるデッドロックを防止するためのシステムおよび方法 | |
Moir | Hybrid transactional memory | |
CN117112244A (zh) | 一种面向混合实时性任务集的非对称stm同步方法 | |
CN109901913B (zh) | 一种可控重复执行次数的多线程事务存储编程模型方法 | |
Takada et al. | A novel approach to multiprogrammed multiprocessor synchronization for real-time kernels | |
Haider et al. | Lease/release: Architectural support for scaling contended data structures | |
Wang et al. | Be my guest: MCS lock now welcomes guests | |
CN117076145B (zh) | 一种基于细粒度读写锁的安全高效stm同步方法 | |
Nelson-Slivon et al. | Technical Report: Asymmetric Mutual Exclusion for RDMA |
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 |