[发明专利]用于使用虚拟任务对多核处理器进行性能分析的关系建模有效
申请号: | 201010618074.3 | 申请日: | 2010-12-22 |
公开(公告)号: | CN102110012A | 公开(公告)日: | 2011-06-29 |
发明(设计)人: | C·J·科迈克;N·杜卡;M·伯罗斯;S·A·特金 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/46 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 姬利永 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 使用 虚拟 任务 多核 处理器 进行 性能 分析 关系 建模 | ||
背景技术
本发明一般涉及多核处理器,具体涉及多核机器的性能分析。
现代的通用和图形处理器可包括一个或多个核。这些处理器可运行大量的线程。因此,在给定任务量以及可能运行的不同线程的数量的情况下,分析处理器的性能可能涉及复杂的任务。
通常,痕迹(trace)是在处理器上运行的任务之间的时间顺序的图形描述。基于软件的痕迹分析使软件设计者能够理解任务间的操作顺序。
然而,多核处理器可能需要更复杂的分析。
附图简述
图1是本发明的一个实施例的示意图;
图2是描绘图1所示的实施例所使用的程序的流程图;
图3是根据本发明的一个实施例的基于任务的关系模型的可视化;
图4是根据本发明的一个实施例产生的父/子关系的可视化;
图5是根据本发明的另一实施例的依赖关系的可视化;以及
图6是根据一个实施例的虚拟任务可视化的描绘图;
图7是根据一个实施例的另一虚拟任务可视化的描绘图;以及
图8是一个实施例的流程图。
详细描述
根据本发明的一些实施例,代码组块调用任务之间的除时间顺序之外的关系可以被可视化。任务是用于调度和执行的任何普通工作单元。它可以是具有开始和结束的代码的任何部分。它的持续时间可被定义为用于执行该任务的循环数量。
痕迹是任务之间的连接。关系模型根据父-子、同属、依赖性以及生产者和消费者给出任务之间的关系。也可使用其他关系。
第一任务和由第一任务产生的第二任务之间存在父/子关系。当第一任务依赖第二任务来执行时,第一和第二任务存在依赖关系。生产者/消费者关系意味着第一任务创建数据并将其放置在缓冲器中,然后第二任务使用来自缓冲器中的该数据。
原语是关系一方的任何实体。任务是一种类型的原语。另一种原语被称为参数。参数可以是缓冲器、名-值对、字符串、或与任务有关系的任何类型的标准数据类型或结构。也可使用其他原语。
参照图1,性能分析工具10可包括控件12,该控件12可以是处理器。该处理器可以是多核处理器。在一个实施例中,该处理器可以是图形处理器,而在一个实施例中,该处理器可以是单指令多数据(SIMD)多核处理器。控件12被耦合到存储器14,该存储器14可储存该工具的图形用户界面(GUI)16或前端、编码原语和原语之间的关系的多个序列或应用编程接口(API)18、以及提供可用功能的工具箱的库20。该控件可耦合到输入/输出22以允许用户输入信息以及接收输出。显示器24可用于使包括任务的原语之间的关系可视化。
性能分析工具10可被软件开发人员用于通过了解原语(诸如在该软件内的任务)之间的关系来提高他们的软件性能。通过理解这些关系,软件开发人员可了解如何提高软件的性能。
一般而言,软件开发人员开发两个版本的代码。代码的一个版本是仅执行需要的功能(诸如游戏)的代码。代码的另一版本内包括API 18,在一些实施例中,API 18创建原语关系的可视化(但是,在其他实施例中,在没有可视化的情况下二进制输出可被用于进一步分析)。具有API版本的代码被称为操纵代码。将操纵代码流送到前端图形用户界面16使设计者能够看到代码的进展。它显示了在代码中运行的线程、在线程内的任务、以及最重要的那些任务之间的功能关系。
参照图2,通过应用编程接口18实现的序列由接收线程选择开始,如框22所示。接着,如框24所示,选择原语标识符。在框26,该标识符被登记。而后,在框28,向原语分配标识符。
此时,设计者于是输入选定原语与其他原语之间的关系。所选原语被称为“这个”原语,而与这个原语有关系的原语被称为“那些”原语。
在一些实施例中,序列18自动隐含超出那些通过设计者所输入的一些关系。举例而言,如果第一任务是第二任务的父,则意味着这第二任务是该父的子。同样,如果第一任务与第二任务相关并且第二任务与第三任务相关,则意味着该第一任务与第三任务也相关并隐含该关系的本质。这可被称为传递关系或其他关系所隐含的关系。在一些实施例中,传递关系的使用减少了用户数据输入的负担。此外,可能有一个或N个扇出关系。举例而言,在一些实施例中,单个父可产生任何数量的子,且所有那些子不需要另行编码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010618074.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:组合鞋
- 下一篇:一种鲜罗汉果的快速烘焙方法