[发明专利]搜索空间计算方法和装置及自适应线程调度方法和系统无效
| 申请号: | 200810133251.1 | 申请日: | 2008-07-22 |
| 公开(公告)号: | CN101634953A | 公开(公告)日: | 2010-01-27 |
| 发明(设计)人: | 王海川;李严;郑凯;林海波;高志国 | 申请(专利权)人: | 国际商业机器公司 |
| 主分类号: | G06F9/48 | 分类号: | G06F9/48 |
| 代理公司: | 北京集佳知识产权代理有限公司 | 代理人: | 陈 炜;高少蔚 |
| 地址: | 美国*** | 国省代码: | 美国;US |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 搜索 空间 计算方法 装置 自适应 线程 调度 方法 系统 | ||
技术领域
本发明总体上涉及多核计算机领域,并且尤其涉及如何在多核硬件平台上进行多个软件线程的调度的线程调度技术。
背景技术
自多核技术提出后,多核处理器已经成为大家公认的处理器设计趋势。而且,随着多核芯片市场的发展,出现了越来越多的基于多核的系统(例如,服务器和个人计算机)。这些基于多核的系统提供了多线程应用可以同时运行许多线程这样的能力。多线程应用总是创建多个线程,并且由于存在多个线程和多个核,因此需要将多个线程调度到不同的核上以便执行。线程在不同核上的运行方式将会在很大程度上影响到系统的性能。
多线程应用和多核技术对于如何将软件线程调度到多个硬件核上提出了新的挑战。从软件的角度来说,多线程应用是更加高速缓存敏感的(即,在多个线程当中共享总的高速缓存大小)。而且,多线程应用的存储模型/编程模型决定了在不同线程之间有大量的共享资源(例如,全局变量、原子变量、锁机制等),其中所述线程通常是基于要共享的高速缓存、前端总线(FSB)或者计算单元的。而从硬件核的角度来说,多核服务器通常具有分级高速缓存结构,例如,L1高速缓存是专用的,L2高速缓存由同一处理器中的多个核共享,而L3高速缓存可由不同插座(socket)上的处理器共享,等等。而且,多核处理器技术还提出了许多新的硬件线程模型,例如,同步多线程(SMT)/片上多线程(CMT)/超线程(HT)模型,它们是逻辑硬件线程而不是物理核,并且共享FSB的硬件资源、计算单元等。由此,导致存在许多线程调度问题。例如,线程到核的不好的调度会由于存在快取置换(cache thrashing)、资源竞争等问题而导致系统性能降低。而且,由于可能存在M个不同的软件线程和N个硬件线程(其中N和M为自然数),而且N个硬件线程与复杂的硬件结构有关,因此编程人员或者系统性能分析人员难以确定最优的线程调度方法。此外,在某一多线程应用已经在某一特定硬件平台上适应得很好了的情况下,如果想要把这个应用移植到另一个与该特定平台具有不同的硬件线程类型/核/高速缓存结构的硬件平台上,那么将会是非常困难的。
目前已经提出了很多应用在多核环境下的线程调度方法和/或系统,例如,可以参见美国专利US6779182B1和US4910660A,C.Severance和R.Enbody所著的、题为“Automatic Self-allocating Thread(ASAT)on anSGI Challenge”的文章(参见Proceedings of 1996 InternationalConference on Parallel Processing(ICPP′96),Vol.3,第III-132~III-139页,1996年8月),以及Bodhisattwa Mukherjee和Karsten Schwan所著的、题为“Implementation of Scalable Blocking Locks Using an AdaptiveThread Scheduler”(参见Proceedings of the 10th International ParallelProcessing Symposium(IPPS′96),第339~343页,1996年)的文章等。然而,这些已有的线程调度方法和/或系统都没有充分考虑到不同线程之间的交互和/或资源共享问题,因此存在诸如费时、无法资源共享等问题。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810133251.1/2.html,转载请声明来源钻瓜专利网。





