CN117112244A - 一种面向混合实时性任务集的非对称stm同步方法 - Google Patents
一种面向混合实时性任务集的非对称stm同步方法 Download PDFInfo
- Publication number
- CN117112244A CN117112244A CN202311057640.1A CN202311057640A CN117112244A CN 117112244 A CN117112244 A CN 117112244A CN 202311057640 A CN202311057640 A CN 202311057640A CN 117112244 A CN117112244 A CN 117112244A
- Authority
- CN
- China
- Prior art keywords
- lock
- transaction
- shared resource
- real
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 19
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 230000004048 modification Effects 0.000 claims description 4
- 238000012986 modification Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 claims description 3
- 238000005096 rolling process Methods 0.000 claims description 3
- 238000002955 isolation Methods 0.000 abstract description 7
- 230000007246 mechanism Effects 0.000 abstract description 2
- 230000001360 synchronised effect Effects 0.000 description 5
- 101100406597 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) OST1 gene Proteins 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000007717 exclusion Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 235000003642 hunger Nutrition 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000037351 starvation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 239000002699 waste material Substances 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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
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同步方法,应用于计算机领域,针对系统中存在实时任务与非实时任务且实时任务与非实时任务间存在共享资源访问冲突的情况,从而导致实时任务的实时性难以得到保障的问题;本发明中的有锁事务主要面向实时任务对共享资源的请求,通过软件事务性内存对共享资源的请求进行封装,并采用基于优先级队列的细粒度读写锁确保事务执行的有效推进,无锁事务主要面向非实时任务对共享资源的请求,任务通过无锁事务访问共享资源时无需获得任何锁,也不进入资源等待队列,而是通过版本号和回滚机制避免资源访问的冲突;本发明中实现了实时性隔离的特性,同时也进一步提高了非实时任务的并发性。
Description
技术领域
本发明属于计算机领域,特别涉及一种计算机实时信息处理任务调度技术。
背景技术
在实时系统中,任务可能并发地访问共享资源。为了防止对共享资源的并发访问的竞态危害,实时系统通常使用锁来确保可能存在资源冲突的临界区的同步互斥执行。
然而,锁的使用可能导致系统中发生优先级翻转与死锁。优先级翻转表现为高优先级任务等待低优先级任务执行的情况。在使用锁进行资源同步的情况下,优先级翻转难以避免,但在特定情况下可能发生时间无法预测的优先级翻转,即高优先级任务在等待低优先级任务释放锁时,低优先级的临界区执行被中优先级任务抢占而导致高优先级任务长时间阻塞的情况。实时系统通常使用锁协议来防止时间不可预测的优先级翻转。对于死锁现象,避免发生死锁的方法主要有两种。第一种是使用粗粒度锁,粗粒度锁使用一个锁来保证对若干个共享资源的同步互斥访问,通过避免对相关资源的嵌套访问,从而防止死锁。如Linux早期版本所采用的大内核锁。第二种则考虑对细粒度锁的上锁顺序进行约束,从而避免可能形成的交叉等待。相对于粗粒度锁,细粒度锁则尽可能地区分不同的共享资源,并通过不同的锁进行保护,从而减少共享资源冲突。因此,粗粒度锁在实现和验证上更为简单,而细粒度锁则具有更高的并发效率。
软件事务内存(software transactional memory,STM)是一种并发控制框架,它提供了一种事务的概念来管理并发访问共享内存,避免因共享资源竞争所导致的竞态危害。在软件事务性内存框架下,一个事务由一系列操作所构成,事务中的操作必须遵循原子性、一致性、隔离性以及持久性。原子性表示事务中的操作系统的影响要么全部生效,要么全部失效,不存在部分生效的情况;一致性表示事务必须使得系统从一个一致的状态转换到另一个一致的状态;隔离性表示并发执行的事务不会相互影响;持久性表示事务对系统的影响是持续的。软件事务性内存为共享资源的并发访问提供了一种安全的同步框架,满足该框架下的不同实现方法均可以保证系统中的任务在并发地访问共享资源时的逻辑正确性。同时,基于该框架下的事务在实现过程中无需考虑事务内部的操作对其它事务实现的影响。因此,基于软件事务性内存同步框架的开发更为简单,对于系统安全性的验证也更加方便。
RTOS的调度策略直接决定其可靠性和实时性,主流的调度策略有基于优先级的非抢占调度和抢占调度,通过优先级高低来定义任务的实时性。有些操作系统也实现动态优先级调整,以解决“饥饿效应”等问题。
目前实时系统中的共享资源同步访问方式普遍采用基于锁的共享资源访问协议,即实时锁协议,来确保任务执行的时间可预测性。任务执行时间的可预测性依赖于实时任务的已知属性,如最坏情况执行时间、最短周期、共享资源资源访问次数、临界区长度等,以上属性可以通过静态分析的方法进行估算。
然而,系统中可能存在实时任务与非实时任务共存的情况,而非实时任务往往无法提供可预测执行时间的属性,若实时任务与非实时任务之间存在共享资源访问冲突,则对实时任务的时间可预测性造成难以估计的影响。
目前已知的实时锁协议或基于软件事务性内存框架的实现方法均未考虑实时与非实时任务共存的情况,直接应用已知方法可能导致系统的实时性受到影响。
目前实时操作系统中的调度技术普遍仅针对实时任务,根据不同关键性和安全级别来分配实时性任务的优先级,以确保硬实时任务能够在规定时间内完成,同时不会影响软实时任务的执行效率。所有任务都需要提供常用的评估指标,如最坏情况执行时间、响应时间、截止时间等。因此,若直接采用现有调度技术去实现混合实时性系统会导致非实时任务也需要提供实时任务才具备的评估属性,并将非实时任务视为弱实时任务来进行处理。这样不仅会导致非实时任务处理复杂化,造成资源浪费,也会影响运行效率,对实时任务的时间可预测性造成一定影响。
发明内容
为解决上述技术问题,本发明提出一种面向混合实时性任务集的非对称软件事务性内存同步方法,实现了两种不同的事务处理方式,有效实现实时性与非实时性隔离,为实时与非实时并存的系统提供了一种可行的非对称软件事务性内存同步框架。
本发明采用的技术方案为:一种面向混合实时性任务集的非对称软件事务性内存同步方法,包括:
S1、对任务中的共享资源请求进行封装,具体的:将实时任务对共享资源的请求封装为需要锁定共享资源的有锁事务,其中,包括有写操作的有锁事务记为写锁事务,只包括读操作的有锁事务记为读锁事务;将非实时任务对共享资源的请求封装为不需要锁定共享资源的无锁事务;
S2、写锁事务的执行需要先获得所请求共享资源的写锁,读锁事务的执行需要先获得所请求共享资源的读锁;访问共享资源的读写锁采用基于优先级队列的自旋锁实现;写锁事务与读锁事务的执行不能被抢占;
对于无锁事务的执行,则无需先获得所请求共享资源的写锁或读锁,而是将共享资源的数据拷贝至本地并记录资源的版本号,执行过程中对共享资源的操作仅对本地的共享资源副本有效;
S3、当写锁事务执行完毕后,将所更改的共享资源的版本号加一,然后释放该事务所持有的写锁;当读锁事务执行完毕后,将释放该事务所持有的读锁;
当无锁事务执行完毕后,将对共享资源的修改提交至全局,并把所更改共享资源的版本号加一。
共享资源的写锁采用基于优先级队列的自旋锁实现,具体为:
当写锁事务对共享资源的所有请求位于对应优先级队列的队首,且这些共享资源不被其它事务的写锁或读锁保护,则该写锁事务获得这些共享资源的写锁;否则该写锁事务忙等。
共享资源的读锁采用基于优先级队列的自旋锁实现,具体为:
当读锁事务对共享资源的所有请求位于对应优先级队列的队首,且这些共享资源不被其它事务的写锁保护,则该读锁事务获得这些共享资源的读锁;否则该读锁忙等。
无锁事务中所有操作执行完成后,验证访问的共享资源是否被有锁事务锁住或版本号与记录不符,如果是,则直接回滚,放弃所有操作并重新执行直至提交成功。
本发明的有益效果:本发明面向高并发和具有混合实时性任务集需求的RTOS场景,结合软件事务性内存框架,提出了一种结合有锁和无锁事务的共享资源同步方式,为实时与非实时任务并存的系统提供了一种可行的非对称软件事务性内存同步方法,有效避免了非实时任务对实时任务的阻塞,实现了混合实时性任务集合的实时性隔离。
有锁事务面向实时任务,通过基于优先级队列的细粒度读写锁访问资源,事务内的所有请求均在所需共享资源的优先级队列中排序,待所有请求均处于队首后,所有所需共享资源上锁,事务开始执行,事务的执行不需要回滚且执行时不可被抢占。
无锁事务面向非实时任务,访问资源时不参与资源请求队列,无需获得任何锁,通过版本号和回滚机制实现避免资源冲突。当无锁事务执行完成并即将提交时,无锁事务将验证其所有请求访问的共享资源是否被有锁事务锁住或者版本号是否有所变动。若是,则回滚并重新执行,循环上述步骤直至提交成功;若否,则事务提交成功并修改版本号。
无锁事务与有锁事务的并发执行不需要考虑同步互斥,因此无锁事务的执行不会对有锁事务造成阻塞。保障了混合实时性任务集中实时任务的时间可预测性,实现了实时性隔离的特性,同时也提高了非实时任务的并发性。
本发明与现有技术相比具有以下优点及有益效果:
1.实时性隔离:非实时任务对共享资源的访问不会对实时任务造成阻塞。
2.安全性/可靠性保证:软件事务性内存框架与基于优先级队列的自旋锁相结合,能够保证一个事务在访问多个共享资源时的原子性,可有效避免对共享资源的无序嵌套访问而导致的死锁。
3.实时性保证:基于优先级队列的自旋锁以及不可抢占式执行的有锁事务的可以有效推进事务的执行。
4.并发效率/吞吐量提高:软件事务性内存框架与基于优先级队列的自旋锁相结合的方法能够在支持对细粒度的共享资源访问,读写锁的使用能够有效缓解资源竞争,提高系统并发效率和吞吐量。
5.兼容性保证:实现上该框架不需要额外的硬件、特殊的编译链接器支持。分析上,可以支持传统的基于粗粒度锁的分析方法进行实时系统的可调度性分析。
附图说明
图1为本发明有锁事务共享资源请求排队方案。
图2为本发明当资源被锁住时无锁事务的执行流程。
图3为本发明当资源版本号改变时无锁事务的执行流程。
具体实施方式
为便于本领域技术人员理解本发明的技术内容,下面结合附图对本发明内容进一步阐释。
本发明具体实现内容如下:
规则1:一个事务可包含若干个共享资源请求,本发明将事务分为有锁事务与无锁事务。其中有锁事务根据对共享资源请求操作的不同可进一步分为写锁事务与读锁事务,包含任意对共享资源的写操作的有锁事务为写锁事务,仅包含对共享资源的读操作的有锁事务为读锁事务。另一方面,无锁事务不使用锁,因此无需根据读写操作进一步区分事务类型。
规则2:写锁事务中的所有共享资源请求均需要获得写锁,且该写锁事务能得以执行当且仅当其已获得了所有的写锁(写锁与同一资源的写锁和读锁互斥)。
规则3:读锁事务中的所有共享资源请求均需要获得读锁,且该读锁事务能得以执行当且仅当其已获得了所有的读锁(读锁与同一资源的写锁互斥)。
规则4:共享资源的读写锁由基于优先级队列的自旋锁实现,且读锁事务与写锁事务的执行不可抢占。
规则5:一个写锁事务能够获得其所需要的写锁当且仅当其所有共享资源请求都处于对应等待队列的队首,且不存在被写或读锁保护的共享资源,一个读锁事务能够获得其所需要的读锁当且仅当其所有共享资源请求都处于对应等待队列的队首,且不存在被写锁保护的共享资源,否则事务将忙等。
如图1所示,开始时,写锁事务A对共享资源R1的请求已经处于队首,而对共享资源R2、R3的请求尚未处于队首;写锁事务A在保持对共享资源在保持对共享资源R1的请求在队首,同时对共享资源R2、R3的请求进行忙等,知道更高优先级的事务访问完这些共享资源,并释放这些共享资源,写锁事务A到达队首;当共享资源R1、R2、R3不存在被其他写锁或读锁保护,且写锁事务A对共享资源R1、R2、R3的请求均位于队首,则写锁事务A对共享资源R1、R2、R3同时上锁。
规则6:无锁事务在事务开始执行前无需获得任何共享资源的锁,而是为所需的共享资源维护对应的版本号。一个无锁事务在执行前首先将所需的共享资源数据拷贝至本地,并记录各共享资源的版本号,无锁事务的执行仅访问各共享资源在本地的副本,待执行完成后才提交对共享资源的更改,该无锁事务对全局共享资源的更改仅在该事务成功提交后才得以生效,并且在提交成功时将被更改的共享资源的版本号加一,事务的提交与版本号的变更应当满足原子性。无锁事务能够提交成功当且仅当其所需共享资源的版本号未被更改且未被任意事先锁定事务锁住,否则该无锁事务需要回滚,即拷贝最新的共享资源副本并重新执行后尝试提交。
如图2所示,有锁事务LT1将共享资源R1锁住,导致无锁事务NLT1回滚并重新执行、验证、提交。
如图3所示为当共享资源R1版本号改变时,无锁事务的执行流程,具体的:无锁事务NLT1开始事务,访问共享资源R1,并记录此时的版本号;同时无锁事务NLT2也在对共享资源R1进行访问,并记录了版本号;并且先于无锁事务R1完成验证提交,修改了共享资源R1的版本号,当无锁事务NLT1发起验证时,发现共享资源R1的版本号已被更改,则无锁事务NLT1回滚重新执行、验证、提交。
规则7:读锁事务与写锁事务必须原子性地获得所有的锁,否则将忙等。写锁事务执行完毕后将把所更改资源的版本号加一,并释放所有的锁。读锁事务执行完毕后则直接释放所有的锁。
上述技术方案中,在所述规则4中,构建共享资源集合,具体如下:
对于系统中所有读、写锁事务所需访问的共享资源,其中每一个共享资源都由一个基于优先级等待队列的自旋锁保护,所有在此共享资源上等待的事务,将按照事务的优先级从高至低在队列中进行排队,且队列中事务的优先级唯一。
在所述的规则5中,有锁事务对共享资源请求的排队方案具体如下:
一个有锁事务到达时首先进入该事务所需共享资源的优先级等待队列,若该事务的所有共享资源请求均处于对应共享资源等待队列的队首位置,且对应的共享资源均未被具有互斥关系的事务锁住,即一个写事务所需要的共享资源未被任意其它读事务或写事务锁住,一个读事务所需要的共享资源未被任意其它写事务锁住,该事务将原子性地对所有所需的共享资源上锁,并从对应的共享资源等待队列中移除。否则事务将忙等直到所有条件得到满足。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (4)
1.一种面向混合实时性任务集的非对称软件事务性内存同步方法,其特征在于,包括:
S1、对任务中的共享资源请求进行封装,具体的:将实时任务对共享资源的请求封装为需要锁定共享资源的有锁事务,其中,包括有写操作的有锁事务记为写锁事务,只包括读操作的有锁事务记为读锁事务;将非实时任务对共享资源的请求封装为不需要锁定共享资源的无锁事务;
S2、写锁事务的执行需要先获得所请求共享资源的写锁,读锁事务的执行需要先获得所请求共享资源的读锁;访问共享资源的读写锁采用基于优先级队列的自旋锁实现;写锁事务与读锁事务的执行不能被抢占;
对于无锁事务的执行,则无需先获得所请求共享资源的写锁或读锁,而是将共享资源的数据拷贝至本地并记录资源的版本号,执行过程中对共享资源的操作仅对本地的共享资源副本有效;
S3、当写锁事务执行完毕后,将所更改的共享资源的版本号加一,然后释放该事务所持有的写锁;当读锁事务执行完毕后,将释放该事务所持有的读锁;
当无锁事务执行完毕后,将对共享资源的修改提交至全局,并把所更改共享资源的版本号加一。
2.根据权利要求1所述的一种面向混合实时性任务集的非对称软件事务性内存同步方法,其特征在于,共享资源的写锁采用基于优先级队列的自旋锁实现,具体为:
当写锁事务对共享资源的所有请求位于对应优先级队列的队首,且这些共享资源不被其它事务的写锁或读锁保护,则该写锁事务获得这些共享资源的写锁;否则该写锁事务忙等。
3.根据权利要求1所述的一种面向混合实时性任务集的非对称软件事务性内存同步方法,其特征在于,共享资源的读锁采用基于优先级队列的自旋锁实现,具体为:
当读锁事务对共享资源的所有请求位于对应优先级队列的队首,且这些共享资源不被其它事务的写锁保护,则该读锁事务获得这些共享资源的读锁;否则该读锁忙等。
4.根据权利要求1所述的一种面向混合实时性任务集的非对称软件事务性内存同步方法,其特征在于,无锁事务中所有操作执行完成后,验证访问的共享资源是否被有锁事务锁住或版本号与记录不符,如果是,则直接回滚,放弃所有操作并重新执行直至提交成功。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311057640.1A CN117112244A (zh) | 2023-08-22 | 2023-08-22 | 一种面向混合实时性任务集的非对称stm同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311057640.1A CN117112244A (zh) | 2023-08-22 | 2023-08-22 | 一种面向混合实时性任务集的非对称stm同步方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117112244A true CN117112244A (zh) | 2023-11-24 |
Family
ID=88794146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311057640.1A Pending CN117112244A (zh) | 2023-08-22 | 2023-08-22 | 一种面向混合实时性任务集的非对称stm同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117112244A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117076145A (zh) * | 2023-08-22 | 2023-11-17 | 电子科技大学 | 一种基于细粒度读写锁的安全高效stm同步方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101894045A (zh) * | 2010-06-18 | 2010-11-24 | 阳坚 | 一种实时Linux操作系统 |
CN103152390A (zh) * | 2013-02-04 | 2013-06-12 | 华为技术有限公司 | 分布式存储系统的节点配置方法、装置、节点及系统 |
CN103729480A (zh) * | 2014-01-29 | 2014-04-16 | 重庆邮电大学 | 一种多核实时操作系统多个就绪任务快速查找及调度方法 |
CN104077078A (zh) * | 2013-03-26 | 2014-10-01 | 华为技术有限公司 | 读存储区、更新存储区的方法及装置 |
CN104252545A (zh) * | 2014-10-11 | 2014-12-31 | 南京国电南自美卓控制系统有限公司 | 一种实时内存数据库的对象类型属性类型锁的实现方法 |
CN115964150A (zh) * | 2022-12-30 | 2023-04-14 | 济南浪潮数据技术有限公司 | 一种基于双实时内核的业务处理方法、系统、设备及介质 |
-
2023
- 2023-08-22 CN CN202311057640.1A patent/CN117112244A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101894045A (zh) * | 2010-06-18 | 2010-11-24 | 阳坚 | 一种实时Linux操作系统 |
CN103152390A (zh) * | 2013-02-04 | 2013-06-12 | 华为技术有限公司 | 分布式存储系统的节点配置方法、装置、节点及系统 |
CN104077078A (zh) * | 2013-03-26 | 2014-10-01 | 华为技术有限公司 | 读存储区、更新存储区的方法及装置 |
CN103729480A (zh) * | 2014-01-29 | 2014-04-16 | 重庆邮电大学 | 一种多核实时操作系统多个就绪任务快速查找及调度方法 |
CN104252545A (zh) * | 2014-10-11 | 2014-12-31 | 南京国电南自美卓控制系统有限公司 | 一种实时内存数据库的对象类型属性类型锁的实现方法 |
CN115964150A (zh) * | 2022-12-30 | 2023-04-14 | 济南浪潮数据技术有限公司 | 一种基于双实时内核的业务处理方法、系统、设备及介质 |
Non-Patent Citations (1)
Title |
---|
陈泽玮: "面向多处理器平台实时任务调度算法与锁协议的研究", 电子科技大学博士学位论文, 1 December 2021 (2021-12-01), pages 12 - 105 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117076145A (zh) * | 2023-08-22 | 2023-11-17 | 电子科技大学 | 一种基于细粒度读写锁的安全高效stm同步方法 |
CN117076145B (zh) * | 2023-08-22 | 2024-02-23 | 电子科技大学 | 一种基于细粒度读写锁的安全高效stm同步方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
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 | |
US6226717B1 (en) | System and method for exclusive access to shared storage | |
US8140497B2 (en) | System and method for implementing nonblocking zero-indirection transactional memory | |
Rossbach et al. | TxLinux: Using and managing hardware transactional memory in an operating system | |
US9448856B2 (en) | Lock-free dual queue with condition synchronization and time-outs | |
US7496726B1 (en) | Controlling contention via transactional timers among conflicting transactions issued by processors operating in insistent or polite mode | |
US8473952B2 (en) | System and method for communication between concurrent transactions using transaction communicator objects | |
US5940827A (en) | Methods and apparatus for managing a database in a distributed operating environment | |
US7908255B2 (en) | Transactional memory using buffered writes and enforced serialization order | |
US9003131B1 (en) | Method and system for maintaining context event logs without locking in virtual machine | |
US20070157200A1 (en) | System and method for generating a lock-free dual queue | |
US8302105B2 (en) | Bulk synchronization in transactional memory systems | |
US20110125973A1 (en) | System and Method for Performing Dynamic Mixed Mode Read Validation In a Software Transactional Memory | |
US10929201B2 (en) | Method and system for implementing generation locks | |
US8239635B2 (en) | System and method for performing visible and semi-visible read operations in a software transactional memory | |
US8978131B2 (en) | Deterministic serialization of access to shared resources in a multi-processor system for code instructions accessing resources in a non-deterministic order | |
JPH03161859A (ja) | リクエスト管理方法及びアクセス制御システム | |
US20070067770A1 (en) | System and method for reduced overhead in multithreaded programs | |
JPH07191944A (ja) | 多重プロセッサによる多数の資源への命令におけるデッドロックを防止するためのシステムおよび方法 | |
CN111767159A (zh) | 一种基于协程的异步系统调用系统 | |
US20080183979A1 (en) | Read-write spinlock with no mutual exclusion among readers | |
CN102929711B (zh) | 一种软件实时事务内存的实现方法 | |
CN117112244A (zh) | 一种面向混合实时性任务集的非对称stm同步方法 |
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 |