Abstract:
A method for configuring an asynchronous Disaster Recovery (DR) process over a storage system comprising a plurality of storage sites, the method comprising: receiving data indicative of the storage sites; calculating information dispersal parameters that enable dispersing slices of DR enabling data based on original data written to a primary storage site out of the storage sites between at least two DR storage sites out of the storage sites, wherein at least one of the DR storage sites is a remote storage site, wherein each of the slices of DR enabling data is smaller than the original data and wherein the DR enabling data is larger than the original data; and configuring the asynchronous DR process in accordance with the calculated information dispersal parameters.
Abstract:
The disclosed embodiments relate to a system that selectively filters out redundant software prefetch instructions during execution of a program on a processor. During execution of the program, the system collects information associated with hit rates for individual software prefetch instructions as the individual software prefetch instructions are executed, wherein a software prefetch instruction is redundant if the software prefetch instruction accesses a cache line that has already been fetched from memory. As software prefetch instructions are encountered during execution of the program, the system selectively filters out individual software prefetch instructions that are likely to be redundant based on the collected information, so that likely redundant software prefetch instructions are not executed by the processor.
Abstract:
An analysis system may perform network analysis on data gathered from an executing application. The analysis system may identify relationships between code elements and use tracer data to quantify and classify various code elements. In some cases, the analysis system may operate with only data gathered while tracing an application, while other cases may combine static analysis data with tracing data. The network analysis may identify groups of related code elements through cluster analysis, as well as identify bottlenecks from one to many and many to one relationships. The analysis system may generate visualizations showing the interconnections or relationships within the executing code, along with highlighted elements that may be limiting performance.
Abstract:
A method includes assigning a thread performance counter to threads being created in the computing environment, the thread performance counter measuring a number of cache misses for a corresponding thread. The method also includes calculating a self-thread value S as a change in the thread performance counter of a given thread during a predetermined period, calculating an other-thread value O as a sum of changes in all the thread performance counters during the predetermined period minus S, and calculating an estimation adjustment value associated with a first probability that a second set of cache misses for the corresponding thread replace a cache area currently occupied by the corresponding thread. The method also includes estimating a cache occupancy for the thread based on a previous occupancy for the thread, S, O, and the estimation adjustment value, and assigning computing environment resources to the thread based on the estimated cache occupancy.
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:
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:
Methods and systems for identifying a victim storage volume from among a plurality of storage volumes based on a comparison of current Quality of Service (QOS) data with a dynamic threshold value that is based on historical QOS collected data for the plurality of storage volumes are provided. A performance manager collects the current and historical QOS data from a storage operating system of the storage system, which includes a response time in which each of the plurality of storage volumes respond to an input/output (I/O) request. The current and historical QOS data for the resources used by the victim storage volume are retrieved and compared with the current QOS data of each resource to an expected range based on the historical QOS data. Another storage volume is identified as a bully when its usage of a resource in contention contributes to creating the victim storage volume.
Abstract:
Computer system including storage unit and processing unit including performance monitoring unit (PMU) for performance monitoring on tasks is provided. Processing unit is configured to provide a callback function at location at which a task switch is being performed, reset a counter for external access counting of PMU when first task switch which is to switch execution of tasks to first task occurs, read counted value from counter and record read value into a log of storage unit as record of first task when second task switch which is to switch execution of tasks from first task to second task occurs, and reset counter for second task after log is generated. Records of first task in log within a predetermined time period are summed to analyze performance of first task within predetermined time period so as to determine performance of external access of first task for specific event.
Abstract:
An application associated with a virtual processor running on a physical 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 virtual processor with respect to the physical 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 physical processor has changed during a time interval. The migration status indicates a count of the number of times the virtual processor has migrated a first physical processor to a second physical 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:
A processor includes a processing pipeline including multiple hardware threads and configured to execute software code instructions that are stored in a memory, along with multiple registers, configured to be read and written to by the processing pipeline during execution of the instructions. A monitoring unit monitors the instructions in the processing pipeline and records respective monitoring tables indicating the registers accessed in processing the instructions in different sequences of the instructions, and parallelizes among the hardware threads of the processor, using the respective monitoring tables, execution of repetitions of at least first sequences of the instructions. The monitoring unit is configured to evaluate a termination criterion based on the monitored instructions while monitoring the processing and recording the respective monitoring tables, and upon meeting the termination criterion, to terminate the monitoring before completion of the recording of the respective monitoring tables for at least second sequences of the instructions.