[发明专利]队列管理方法和队列管理器、队列消息的处理方法和系统有效

专利信息
申请号: 200710160669.7 申请日: 2007-12-26
公开(公告)号: CN101470623A 公开(公告)日: 2009-07-01
发明(设计)人: 卢宏生;许勇;郑为华;李媛;范正兵;汪崇学;朱巍;陈健 申请(专利权)人: 无锡江南计算技术研究所
主分类号: G06F9/46 分类号: G06F9/46;G06F15/163
代理公司: 北京集佳知识产权代理有限公司 代理人: 李 丽
地址: 214083江苏*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 队列 管理 方法 管理器 消息 处理 系统
【说明书】:

技术领域

本发明涉及计算机技术,特别是涉及一种队列管理方法和队列管理器、队列消息的处理方法和系统。

背景技术

在大规模并行计算机网络系统中,共享存储和消息传递是并行计算的两个主要编程模型。通常,系统包含有多个节点,每个节点内有多个处理器(CPU),节点内存储器为分布共享存储器结构,因此,节点内的CPU可以直接读写本节点内的所有存储器(即共享存储)的数据;而当一个节点的CPU要访问另一个节点的存储器时,需要通过消息传递来实现。

采用队列消息是实现一个节点的CPU向另一个节点的存储器写入数据的一种方式,队列消息是将源存储空间上的数据发送到目的方指定的队列上,队列是预先分配(一般是由软件配置)的一段连续的存储器的物理空间或虚空间,队列的基本单位即用于存放一个队列元素的存储空间称为元素空间。

通常来说,队列消息的目的方(即接收方)的队列采用的是循环队列,接收方通过队列管理器和软件管理队列:队列的基地址、队列容量、队列属性等信息可以由软件初始化配置;在队列元素的生产(即写入数据)后通过队列管理器修改队列尾指针;在队列元素的消费(即读取数据)后通过软件修改队列头指针。在申请号为200610057353.0的中国发明专利申请中可以找到有关队列及其数据存储方法的信息。

在队列消息传递时,发送方并不知道目的队列的地址,只需要知道一个队列号,并发送包含有队列号和队列元素的队列消息;当接收方的队列管理器接收到队列消息时,根据队列的初始化配置和发送方发送的队列号,向队列所在的存储器发送对应的包含有待写入的数据和待写入数据的元素空间的地址的写请求,收到存储器返回的写结束确认后将队列尾指针加一,以指示队列最新空闲的元素空间;进程在队列头指针的指示下消费队列,每次取走队列的一部分队列元素后,根据消费的队列元素的数量更新队列头指针,以指示队列中下一个可消费的元素空间。

进程可使用中断或查询方式消费队列,无论采用哪种方式,都要先读取队列管理器中相应队列的头指针和尾指针,判断队列中有多少队列元素可以消费以及队列头元素的位置(可消费的数据的首地址),然后读取相应元素空间的队列元素。这就存在队列尾指针的更新和消息数据写入队列的元素空间两者之间的同步问题,在队列管理中,必须保证消息数据已写入队列的元素空间后,才能修改队列尾指针,以确保头指针和尾指针之间的队列元素可以消费,即进程能够访问到有效的数据。

然而,在采用多处理器和分布共享存储器的并行计算机网络系统中,由于存储器的分布特性,或者,由于要支持置无效、写更新等缓存(CACHE)一致性协议,写结束确认的返回顺序一般和写请求的发送顺序不一致,也就是说,写请求不是顺序执行,而是乱序执行,这样就限制了队列消息的应用,队列管理器无法根据收到的写结束确认所包含的元素空间的地址来按序对队列尾指针加一。

为了使队列管理器根据收到的写结束确认所包含的元素空间的地址来按序对队列尾指针加一,就需要保证队列的写请求是顺序执行。一种解决方法是串行执行写请求,队列管理器要收到上一个写请求的写结束确认后,才开始处理新的写请求,这种方法降低了队列消息的传送效率。

另一种解决方法由硬件和软件共同保证写请求的顺序执行,例如硬件确保写请求和写结束确认在通路上按序流动(即写结束确认的返回顺序和写请求的发送顺序一致),软件则限制队列的存储空间为不可缓存空间,确保队列的存储空间无缓存一致性问题。采用硬件和软件结合的方法不仅不利于编程,也限制了硬件的实现。

发明内容

本发明解决的问题是,提供一种队列管理方法和队列管理器、队列消息的处理方法和系统,不需要顺序执行写请求就能保证队列尾指针的更新和数据写入队列的元素空间的同步,因而扩大了队列消息的应用范围。

为解决上述问题,本发明提供一种队列管理方法,包括下述步骤:

初始设置队列指针和队列计数器,所述队列指针包括头指针、虚尾指针和实尾指针,所述头指针和实尾指针之间的元素空间为可消费的队列空间;

发送对应于接收到的队列消息的写请求,并根据发送的写请求的数量累加虚尾指针;

根据接收到的写结束确认更新队列计数器,并根据所述写结束确认所包含的元素空间的地址和更新后的队列计数器更新实尾指针。

可选的,所述初始设置队列指针和队列计数器包括:在系统初始状态时,将队列指针指向队列的第一个元素空间的位置,将队列计数器清零。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

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

本文链接:http://www.vipzhuanli.com/pat/books/200710160669.7/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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