[发明专利]一种队列CAS原子操作控制方法有效

专利信息
申请号: 201810169516.7 申请日: 2018-02-28
公开(公告)号: CN108509186B 公开(公告)日: 2021-06-15
发明(设计)人: 王俊昌;田杨锋;付雄 申请(专利权)人: 南京邮电大学
主分类号: G06F8/30 分类号: G06F8/30
代理公司: 南京经纬专利商标代理有限公司 32200 代理人: 田凌涛
地址: 210023 江*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明涉及一种队列CAS原子操作控制方法,基于队列切片思想,用以解决现有技术用CAS loop语句判断生产者单个指针位置、进而间接判断基于范围原子操作极大情况下CAS失败的问题。并且通过所设计方法,将队列元素进行分片,不再单纯判断生产者head指向的单个元素位置,改为CAS判断前后生产者指针指向的片号值,极大程度上提高了队列算法的效率。
搜索关键词: 一种 队列 cas 原子 操作 控制 方法
【主权项】:
1.一种队列CAS原子操作控制方法,其特征在于:针对发送端向接收端所发送长度为k·2n的无锁单生产者单消费者队列,实现接收端对队列中数据的CAS原子性操作,包括如下步骤,其中,k和n均为不小于1的整数;步骤A.针对队列中的所有队列单元,按2n个队列单元为一个片块,顺序划分获得k个片块,然后进入步骤B;步骤B.针对生产者指针所指向队列中的队列单元,构建数据长度为2n bit位的生产者指针地址,其中,生产者指针地址中的高n bit位表示生产者指针所指队列单元所在片块的首地址,生产者指针地址中的低n bit位表示生产者指针所指队列单元在所在片块中的偏低地址,然后进入步骤C;步骤C.判断生产者指针是否越过队列预设阈值位置,是则无法实现接收端对队列中数据的CAS原子性操作,控制方法结束;否则进入步骤D;步骤D.获取生产者指针地址中高n bit位的副本数据,并进入步骤E;步骤E.获取队列副本,由接收端根据消费者指针,针对队列副本执行关键操作,然后进入步骤F;步骤F.获取队列副本中生产者指针地址中的高n bit位数据,并进入步骤G;步骤G.判断生产者指针地址中高n bit位的副本数据,与队列副本中生产者指针地址中的高n bit位数据,两者是否相等,是则进入步骤H;否则返回步骤C;步骤H.采用队列副本针对队列进行替换更新,完成接收端对队列中数据的CAS原子性操作。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京邮电大学,未经南京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201810169516.7/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top