System and method for adding highly optimized synchronization capability to objects at run-time
    2.
    发明授权
    System and method for adding highly optimized synchronization capability to objects at run-time 失效
    在运行时向对象添加高度优化的同步功能的系统和方法

    公开(公告)号:US06237043B1

    公开(公告)日:2001-05-22

    申请号:US08974751

    申请日:1997-11-19

    IPC分类号: G06F900

    CPC分类号: G06F9/52

    摘要: The present invention is directed to a system, method, and computer-readable medium for providing a highly efficient locking mechanism for an object's shared data. The locking mechanism is bound to an object during program execution (i.e. during run-time) when synchronization is first requested for the object's shared data. Thus, there are no changes to the actual code, either source code or binary code, which defines the object. A locking mechanism is bound to an object by defining a memory area within the object's header, which either contains the locking mechanism or a pointer to a locking mechanism. The locking mechanism remains bound to the object for the life of the object. Efficiency is gained by limiting the use of operating system semaphores (i.e. kernel semaphores). Operating system semaphores are not used unless blocking (i.e. contention) occurs. Rather, the locking mechanism bound to the object is used during non-blocking situations. Additional efficiency is gained by not assigning or initializing an object's locking mechanism until the first synchronization request is received for the object's shared data. In one embodiment of the present invention, the object's header memory area contains the actual locking mechanism. In another embodiment of the present invention, the object's header memory area contains a pointer or index to a locking mechanism.

    摘要翻译: 本发明涉及一种用于为对象的共享数据提供高效锁定机制的系统,方法和计算机可读介质。 当对对象的共享数据进行首次请求同步时,锁定机制在程序执行期间(即在运行期间)被绑定到一个对象。 因此,定义对象的实际代码(源代码或二进制代码)没有任何变化。 锁定机制通过定义对象头部中的内存区域来绑定到对象,该内存区域包含锁定机制或指向锁定机制的指针。 锁定机构在对象的使用寿命期间保持绑定到对象。 通过限制操作系统信号量(即内核信号量)的使用来获得效率。 除非发生阻塞(即争用),否则不使用操作系统信号量。 相反,在非阻塞情况下使用绑定到对象的锁定机制。 直到收到对象的共享数据的第一个同步请求为止,才能分配或初始化对象的锁定机制,从而获得额外的效率。 在本发明的一个实施例中,对象的头部存储区域包含实际的锁定机构。 在本发明的另一个实施例中,对象的头部存储器区域包含指向锁定机构的指针或索引。

    System and method for instrumenting application class files with correlation information to the instrumentation
    3.
    发明授权
    System and method for instrumenting application class files with correlation information to the instrumentation 失效
    用于将具有相关信息的应用程序类文件检测到仪器的系统和方法

    公开(公告)号:US06742178B1

    公开(公告)日:2004-05-25

    申请号:US09620729

    申请日:2000-07-20

    IPC分类号: G06F944

    CPC分类号: G06F11/3612 G06F11/3466

    摘要: The present invention is directed to a system and method for modifying a class file for the purpose of instrumenting without requiring separate files to correlate the instrumentation. A class file is instrumented with hooks. Each hook is injected in a method at a critical point in the code for tracking path flow, such as where the method will be entered or exited. Each hook includes an identifier to identify the method in which it is injected. Rather than using the method's name, hooks use unique major and minor codes to identify the method. Static initializers are declared for the class to output other hooks identifying the methods being instrumented. When a class is loaded, the static initializers are executed and hooks identifying the method name and the major and minor codes for each instrumented method are output to, for instance, a trace record. Then, when a method is entered or exited, the hooks identifying the entry or exit are also outputted to a trace record. When postprocessing the trace records, class and instrumentation correlation information is available for merging from trace records in the trace stream.

    摘要翻译: 本发明涉及一种用于修改类文件以用于仪器化而不需要单独的文件来关联仪器的系统和方法。 一个类文件装有钩子。 每个挂钩都是以跟踪路径流的代码临界点的方法注入的,比如输入或退出方法。 每个钩子包括标识符以标识其被注入的方法。 钩子使用唯一的主要和次要代码来标识方法,而不是使用方法的名称。 声明静态初始化器为类输出标识要检测的方法的其他钩子。 当加载类时,将执行静态初始化程序,并将识别方法名称的钩子和每个已检测方法的主要和次要代码输出到例如跟踪记录。 然后,当输入或退出方法时,识别入口或出口的钩子也被输出到跟踪记录。 当跟踪记录进行后处理时,类和仪器相关信息可用于从跟踪流中的跟踪记录合并。

    Method of instrumenting garbage collection generating a trace file making a single pass analysis of object heap
    4.
    发明授权
    Method of instrumenting garbage collection generating a trace file making a single pass analysis of object heap 有权
    检测垃圾收集的方法,生成跟踪文件,进行对象堆的单次分析

    公开(公告)号:US06434575B1

    公开(公告)日:2002-08-13

    申请号:US09190562

    申请日:1998-11-12

    IPC分类号: G06F1200

    摘要: A method and apparatus for instrumenting garbage collection in a data processing system is provided. During garbage collection, a pass is made through the object heap and a plurality of heap data is retrieved and written to a trace file. The data may include the type of object, the size of the object on the heap, the class of the object, if appropriate, and a plurality of pointers, including live set pointers, and one or more tags representing attributes that may be associated with the particular object. The instrumentation may controlled to occur at a preselected phase of the garbage collection process. Additionally, a user may dynamically initiate a garbage collection instrumentation if the user determines that an event has occurred during the operation of the data processing system about which the user wishes further data.

    摘要翻译: 提供了一种用于在数据处理系统中进行垃圾回收的装置的方法和装置。 在垃圾收集期间,通过对象堆进行通过,并且检索多个堆数据并将其写入跟踪文件。 数据可以包括对象的类型,堆上的对象的大小,对象的类,如果合适的话,以及包括活动集指针的多个指针,以及一个或多个表示可以与 特定的对象。 仪器可以控制在垃圾收集过程的预选阶段发生。 另外,如果用户在用户希望进一步的数据的数据处理系统的操作期间确定事件已经发生,用户可以动态地启动垃圾收集检测。

    Efficient and scalable event partitioning in business integration applications using multiple delivery queues
    5.
    发明申请
    Efficient and scalable event partitioning in business integration applications using multiple delivery queues 失效
    使用多个传递队列的业务集成应用程序中高效且可扩展的事件分区

    公开(公告)号:US20050166187A1

    公开(公告)日:2005-07-28

    申请号:US10763084

    申请日:2004-01-22

    IPC分类号: G06F9/45

    CPC分类号: G06F9/546 G06F2209/548

    摘要: A business integration (BI) system receives business objects from a source application at an event partitioner. Event partitioner partitions received business objects into independent sets based on interdependent events, and allocates each independent group of business events to a separate event queue based a partitioning modulo reduction transformation of the independent sets to determine the correct event queue for storing a particular received business object. This transformation reduces the number of independent sets to a number of event groups equal to the number of allocated event queues. Events in different groups are delivered to an interchange server through the separate event queues so that they may be processed independently and in parallel, thus improving the overall performance of the interchange server, while guaranteeing that dependent events are processed in the correct serial order.

    摘要翻译: 业务集成(BI)系统从事件分割器的源应用程序接收业务对象。 事件分割器根据相互依赖的事件将业务对象分成独立的集合,并且通过独立集合的分区模数减少转换来将每个独立的业务事件组分配给单独的事件队列,以确定用于存储特定接收到的业务对象的正确事件队列 。 该转换将独立集合的数量减少为等于分配的事件队列数的多个事件组。 不同组中的事件通过单独的事件队列发送到交换服务器,以便它们可以独立和并行处理,从而提高交换服务器的整体性能,同时保证以正确的顺序处理依赖事件。

    Process and system for dynamically compiling a partially interpreted method
    6.
    发明授权
    Process and system for dynamically compiling a partially interpreted method 有权
    用于动态编译部分解释方法的过程和系统

    公开(公告)号:US06851109B1

    公开(公告)日:2005-02-01

    申请号:US09306190

    申请日:1999-05-06

    IPC分类号: G06F9/45

    CPC分类号: G06F9/45516

    摘要: A process and system for dynamically compiling a partially interpreted method is provided. A set of bytecodes for a method is interpreted within a virtual machine. During the interpretation of the method, it is determined, according to the satisfaction of predetermined criteria, that the method contains an execution hot spot and should be just-in-time compiled (JITed) in order to increase the processing speed of the method. The interpretation of the method is halted with a halted execution state and at a halted execution location. Another method is constructed using information from the partially interpreted method and its execution state. The newly constructed method is just-in-time compiled and invoked in such a manner that the newly constructed method recreates the execution state of the partially interpreted method. Once the newly constructed method recreates the execution state of the partially interpreted method, the execution flow follows the bytecode sequence of the partially interpreted method.

    摘要翻译: 提供了用于动态编译部分解释方法的过程和系统。 在一个虚拟机中解释一组方法的字节码。 在方法的解释中,根据预定标准的满足确定该方法包含执行热点并且应该即时编译(JITed)以增加该方法的处理速度。 该方法的解释被暂停执行状态和停止执行位置。 使用来自部分解释方法及其执行状态的信息构造另一种方法。 新构造的方法是按照新构造的方法重新创建部分解释方法的执行状态的方式即时编译和调用的。 一旦新构造的方法重新创建部分解释方法的执行状态,执行流程将遵循部分解释方法的字节码序列。

    System and method for low overhead, high precision performance
measurements using state transitions
    7.
    发明授权
    System and method for low overhead, high precision performance measurements using state transitions 失效
    使用状态转换的低开销,高精度性能测量的系统和方法

    公开(公告)号:US5920689A

    公开(公告)日:1999-07-06

    申请号:US140369

    申请日:1998-08-26

    IPC分类号: G06F11/34 G06F11/00

    摘要: The present invention is directed to a system and method of measuring performance data utilizing state transitions within a computer system. A number of system states are defined, and the transitions from one state to another are tracked. At each state transition, performance properties related to the computer system may be checked or calculated, and performance data added to a table or tables. The present invention allows performance data to be measured in a way that is highly precise and has minimal effects on the system performance being measured. The act of measuring performance data utilizing state transitions does not create a misleading measure of performance nor does it adversely impact system performance. Furthermore, the present invention requires minimal changes to the operating system and no changes to application code.

    摘要翻译: 本发明涉及使用计算机系统内的状态转换来测量性能数据的系统和方法。 定义了多个系统状态,并跟踪从一个状态到另一个状态的转换。 在每个状态转换时,可以检查或计算与计算机系统相关的性能属性,并将性能数据添加到表或表中。 本发明允许以高度精确的方式测量性能数据,并且对被测量的系统性能具有最小的影响。 使用状态转换来衡量性能数据的行为不会产生误导性的测量,也不会对系统性能产生不利影响。 此外,本发明对操作系统进行最小的改变,并且对应用代码没有变化。

    System and method for synchronizing plural processor clocks in a
multiprocessor system
    8.
    发明授权
    System and method for synchronizing plural processor clocks in a multiprocessor system 失效
    用于在多处理器系统中同步多个处理器时钟的系统和方法

    公开(公告)号:US5875320A

    公开(公告)日:1999-02-23

    申请号:US822022

    申请日:1997-03-24

    申请人: Weiming Gu

    发明人: Weiming Gu

    IPC分类号: G06F1/14 G06F1/12

    CPC分类号: G06F1/14

    摘要: The system and method of the present invention allows synchronization of processor clocks in a multiprocessor information handling system. The present invention calculates an average processor clock value for each processor being synchronized. All processors being synchronized read their clocks a predetermined number of times. The clock reading is done simultaneously by all the processors being synchronized. Each processor then calculates an average processor clock value, which is equivalent, for synchronization purposes, to the average processor clock values of the other processors. When more than two processors are being synchronized, a processor may be chosen as the primary processor. The other, secondary processors are synchronized one at a time with the primary processor. An adjustment is then made to the average processor clock values obtained, so that all average processor clock values are based on the same average processor clock value of the primary processor. Processor clocks in multiprocessor information handling systems may be efficiently synchronized within a small number of clock cycles. The synchronization may be accurately performed on any number of processors in a multiprocessor information handling system.

    摘要翻译: 本发明的系统和方法允许多处理器信息处理系统中的处理器时钟的同步。 本发明为每个被同步的处理器计算平均处理器时钟值。 正在同步的所有处理器将其时钟读出预定次数。 所有正在同步的处理器同时完成时钟读取。 然后,每个处理器计算平均处理器时钟值,其等同于同步目的,与其他处理器的平均处理器时钟值相同。 当两个以上处理器同步时,可以选择处理器作为主处理器。 另一个辅助处理器与主处理器一次同步一个。 然后对所获得的平均处理器时钟值进行调整,使得所有平均处理器时钟值基于主处理器的相同的平均处理器时钟值。 多处理器信息处理系统中的处理器时钟可以在少量时钟周期内有效地同步。 可以在多处理器信息处理系统中的任何数量的处理器上精确地执行同步。

    System and method for low overhead, high precision performance
measurements using state transistions
    9.
    发明授权
    System and method for low overhead, high precision performance measurements using state transistions 失效
    使用状态转移的低开销,高精度性能测量的系统和方法

    公开(公告)号:US5872913A

    公开(公告)日:1999-02-16

    申请号:US813885

    申请日:1997-03-07

    IPC分类号: G06F11/34 G06F11/22

    摘要: The present invention is directed to a system and method of measuring performance data utilizing state transitions within a computer system. A number of system states are defined, and the transitions from one state to another are tracked. At each state transition, performance properties related to the computer system may be checked or calculated, and performance data added to a table or tables. The present invention allows performance data to be measured in a way that is highly precise and has minimal effects on the system performance being measured. The act of measuring performance data utilizing state transitions does not create a misleading measure of performance nor does it adversely impact system performance. Furthermore, the present invention requires minimal changes to the operating system and no changes to application code.

    摘要翻译: 本发明涉及使用计算机系统内的状态转换来测量性能数据的系统和方法。 定义了多个系统状态,并跟踪从一个状态到另一个状态的转换。 在每个状态转换时,可以检查或计算与计算机系统相关的性能属性,并将性能数据添加到表或表中。 本发明允许以高度精确的方式测量性能数据,并且对被测量的系统性能具有最小的影响。 使用状态转换来衡量性能数据的行为不会产生误导性的测量,也不会对系统性能产生不利影响。 此外,本发明对操作系统进行最小的改变,并且对应用代码没有变化。