Global Cylinder Group Cache for Multi-File System Memory Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In UNIX file systems, larger file systems consume more memory for cylinder group caches, leading to memory starvation and performance issues for other file systems, as existing reclamation techniques are insufficient and burdensome on file server resources.

Innovation Solution

Implementing a global cylinder group cache shared among multiple file systems, where memory is allocated on an as-needed basis using a combination of a file system identifier and cylinder group number for indexing, and periodically scanned for reclamation, minimizing the need for multiple cache scans.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If separate cylinder group caches are allocated to each file system, then each file system can quickly retrieve its cylinder information, but memory becomes full and larger file systems starve out smaller ones

Engineering Contradiction:
Improvecylinder information retrieval speedVSAvoidmemory availability
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent merges separate cylinder group caches for multiple file systems into a single shared global cache. This consolidation allows memory to be dynamically shared among file systems rather than statically allocated, preventing memory starvation while maintaining fast retrieval through unified cache management and indexing mechanisms.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The global cylinder group cache serves multiple file systems simultaneously through a universal indexing structure that combines file system identifiers with cylinder group numbers. This multi-functional cache structure enables any file system to access its required cylinder information from the shared cache without requiring dedicated cache space, thus improving memory utilization while preserving access speed.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Quantity of substance

If multiple CG caches are scanned periodically for reclamation, then memory can be reclaimed from inactive file systems, but the frequent scanning by multiple file systems reduces file server performance

Engineering Contradiction:
Improvememory reclamationVSAvoidfile server performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

By consolidating multiple file system caches into a single global cache, the patent reduces the number of periodic scans required from multiple (one per file system) to a single scan. This unified approach maintains effective memory reclamation through LRU tracking while significantly reducing the performance overhead associated with cache maintenance operations.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The global cache structure provides universal LRU tracking and reclamation functionality for all file systems through a single管理机制. This universal approach eliminates the need for each file system to independently scan and manage its own cache, thereby reducing overall scanning activity and improving file server performance while still enabling effective memory reclamation from inactive file systems.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Quantity of substance

If larger file systems allocate more memory for CG caches, then they can support more cylinders, but this effectively starves out other file systems and reduces overall file server performance

Engineering Contradiction:
Improvememory allocation for CG cacheVSAvoidfile system support capability
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The patent transforms the static memory allocation model into a dynamic one through the global cache structure. Memory is no longer permanently reserved for each file system but is dynamically allocated based on actual access patterns and current needs. The LRU tracking mechanism enables automatic adaptation, allocating memory to active file systems and reclaiming it from inactive ones, thus supporting both large and small file systems equitably without performance degradation.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8028011B1Global UNIX file system cylinder group cache
Publication Date: 2011.09.27 EMC IP HLDG CO LLC
  • US8028011B1 patent drawing
  • US8028011B1 patent drawing
  • US8028011B1 patent drawing

AI summary

A global cylinder group (CG) cache is stored in file server memory and shared by a plurality of file systems supported by the file server. The global CG cache comprises a number CG entries which are pre-allocated in memory. As different file systems are accessed, global CG entries in the CG cache are used to store CG block information for the accesses. With such an arrangement, a file server may support multiple file systems using a single global CG cache without starvation and other the adverse performance impacts of the prior art. According to one aspect of the invention, the global CG cache is periodically scanned to reclaim memory. In contrast to the prior art, where multiple scans were periodically performed of multiple CG caches for memory reclamation, the use of a single CG cache minimizes the impact of CG cache maintenance on file server performance.