[发明专利]多处理器系统中的高性能队列实现有效
| 申请号: | 200580052419.0 | 申请日: | 2005-12-29 |
| 公开(公告)号: | CN101346692A | 公开(公告)日: | 2009-01-14 |
| 发明(设计)人: | X·李;D·R·居 | 申请(专利权)人: | 英特尔公司 |
| 主分类号: | G06F9/00 | 分类号: | G06F9/00 |
| 代理公司: | 中国专利代理(香港)有限公司 | 代理人: | 柯广华;张志醒 |
| 地址: | 美国加利*** | 国省代码: | 美国;US |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 处理器 系统 中的 性能 队列 实现 | ||
技术领域
本公开一般涉及排队软件,更具体来说涉及用于多处理环境的排队软件。
背景技术
从计算机行业最初期起,一直存在对提高系统性能以便比以往更快地运行应用程序的需求或对在可接受的时间范围内运行能产生结果的应用程序的需求。用于提高计算机系统的性能的一种方法是,使系统将进程或进程的一部分(例如线程)彼此并行地在具有多个处理器的系统上运行。
队列是一种用于线程通信和同步的常用数据结构。线程可以将数据项目置于队列中(称为入列(enqueuing)),并且其他线程可以通过先进先出(FIFO)方式从队列取出数据项目(称为出列(dequeuing)),因此在线程之间传送数据,并可以协调所涉及的线程的活动。例如流传输计算、分组处理计算、数据流计算等的多线程应用延伸性地采用队列。例如,多线程网络应用可以使一个线程处理分组报头,然后经由队列将分组传递到另一个线程以进行有效载荷处理。
队列实现的主要潜在性能瓶颈包括提供并发访问控制,即确保对队列项的多线程并发访问的正确性同时还保持FIFO特性。在现有的实现中,所采用的机制可能包括1)使用互斥或原子临界部分(atomiccritical section),这通常通过锁或推测来实现;2)用于加载-修改-存储的多个存储器访问原子指令或更具体地说用于多个存储器操作的原子指令,例如原子比较交换或原子交换;或3)线程调度器协调,例如Linux内核中的任务就绪队列。遗憾的是,为了保证正确地并发访问队列,这些机制的每一种机制都可能带来相当大的性能惩罚。
附图说明
图1是示出结合了本发明实施例的系统的硬件和软件组件的框图。
图2A是根据本发明实施例的队列数据结构的框图。
图2B是根据本发明备选实施例的队列数据结构的框图。
图3A是图示根据本发明实施例、用于读取队列项的方法的流程图。
图3B是图示根据本发明实施例、用于写入队列项的方法的流程图。
图3C是图示根据本发明实施例、用于读取缓冲的队列项的方法的流程图。
图3D是图示根据本发明实施例、用于写入缓冲的队列项的方法的流程图。
图4是图示根据本发明实施例的多个写入器单个读取器排队系统的软件组件的框图。
图5是图示根据本发明实施例的单个写入器多个读取器排队系统的软件组件的框图。
图6是图示根据本发明实施例的多个写入器多个读取器排队系统的软件组件的框图。
具体实施方式
在下文对本发明的示范实施例的详细描述中,参考了附图,这些附图构成描述的一部分并且在附图中以说明形式示出了可以实施本发明主题的特定示范实施例。对这些实施例进行了充分详细地描述,从而使本领域技术人员能够实施本发明的多种实施例,并且要理解可以利用其他实施例,并在不背离本发明主题范围的前提下可以进行逻辑、机械、电子或其他方面的更改。因此,下文的详细描述不应视为限制意义。
在这些附图中,相同的引用号通篇用于指代多个附图中出现的完全相同的组件。信号和连接可以由相同的引用号或标记来指代,实际的含义将在描述的上下文中通过其使用予以阐明。
图1是示出结合了本发明实施例的系统100的硬件和软件组件的框图。在一些实施例中,系统100包括处理单元102、存储器104、线程106和队列108。在一些实施例中,处理单元102可以是作为多核处理器的一部分的处理引擎。这些类型的体系结构可以称为多核体系结构。因此,多核处理体系结构在逻辑上是具有多个独立处理引擎(核)的单个处理器。在备选实施例中,在电路板上存在多个处理器的情况中,处理单元102可以是电路板上的各个处理器。在又一个备选实施例中,处理单元102均可以位于作为多处理器板系统的一部分的板上。在一些实施例中,系统100包括SMP(对称多处理)体系结构,SMP(对称多处理)体系结构使多个处理单元可用于同时完成各个进程(多处理)。在SMP中,可以将任何空闲的处理器指定给任何任务,并且可以添加附加的处理单元来提高性能和处理增加的负载。而且,处理器102能够实现多线程。多线程提供同时执行程序的若干部分(称为线程)的能力。
应该注意,虽然图1中图示了四个处理单元102,但是本发明的任何实施例都不局限于任何数量的处理单元102。多种实施例可以具有更多或更少的处理单元,以及在一些实施例中,使用十六个处理单元。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200580052419.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种模壳构件成型模具
- 下一篇:承压水地区深层水泥土搅拌桩加注浆止水方法





