Browse Prior Art Database

Memory regionalization

IP.com Disclosure Number: IPCOM000012677D
Original Publication Date: 2003-May-20
Included in the Prior Art Database: 2003-May-20
Document File: 1 page(s) / 35K

Publishing Venue

IBM

Abstract

This article addresses regionalization of memory based on type of pages to minimize memory scanning and free candidate pages with fewer scans of memory by going to the specific region for the type of memory page needed.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 76% of the total text.

Page 1 of 1

Memory regionalization

The purpose of this invention is to divide the memory of a machine into two or more specialized regions. For example, one region specific to computational pages and a second region specific to file pages. Memory allocation for computational or file pages is done out of their associated memory region. Once the amount of free pages in a memory region gets low, page replacement algorithm will scan in the specific region for pages to free.

Traditionally, computational and file pages are scattered through the entire memory of a machine. This forces the page replacement algorithm to scan through the complete PFT (Page Frame Table) evaluating all pages irrespective of the type. By regioning the memory into specific types we save the overhead of evaluating pages that do no fit the type of page that can be freed.

On LMM (Large Memory Machines) significant processor time is spent cycling through memory looking for pages to steal. Often pages of a given type tend to clump together and therefore cause a significant latency in page replacement progress by cycling through areas with no candidates. Memory regionalization solves this issue as by page replacement is started on a specific memory region that is known to contain the type of pages that are candidates to be freed.

This issue has been identified before and addresses the aspects with Memory Pool and LRU buckets.

In detail: The memory of a machine is divided into memory pools. Memory allocation is...