[发明专利]多处理器系统中的高性能队列实现有效
申请号: | 200580052419.0 | 申请日: | 2005-12-29 |
公开(公告)号: | CN101346692A | 公开(公告)日: | 2009-01-14 |
发明(设计)人: | X·李;D·R·居 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/00 | 分类号: | G06F9/00 |
代理公司: | 中国专利代理(香港)有限公司 | 代理人: | 柯广华;张志醒 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 处理器 系统 中的 性能 队列 实现 | ||
1.一种用于提供多线程队列的方法,包括:
将第一队列初始化,所述第一队列具有一组第一队列项,所述第一队列项具有至少一个有效值和空值,所述第一队列项的每一个占用在单个存储器访问中以原子方式可访问的存储器部分;
接收对所述一组第一队列项的队列项执行队列操作的请求;以及
基于所述队列项是否具有空值的确定来确定是否要执行所述队列操作。
2.如权利要求1所述的方法,其中,所述队列操作包括写入所述队列项,并且如果所述队列项具有空值,则执行所述队列操作。
3.如权利要求1所述的方法,其中,所述队列操作包括读取队列项,并且如果所述队列项具有所述至少一个有效值,则执行所述队列操作。
4.如权利要求1所述的方法,其中,所述存储器部分在字边界上对齐。
5.如权利要求1所述的方法,还包括:
将第二队列初始化,所述第二队列具有一组第二队列项,所述第二队列项具有至少一个有效值和空值,所述第二队列项的每一个占用在单个存储器访问中以原子方式可访问的存储器部分。
6.如权利要求1所述的方法,还包括提供用于所述第一队列项的子集的缓冲器。
7.如权利要求6所述的方法,其中,所述缓冲器包括写入缓冲器,并且所述方法还包括:
将队列值写入到所述写入缓冲器;以及
将所述写入缓冲器传送到所述第一队列。
8.如权利要求6所述的方法,其中,所述缓冲器包括读取缓冲器,并且所述方法还包括:
将所述第一队列项的子集传送到所述读取缓冲器;以及
从所述读取缓冲器读取队列值。
9.一种用于提供多线程队列的系统,包括:
具有多个第一队列项的第一队列,所述第一队列项具有至少一个有效值和空值,所述第一队列项的每一个占用在单个存储器访问中以原子方式可访问的存储器部分;
用于在所述第一队列中写入队列项的第一线程;以及
用于从所述第一队列读取所述队列项的第二线程;
其中如果所述队列项具有空值,则执行所述写入,并且如果所述队列项具有所述至少一个有效值,则执行所述读取。
10.如权利要求9所述的系统,其中,所述第一队列还包括用于标识所述多个队列项的头部项的头部值,并且所述头部值在高速缓存行边界上对齐。
11.如权利要求9所述的系统,其中,所述第一队列还包括用于标识所述多个队列项的尾部项的尾部值,并且所述尾部值在高速缓存行边界上对齐。
12.如权利要求9所述的系统,其中,所述多个第一队列项在高速缓存行边界上对齐。
13.如权利要求9所述的系统,还包括:
具有多个第二队列项的第二队列,所述第二队列项具有至少一个有效值和空值,所述第一队列项的每一个占用在单个存储器访问中以原子方式可访问的存储器部分;以及
用于在第二数据结构中写入队列项的第三线程,如果所述队列项具有空值,则执行所述写入;
其中如果所述队列项具有所述至少一个有效值,则所述第二线程从所述第二数据结构读取所述队列项。
14.如权利要求9所述的系统,还包括:
具有多个第二队列项的第二队列,所述第二队列项具有至少一个有效值和空值,所述第二队列项的每一个占用在单个存储器访问中以原子方式可访问的存储器部分;以及
用于从所述第二数据结构读取队列项的第三线程,如果所述队列项具有所述至少一个有效值,则执行所述读取;
其中如果所述队列项具有空值,则所述第一线程在所述第二数据结构中写入所述队列项。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200580052419.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种模壳构件成型模具
- 下一篇:承压水地区深层水泥土搅拌桩加注浆止水方法