AiStor Logo

Cache

MinIO Cache lets enterprises create an in memory object store using surplus server DRAM. It is ideal for workloads that demand massive IOPS and throughput performance.

Cache
Cache

MinIO's AIStor Cache is a caching service that uses a distributed, shared pool of memory to cache frequently accessed objects. AIStor Cache is transparent to the application layer once enabled and configured and is seamless to operate. Further, the MinIO implementation retains full data persistence.

MinIO is ideal for workloads that require both IOPS and throughput performance. In modern architectures that increasingly means AI/ML workloads. In the absence of Cache, I/O can be the bottleneck for the GPUs. Using the MinIO AIStor Cache, a bucket that contains training, validation, and testing data sets can be held in memory to provide the speed and throughput needed for GPU-based model training.

Purpose-built

MinIO Cache is purpose-built to cache MinIO objects. If an object cannot be found in its existing cache of objects, then it will automatically retrieve the object, cache it for future requests, and return the object to the caller.

Automatic updates

Automatic updates for new object versions. If a cached object is updated, then MinIO Object Storage automatically updates the cache with the new object version.

Consistent Hashing algorithm

MinIO Cache uses the Consistent Hashing algorithm for spreading out cached object data across a cluster of cache nodes (known as Peers). Consistent Hashing makes sure objects can be easily located based on their key. This results in a one-to-one relationship between the object’s key value and the node that holds the cached object. It also ensures that nodes contain the same amount of data so that one does not get overloaded while others are idle. More importantly, however, it spreads objects out in such a way that if a node is added or removed, there is minimal shuffling to get the system aligned.

Behind-the-scenes extension

Cache is a behind-the-scenes extension of MinIO. Because Cache is an extension of MinIO, developers do not need to learn a new API. Developers use the same APIs that have been using. If a requested object is in the cache, then MinIO will automatically fetch it from the cache. If an object is supposed to be the cache and it is being requested for the first time, then MinIO will fetch it from object storage, return it to the caller, and place it in the cache for subsequent requests.

Rolling Cache for memory management

Rolling Cache for memory management. MinIO Cache uses a rolling cache to keep the total size of the cache within the limits specified in MinIO Cache’s configuration. If adding a new object will cause the cache size to exceed the specified limit, then one or more objects will be removed based on a timestamp that indicates the last time the object was requested.

AiStor Logo
Cache

FAQ

Cache

Learn more

MinIO Cache: A Distributed DRAM Cache for Ultra-Performance
Blog
MinIO Cache: A Distributed DRAM Cache for Ultra-Performance
MinIO AIStor Feature Set
Blog
MinIO AIStor Feature Set
Storage at the Edge
Blog
Storage at the Edge

Contact Us

Send us an message by completing the form below. You can
also connect with us at hello@min.io
Ask an Expert

Chat directly with our engineering team about your Cache Questions

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

You are using Internet Explorer version 11 or lower. Due to security issues and lack of support for web standards, it is highly recommended that you upgrade to a modern browser.