← Back to Patent Explorer
US5963963A Expired / Lapsed US ⏱️ 0.0 years remaining

Parallel file system and buffer management arbitration

Assignee: Google LLC
•
Filing: 1997-07-11
•
Granted: 1999-10-05
•
Expires: 2017-07-11
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A computer system having a shared disk file system running on multiple computers each having their own instance of an operating system and being coupled for parallel data sharing access to files residing on network attached shared disks. Methods are provided for use as a parallel file system in a shared disk environment by use of a scalable directory service for the system with a stable cursor, and a segmented allocation map. Dynamic prefetch and cached balance pools for multiple accesses improve the system. Extended file attributes are used for implementation of Access Control Lists in a parallel file system. Improvements to caching and cache performance developments balance pools for multiple accesses. A metadata node manages file metadata for parallel read and write actions. For managing data for the same file distributed across multiple disk devices, a buffer manager is provided for a file system buffer pool which arbitrates use of memory resources among different system components competing for memory with buffer information for a component that said buffer manager needs for deciding how much memory to allocate among components of the system. The buffer information includes a desired memory size and current activity level. The buffer manager provides to a system component data as to how much memory has been assigned for use by that component of the system, and it schedules account resources to maximize file system throughput.

Inventors

  • 👤 Frank B. Schmuck
  • 👤 Roger Lee Haskin
  • 👤 Daniel Lloyd McNabb
  • 👤 James Christopher Wyllie

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 07:40
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/50; G06F9/5005; G06F9/5011; G06F9/5016; G06F16/00; G06F16/10; G06F16/18; G06F16/1858; G06F9/52; G06F9/526; G06F2209/00; G06F2209/52; G06F2209/522; Y; Y10; Y10S; Y10S707/00; Y10S707/99951; Y10S707/99956

Claims Analysis

Total Claims: 10
Claim 1
Independent Claim 139 words
In a computer system employing a file system for storing file data and allowing multiple nodes of said computer system to allocate space for storing file data simultaneously in a shared-disck file system, a method comprising: providing a file system in which data for the same file is distributed across multiple disk devices, and providing a buffer manager for a file system buffer pool which arbitrates use of memory resources among different system components competing for memory with buffer information for a component that said buffer manager needs for deciding how much memory to allocate among components of the system, said buffer information including a desired memory size and current activity level and then providing from said buffer manager to said component data as to how much memory has been assigned for use by that component of the system.
Claim 2
Dependent Claim 139 words
In a computer system employing a file system for storing file data and allowing multiple nodes of said computer system to allocate space for storing file data simultaneously in a shared-disck file system, a method comprising: providing a file system in which data for the same file is distributed across multiple disk devices, and providing a buffer manager for a file system buffer pool which arbitrates use of memory resources among different system components competing for memory with buffer information for a component that said buffer manager needs for deciding how much memory to allocate among components of the system, said buffer information including a desired memory size and current activity level and then providing from said buffer manager to said component data as to how much memory has been assigned for use by that component of the system.
Claim 3
Dependent Claim 86 words
In a computer system method according to claim 1, in which one of the system components requiring assignment of memory resources for use is a file system buffer pool which is provided for caching recently accessed file data and data that was prefetched for sequential readers and said providing of information from said components includes providing said buffer manager with appropriate information to take into account resources for prefetching and for scheduling the resources assigned by the buffer manager so as to maximize file system throughput.
Claim 4
Dependent Claim 37 words
In a computer system method according to claim 1, wherein said file system buffer pool is logically divided into a pool part used for prefetching and a general pool part used for caching recently accessed file blocks.
Claim 5
Dependent Claim 40 words
In a computer system method according to claim 3, wherein said pool parts are presented to said buffer manager as two separate components for the file system to compute separate desired memory sizes and activity levels for the pool parts.
Claim 6
Dependent Claim 51 words
In a computer system method according to claim 4, wherein said activity levels for the pool parts are computed by counts measuring data access rates for each pool, and wherein on each buffer access the appropriate count is updated based on whether the buffer is accessed by sequential or random I/O.
Claim 7
Dependent Claim 38 words
In a computer system method according to claim 3, wherein said general pool is computed by measuring working sets using reference bits and counters to determine the total amount of distinct file data accessed over some time period.
Claim 8
Dependent Claim 55 words
In a computer system method according to claim 3, wherein the size of the prefetch pool is computed by determining the number and capability of disk drives belonging to the file system and as well determining the number of files being accessed sequentially, and as well determining the rate at which data is being read.
Claim 9
Dependent Claim 112 words
In a computer system method according to claim 3, wherein the method of computing the prefetch pool for multiple application programs and multiple disks per file system, computing a number of prefetch buffers required so that: (a) if the combined data rate at which all, the application programs attempt to read data is less than the total available disk bandwidth, then data will be supplied to each application as fast as it reads the data, with no I/O waits, but (b) if the combined data rate of the application programs is greater than the total available disk bandwidth, then data will be read as fast as it can be retrieved from disk.
Claim 10
Dependent Claim 89 words
In a computer system method according to claim 3, wherein is included: scheduling prefetch I/O by using an actual number of prefetch buffers assigned by said buffer manager, maintaining two global counters for a first number of prefetch I/Os currently in progress and a second number of buffers holding blocks to be read and summing said first number and said second number to determine the number of buffers currently in use for prefetching, and tracking the progress of the numbers and updating the pool assignments by said buffer manager.

References Cited (Backward Citations)

US4274139A Cited
US5202971A Cited
US4993030A Cited
US5553285A Cited
US5043876A Cited
US5226159A Cited
US5463736A Cited
US5454108A Cited
US5490270A Cited
US5566297A Cited
US5745915A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-10-04 2003-04-05 2003-10-05 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-10-04 2007-04-05 2007-10-05 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-10-04 2011-04-05 2011-10-05 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag