Self-tuning memory management for computer systems

Electrical computers and digital processing systems: memory – Storage accessing and control – Memory configuring

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C711S171000, C711S133000, C711S159000, C711S160000, C707S793000

Reexamination Certificate

active

06442661

ABSTRACT:

FIELD OF THE INVENTION
The present invention related to memory management, and in particular, to memory management for computer systems including file servers.
BACKGROUND OF THE INVENTION
Networked computer systems typically include at least one file server data processing system. A file server can comprise a computer including a processor, memory, communication interface, and storage device such as a disk drive, configured by a file system program to provide file server functions. The performance of a file server is dependent upon several factors, one of the most important of which is the amount of physical memory (e.g., RAM) available for buffering/caching disk reads/writes. The limited amount of memory leads to intense competition between the file system and other system needs for memory. Further, the speed of memory block allocation for buffering data upon demand degrades over time primarily due to memory fragmentation. Without an abundance of physical memory, efficient memory management is required to ensure sustained performance without degradation.
However, conventional memory management methods, while enhancing performance in one network environment, often degrade performance in another. Even within one network environment, load changes from hour to hour can very widely and static memory management and tuning methods lead to degradation of the file server performance in many circumstances. Some conventional methods attempt to manage competition for memory by adding more physical memory or by using virtual memory methods, which rely on paging memory to buffer data to and from the storage system (e.g., disk drive). However, adding more physical memory is costly, requires space and consumes power. Further, virtual memory methods invariably lead to slow processing and unacceptable file server performance as they defeat the purpose of file system caching. Other conventional systems attempt to solve memory fragmentation by threading adjacent memory blocks together when freed. However, memory rethreading takes time, leading to reduced file server performance.
There is, therefore, a need for a memory management method and system for network file servers which accelerates memory allocation/deallocation for buffering data, reduces memory fragmentation, increases available memory for the file server file system I/O buffers while optimizing the amount of memory available for other uses, and manages competition for different memory uses, across different network environments and over time within one network environment.
BRIEF SUMMARY OF THE INVENTION
The present invention satisfies these needs. In one embodiment, the present invention provides a method of managing memory including the steps of: in response to requests for allocation of memory blocks that remain allocated for different durations, allocating each memory block from one of a plurality of regions in the memory based on the duration that the memory block is to remain allocated; and maintaining a plurality of memory segments of one or more sizes in the memory, and in response to a request for allocation of a memory block if the requested block size is less than a predetermined size, then allocating the requested block from among said segments, otherwise allocating the requested block from another portion of the memory.
Preferably, in response to requests for allocation of long term memory blocks, long term memory blocks are allocated from a first region of the memory; and in response to requests for allocation of short term memory blocks, short term memory blocks are allocated from a second region of the memory. The number of data segments are changed in relation to memory requests. Further at least a potion of the memory is apportioned for other use such as to a cache having one or more buffers. The cache buffers can be allocated for non-cache use, including increase the number of said data segments, and are then deallocated back to the cache.
In another aspect the present invention provides a memory manager including means for implementing the above steps in a computer system comprising memory and a CPU for managing the memory. Further, the present invention provides a computer program product comprising a computer readable medium including program logic for configuring said computer system to perform the steps of managing memory according to the present invention.


REFERENCES:
patent: 5075848 (1991-12-01), Lai et al.
patent: 5408650 (1995-04-01), Arsenault
patent: 5930827 (1999-07-01), Sturges
Hanson D.R., “Fast Allocation and Deallocation of Memory Based on Object Lifetimes”,Soft Practice and Experience, John Wiley & Sons, Ltd., vol. 20, No. 1. Jan. 1990, pp. 5-12.
Barrett D.A. and Zorn B.G., “Using Lifetime Predictors to Improve Memory Allocation Performance”ACM SIG-Plan Notices, “Online!”, vol. 28, No. 6, 1993 pp. 187-196.
Boehm H-J and Weiser M., “Garbage Collection in an Uncooperative Environment”,Software Practice And Experience, John Wiley & Sons, Ltd., vol. 18, No. 9, Sep. 1988, pp. 807-820.
Seidl M.L. and Zorn B.G., “Segregating Heap Objects by Reference Behavior and Lifetime”,A SIG-Plan Notices, “Online!”, vol. 33, No. 11, Nov. 1998 pp. 12-23.
Lu Xu et al., “Distributed Garbage Collection for the Parallel Inference Machine PIE64”,Proc. Information Processing 89, San Francisco, Aug. 28-Sep. 1, 1989, pp. 1161-1166.
Cheng P. et al., “Generational Stack Collection and Profile-Driven Pretenuring”,ACM SIG-PL Notices, vol. 33, No. 5, May 1, 1998 pp. 162-173.
IBM Tech Discl. Bull. vol. 28, No. 4, Sep. 1985 pp. 1684-1686.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Self-tuning memory management for computer systems does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Self-tuning memory management for computer systems, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Self-tuning memory management for computer systems will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2972714

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.