【技术实现步骤摘要】
本专利技术涉及基于多处理器系统软件事物内存的实现技术,特别是涉及一种基于延时策略 的软件事务内存的实现方法。
技术介绍
在并行计算的多线程编程模型中,不可避免地会引入如何保证共享数据同步的问题。当 前,锁机制是实现对共享数据互斥访问较常用的方法。使用锁机制的过程一般是这样的程 序员首先正确地识别出算法中的并行性,然后编写代码将独立的任务分配到并行机上,通常 是一个处理器上运行一个线程。对于必须要顺序执行的任务,比如对共享资源的更新操作, 程序员必须使用同步机制来协调线程间的执行顺序。这时,程序员就使用互斥锁来创建临界 区,保证在某个时刻只允许一个线程进入访问共享资源。为了保证始终能互斥访问共享数据 结构,程序员必须使用锁来协调临界区内的数据访问。但是锁会带来很多额外的问题,使程 序设计变得复杂而费时。主要的问题有死锁、护航、优先级反转。由于这些问题的存在,基于锁的并行编程对于一般的程序员来说并不是一个很好的选 择,特别是随着多核时代的到来。同时,研究人员也在不断寻找代替锁策略的更先进、更高效的方案。其中最有前途、最 热门的当属事务内存。在事务内存模型中,程序员将 ...
【技术保护点】
一种基于延时策略的软件事务内存的实现方法,包括以下步骤: 1)事务创建 为软件事务提供四个状态:Active,Aborted,Committing和Committed,分别表示事务正在运行、事务已经终止、软件事务已经完成对对象的操作等待提交、事务已经提交成功; 在程序执行过程中碰到需要对一个对象进行读写操作时事务被创建,事务是一串连续的对同一个对象进行操作的指令集合;在事务S↓[i]中,用S↓[i]表示创建事务i时的系统时间,作为事务i的开始时间;用flag表示事务i是否有读写操作,如果有,则flag为真,如果没有,则flag为假; 2)事务冲突产生 在事务进行读写操作时, ...
【技术特征摘要】
1. 一种基于延时策略的软件事务内存的实现方法,包括以下步骤1)事务创建为软件事务提供四个状态Active,Aborted,Committing和Committed,分别表示事务正在运行、事务已经终止、软件事务已经完成对对象的操作等待提交、事务已经提交成功;在程序执行过程中碰到需要对一个对象进行读写操作时事务被创建,事务是一串连续的对同一个对象进行操作的指令集合;在事务Si中,用Si表示创建事务i时的系统时间,作为事务i的开始时间;用flag表示事务i是否有读写操作,如果有,则flag为真,如果没有,则flag为假;2)事务冲突产生在事务进行读写操作时,有两种情况会导致软件事务间的冲突a. 一事务进行读操作,在获取数据的过程中,发现有其他事务已经在写该数据;b. 一事务进行写操作,在获取数据的过程中,发现有其他事务已经在读或写该数据;3)事务冲突延时仲裁在事务i和j发生冲突时,采用延迟策略进行仲裁,仲裁方式如下a. 当Si<Sj或者Si=Sj时,延迟策略就将j事务终止;b. 当Si>...
【专利技术属性】
技术研发人员:陈天洲,马建良,曹满,乔福明,章铁飞,项凌翔,王春昊,刘敬伟,陈剑,缪良华,
申请(专利权)人:浙江大学,
类型:发明
国别省市:86
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。