Abstract:
Topology discovery of a target system having a plurality of components coupled with a scan topology may be performed by driving a low logic value on the data input signal and a data output signal of the scan topology. An input data value and an output data value for each of the plurality of components is sampled and recorded. A low logic value is then scanned through the scan path and recorded at each component. The scan topology may be determined based on the recorded data values and the recorded scan values.
Abstract:
A system detection method and apparatus. The throughput and response time of the system are acquired, where the throughput reflects the number of requests from outside the system that has been processed by the system. The response time reflects time required by the system to process requests from outside the system. The system performance characteristic parameter based on the throughput and response time is obtained and is used to describe congestion condition of the system to determine whether there is a bottleneck in the system. Also provided are a method and device for flow control. The system detection method and apparatus allow detecting a bottleneck and flow control in a simple and effective way to ensure that requests are processed in time.
Abstract:
An application monitoring system autonomously selects routines for performance monitoring based on characteristics of the content of the routines. These characteristics are preferably related to aspects of routines that are likely candidates for performance improvement, such as repetitive loops, event waits, synchronized blocks, and on. Routines that appear to be relatively un-improvable are excluded from initial monitoring, and routines that are subsequently determined to be relatively un-improvable, based on performance analysis and/or user feedback, are excluded from future monitoring. The determination of each routine's candidacy for monitoring is maintained over time, so that each subsequent monitoring session need not repeat the determinations. Changed routines are routinely re-monitored and/or re-assessed to affirm or modify the routine's candidacy for subsequent monitoring.
Abstract:
A method, system and apparatus for configuring programmatic objects for cache co-location. The method can include the steps of counting a frequency of access for individual fields in the object in a static analysis, rearranging the fields in the object based upon the counted frequency in the static analysis, and executing the object. Subsequently, a frequency of access for the individual fields in the object further can be counted in a dynamic analysis. Consequently, the fields in the object can be further rearranged based upon the counted frequency in the dynamic analysis to produce an optimal grouping for placement in cache memory. In a preferred aspect of the invention, access types for the individual fields can be identified. Subsequently, the rearranging step and the further rearranging step can be performed based both upon the counted frequency and also upon the access types.
Abstract:
A quality score for a computer application release is determined using a first number of unique users who have launched the computer application release on user devices and a second number of unique users who have encountered at least once an abnormal termination with the computer application release on user devices. Additionally or optionally, an application quality score can be computed for a computer application based on quality scores of computer application releases that represent different versions of the computer application. Additionally or optionally, a weighted application quality score can be computed for a computer application by further taking into consideration the average application quality score and popularity of a plurality of computer applications.
Abstract:
A performance projection system includes a test IHS and a currently existing IHS. The performance projection system includes surrogate programs and user application software. The test IHS employs a memory that includes a virtual future IHS, currently existing IHS, surrogate programs, and user application software for determination of runtime and HW counter performance data. The user application software and surrogate programs execute on the currently existing MS to provide designers with runtime data and HW counter or microarchitecture dependent data. Designers execute surrogate programs on the future IHS to provide runtime and HW counter data. Designers normalize and weight the runtime and HW counter data to provide a representative surrogate program for comparison to user application software performance on the future IHS. Using a scaling factor, designers may generate a projection of runtime performance for the user application software executing on the future IHS.
Abstract:
An application associated with a processor reads a first value of a counter and a second value of the counter. The counter is indicative of a migration status of the application with respect to the processor. Responsive to determining that the first value of the counter does not equal the second value of the counter, the application ascertains whether a value of a hardware parameter associated with the processor has changed during a time interval. The migration status indicates a count of the number of times the application has migrated from one processor to another processor. The application determines the validity of a value of a performance monitoring unit derived from the hardware parameter in view of the application ascertaining whether the value of the hardware parameter has changed during the time interval.
Abstract:
Methods, systems and computer program products are disclosed for measuring a performance of a program running on a processing unit of a processing system. In one embodiment, the method comprises informing a logic unit of each instruction in the program that is executed by the processing unit, assigning a weight to each instruction, assigning the instructions to a plurality of groups, and analyzing the plurality of groups to measure one or more metrics. In one embodiment, each instruction includes an operating code portion, and the assigning includes assigning the instructions to the groups based on the operating code portions of the instructions. In an embodiment, each type of instruction is assigned to a respective one of the plurality of groups. These groups may be combined into a plurality of sets of the groups.
Abstract:
A statistical power indication monitor including a random pattern generator that generates random sample assertions of a sample signal, a total counter that counts a total number of the random sample assertions within a sample time interval, detect logic that provides a detection signal for each power indication signal that is asserted coincident with the sample signal, and counter logic that counts a number of assertions of each detection signal during the sample time interval. The assertion count of each power indication signal divided by the total count provides a statistical indication of power consumption of a corresponding system. A user may use the statistical monitoring information to adjust system or application operation. The random pattern generator may be a pseudo-random pattern generator including a linear feedback shift register and may have programmable seed and sample rate.
Abstract:
A system, method, and computer readable medium for statistical application-agnostic fault detection of multi-process applications. The computer readable medium includes computer-executable instructions for execution by a processing system. A multi-process application runs on a host. Interceptors collect statistical events and sends said events to a statistical fault detector. The statistical fault detector creates one or more distributions and compares recent statistical event data to historical statistical event data and uses deviation from historical norm for fault detection. The present invention detects faults both within the application and within the environment wherein the application executes, if conditions within the environment cause impaired application performance. The invention also teaches consensus fault detection and elimination of cascading fault notifications based on a hierarchy of events and event groups. Interception and fault detection is transparent to the application, operating system, networking stack and libraries.