通过硬件资源利用报告优化性能的方法和数据处理系统技术方案

技术编号:2861728 阅读:210 留言:0更新日期:2012-04-11 18:40
在本发明专利技术中,根据一种操作一个数据处理系统的方法,在该数据处理系统中的一个处理单元中建立一或多个监控参数集。在硬件方面,处理单元根据一或多个监控参数集中的一个监控参数集,监控处理单元中的多个可调度软件实体中的每一个的执行。然后,处理单元向运行在数据处理系统中的软件报告多个可调度软件实体中的每一个对硬件资源的使用情况。软件可以存储和使用处理单元所报告的硬件使用信息,以调度处理单元所报告的可调度软件实体的执行。还可以利用硬件使用信息生成对至少一个正在执行的可调度软件实体的分类,可以把这一分类通知处理单元,以动态地更新硬件资源向可调度软件实体的分配。

【技术实现步骤摘要】

总体上讲,本专利技术涉及数据处理,具体地讲,本专利技术涉及数据处理系统中的性能优化。更具体地讲,本专利技术涉及一种数据处理系统与方法,其中硬件与软件相互协调,以优化线程的处理。
技术介绍
当前,众多倾向影响着服务器级和大型计算机系统的开发。特别是,根据摩尔定律,集成电路中晶体管的密度继续增大,在摩尔定律当前的公式中断定,集成电路上每单位面积晶体管的个数,大约每18个月增加一倍。另外,处理器频率也大约每两年增加一倍。而且,系统规模(即系统中央处理器的个数)仍在继续增加,已达数十、数百,在某些情况下,甚至已达数千个处理器。这些倾向的结果是,服务器类和大型计算机系统的峰值性能迅速攀升,其中,最近开发的大规模高性能计算(HPC)系统号称具有100 TFLOPS(每秒100万亿浮点操作)或100 TELOPS以上的峰值性能的数值。令人感到遗憾的是,高性能计算系统的持续性能(sustained performance),未能以峰值性能的速度得以改进,事实上,持续性能与峰值性能之间的比率,尽管当前很低(例如1∶10),但仍在下降。由于具有如此未加以利用的可用计算容量,目前人们正在把相当大的注意力放在实现更大的持续性能方面。这一关注的一个目标是,把诸如CPU、存储器、I/O带宽、磁盘存储器等系统资源向各种要完成的工作载荷的分配。在传统的多处理器数据处理系统中,由两个不同的操作系统(OS)部件调度程序与工作载荷管理器(WLM)来处理系统资源向工作载荷的分配。调度程序是操作系统核心的一个部件,负责在数据处理系统中的各种CPU上,调度那些可调度软件实体的执行,通常将这些可调度软件实体称为“线程”。为了执行可调度功能,典型的调度程序将建立一个全程队列,根据这一全程队列,可以对线程加以调度;以及一系列分布运行队列,每一个均与一个相应的处理单元相关联。调度程序根据一种调度策略,把线程赋予运行队列,例如,其中的调度策略考虑到线程的优先级以及线程对执行线程所需系统资源(例如系统存储器、数据、I/O资源、超高速缓冲存储器、执行资源等)的亲合势。通过在不同的OS分区和硬件结点之间重新分配工作载荷,WLM还有助于对系统资源的有效利用。例如,可从纽约Armonk的国际商用机器(IBM)公司获得的OS/390操作系统,包括一个WLM,该WLM根据用户规定的、面向企业的目标,例如针对关键批作业的事务处理反应时间和批运行时间,平衡各操作系统分区之间的工作载荷。这样的工作载荷平衡通常需要大量的软件性能监控以收集与每一OS分区中资源使用情况及性能有关的信息。由于利用了这些性能信息,所以WLM能够管理线程调遣的优先级、对存储器等资源的使用,以实现针对所有当前工作载荷的面向具体用户规定的目标。
技术实现思路
本专利技术认识到,通过传统的OS调度程序和WLM所获得的性能优化,尽管无疑会导致性能上的改进,但仅能优化至一定的粒度水平。即,由于调度程序和WLM为软件部件,所以通过这些部件所获得的优化倾向于涉及那些软件能够易于监控高级性能问题。照这样,性能优化的传统的唯软件技术也不能解决低级性能问题,例如多线程之间的共享资源的硬件分配。例如,作为一系列“作业”,把工作频繁地提交于传统的多处理器计算机系统,其中每一作业由一系列(可能)互相依赖的进程组成。通常,对作业顺序地加以处理,这意味着在前一个作业中的所有进程已完成执行之前,不启动下一个进程。因此,由最后一个将完成的进程确定作业的执行时间。在这种类型的执行环境中,传统的OS调度程序和WLM可以优化各进程的总体执行,例如,可通过把进程分派给具有对数据和其它所需资源的空间亲合势的处理器,实现这一优化。然而,传统的OS和WLM不能根据线程的随时间变化的行为实现对进程线程的执行的细粒度优化。例如,OS调度程序和WLM通常不考虑处理器之间挂起、中断、调度、以及移动进程线程的过程中线程执行不同阶段期间对居主导地位的不同资源(例如I/O通道、系统互连、存储器控制器以及浮点单元)的需求。鉴于以上的描述,本专利技术提供了一种用于优化数据处理系统的性能的改进的方法与数据处理系统,其中,软件,例如操作系统和处理硬件相互协作,以优化线程的性能。根据一个实施例,在数据处理系统中的一个处理单元中建立一或多个监控参数集。在硬件方面,处理单元根据一或多个监控参数集中的一个监控参数集,监控处理单元中的一系列可调度软件实体中每一可调度软件实体的执行。然后,处理单元向运行在数据处理系统中的软件报告可调度软件实体系列中每一可调度软件实体对硬件资源的使用情况。可以存储处理单元所报告的硬件资源使用情况信息,并且为软件加以利用,这些软件可把硬件资源使用情况信息用于处理单元所报告的可调度软件实体的可调度执行。也可以利用硬件资源使用情况信息产生对至少一个正在执行的可调度软件实体的一个分类,可以将这一分类通知处理单元,以动态地修改硬件资源向可调度软件实体的分配。在以下的详细文字描述中,本专利技术的所有目的、特性以及优点,将变得十分明显。附图说明所附加权利要求中阐述了本专利技术的具有所期望特点的新型特性。然而,只有结合附图阅读、并参照以下对一个说明性实施例的详细描述,才会对本专利技术以及较佳使用方式最充分地加以理解。在这些附图中图1是根据本专利技术的一个示范性多处理器数据处理系统的高级方块图;图2描述了图1中所说明的数据处理系统中的一个示范性处理单元的更详细的方块图;图3A是根据本专利技术的图2的硬件监控器的一个示范性实施例的更详细的方块图;图3B是根据本专利技术的图2的资源管理器的一个示范性实施例的更详细的方块图;图4是说明根据本专利技术的图1的数据处理系统的一个示范性软件配置的软件层图;以及图5是利用根据本专利技术的处理硬件与软件之间的通信,实现线程性能优化的一个示范性方法的高级逻辑流程图。具体实施例方式现在,参照附图,特别参照图1说明了一个多处理器(MP)数据处理系统的高级方块图,该多处理器数据处理系统提供了根据本专利技术的一个实施例的改进的性能优化。如图中所描述的,数据处理系统8包括通过一个系统互连12所耦合的、用于通信的多个(例如8个、16个、64个或64个以上)处理单元10。每一个处理单元10为一个信号集成电路,该信号集成电路包括接口逻辑23以及一个或多个处理器内核14。还如图1中所示,数据处理系统8的存储器层次结构包括一个或多个系统存储器26,它们形成了存储器层次结构中易失数据存储器的最低层;以及一或多级超高速缓冲存储器,例如片上二级(L2)高速缓冲存储器22,用于对从系统存储器26到处理器内核14的指令和操作元数据的筹备。如这一
中的熟练技术人员将会意识到,与较高层相比,这一存储器层次结构的每一相继的较低层通常能够存储更大量的数据,但与处理器内核14相比,具有更高的存取延迟。如图中所示,通过存储器控制器24与互连12接口的系统存储器26,可以存储操作元数据34、一或多个操作系统28的一些部分、以及一个或多个应用程序30。另外,系统存储器26还可以包括一个由一或多个操作系统28所分配的(例如在启动时)一个分类设施32。尽管把分类设施32说明为系统存储器中的一个设施,但这一
中的熟悉技术人员将会意识到,作为一种选择,也可以在数据处理系统8的另一个部件中实现分类设施32。分类设施32包本文档来自技高网
...

【技术保护点】
一种用于操作一个数据处理系统的方法,所述方法包括:在该数据处理系统中的一个处理单元中建立一个或多个监控参数集;在硬件方面,处理单元根据一个或多个监控参数集中的一个监控参数集,监控处理单元中的一系列可调度软件实体中每一个的执行 ;以及处理单元向运行在数据处理系统中的软件报告多个可调度软件实体中的每一个对硬件资源的使用情况。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:拉维K阿里米利兰德尔C斯旺伯格
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1