Abstract:
In one embodiment, a method for detecting false sharing includes running code on a plurality of cores, where the code includes instrumentation and tracking cache invalidations in the code while running the code to produce tracked invalidations in accordance with the instrumentation, where tracking the cache invalidations includes tracking cache accesses to a plurality of cache lines by a plurality of tasks. The method also includes reporting false sharing in accordance with the tracked invalidations to produce a false sharing report.
Abstract:
A method for predicting false sharing includes running code on a plurality of cores and tracking potential false sharing in the code while running the code to produce tracked potential false sharing, where tracking the potential false sharing includes determining whether there is potential false sharing between a first cache line and a second cache line, and where the first cache line is adjacent to the second cache line. The method also includes reporting potential false sharing in accordance with the tracked potential false sharing to produce a false sharing report.
Abstract:
Cache utility curves are determined for different software entities depending on how frequently their storage access requests lead to cache hits or cache misses. Although possible, not all access requests need be tested, but rather only a subset, determined by whether a hash value of each current storage location identifier (such as an address or block number) meets one or more sampling criteria.
Abstract:
A method of determining vulnerability of a cache memory includes associating a first counter with a cache element and periodically incrementing the first counter. When a read or other access that consumes the data in the cache element occurs, a current value of the first counter is accumulated. When a write or other cache access that modifies data in the cache element occurs, the first counter is reset. At the end of an evaluation period, the value in a total counter approximates the number of clock cycles during which data that was consumed was vulnerable. Dividing this value by the number of clock cycles approximates the vulnerability of this cache element. The vulnerability for a subset of all cache elements may be measured and extrapolated to obtain an estimate for the vulnerability of the cache memory as a whole.
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:
Embodiments of the present invention provide an adaptive cache system and an adaptive cache system for a hybrid storage system. Specifically, in a typical embodiment, an input/out (I/O) traffic analysis component is provided for monitoring data traffic and providing a traffic analysis based thereon. An adaptive cache algorithm component is coupled to the I/O traffic analysis component for applying a set of algorithms to determine a storage schema for handling the data traffic. Further, an adaptive cache policy component is coupled to the adaptive cache algorithm component. The adaptive cache policy component applies a set of caching policies and makes storage determinations based on the traffic analysis and the storage schema. Based on the storage determinations, data traffic can be stored (e.g., cached) among a set of storage devices coupled to the adaptive cache policy component. Such storage components can include one or more of the following: a low-high cache, a low-mid-high cache, a low speed storage component, a middle speed storage component and/or a high speed storage component.
Abstract:
The claimed subject matter relates to systems and/or methodologies that facilitate intelligent distribution of backup information across storage locations in network-based backup architectures. A virtual layering of backup information across storage locations in the backup architecture can be implemented. Statistical models are utilized to dynamically re-allocate backup information among storage locations and/or layers to ensure availability of data, minimum latency upon restore, and minimum bandwidth utilization upon restore. In addition, heuristics or machine learning techniques can be applied to proactively detect failures or other changes in storage locations such that backup information can be reallocated accordingly prior to a failure.