Patent classifications
G06F2212/314
Dynamic caching and eviction
Dynamic caching policies and/or dynamic purging policies are provided for modifying the entry and eviction of content to the cache (e.g., storage and/or memory) of a caching server based on the current and past cache performance and/or demand. The caching server may modify or replace a configured policy when cache performance is below one or more thresholds. Modifying the caching policy may change caching behavior of the caching server by changing the conditions that control the content that is entered into cache or the content that is deferred and not entered into cache after a request. This may include assigning different probabilities for entering the same content into cache based on different caching policies. Modifying the purging policy may change eviction behavior of the caching server by changing the conditions that control the cached content that is selected and removed from cache.
Method and system for data placement in a hard disk drive based on access frequency for improved IOPS and utilization efficiency
One embodiment facilitates a write operation in a shingled magnetic recording device. During operation, the system receives, by the storage device, data to be written to the storage device and access-frequency information associated with the data, wherein the storage device includes a plurality of concentric tracks. The system distributes a plurality of spare sector pools among the plurality of concentric tracks. The system selects a track onto which to write the data based on the access-frequency information, wherein data with a highest access-frequency is written to an outer track. The system appends the data at a current write pointer location of the selected track, thereby facilitating an enhanced data placement for subsequent access in the storage device.
Dynamic I/O Virtualization Application Programming Interface
A system and method for providing dynamic I/O virtualization is herein disclosed. According to one embodiment, a device capable of performing hypervisor-agnostic and device-agnostic I/O virtualization includes a host computer interface, memory, I/O devices (GPU, disk, NIC), and efficient communication mechanisms for virtual machines to communicate their intention to perform I/O operations on the device. According to one embodiment, the communication mechanism may use shared memory. According to some embodiments, the device may be implemented purely in hardware, in software, or using a combination of hardware and software. According to some embodiments, the device may share its memory with guest processes to perform optimizations including but not limited to a shared page cache and a shared heap.
Dynamic Caching and Eviction
Dynamic caching policies and/or dynamic purging policies are provided for modifying the entry and eviction of content to the cache (e.g., storage and/or memory) of a caching server based on the current and past cache performance and/or demand. The caching server may modify or replace a configured policy when cache performance is below one or more thresholds. Modifying the caching policy may change caching behavior of the caching server by changing the conditions that control the content that is entered into cache or the content that is deferred and not entered into cache after a request. This may include assigning different probabilities for entering the same content into cache based on different caching policies. Modifying the purging policy may change eviction behavior of the caching server by changing the conditions that control the cached content that is selected and removed from cache.
MAINTAINING A CACHED VERSION OF A FILE AT A ROUTER DEVICE
A router device may receive a request for access to a file from a user device, wherein a master version of the file is stored in a data structure associated with a server device. The router device may generate, based on the request, a copy of a cached version of the file, wherein the cached version of the file is stored in a data structure associated with the router device. The router device may send the copy of the cached version of the file to the user device.
METHOD, DEVICE AND COMPUTER PROGRAM PRODUCT FOR MANAGING CACHE
Embodiments of the present disclosure provide a method, device, and computer program product for managing cache. There is provided a method of managing a cache, comprising: receiving a current operation request from a user, data requested by the current operation request being to be duplicated to the cache; obtaining a plurality of historical operation requests of the user, the plurality of historical operation requests being received prior to the current operation request; determining a predicted operation request for the user based on the plurality of historical operation requests and the current operation request; and in accordance with determining that a type of an operation associated with the predicted operation request belongs to predetermined types, adjusting data in the cache based on the predicted operation request. With the embodiments of the present disclosure, it can be determined dynamically and intelligently which data should be cached, the speed of processing user's operation requests can be increased, and the memory space occupied by the cache can be reduced, thereby improving the system performance.
Clustered Coherent Cloud Read Cache Without Coherency Messaging
Described herein is a system and method for performing a clustered coherent cloud read cache without coherency messaging. At a cloud reader agent having a read cache, a request for a particular portion of data is received from a client. The request includes an identifier of the node making the request, a current time on the node making the request, a last stubbed time of the particular portion of data, and/or an identifier of the particular portion of data. When the particular portion of data is stored in the read cache of the cloud reader agent, the cloud reader agent can determine whether the cached particular portion of data is valid based, at least in part, upon the received identifier of the node making the request, the received last stubbed time of the particular portion of data, and/or, a stored time associated with the cached particular portion of data.
Performance improvement for an active-active distributed non-ALUA system with address ownerships
An aspect of performance improvement for an active-active distributed non-ALUA (asymmetrical logical unit assignment) system with address ownerships includes receiving, by a routing module of a content-addressable storage system, an input/output (IO) request; and determining, by the routing module from a table that provides a listing of addresses and compute nodes having ownership to the address, a target location of the IO request. The target location specifies an address. An aspect also includes determining, by the routing module, a mapping between each of the compute modules and a physical path to corresponding storage controllers, an address owner of a storage controller port of a storage controller that owns the address of the IO; selecting a physical path associated with the address owner; and transmitting, by the routing module, the IO request to the storage controller port via a direct call.
Content distribution network supporting popularity-based caching
A content delivery network may provide content items to requesting devices using a popularity-based distribution hierarchy. A central analysis system may determine popularity data for a content item stored in a first caching device. At a later time, the central analysis system may determine that a change in the popularity data is beyond a threshold value. The central analysis system may then transmit an instruction to move the content item from the first caching device to a second caching device in a different tier of caching devices than the first caching device. The central analysis system may update a content index to indicate that the content item has been moved to the second caching device. A user device may then be redirected to request the content item directly from the second caching device.
Configuration based cache coherency protocol selection
Topology of clusters of processors of a computer configuration, configured to support any of a plurality of cache coherency protocols, is discovered at initialization time to determine which one of the plurality of cache coherency protocols is to be used to handle coherency requests of the configuration.