Abstract:
Request data is identified that describes a request of a second program by a first program intercepted by a first exit in the first program. Response data is identified that describes a response by the second program to the request as intercepted by a second exit in the first program. A virtual service configured to model operation of the second program is instantiated based on the request data and response data. In another aspect, a request by the first program to the second program is intercepted by the first exit and the request is redirected to the virtual service. A response is received as generated by the virtual service and the response is returned to the first program using the second exit.
Abstract:
A method for automated parallel testing of a software application using value replication is disclosed. An example embodiment may include marking at least one event in the software application with a primary marker that includes a primary marker label and a primary marker configuration value. The primary marker may be replicated to create a replicate marker that has a replicate marker label and a replicate configuration value. The replicate marker label and configuration value may be different from the primary marker label and configuration value. Parallel executions of the software application may be performed using the primary and replicate markers so that the software application is executed with both the primary and replicate marker configuration values. The disclosed middleware-level method transparently implements such replication of the output marker values. That is to make any MapReduce-style applications easily take advantage of output value replication.
Abstract:
The present disclosure includes, in a heterogeneous system, receiving a desired speedup of an application as input and performing a static analysis and a dynamic analysis of the application. The dynamic analysis of the application comprises, identifying a set of parameters including, an end-to-end execution time of the application, an execution time of data parallel loops in the application, an execution time of non-data parallel loops in the application, and an amount of physical memory used by each data structure in each data parallel loop. Dynamic analysis also includes calculating and providing the feasibility of achieving the desired speedup of the application based on the identified set of parameters, and satisfaction of each of, an initialization invariant, a data-parallel invariant and a data transfer invariant.
Abstract:
Embodiments relate to idle time accumulation in a multithreading computer system. According to one aspect, a computer-implemented method for idle time accumulation in a computer system is provided. The computer system includes a configuration having a plurality of cores and an operating system (OS)-image configurable between single thread (ST) mode and a multithreading (MT) mode in a logical partition. The MT mode supports multiple threads on shared resources per core simultaneously. The method includes executing a query instruction on an initiating core of the plurality of cores. The executing includes obtaining, by the OS-image, a maximum thread identification value indicating a current maximum thread identifier of the cores within the logical partition. The initiating core also obtains a multithreading idle time value for each of the cores indicating an aggregate amount of idle time of all threads enabled on each of the cores in the MT mode.
Abstract:
A system and method for identifying optimal system architectures for a reference application are provided. The system and method comprise executing a reference application and a plurality of test applications on a current system architecture and sampling performance data for each of the applications. The performance data is used to compute an application signature for each application. A similarity element is derived from the application signatures that illustrates the similarity between each application and every other application. Using a similarity threshold and an algorithm, a subset of test applications that are similar to the reference application are derived.
Abstract:
Systems, methods, and computer-readable storage media for testing performance of blocks of code. A system can first receive a request to run a performance test for a selected portion of code in an application. Next, the system can obtain a baseline performance test result corresponding to the performance test for the selected portion of code in the application, and run the performance test for the selected portion of code in the application. The system can then generate a performance test result based on the performance test and the baseline performance test result. The system can also present the test result and/or the baseline performance test result via a graphical user interface.
Abstract:
In a computer a graphical user interface (GUI) portion of an application program is instantiated as a core module and variable modules. One of a set of distinct versions of a variable module is selected and for interoperating with the core module, where the versions differ by respective implementations of a user-visible feature. Usage of the GUI involving the user-visible feature is monitored, recorded and reported, including collection of performance information for operations potentially affected by the use of the selected version rather than another version of the variable module. The performance information is transmitted to an evaluation system that collects performance information from a sample population of systems using all the distinct versions of the variable module, and applies statistical analysis to the performance information to yield statistical performance measures for the different implementations, usable to decide whether wider-scale official deployment of a new implementation is desirable.
Abstract:
A system, method, and computer program product are provided for monitoring an execution flow of a function. In use, data associated with a function is identified within a call stack. Additionally, a call stack frame is determined from freed memory in the call stack. Further, an execution flow of the function is monitored, utilizing the call stack frame from the freed memory.
Abstract:
During normal operation, at a first site, of a disaster recovery management unit, at least one customer workload machine, at least one management service machine, and metadata for the at least one management service machine are replicated to a remote disaster recovery site. After a disaster at the first site, a replicated version of the at least one customer workload machine and a replicated version of the at least one management service machine are brought up at the remote disaster recovery site. A replicated version of the metadata for the at least one management service machine is reconfigured by executing, on the replicated version of the at least one management service machine, a failover script, to obtain reconfigured replicated metadata for the replicated version of the at least one management service machine. When the first site comes back up, failback is carried out, essentially in the reverse order.
Abstract:
Embodiments provide implementations for estimating a test application's energy usage on a target device based on execution of the test application. Resource usage associated with the execution of the test application is measured. The measured resource usage is input into a power model of the target device to estimate the energy that the test application uses when executed on the target device. An emulation system is configured to execute the test application in a virtual execution environment using resource scaling and simulated target device application programming interfaces to substantially simulate the corresponding capabilities of the target device.