[发明专利]无操作系统干预情况下调度OS隔离定序器上的线程的机制有效
| 申请号: | 200580045758.6 | 申请日: | 2005-12-22 |
| 公开(公告)号: | CN101160565A | 公开(公告)日: | 2008-04-09 |
| 发明(设计)人: | B·比比;R·A·汉金斯;H·王;T·迪普;田新民;C·考施克;J·沈;A·马利克;M·吉尔卡;P·塞蒂;G·钦亚;B·帕特尔;J·P·赫尔德 | 申请(专利权)人: | 英特尔公司 |
| 主分类号: | G06F9/46 | 分类号: | G06F9/46 |
| 代理公司: | 中国专利代理(香港)有限公司 | 代理人: | 曾祥夌;陈景峻 |
| 地址: | 美国加利*** | 国省代码: | 美国;US |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 操作系统 干预 情况 调度 os 隔离 定序器上 线程 机制 | ||
背景
技术领域
本公开内容一般涉及信息处理系统,并且更具体地,涉及无操作系统干预情况下OS隔离定序器上的线程执行的调度和控制。
背景技术
为提高信息处理系统、诸如包括微处理器的那些信息处理系统的性能,采用了硬件和软件技术。在硬件方面,提高微处理器性能的微处理器设计方案包括了更快的时钟速度、流水线技术、分支预测、超标量执行、无序执行和高速缓存。许多此类方案使得晶体管数量增加,并且在一些情况下,甚至导致晶体管数量增加率大于性能提高率。
其他性能增强涉及软件技术,而不是寻求完全通过增加晶体管来提高性能。一种已用于提高处理器性能的软件方案称为“多线程处理”。在软件多线程处理中,指令流可分成可以并行执行的多个指令流。或者,多个独立的软件流可并行执行。
在一个称为时间片多线程处理或时间复用(“TMUX”)多线程处理的方案中,单个处理器在固定时间段后在线程之间切换。在还有的另一方案中,在发生例如长等待时间高速缓存缺失的触发事件时,单个处理器在线程之间切换。在称为基于事件切换的多线程处理(“SoEMT”)的此后一方案中,在给定时间最多只有一个线程是活动的。
在硬件方面,越来越支持多线程处理。例如,在一个方案中,在诸如芯片多处理器(“CMP”)系统等多处理器系统中的处理器各自可并发对多个软件线程之一起作用。在称为同时多线程处理(“SMT”)的另一方案中,单个物理处理器变得对操作系统和用户程序好像是多个逻辑处理器。对于SMT,多个软件线程可以是活动的,并同时在单个处理器上执行而无需切换。也就是说,每个逻辑处理器维护一套完整的架构状态,但共享诸如高速缓存、执行单元、分支预测器、控制逻辑和总线等物理处理器的许多其他资源。对于SMT,来自多个软件线程的指令因而在每个逻辑处理器上并发执行。
对于支持软件线程并发执行的系统,如SMT和/或CMP系统,操作系统应用可控制软件线程的调度和执行。然而,一般情况下,操作系统控制不能良好地扩展;操作系统应用调度线程而对性能没有负面影响的能力通常只限于较少量的线程。
附图简述
可参照下面的附图理解本发明的实施例,其中,类似的要素用类似的标号表示。这些图形无意于限制,而是用于说明调度OS隔离线程以供执行的设备、系统和方法的选定实施例。
图1是方框图,示出多定序器系统的一般并行编程方案的图形表示。
图2是方框图,示出在用户级多线程处理的至少一个实施例的线程和纤程(shred)之间的共享存储器和状态。
图3是方框图,示出多定序器系统的各个实施例。
图4是数据流程图,示出支持用户级线程控制的多定序器多线程处理系统的调度机制的至少一个实施例。
图5是数据流程图,示出非对称多定序器多线程处理系统的调度机制的至少一个实施例。
图6是数据流程图,示出包括多个工作队列的调度机制的至少一个实施例。
图7是时序图,示出用户驱动的与OS无关的纤程调度的控制流的至少一个实施例。
图8是时序图,示出用户驱动的与OS无关的纤程调度的特定示例的控制流的至少一个实施例。
图9是方框图,示出能够执行公开技术的系统的至少一个实施例。
详细说明
下面的论述描述了调度和/或以其他方式控制一个或多个OS隔离定序器上的执行线程(称为“纤程”)的方法、系统和机制的选定实施例。OS隔离定序器在本文中有时称为“OS不可见”。可结合单核或多核多线程处理系统来利用本文所述机制。在下面的说明中,陈述了如下的许多特定的细节以更透彻地理解本发明,如处理器类型、多线程处理环境、系统配置、多定序器系统中定序器的数量和拓扑、微架构的结构及指令名称和参数。然而,本领域的技术人员将理解,可无需此类特定细节来实现本发明。另外,未详细示出一些熟知的结构、电路及诸如此类以免不必要地混淆本发明。
共享存储器多处理范例可在称为并行编程的方案中使用。根据此方案,应用程序员可将有时称为“应用”或“进程”的软件程序分成要并发运行的多个任务以便表示软件程序的并行性。同一软件程序(“进程”)的所有线程共享共同的存储器逻辑视图。
图1是方框图,示出在多定序器多线程处理系统上的并行编程方案的图形表示。图1示出操作系统140可见的进程100、120。这些进程100、120可以是不同的软件应用程序,如字处理程序和电子邮件管理程序。通常,每个进程在不同的地址空间中操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200580045758.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:放射线敏感性树脂组合物和滤色器
- 下一篇:新型直线电阻式位移传感器





