Method and apparatus for specification and application of a user-specified filter in a data space profiler
    1.
    发明申请
    Method and apparatus for specification and application of a user-specified filter in a data space profiler 有权
    用于在数据空间分析器中指定和应用用户指定的过滤器的方法和装置

    公开(公告)号:US20080127107A1

    公开(公告)日:2008-05-29

    申请号:US11517085

    申请日:2006-09-07

    IPC分类号: G06F9/44

    摘要: A data space profiler may include an analysis engine that associates runtime events of profiled software applications with execution costs and extended address elements. Relational agents in the analysis engine may apply functions to profile data collected for each event to determine the extended address element values to be associated with the event. Each extended address element may correspond to a data profiling object (e.g., hardware component, software construct, data allocation construct, abstract view) involved in each event. The extended address element values may be used to index into an event set for the profiled software application to present costs from the perspective of these profiling objects. A filtering mechanism may also be used to extract profile data from the event set corresponding to events that satisfy the filter criteria. By alternating between presentation of profiling object views and filtered event data, performance bottlenecks and their causes may be identified.

    摘要翻译: 数据空间分析器可以包括将分析软件应用的运行时事件与执行成本和扩展地址元素相关联的分析引擎。 分析引擎中的关系代理可以应用功能来为每个事件收集的资料数据,以确定与事件相关联的扩展地址元素值。 每个扩展地址元素可以对应于每个事件中涉及的数据分析对象(例如,硬件组件,软件构造,数据分配构造,抽象视图)。 扩展地址元素值可以用于索引到用于分析软件应用程序的事件集,以从这些分析对象的角度呈现成本。 也可以使用过滤机制从对应于满足过滤标准的事件的事件集中提取简档数据。 通过在呈现分析对象视图和过滤的事件数据之间交替,可能会识别性能瓶颈及其原因。

    Method and apparatus for specification and application of a user-specified filter in a data space profiler
    2.
    发明授权
    Method and apparatus for specification and application of a user-specified filter in a data space profiler 有权
    用于在数据空间分析器中指定和应用用户指定的过滤器的方法和装置

    公开(公告)号:US08640114B2

    公开(公告)日:2014-01-28

    申请号:US11517085

    申请日:2006-09-07

    IPC分类号: G06F9/45

    摘要: A data space profiler may include an analysis engine that associates runtime events of profiled software applications with execution costs and extended address elements. Relational agents in the analysis engine may apply functions to profile data collected for each event to determine the extended address element values to be associated with the event. Each extended address element may correspond to a data profiling object (e.g., hardware component, software construct, data allocation construct, abstract view) involved in each event. The extended address element values may be used to index into an event set for the profiled software application to present costs from the perspective of these profiling objects. A filtering mechanism may also be used to extract profile data from the event set corresponding to events that satisfy the filter criteria. By alternating between presentation of profiling object views and filtered event data, performance bottlenecks and their causes may be identified.

    摘要翻译: 数据空间分析器可以包括将分析软件应用的运行时事件与执行成本和扩展地址元素相关联的分析引擎。 分析引擎中的关系代理可以应用功能来为每个事件收集的资料数据,以确定与事件相关联的扩展地址元素值。 每个扩展地址元素可以对应于每个事件中涉及的数据分析对象(例如,硬件组件,软件构造,数据分配构造,抽象视图)。 扩展地址元素值可以用于索引到用于分析软件应用程序的事件集,以从这些分析对象的角度呈现成本。 也可以使用过滤机制从对应于满足过滤标准的事件的事件集中提取简档数据。 通过在呈现分析对象视图和过滤的事件数据之间交替,可能会识别性能瓶颈及其原因。

    Method and apparatus for identifying instructions associated with execution events in a data space profiler
    3.
    发明申请
    Method and apparatus for identifying instructions associated with execution events in a data space profiler 有权
    用于识别与数据空间分析器中的执行事件相关联的指令的方法和装置

    公开(公告)号:US20080127120A1

    公开(公告)日:2008-05-29

    申请号:US11590288

    申请日:2006-10-31

    IPC分类号: G06F9/44

    摘要: A system and method for profiling a software application may include means for capturing profiling information corresponding to an instruction identified as having executed coincident with the occurrence of a runtime event, and for associating the profiling information with the event in an event set. In some embodiments, the identified instruction, which may have triggered the event, may be located in the program code sequence at a predetermined position relative to the current program counter value at the time the event was detected. The predetermined relative position may be fixed dependent on the processor architecture and may also be dependent on the event type. The predetermined relative position may be zero, indicating that when the event was detected, the program counter value corresponded to an instruction associated with the event. If the identified instruction is an ambiguity-creating instruction, an indication of ambiguity may be associated with the event.

    摘要翻译: 用于对软件应用进行分析的系统和方法可以包括用于捕获与被识别为与运行时事件的发生一致地执行的指令相对应的分析信息的装置,并且用于将分析信息与事件集中的事件相关联。 在一些实施例中,可以触发事件的所识别的指令可以在检测到事件时相对于当前程序计数器值的预定位置处于程序代码序列中。 取决于处理器架构,预定的相对位置可以是固定的,并且还可以取决于事件类型。 预定的相对位置可以为零,指示当检测到事件时,程序计数器值对应于与该事件相关联的指令。 如果所识别的指令是歧义生成指令,则可能与事件相关联的歧义指示。

    Method and apparatus for profiling data addresses
    4.
    发明授权
    Method and apparatus for profiling data addresses 有权
    用于分析数据地址的方法和装置

    公开(公告)号:US07827543B1

    公开(公告)日:2010-11-02

    申请号:US10840164

    申请日:2004-05-06

    IPC分类号: G06F9/44 G06F9/45 G06F9/26

    CPC分类号: G06F11/3612

    摘要: Data address profiling allows determination of sources of code execution hindrance with different perspectives of memory references and allows correlation of sampled runtime events and memory reference objects, such as cache lines. Associating sampled runtime events with data addresses provides for efficient and targeted optimization of code with respect to data addresses and physical and/or logical memory reference objects (e.g., memory segments, heap variables, variable instances, stack variables, etc.). An instruction instance is identified in relation to a sampled runtime event. A data address is determined from the instruction instance. From the determined address, a memory reference object is ascertained.

    摘要翻译: 数据地址分析允许使用不同的存储器引用视角确定代码执行阻碍的来源,并允许对采样的运行时事件和存储器引用对象(如高速缓存行)进行相关。 将采样的运行时事件与数据地址相关联地提供关于数据地址和物理和/或逻辑存储器参考对象(例如,存储器段,堆变量,变量实例,堆栈变量等)的代码的有效和有针对性的优化。 相关于采样的运行时事件识别指令实例。 从指令实例确定数据地址。 从确定的地址,确定存储器参考对象。

    Method and apparatus for sorting and displaying costs in a data space profiler
    5.
    发明授权
    Method and apparatus for sorting and displaying costs in a data space profiler 有权
    在数据空间分析器中分类和显示成本的方法和装置

    公开(公告)号:US08166462B2

    公开(公告)日:2012-04-24

    申请号:US11516980

    申请日:2006-09-07

    IPC分类号: G06F9/44 G06F9/45

    摘要: A data space profiler may include a graphical user interface (GUI) for sorting, aggregating and displaying profile data associated with runtime events of a profiled software application. This profile data may include costs associated with events as well as extended address elements and other code behavior attributes associated with them. The GUI may include means for selecting a perspective from which cost data is to be presented as well as presentation options for displaying the data. The presentation options may include panning and zooming options, which may determine how the data is sorted and/or aggregated for display. The GUI may also include means for specifying filter criteria, which may be used to determine which data to display. By providing means to alternate the display of profile data according to different perspectives and filtering criteria, the GUI may facilitate identification of performance bottlenecks of the profiled application and the causes thereof.

    摘要翻译: 数据空间分析器可以包括图形用户界面(GUI),用于对与分析软件应用程序的运行时事件相关联的简档数据进行排序,聚合和显示。 该简档数据可以包括与事件相关联的成本以及与它们相关联的扩展地址元素和其他代码行为属性。 GUI可以包括用于选择要呈现成本数据的透视图以及用于显示数据的呈现选项的装置。 演示选项可以包括平移和缩放选项,其可以确定如何对数据进行排序和/或聚合以便显示。 GUI还可以包括用于指定过滤器标准的装置,其可以用于确定要显示的数据。 通过提供根据不同的观点和过滤标准交替显示简档数据的方法,GUI可以有助于识别分析应用程序的性能瓶颈及其原因。

    Method and apparatus for data object profiling
    6.
    发明授权
    Method and apparatus for data object profiling 有权
    数据对象分析的方法和装置

    公开(公告)号:US07735073B1

    公开(公告)日:2010-06-08

    申请号:US10840167

    申请日:2004-05-06

    IPC分类号: G06F9/45

    摘要: Including source-level data object information in code profiling data enhances code optimization because it provides new perspectives to view code behavior. A method provides for identifying an operation instance of code that corresponds to a runtime event, which is detected in execution of the code. The detected event is attributed to a source-level data object that corresponds to a source-level representation of a language construct. The attribution is based on a predefined association between the identified operation instance and the language construct of the source-level representation that corresponds to the source-level data object.

    摘要翻译: 在代码分析数据中包含源代码级数据对象信息可以增强代码优化,因为它提供了新的视角来查看代码行为。 一种方法提供用于识别在执行代码时检测到的对应于运行时事件的代码的操作实例。 检测到的事件归因于与语言结构的源级表示相对应的源级数据对象。 属性基于所识别的操作实例和对应于源级数据对象的源级表示的语言结构之间的预定义关联。

    Method and apparatus for sorting and displaying costs in a data space profiler
    7.
    发明申请
    Method and apparatus for sorting and displaying costs in a data space profiler 有权
    在数据空间分析器中分类和显示成本的方法和装置

    公开(公告)号:US20080127116A1

    公开(公告)日:2008-05-29

    申请号:US11516980

    申请日:2006-09-07

    IPC分类号: G06F9/44

    摘要: A data space profiler may include a graphical user interface (GUI) for sorting, aggregating and displaying profile data associated with runtime events of a profiled software application. This profile data may include costs associated with events as well as extended address elements and other code behavior attributes associated with them. The GUI may include means for selecting a perspective from which cost data is to be presented as well as presentation options for displaying the data. The presentation options may include panning and zooming options, which may determine how the data is sorted and/or aggregated for display. The GUI may also include means for specifying filter criteria, which may be used to determine which data to display. By providing means to alternate the display of profile data according to different perspectives and filtering criteria, the GUI may facilitate identification of performance bottlenecks of the profiled application and the causes thereof.

    摘要翻译: 数据空间分析器可以包括图形用户界面(GUI),用于对与分析软件应用程序的运行时事件相关联的简档数据进行排序,聚合和显示。 该简档数据可以包括与事件相关联的成本以及与它们相关联的扩展地址元素和其他代码行为属性。 GUI可以包括用于选择要呈现成本数据的透视图以及用于显示数据的呈现选项的装置。 演示选项可以包括平移和缩放选项,其可以确定如何对数据进行排序和/或聚合以便显示。 GUI还可以包括用于指定过滤器标准的装置,其可以用于确定要显示的数据。 通过提供根据不同的观点和过滤标准交替显示简档数据的方法,GUI可以有助于识别分析应用程序的性能瓶颈及其原因。

    Method and apparatus for identifying instructions associated with execution events in a data space profiler
    8.
    发明授权
    Method and apparatus for identifying instructions associated with execution events in a data space profiler 有权
    用于识别与数据空间分析器中的执行事件相关联的指令的方法和装置

    公开(公告)号:US08176475B2

    公开(公告)日:2012-05-08

    申请号:US11590288

    申请日:2006-10-31

    IPC分类号: G06F9/44

    摘要: A system and method for profiling a software application may include means for capturing profiling information corresponding to an instruction identified as having executed coincident with the occurrence of a runtime event, and for associating the profiling information with the event in an event set. In some embodiments, the identified instruction, which may have triggered the event, may be located in the program code sequence at a predetermined position relative to the current program counter value at the time the event was detected. The predetermined relative position may be fixed dependent on the processor architecture and may also be dependent on the event type. The predetermined relative position may be zero, indicating that when the event was detected, the program counter value corresponded to an instruction associated with the event. If the identified instruction is an ambiguity-creating instruction, an indication of ambiguity may be associated with the event.

    摘要翻译: 用于对软件应用进行分析的系统和方法可以包括用于捕获与被识别为与运行时事件的发生一致地执行的指令相对应的分析信息的装置,并且用于将分析信息与事件集中的事件相关联。 在一些实施例中,可以触发事件的所识别的指令可以在检测到事件时相对于当前程序计数器值的预定位置处于程序代码序列中。 取决于处理器架构,预定的相对位置可以是固定的,并且还可以取决于事件类型。 预定的相对位置可以为零,指示当检测到事件时,程序计数器值对应于与该事件相关联的指令。 如果所识别的指令是歧义生成指令,则可能与事件相关联的歧义指示。

    Method and apparatus for correlating profile data
    9.
    发明授权
    Method and apparatus for correlating profile data 有权
    用于关联配置文件数据的方法和装置

    公开(公告)号:US08065665B1

    公开(公告)日:2011-11-22

    申请号:US10840180

    申请日:2004-05-06

    IPC分类号: G06F9/44 G06F9/45

    摘要: Correlating profile data facilitates sophisticated code optimization. Going beyond one to one relationships between code execution hindrances and single code behavior attributes provides insight into code behavior at a finer level of granularity. The capability to aggregate profile data based on multiple code behavior attributes and filter based on instances thereof, allows code optimization decisions to be made based on presentation of profile data from various perspectives. Profile data, which includes code behavior attributes correlated with code execution hindrances, is aggregated based at least in part on a first code behavior attribute. Code behavior attributes include one or more of memory references, memory reference objects, functions, time ranges, processors, processes, threads, and source-level data objects. The aggregated profile data is filtered based on an instance of the first code behavior attribute. The filtered profile data is then aggregated based on one or more additional code behavior attributes.

    摘要翻译: 相关的配置文件数据有助于复杂的代码优化。 在代码执行障碍和单个代码行为属性之间超越一对一的关系,可以更精细地提供对代码行为的洞察。 基于多个代码行为属性聚合配置文件数据并基于其实例过滤的能力允许基于来自各个视角的配置文件数据的呈现来进行代码优化决定。 至少部分地基于第一代码行为属性来聚合包括与代码执行障碍相关的代码行为属性的简档数据。 代码行为属性包括一个或多个内存引用,内存引用对象,函数,时间范围,处理器,进程,线程和源级数据对象。 基于第一代码行为属性的实例来过滤聚合的配置文件数据。 然后基于一个或多个附加代码行为属性来聚合经过过滤的简档数据。

    System and method for insertion of prefetch instructions by a compiler
    10.
    发明授权
    System and method for insertion of prefetch instructions by a compiler 有权
    由编译器插入预取指令的系统和方法

    公开(公告)号:US06651245B1

    公开(公告)日:2003-11-18

    申请号:US09679433

    申请日:2000-10-03

    IPC分类号: G06F945

    摘要: The present invention discloses a method and device for placing prefetch instruction in a low-level or assembly code instruction stream. It involves the use of a new concept called a martyr memory operation. When inserting prefetch instructions in a code stream, some instructions will still miss the cache because in some circumstances a prefetch cannot be added at all, or cannot be added early enough to allow the needed reference to be in cache before being referenced by an executing instruction. A subset of these instructions are identified using a new method and designated as martyr memory operations. Once identified, other memory operations that would also have been cache misses can “hide” behind the martyr memory operation and complete their prefetches while the processor, of necessity, waits for the martyr memory operation instruction to complete. This will increase the number of cache hits.

    摘要翻译: 本发明公开了一种用于将预取指令放置在低级或汇编代码指令流中的方法和装置。 它涉及使用称为烈士记忆操作的新概念。 当在代码流中插入预取指令时,一些指令仍将错过高速缓存,因为在某些情况下,根本无法添加预取,或者不能早期添加,以便在执行指令引用之前将所需的引用置于高速缓存中 。 这些指令的一个子集使用新的方法进行识别,并被指定为烈士记忆操作。 一旦识别出,也可能是高速缓存未命中的其他内存操作可以“隐藏”在烈士内存操作之后并完成其预取,而处理器必须等待烈士内存操作指令完成。 这将增加缓存命中数。