会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 74. 发明授权
    • Apparatus and method for dynamic instrumenting of code to minimize system perturbation
    • 用于动态测量代码以最小化系统扰动的装置和方法
    • US07114150B2
    • 2006-09-26
    • US10365991
    • 2003-02-13
    • Robert Tod DimpseyFrank Eliot LevineRobert John Urquhart
    • Robert Tod DimpseyFrank Eliot LevineRobert John Urquhart
    • G06F9/44
    • G06F11/3636G06F11/3409G06F11/3466G06F11/3644G06F2201/81G06F2201/815G06F2201/86G06F2201/865G06F2201/88
    • An apparatus and method are provided for the dynamic instrumentation of code to minimize system perturbation during tracing of the execution of the code. With the apparatus and method, “hot spots” in the execution of the code are dynamically determined during tracing of the execution of the code. These “hot spots” are dynamically instrumented, i.e. an event hook is inserted, to cause control to be passed to a handler that determines a caller of the “hot spot” method. The method that called the “hot spot” method, or “caller” method, is identified from a call stack and is dynamically instrumented for an appropriate metric so that the next time the calling method is executed, the dynamically inserted hooks are executed. The execution of the hooks in the caller method is continued for a predetermined period, e.g., number of invocations, to get an understanding of the caller method's characteristics. A list of callers of instrumented methods is maintained and used to determine one or more calling methods of the instrumented caller method. One or more of these calling methods may be instrumented and the hooks inserted in the instrumented caller method (called by the one or more calling methods), are removed. In this way, the call graph of the hot spots of a program execution is “walked up” and characterized over time.
    • 提供了一种用于在代码执行跟踪期间对代码进行动态检测以最小化系统扰动的装置和方法。 利用该装置和方法,在代码执行的跟踪期间动态地确定代码执行中的“热点”。 这些“热点”被动态地装配,即插入事件钩子,以使得控制被传递给确定呼叫者“热点”方法的处理程序。 称为“热点”方法或“呼叫者”方法的方法是从调用堆栈中识别的,并为适当的度量进行动态检测,以便下次执行调用方法时,会执行动态插入的钩子。 调用方法中的挂钩的执行持续一段预定时间,例如调用次数,以便了解呼叫者方法的特征。 维护检测方法的呼叫者列表,并用于确定被调用呼叫者方法的一个或多个呼叫方法。 可以对这些调用方法中的一个或多个进行检测,并且删除插入到被调用的调用方法中的钩子(由一个或多个调用方法调用)。 以这种方式,程序执行的热点的调用图被“走过”并且随着时间的推移而被表征。
    • 75. 发明授权
    • Method and apparatus for autonomically moving cache entries to dedicated storage when false cache line sharing is detected
    • 当检测到虚拟高速缓存行共享时,用于将高速缓存条目自动移动到专用存储器的方法和装置
    • US07114036B2
    • 2006-09-26
    • US10757227
    • 2004-01-14
    • Jimmie Earl DeWitt, Jr.Frank Eliot LevineChristopher Michael RichardsonRobert John Urquhart
    • Jimmie Earl DeWitt, Jr.Frank Eliot LevineChristopher Michael RichardsonRobert John Urquhart
    • G06F12/00G06F13/24G06F9/00
    • G06F9/3836G06F9/30181G06F9/384G06F9/3857G06F12/0806G06F12/0815
    • A method, apparatus, and computer instructions in a data processing system for processing instructions are provided. Instructions are received at a processor in the data processing system. If a selected indicator is associated with the instruction, counting of each event associated with the execution of the instruction is enabled. In some embodiments, when it is determined that a cache line is being falsely shared using the performance indicators and counters, an interrupt may be generated and sent to a performance monitoring application. An interrupt handler of the performance monitoring application will recognize this interrupt as indicating false sharing of a cache line. Rather than reloading the cache line in a normal fashion, the data or instructions being accessed may be written to a separate area of cache or memory area dedicated to false cache line sharing data. The code may then be modified by inserting a pointer to this new area of cache or memory. Thus, when the code again attempts to access this area of the cache, the access is redirected to the new cache or memory area rather than to the previous area of the cache that was subject to false sharing. In this way, reloads of the cache line may be avoided.
    • 提供了用于处理指令的数据处理系统中的方法,装置和计算机指令。 在数据处理系统的处理器处接收指令。 如果所选择的指示符与指令相关联,则启用与执行指令相关联的每个事件的计数。 在一些实施例中,当使用性能指示符和计数器确定高速缓存行被错误地共享时,可以产生中断并将其发送到性能监视应用。 性能监视应用程序的中断处理程序将会将此中断视为指示高速缓存行的虚假共享。 不是以正常方式重新加载高速缓存线,正在访问的数据或指令可以写入专用于虚拟高速缓存行共享数据的高速缓存或存储器区域的单独区域。 然后可以通过将指针插入到高速缓存或存储器的这个新区域来修改代码。 因此,当代码再次尝试访问高速缓存的这个区域时,访问被重定向到新的高速缓存或存储器区域,而不是高速缓存的先前区域被错误共享。 以这种方式,可以避免高速缓存线的重新加载。
    • 76. 发明授权
    • Method and apparatus for identifying false cache line sharing
    • 识别虚拟高速缓存行共享的方法和装置
    • US07093081B2
    • 2006-08-15
    • US10757249
    • 2004-01-14
    • Jimmie Earl DeWitt, Jr.Frank Eliot LevineChristopher Michael RichardsonRobert John Urquhart
    • Jimmie Earl DeWitt, Jr.Frank Eliot LevineChristopher Michael RichardsonRobert John Urquhart
    • G06F12/00
    • G06F12/0806G06F12/0815
    • A method, apparatus, and computer instructions in a data processing system for processing instructions are provided. Instructions are received at a processor in the data processing system. If a selected indicator is associated with the instruction, counting of each event associated with the execution of the instruction is enabled. In some embodiments, the performance indicators may be utilized to obtain information regarding the nature of the cache hits and reloads of cache lines within the instruction or data cache. These embodiments may be used to determine whether processors of a multiprocessor system, such as a symmetric multiprocessor (SMP) system, are truly sharing a cache line or if there is false sharing of a cache line. This determination may then be used as a means for determining how to better store the instructions/data of the cache line to prevent false sharing of the cache line.
    • 提供了用于处理指令的数据处理系统中的方法,装置和计算机指令。 在数据处理系统的处理器处接收指令。 如果所选择的指示符与指令相关联,则启用与执行指令相关联的每个事件的计数。 在一些实施例中,性能指示符可用于获得关于高速缓存命中的性质和指令或数据高速缓存内的高速缓存行的重新加载的信息。 这些实施例可以用于确定诸如对称多处理器(SMP)系统的多处理器系统的处理器是真正共享高速缓存行还是存在高速缓存行的虚假共享。 然后可以将该确定用作确定如何更好地存储高速缓存行的指令/数据以防止高速缓存行的虚假共享的手段。
    • 77. 发明授权
    • Adaptive method and system to minimize the effect of long table walks
    • 自适应方法和系统,以最大限度地减少长桌散步的影响
    • US06249906B1
    • 2001-06-19
    • US09105581
    • 1998-06-26
    • Frank Eliot LevineCharles Philip Roth
    • Frank Eliot LevineCharles Philip Roth
    • G06N945
    • G06F8/4442
    • Current software technology entails writing application programs in a high level language intended to facilitate portability to different computer processor platforms. Because the program is portable, the resulting object code is not tailored to run as efficiently as possible on the particular computer processor platform. Manually tuning a specific application program may be done, but it is time consuming and is rarely done by the end user. The disclosed invention provides an automated method of tuning application programs to execute more efficiently. Based on several system parameters provided by the user, the disclosed method comprises profiling an application to determine where significant delays are occurring that result from long table walks, constructing effective address tables to identify the effective addresses associated with the most significant delays, optimizing the placement of preload or touch instructions that initiate execution of identified instructions prior to their placement in the program sequence, building an optimized change file, and applying the optimized change file to the object code. The optimized change file may be inserted into the object code on a real-time basis.
    • 目前的软件技术需要以高级语言编写应用程序,以便于移植到不同的计算机处理器平台。 由于该程序是便携式的,所产生的目标代码不能在特定的计算机处理器平台上尽可能高效地运行。 可以手动调整特定的应用程序,但是它是耗时的,并且很少由最终用户完成。 所公开的发明提供了一种自动化的方法来调整应用程序以更有效地执行。 基于由用户提供的几个系统参数,所公开的方法包括对应用进行轮廓分析,以确定长时间走行造成的显着延迟发生的时间,构建有效的地址表以识别与最重要延迟相关联的有效地址,优化放置 的预加载或触摸指令,其在被放置在程序序列之前启动所识别的指令的执行,构建优化的改变文件,以及将优化的改变文件应用于目标代码。 优化的更改文件可以被实时地插入到目标代码中。
    • 78. 发明授权
    • Method and system for initial state determination for instruction trace
reconstruction
    • 指令跟踪重构初始状态确定方法和系统
    • US5894575A
    • 1999-04-13
    • US758196
    • 1996-11-25
    • Frank Eliot LevineBradley David McCredieWilliam John StarkeEdward Hugh Welbon
    • Frank Eliot LevineBradley David McCredieWilliam John StarkeEdward Hugh Welbon
    • G06F11/36H04B17/00
    • G06F11/3636
    • A method and system for determining an initial architectural state for instruction trace reconstruction. Performance projections for processor systems and memory subsystems are important for a correct understanding of work loads within the system. An instruction trace is generally utilized to determine distribution of instructions, identification of register dependencies, branch path analyses and timing. One well-known technique for reconstructing an instruction trace can be accomplished by monitoring bus traffic to determine instruction addresses, data addresses and data during the trace. However, the initial architectural state (the state of all caches, buffers and registers) must be determined in order to accurately reconstruct an instruction trace. At least one cache within the processor system is divided into two portions, the content of that cache is invalidated and each cache entry thereafter is duplicated within each portion of the divided cache. Upon initiation of an instruction trace, one half of the cache is frozen, preserving the initial state of the system with respect to that cache without requiring the cache to be invalidated and refilled during the instruction trace, so that the initial state may be utilized to reconstruct an instruction trace in combination with the monitored bus traffic.
    • 一种用于确定指令跟踪重构的初始架构状态的方法和系统。 处理器系统和内存子系统的性能预测对于正确了解系统内的工作负载非常重要。 通常使用指令轨迹来确定指令的分配,寄存器依赖性的识别,分支路径分析和定时。 可以通过监视总线流量来确定跟踪期间的指令地址,数据地址和数据来实现重建指令轨迹的一种众所周知的技术。 但是,必须确定初始架构状态(所有高速缓存,缓冲器和寄存器的状态),以便精确地重构指令轨迹。 处理器系统内的至少一个高速缓存被分成两部分,该高速缓存的内容被无效,并且之后的每个高速缓存条目在分割高速缓存的每个部分内被复制。 在开始指令跟踪时,缓存的一半被冻结,保持系统相对于该高速缓存的初始状态,而不需要在指令跟踪期间使高速缓存无效并重新填充,使得初始状态可被用于 结合监控的总线流量重建指令轨迹。
    • 80. 发明授权
    • Collecting profile-specified performance data on a multithreaded data processing system
    • 在多线程数据处理系统上收集配置文件指定的性能数据
    • US08423972B2
    • 2013-04-16
    • US12394428
    • 2009-02-27
    • Frank Eliot LevineMilena Milinkovic
    • Frank Eliot LevineMilena Milinkovic
    • G06F9/44
    • G06F11/3476G06F2201/865
    • A method, apparatus, and computer program product for collecting performance data. In one illustrative embodiment, signaling is performed to start collecting the performance data by an operating system support unit in a multithreaded data processing system. Responsive to a thread switch to an incoming thread after signaling has occurred, the performance data for the incoming thread is collected using a thread specific data collection profile to form collected performance data if the incoming thread is associated with the thread specific data collection profile, wherein the thread specific data collection profile specifies a type of data to collect. Responsive to a subsequent thread switch, the collected performance data is sent to a number of destinations.
    • 一种用于收集性能数据的方法,装置和计算机程序产品。 在一个说明性实施例中,执行信令以开始通过多线程数据处理系统中的操作系统支持单元收集性能数据。 响应于在信令发生之后线程切换到传入线程,如果传入线程与线程特定数据收集简档相关联,则使用线程特定数据收集简档收集进入线程的性能数据以形成收集的性能数据,其中 线程特定数据收集配置文件指定要收集的数据类型。 响应于后续线程切换,收集的性能数据被发送到多个目的地。